:root{
  --teal:#57BFAC;
  --teal-deep:#3E9E8C;
  --ink:#16263C;
  --body:#33414F;
  --cream:#FDD58D;
  --cream-soft:#FEEBC8;
  --bg:#FAF8F5;
  --white:#fff;
  --orange:#F5A93F;
  --shadow:0 24px 60px rgba(22,38,60,.14);
  --shadow-sm:0 10px 26px rgba(22,38,60,.10);
}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{
  margin:0;background:var(--bg);color:var(--body);
  font-family:"Nunito Sans",system-ui,sans-serif;font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;
}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:Fredoka,"Nunito Sans",sans-serif;color:var(--ink);letter-spacing:-.01em;line-height:1.07;margin:0;font-weight:600}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}
@media(min-width:768px){.wrap{padding:0 24px}}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}

.eyebrow{font-weight:800;color:var(--teal-deep);font-size:.95rem;margin:0 0 .5em}
.eyebrow--orange{color:#B4720C}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:13px 24px;border-radius:16px;font-family:Fredoka,sans-serif;font-weight:600;
  font-size:1rem;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn--teal{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(62,158,140,.32)}
.btn--teal:hover{background:var(--teal-deep);transform:translateY(-2px)}
.btn--cream{background:var(--cream);color:var(--ink);box-shadow:0 10px 24px rgba(22,38,60,.22)}
.btn--cream:hover{background:var(--cream-soft);transform:translateY(-2px)}
.btn--big{min-height:56px;padding:16px 30px;font-size:1.08rem;border-radius:20px}

/* promo bar */
.promobar{background:var(--ink);color:#E7EDF3;font-size:.84rem}
.promobar__in{display:flex;gap:6px 12px;justify-content:center;align-items:center;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;text-align:center}
.promobar a{color:var(--cream);font-weight:700;text-decoration:none}
.promobar .dot{opacity:.5}
@media(max-width:560px){.promobar .dot{display:none}}

/* header */
.site-head{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(22,38,60,.08);transition:padding .2s ease,box-shadow .2s ease}
.site-head.is-stuck{box-shadow:0 8px 24px rgba(22,38,60,.10)}
.head__in{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px}
.site-head.is-stuck .head__in{padding-top:7px;padding-bottom:7px}
.brand{flex:0 0 auto;min-width:0}
.brand img{width:auto;height:44px;transition:height .2s ease}
.site-head.is-stuck .brand img{height:36px}
.nav-desk{display:none;margin-left:auto;min-width:0}
.nav-desk ul{display:flex;gap:clamp(12px,2vw,28px)}
.nav-desk a{font-weight:700;color:var(--ink);text-decoration:none;padding:8px 2px;display:inline-block;position:relative}
.nav-desk a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--teal);transform:scaleX(0);transition:transform .2s ease}
.nav-desk a:hover::after,.nav-desk a.is-active::after{transform:scaleX(1)}
.head__cta{display:none}
@media(min-width:1024px){
  .nav-desk{display:block}
  .head__cta{display:inline-flex;margin-left:20px}
  .burger{display:none!important}
}
.burger{margin-left:auto;width:48px;height:48px;border:0;background:var(--teal);border-radius:14px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer}
.burger span{width:20px;height:2.4px;background:#fff;border-radius:2px;transition:.2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}

.panel{position:fixed;inset:0;z-index:120;background:var(--teal);overflow-y:auto}
.panel__in{padding:84px 22px 40px;max-width:520px;margin:0 auto}
.panel nav ul{display:grid;gap:6px;margin-bottom:22px}
.panel nav a{display:block;font-family:Fredoka,sans-serif;font-size:1.55rem;color:#fff;text-decoration:none;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.panel nav a.is-active{color:var(--cream)}
.panel__cta{width:100%;background:var(--ink);color:#fff}
.panel__cta:hover{background:#0d1c2f}
.panel__line{display:block;margin-top:14px;color:#fff;font-weight:800;text-decoration:none}

/* hero */
.hero{display:grid;grid-template-columns:1fr;background:var(--teal);position:relative}
.hero__photo{order:-1;height:clamp(230px,58vw,340px);overflow:hidden}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}
.hero__type{position:relative;padding:clamp(34px,7vw,64px) 20px clamp(44px,8vw,70px)}
.hero__typeIn{max-width:640px;margin:0 auto}
.hero__wave{display:none}
.hero h1{font-size:clamp(2.2rem,7.4vw,3.4rem);color:var(--ink)}
.hero__deck{color:#12324a;font-weight:600;font-size:clamp(1.02rem,2.4vw,1.14rem);margin-top:1em;max-width:52ch}
.hero__kick{font-family:Fredoka,sans-serif;font-weight:600;font-size:clamp(1.4rem,4vw,1.8rem);color:#fff;text-shadow:0 2px 0 rgba(22,38,60,.18);margin-bottom:1.2em}
.hero__acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.linkphone{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-weight:800;text-decoration:none;
  border-bottom:3px solid var(--orange);padding:6px 2px;min-height:44px}
.linkphone:hover{color:#0c1a2b;border-color:var(--ink)}
.hero__trust{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:26px}
.hero__trust li{background:rgba(255,255,255,.9);color:var(--ink);font-weight:700;font-size:.82rem;padding:7px 13px;border-radius:999px}
@media(min-width:900px){
  .hero{grid-template-columns:1.02fr .98fr;align-items:stretch}
  .hero__photo{order:0;height:auto;min-height:620px}
  .hero__type{display:flex;align-items:center;padding:clamp(60px,6vw,96px) 0 clamp(60px,6vw,96px) max(24px,calc((100% - 1240px)/2 + 24px));min-width:0}
  .hero__typeIn{margin:0;padding-right:64px}
  .hero__wave{display:block;position:absolute;top:0;right:-1px;height:100%;width:110px;transform:translateX(99%);z-index:2;pointer-events:none}
}

/* ticker */
.ticker{background:var(--ink);color:var(--cream);overflow:hidden;padding:11px 0;font-family:Fredoka,sans-serif;font-size:.95rem;white-space:nowrap}
.ticker__track{display:flex;width:max-content;animation:slide 34s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}

/* welcome */
.welcome{padding:clamp(72px,9vw,140px) 0;position:relative}
.welcome::before{content:"";position:absolute;inset:0;background:url("/cdn/demos/petstarnyccom/assets/caa2941e-highlight-color-black-text-decoration-underline-text-decoration-color-FDD58D-1.png") repeat;opacity:.06;pointer-events:none}
.welcome__grid{display:grid;gap:26px;position:relative}
.welcome__fig{margin:0;min-width:0}
.welcome__fig img{width:100%;border-radius:28px}
.welcome__body{min-width:0}
.welcome__body h2{font-size:clamp(1.85rem,4.6vw,2.9rem);margin-bottom:.55em}
.welcome__body p{max-width:60ch}
@media(min-width:900px){
  .welcome__grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:0}
  .welcome__fig{transform:translateX(-14px)}
  .welcome__body{background:#fff;border-radius:30px;padding:44px 42px;box-shadow:var(--shadow);margin-left:-70px;position:relative;z-index:2}
}
.trio{display:grid;gap:16px;margin-top:clamp(34px,5vw,64px);position:relative;z-index:3}
@media(min-width:760px){.trio{grid-template-columns:repeat(3,1fr)}}
.trio__item{min-width:0}
.trio__item a{display:block;height:100%;background:var(--cream-soft);border-radius:22px;padding:24px 22px;text-decoration:none;
  border:2px solid transparent;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.trio__item a:hover{transform:translateY(-4px);border-color:var(--cream);box-shadow:var(--shadow-sm)}
.trio__item h3{font-size:1.32rem;margin-bottom:.35em}
.trio__item p{margin:0;font-size:.98rem}

/* why / bento */
.why{background:#fff;padding:clamp(72px,9vw,130px) 0;border-top:1px solid rgba(22,38,60,.06)}
.why__head h2{font-size:clamp(2rem,5.2vw,3.3rem)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips li{border:2px solid var(--cream);color:var(--ink);font-weight:700;font-size:.8rem;padding:6px 13px;border-radius:999px}
.bento{display:grid;gap:18px;margin-top:clamp(32px,4vw,50px)}
.card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm);min-width:0;display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease;background:var(--bg)}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card__img{overflow:hidden;min-height:0}
.card__img img{width:100%;height:240px;object-fit:cover}
.card__txt{padding:24px 24px 28px}
.card__txt h3{font-size:1.42rem;margin-bottom:.4em}
.card__txt p{margin:0;font-size:1rem}
.card--teal{background:var(--teal)}
.card--teal .card__txt h3{color:#fff}
.card--teal .card__txt p{color:#F4FCFA}
.card--cream{background:var(--cream)}
.card--cream .card__txt p{color:#3A2F17}
@media(min-width:900px){
  .bento{grid-template-columns:1.05fr 1fr;grid-template-rows:1fr 1fr;align-items:stretch}
  .card--tall{grid-row:1 / span 2}
  .card--tall .card__img{flex:1 1 auto}
  .card--tall .card__img img{height:100%;min-height:280px}
  .card--teal .card__img img,.card--cream .card__img img{height:clamp(150px,15vw,200px)}
  .card--teal .card__txt,.card--cream .card__txt{flex:1 1 auto}
  .card--teal{transform:translateY(-14px)}
  .card--cream{transform:translateY(14px)}
}
.why__cta{margin-top:clamp(34px,4vw,54px)}

/* bands */
.band{display:grid;grid-template-columns:1fr;background:var(--teal);position:relative;overflow:hidden}
.band__photo{height:clamp(200px,44vw,280px);overflow:hidden}
.band__photo img{width:100%;height:100%;object-fit:cover}
.band--book .band__photo img{object-position:0% 50%;transform:scale(1.22);transform-origin:0% 50%}
.band--walk .band__photo img{object-position:100% 50%;transform:scale(1.22);transform-origin:100% 50%}
.band__txt{padding:clamp(44px,6vw,84px) 20px}
.band__txt h2{color:#fff;font-size:clamp(1.75rem,4.6vw,2.9rem);margin-bottom:.5em}
.band__txt p{color:#EAFBF6;font-weight:600;max-width:46ch}
.band__acts{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-top:8px}
.band__link{color:#fff;font-weight:800;text-decoration:none;border-bottom:3px solid var(--cream);padding:6px 2px;min-height:44px;display:inline-flex;align-items:center}
.band__link:hover{border-color:#fff}
@media(min-width:900px){
  .band{grid-template-columns:1fr 1fr;align-items:center}
  .band__photo{height:100%;min-height:470px}
  .band--book .band__txt{padding-right:max(24px,calc((100% - 1240px)/2 + 24px));padding-left:clamp(40px,5vw,72px)}
  .band--walk .band__txt--left{padding-left:max(24px,calc((100% - 1240px)/2 + 24px));padding-right:clamp(40px,5vw,72px)}
}

/* transformations */
.trans{padding:clamp(72px,9vw,130px) 0;background:var(--bg);position:relative}
.trans__head{display:grid;gap:16px}
.trans__head h2{font-size:clamp(2.1rem,5.6vw,3.4rem)}
.trans__intro{max-width:60ch;margin:0;font-size:1.05rem}
.trans__nav{display:flex;gap:12px}
@media(min-width:900px){
  .trans__head{grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:end}
  .trans__title{grid-column:1;grid-row:1}
  .trans__intro{grid-column:1;grid-row:2}
  .trans__nav{grid-column:2;grid-row:1 / span 2;align-self:end}
}
.rbtn{width:56px;height:56px;border-radius:18px;border:0;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s,transform .18s}
.rbtn:hover{background:var(--teal-deep);transform:translateY(-2px)}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:clamp(24px,3vw,38px) max(20px,calc((100% - 1240px)/2 + 20px));
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail__item{flex:0 0 88%;max-width:900px;margin:0;scroll-snap-align:center;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
@media(min-width:760px){.rail__item{flex:0 0 72%}}
@media(min-width:1100px){.rail__item{flex:0 0 60%}}
.rail__item img{width:100%;height:auto}
.trans__foot{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:14px}
.dots{display:flex;gap:8px;flex-wrap:wrap}
.dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(22,38,60,.22);cursor:pointer;padding:0}
.dots button.is-on{background:var(--teal);transform:scale(1.25)}

/* clients */
.clients{background:#fff;padding:clamp(72px,9vw,140px) 0}
.clients__head h2{font-size:clamp(2.1rem,5.4vw,3.3rem)}
.quotes{display:grid;gap:26px;margin-top:clamp(30px,4vw,50px)}
@media(min-width:960px){
  .quotes{grid-template-columns:1fr 1fr;align-items:start}
  .quote--b{margin-top:64px}
  .slot{grid-column:1 / -1}
}
.quote{margin:0;background:var(--cream);border-radius:30px;padding:26px 26px 30px;position:relative;box-shadow:var(--shadow-sm);min-width:0;
  display:grid;gap:14px}
.quote__photo{width:132px;height:132px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:5px solid #fff}
.quote__photo img{width:100%;height:100%;object-fit:cover}
@media(min-width:600px){
  .quote{grid-template-columns:150px minmax(0,1fr);column-gap:22px;align-items:start;padding:30px 30px 32px}
  .quote__photo{width:150px;height:150px;grid-row:1 / span 2}
}
.quote .qmark{font-family:Fredoka,sans-serif;font-size:3.6rem;line-height:.55;color:#fff;display:block;margin-bottom:8px}
.quote blockquote{margin:0;min-width:0}
.quote blockquote p{color:#2A2210;font-size:1.01rem;margin:0}
.quote figcaption{font-family:Fredoka,sans-serif;font-size:1.1rem;color:var(--ink)}
.slot{border:2px dashed var(--cream);background:var(--cream-soft);border-radius:24px;padding:26px;text-align:center;
  font-weight:700;color:#7A5C1C}

/* instagram */
.ig{background:var(--teal);padding:clamp(66px,8vw,120px) 0}
.ig__head h2{color:#fff;font-size:clamp(2rem,5.2vw,3.1rem)}
.ig__handle{display:inline-block;margin-top:14px;color:var(--ink);background:var(--cream);font-family:Fredoka,sans-serif;
  padding:8px 18px;border-radius:999px;text-decoration:none;font-size:1.05rem}
.ig__handle:hover{background:var(--cream-soft)}
.ig__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:clamp(28px,4vw,46px)}
@media(min-width:860px){.ig__grid{grid-template-columns:repeat(4,1fr);gap:18px}}
.tile{position:relative;display:block;border-radius:20px;overflow:hidden;background:#0d1c2f;box-shadow:var(--shadow-sm);
  aspect-ratio:4/5;transition:transform .2s ease}
@media(min-width:860px){
  .tile:nth-child(2){transform:translateY(-18px)}
  .tile:nth-child(4){transform:translateY(-18px)}
  .tile:nth-child(2):hover,.tile:nth-child(4):hover{transform:translateY(-26px)}
}
.tile:hover{transform:translateY(-6px)}
.tile img{width:100%;height:100%;object-fit:cover}
.tile__cap{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(13,28,47,.92));
  color:#fff;font-size:.78rem;line-height:1.35;padding:34px 12px 12px;opacity:0;transition:opacity .2s ease}
.tile:hover .tile__cap,.tile:focus-visible .tile__cap{opacity:1}
.tile--reel::after{content:"";position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;
  background:rgba(13,28,47,.62) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 6l10 6-10 6z' fill='white'/></svg>") center/14px no-repeat}
.ig__cta{margin-top:clamp(30px,4vw,46px)}

/* footer */
.foot{background:var(--teal);color:#fff;padding:clamp(56px,7vw,96px) 0 100px;border-top:6px solid var(--cream)}
.foot__top{display:grid;gap:32px;align-items:start}
@media(min-width:820px){.foot__top{grid-template-columns:1.4fr 1fr}}
.foot__brand img{width:min(300px,74vw);height:auto}
.foot__tag{font-family:Fredoka,sans-serif;font-size:1.4rem;color:#fff;margin-top:14px}
.foot__nav h3,.foot__contacts h3{font-size:1.05rem;color:#fff;margin-bottom:10px}
.foot__nav ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.foot__nav a,.foot__contacts a{color:#F0FBF8;text-decoration:none;font-weight:600}
.foot__nav a:hover,.foot__contacts a:hover{color:var(--cream);text-decoration:underline}
.foot__contacts{display:grid;gap:26px;margin-top:clamp(38px,5vw,60px);padding-top:34px;border-top:1px solid rgba(255,255,255,.32)}
@media(min-width:700px){.foot__contacts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.foot__contacts{grid-template-columns:repeat(4,1fr)}}
.foot__contacts li{min-width:0}
.foot__contacts svg{width:34px;height:34px;color:var(--cream);margin-bottom:10px}
.foot__dir{display:inline-block;margin-top:8px;color:var(--cream);font-weight:800}
.foot__legal{margin-top:clamp(36px,5vw,56px);padding-top:22px;border-top:1px solid rgba(255,255,255,.3);
  font-size:.9rem;color:#EAFBF6}
.foot__legal a{color:var(--cream);font-weight:800}

/* mobile action bar */
.mobar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;gap:10px;padding:10px 12px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid rgba(22,38,60,.1)}
.mobar a{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;min-height:48px;
  border-radius:14px;text-decoration:none;font-family:Fredoka,sans-serif;font-size:.98rem}
.mobar__call{border:2px solid var(--ink);color:var(--ink)}
.mobar__book{background:var(--teal);color:#fff}
@media(min-width:1024px){.mobar{display:none}.foot{padding-bottom:clamp(56px,7vw,96px)}}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media(min-width:900px){
  .card--teal.reveal{transform:translateY(6px)}
  .card--cream.reveal{transform:translateY(34px)}
  .card--teal.reveal.is-in{transform:translateY(-14px)}
  .card--cream.reveal.is-in{transform:translateY(14px)}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transition:none}
  .ticker__track{animation:none}
  *{scroll-behavior:auto!important}
}
html{scroll-behavior:smooth}