/* fm-peticare: Birchline Veterinary Care. Original stylesheet (likeness build). */
@font-face{font-family:"Birch Display";src:url(../fonts/archivo-wide-var.woff2) format("woff2");font-weight:800 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Birch Text";src:url(../fonts/inter-display-var.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Birch Display Fallback";src:local("Arial Black"),local("Arial-BoldMT"),local("Arial Bold");size-adjust:104%;ascent-override:86%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Birch Text Fallback";src:local("Arial"),local("ArialMT");size-adjust:104%;ascent-override:93%;descent-override:23%;line-gap-override:0%}
:root{
  --paper:#FFFFFF;--bone:#F3F2E8;--sage:#E4E3D3;--sage-2:#D0CFBD;
  --ink:#3D1503;--ink-2:#49200D;--muted:#4F5862;--tan:#C2AA9F;
  --accent:#BE0F03;--orange:#DD6B2E;--bar:#C94D00;--grad-a:#CC4E02;--grad-b:#C8281B;
  --line:rgba(61,21,3,.12);--r:14px;--r-sm:10px;
  --k:1.0667;--ls:.045em;
  --fd:"Birch Display","Birch Display Fallback","Arial Black",sans-serif;
  --ft:"Birch Text","Birch Text Fallback",Arial,sans-serif;
  --gut:20px;--wrap:calc(100% - 40px);
}
@media (min-width:810px){:root{--gut:30px;--wrap:calc(100% - 60px)}}
@media (min-width:1360px){:root{--wrap:min(1300px,calc(100% - 60px))}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bone);color:var(--muted);font-family:var(--ft);font-size:16px;line-height:26px;font-variation-settings:"opsz" 32;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
main,.ftr{overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- display type (Archivo wide stands in for a commercial wide grotesque) ---------- */
.d{font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:var(--ls);color:var(--ink);margin:0}
.d60{font-size:calc(38px*var(--k));line-height:38px}
.d40{font-size:calc(24px*var(--k));line-height:28.8px}
.d32{font-size:calc(24px*var(--k));line-height:26px}
.d30{font-size:calc(22px*var(--k));line-height:26px}
.d24{font-size:calc(20px*var(--k));line-height:24px}
.d20{font-size:calc(18px*var(--k));line-height:21.6px}
.d18{font-size:calc(18px*var(--k));line-height:18px}
.d16{font-size:calc(16px*var(--k));line-height:16px}
.d14{font-size:calc(14px*var(--k));line-height:16.8px;letter-spacing:.03em}
.d48{font-size:calc(40px*var(--k));line-height:44px}
.d100{font-size:calc(34px*var(--k));line-height:34px}
@media (min-width:810px){.d60{font-size:calc(46px*var(--k));line-height:46px}.d40{font-size:calc(34px*var(--k));line-height:37.4px}.d32{font-size:calc(28px*var(--k));line-height:30px}.d30{font-size:calc(26px*var(--k));line-height:26px}.d48{font-size:calc(48px*var(--k));line-height:48px}.d100{font-size:calc(70px*var(--k));line-height:72px}}
@media (min-width:1360px){.d60{font-size:calc(60px*var(--k));line-height:60px}.d40{font-size:calc(40px*var(--k));line-height:40px}.d32{font-size:calc(32px*var(--k));line-height:32px}.d30{font-size:calc(30px*var(--k));line-height:30px}.d24{font-size:calc(24px*var(--k));line-height:24px}.d20{font-size:calc(20px*var(--k));line-height:24px}.d100{font-size:calc(100px*var(--k));line-height:100px}}
.red{color:var(--accent)}.org{color:var(--orange)}
.lead{font-size:16px;line-height:26px;color:var(--muted);margin:0}
.lab{font-size:14px;line-height:14px;text-transform:uppercase;color:var(--ink);margin:0}
.paws{display:flex;gap:5px;margin:0 0 20px;height:14px}
.paws svg{width:14px;height:14px;fill:var(--accent)}
.paws svg:last-child{opacity:.3}
.paws--c{justify-content:center}
.on-dark .paws svg{fill:var(--orange)}

/* ---------- buttons: paw tile + label tile, label rolls on hover ---------- */
.btn{display:inline-flex;align-items:stretch;height:55px;border-radius:var(--r);cursor:pointer;border:0;padding:0;background:none;text-align:left}
.btn__ic{width:55px;height:55px;border-radius:var(--r);background:var(--ink);display:grid;place-items:center;flex:none;transition:transform .3s ease}
.btn__ic svg{width:26px;height:26px;fill:#fff}
.btn__lb{height:55px;border-radius:var(--r);background:var(--accent);color:#fff;padding:0 26px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;font-size:14px;line-height:16.8px;font-weight:600;text-transform:uppercase;white-space:nowrap}
.btn__lb span{display:block;transition:transform .4s cubic-bezier(.3,.7,.3,1)}
.btn__lb span+span{position:absolute;visibility:hidden}
.btn__lb{position:relative}
.btn__lb span+span{visibility:visible;top:calc(50% + 30.6px);left:26px}
.btn:hover .btn__lb span,.btn:focus-visible .btn__lb span{transform:translateY(-39px)}
.btn:hover .btn__ic{transform:rotate(-8deg)}
.btn--light .btn__ic{background:#fff}.btn--light .btn__ic svg{fill:var(--ink)}
.chip{width:55px;height:55px;border-radius:var(--r);background:var(--bone);display:grid;place-items:center;color:var(--ink);overflow:hidden;position:relative}
.chip svg{width:26px;height:26px;fill:currentColor;transition:transform .35s ease}
.chip:hover svg{transform:translateY(-3px) scale(1.08)}
.chip:hover{background:var(--ink);color:#fff}

/* ---------- announcement bar + header ---------- */
.bar{display:none;height:40px;background:var(--bar);color:#fff;font-size:14px;line-height:16.8px;text-transform:uppercase;align-items:center;justify-content:center;gap:10px}
.bar__av{display:flex}.bar__av img{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--bar);margin-left:-4px}
.bar__av img:first-child{margin-left:0}
@media (min-width:810px){.bar{display:flex}}
.top{position:absolute;inset:0 0 auto;z-index:50}
.hdr{height:84px;background:#fff;position:relative}
.hdr__in{width:var(--wrap);margin-inline:auto;height:100%;display:flex;align-items:center;justify-content:space-between;position:relative}
.logo{display:flex;align-items:center;gap:6px;color:var(--ink)}
.logo svg{width:31px;height:30px;fill:var(--accent);flex:none}
.logo b{font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:18px;line-height:15px;letter-spacing:.02em;text-transform:uppercase;display:block}
.on-dark .logo svg,.ftr .logo svg{fill:var(--orange)}
.nav{display:none}
.burger{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.burger svg{width:22px;height:14px}
.hdr__book,.calltab{display:none}
@media (min-width:1360px){
  .hdr{height:80px;background:#fff}
  .hdr__in{justify-content:flex-start}
  .logo{margin-left:5px}
  .nav{display:flex;gap:40px;position:absolute;left:calc(50% - 235px);top:31px}
  .nav>a,.nav>div>button{font-size:14px;line-height:16.8px;font-weight:600;text-transform:uppercase;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;gap:4px;white-space:nowrap;position:relative}
  .nav>a::after,.nav>div>button::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
  .nav>a:hover::after,.nav>div>button:hover::after{transform:scaleX(1);transform-origin:left}
  .nav>div>button svg{width:14px;height:14px;transition:transform .25s}
  .nav>div.open>button svg{transform:rotate(180deg)}
  .burger{display:none}
  .hdr__book{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:var(--r-sm);border:1.5px solid var(--ink);color:var(--ink);font-size:13px;font-weight:600;text-transform:uppercase;position:absolute;right:225px;top:20px;white-space:nowrap;transition:background .25s,color .25s}
  .hdr__book:hover{background:var(--ink);color:#fff}
  .calltab{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;right:5px;top:0;width:210px;height:80px;border-radius:0 0 var(--r-sm) var(--r-sm);background:linear-gradient(var(--grad-a),var(--grad-b));color:#fff;font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:calc(14px*var(--k));line-height:16.8px;letter-spacing:.03em;text-transform:uppercase;text-align:center}
  .calltab:hover{filter:brightness(.95)}
}
@media (min-width:810px) and (max-width:1359px){.hdr{height:80px}}
/* mega menu */
.mega{position:absolute;top:calc(100% + 29px);left:-143px;width:724px;background:#fff;border-radius:6px;box-shadow:0 18px 40px rgba(61,21,3,.12);padding:24px 0 26px;display:grid;grid-template-columns:215px 1px 248px 1px 1fr;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility 0s .25s}
.dd.open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s}
.mega__col{padding:0 30px;display:flex;flex-direction:column;gap:20px}
.mega__col span{font-size:14px;line-height:14px;color:var(--muted);text-transform:uppercase}
.mega__col a{font-size:14px;line-height:19px;font-weight:600;color:var(--ink);text-transform:uppercase;white-space:nowrap}
.mega__col a:hover{color:var(--accent)}
.mega i{background:var(--line)}
/* headroom: fixed compact bar after 120px */
.fixbar{position:fixed;inset:0 0 auto;z-index:60;background:#fff;box-shadow:0 6px 24px rgba(61,21,3,.08);transform:translateY(-110%);transition:transform .35s ease}
.fixbar.show{transform:none}
.fixbar .hdr{height:70px;background:#fff}
.fixbar .nav{top:26px}
.fixbar .calltab{height:70px;font-size:calc(13px*var(--k))}
.fixbar .hdr__book{top:15px}
@media (prefers-reduced-motion:reduce){.fixbar{transition:none}}
/* mobile menu (full screen) */
.mm{position:fixed;inset:0;z-index:90;background:#fff;display:flex;flex-direction:column;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
.mm.open{visibility:visible;opacity:1;transition:opacity .25s}
.mm__top{height:84px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);border-bottom:1px solid var(--line)}
.mm__x{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.mm__x svg{width:18px;height:18px}
.mm nav{display:flex;flex-direction:column;padding:16px var(--gut) 24px}
.mm nav a{font-size:13px;line-height:16px;font-weight:600;text-transform:uppercase;color:var(--ink);padding:9px 0}
.mm__cta{display:flex;flex-direction:column;gap:10px;padding:0 var(--gut) 40px}
.mm__cta a{height:52px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase;font-size:14px}
.mm__cta a:first-child{background:var(--accent);color:#fff}.mm__cta a:last-child{background:var(--ink);color:#fff}
/* always-on mobile CTA bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -6px 20px rgba(61,21,3,.12)}
.mbar a{height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;text-transform:uppercase}
.mbar a svg{width:18px;height:18px;fill:currentColor}
.mbar__call{background:var(--ink);color:#fff}.mbar__book{background:var(--accent);color:#fff}
body.mm-open .mbar{display:none}
@media (max-width:1359px){body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}}
@media (min-width:1360px){.mbar{display:none}}

/* ---------- home hero ---------- */
.hero{position:relative;background:#fff;height:1112px;overflow:hidden}
.hero__h1{position:absolute;left:var(--gut);top:140px;z-index:1}
.hero__h1 .ln{display:block;overflow:hidden;padding-bottom:2px;margin-bottom:-2px}
.hero__h1 .ln>span{display:inline-block}
.js .hero__h1 .ln>span{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.js .hero__h1 .ln:nth-child(2)>span{animation-delay:.12s}.js .hero__h1 .ln:nth-child(3)>span{animation-delay:.24s}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero__soc{position:absolute;left:var(--gut);top:304px;display:flex;gap:10px;z-index:3}
.hero__lead{position:absolute;left:var(--gut);top:392px;width:350px;font-size:20px;line-height:30px;color:var(--muted);margin:0;z-index:3}
.hero__lead strong{font-weight:700}
.hero__cta{position:absolute;left:var(--gut);top:499px;z-index:3}
.hero__dog{position:absolute;left:var(--gut);top:634px;width:min(350px,calc(100% - 40px));z-index:2}
.hero__dog img{width:100%}
.hero__dog{isolation:isolate}.hero__line{position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;overflow:visible}
.hero__line path{fill:none;stroke:var(--accent);stroke-linecap:butt;stroke-linejoin:round}
.js .hero__line path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 5.65s linear 1.3s infinite}
@keyframes draw{0%{stroke-dashoffset:var(--len)}34.5%{stroke-dashoffset:0}50.4%{stroke-dashoffset:0}83.2%{stroke-dashoffset:calc(var(--len) * -1)}100%{stroke-dashoffset:calc(var(--len) * -1)}}
@media (min-width:480px) and (max-width:809px){.hero{height:auto;padding-bottom:0}.hero__dog{position:relative;left:auto;top:auto;margin:604px auto 0;width:calc(100% - 40px)}}
@media (min-width:810px){
  .hero{height:745px}
  .hero__h1{top:160px}
  .hero__h1 .ln{display:inline}.hero__h1 .ln+.ln::before{content:" "}
  .hero__h1 .ln:nth-child(3){display:block}
  .hero__soc{top:382px}
  .hero__lead{top:480px;width:300px;font-size:20px}
  .hero__cta{top:590px}
  .hero__dog{left:auto;right:60px;top:297px;width:328px}
}
@media (min-width:1200px) and (max-width:1359px){.hero{height:699px}.hero__h1 .ln:nth-child(3){display:inline}.hero__soc{top:354px}.hero__lead{top:434px}.hero__cta{top:554px}.hero__dog{top:251px}}
@media (min-width:1360px){
  .hero{height:938px}
  .hero__h1{left:calc(50% - 650px);top:220px}
  .hero__h1 .ln,.hero__h1 .ln:nth-child(3){display:block}.hero__h1 .ln+.ln::before{content:none}
  .hero__soc{left:calc(50% - 650px);top:783px}
  .hero__lead{left:auto;right:calc(50% - 650px);top:673px;width:300px;text-align:right}
  .hero__cta{left:auto;right:calc(50% - 650px);top:783px}
  .hero__dog{left:calc(50% - 267px);right:auto;top:208px;width:534px}
}

/* ---------- facts (pinned stage with two straightening cards) ---------- */
.facts{position:relative;z-index:2;padding:150px 0 0}
.facts__h{text-align:center;max-width:660px;margin:0 auto}
.facts__stage{position:relative;margin-top:40px}
.facts__img{border-radius:var(--r);overflow:hidden;aspect-ratio:7/5}
.facts__img img{width:100%;height:100%;object-fit:cover}
.card{background:#fff;border-radius:var(--r);padding:34px}
.card h3{margin:0 0 10px}
.card__ic{width:50px;height:50px;margin-bottom:57px;color:var(--accent)}
.card__ic svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:1.6}
.ticks{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks svg{width:20px;height:20px;flex:none;margin-top:3px;stroke:var(--orange);fill:none;stroke-width:2}
.hours{background:var(--ink);color:#fff}
.hours .card__ic{color:var(--orange);margin-bottom:64px}
.hours h3{color:#fff;margin-bottom:24px}
.hours dl{margin:0}
.hours dl div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:16px;line-height:20px}
.hours dl div:first-child{padding-top:0}.hours dl div:last-child{border-bottom:0;padding-bottom:0}
.hours dd{margin:0;color:var(--tan)}.hours dd.closed{color:var(--orange)}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 50px;margin:30px 0 0;padding:0;list-style:none}
.checks li{display:flex;gap:6px;align-items:center;font-size:16px;line-height:16px;font-weight:600;color:var(--ink)}
.checks svg{width:20px;height:20px;stroke:var(--orange);fill:none;stroke-width:1.6}
.facts__peek{position:relative;z-index:3;width:240px;margin:60px auto -2px}
@media (max-width:1359px){
  .facts__stage{display:flex;flex-direction:column;gap:20px}
  .facts__stage .card.mission{order:-1}
  .checks{flex-direction:column;align-items:flex-start;gap:12px;margin:0}
}
@media (min-width:810px) and (max-width:1359px){
  .facts__stage{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .facts__img{grid-column:1/-1;order:-2;aspect-ratio:auto;height:452px}
  .checks{grid-column:1/-1;order:-1;flex-direction:row;justify-content:center;gap:50px}
  .facts__stage .card.mission{order:0}
}
@media (min-width:1360px){
  .facts{height:2094px;padding:0}
  .facts__pin{position:sticky;top:0;height:900px;padding-top:150px}
  .facts__stage{width:1300px;margin:50px auto 0;height:560px}
  .facts__img{position:absolute;left:300px;top:0;width:700px;height:500px}
  .facts__stage .card{position:absolute;top:55px;width:338px;height:340px}
  .facts__stage .mission{left:0;transform:rotate(var(--rm,0deg)) translate(var(--tm,0px),var(--tm2,0px))}
  .facts__stage .hours{right:0;transform:rotate(var(--rh,0deg)) translate(var(--th,0px),var(--tm3,0px))}
  .js .facts__stage .mission{--rm:9deg;--tm:50px;--tm2:-50px}
  .js .facts__stage .hours{--rh:-9deg;--th:-50px;--tm3:-50px}
  .checks{position:absolute;left:300px;top:526px;width:700px;justify-content:center}
  .facts__peek{position:absolute;bottom:-60px;left:calc(50% - 163px);width:327px;margin:0}
}

/* ---------- capability chips marquee (dark) ---------- */
.caps{position:relative;z-index:1;background:var(--ink);height:110px;overflow:hidden;display:flex;align-items:center}
.marq{display:flex;width:max-content}
.marq__set{display:flex;gap:110px;padding-right:110px;flex:none}
.js .marq{animation:marq var(--dur,30s) linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}
.capi{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:20px;line-height:30px;white-space:nowrap}
.capi svg{width:28px;height:28px;fill:none;stroke:var(--orange);stroke-width:1.8}
@media (min-width:1360px){.caps{height:150px}.capi{font-size:22px}}
@media (prefers-reduced-motion:reduce){.js .marq{animation:none}}

/* ---------- orbit services (dark) ---------- */
.orbit{background:var(--ink);color:#fff;position:relative;padding:20px 0 0;overflow:hidden}
.orbit .d{color:#fff;text-align:center}
.orbit__h{max-width:680px;margin:0 auto}
.orbit__stage{position:relative;margin:50px auto 0;width:100%;max-width:1050px}
.orbit__ring{display:none}
.orbit__items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 10px;position:relative;z-index:2}
.orbit__items a{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:14px;line-height:16.8px;font-weight:600;text-transform:uppercase;color:#fff}
.orbit__items svg{width:46px;height:46px;fill:none;stroke:var(--orange);stroke-width:1.5;transition:transform .35s}
.orbit__items a:hover svg{transform:translateY(-4px)}
.orbit__disc{position:relative;margin:30px auto 0;width:min(350px,100%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 30%,#E07432,#9A3A0F 60%,var(--ink) 100%)}
.orbit__cat{position:relative;z-index:3;width:min(240px,62%);margin:-230px auto 0}
.orbit__base{height:67px;background:var(--bone);margin-top:-67px;position:relative;z-index:1}
@media (min-width:810px) and (max-width:1359px){.orbit__items{grid-template-columns:repeat(3,1fr)}.orbit__disc{position:absolute;inset:-60px 0 auto;margin:auto;width:620px;opacity:.9;z-index:0}.orbit__cat{margin:40px auto 0;width:240px}}
@media (min-width:1360px){
  .orbit{height:1144px;padding:50px 0 0}
  .orbit__stage{width:1050px;height:1050px;margin:50px auto 0;position:absolute;left:calc(50% - 525px);top:209px}
  .orbit__ring{display:block;position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--orange),rgba(171,171,171,0) 50%,var(--orange) 100%);-webkit-mask:radial-gradient(circle,transparent 366px,#000 367px,#000 404px,transparent 405px);mask:radial-gradient(circle,transparent 366px,#000 367px,#000 404px,transparent 405px);transform:rotate(var(--orot,-27deg))}
  .orbit__items{display:block;position:absolute;inset:0}
  .orbit__items li{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
  .orbit__items li:nth-child(1){left:428px;top:55px}
  .orbit__items li:nth-child(2){left:775px;top:296px}
  .orbit__items li:nth-child(3){left:95px;top:296px}
  .orbit__items li:nth-child(4){left:775px;top:621px}
  .orbit__items li:nth-child(5){left:95px;top:621px}
  .orbit__items a{width:120px;gap:16px}
  .orbit__items svg{width:60px;height:60px}
  .orbit__disc{display:none}
  .orbit__cat{position:absolute;left:285px;top:172px;width:400px;margin:0;transform:translateY(var(--cy,0px))}
  .orbit__base{position:absolute;left:0;right:0;bottom:0;margin:0}
}

/* ---------- split rows (image + accordion copy) ---------- */
.split{padding:100px 0 0}
.split__row{display:grid;gap:40px}
.split__row+.split__row{margin-top:80px}
.split__img{border-radius:var(--r);overflow:hidden;aspect-ratio:350/392}
.split__img img{width:100%;height:100%;object-fit:cover}
.split h2{margin-bottom:20px}
.acc{border-bottom:1px solid var(--line)}
.acc>button{width:100%;text-align:left;background:none;border:0;padding:20px 0;cursor:pointer;display:block}
.acc>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.acc>div>p{overflow:hidden;margin:0}
.acc.open>div{grid-template-rows:1fr}
.acc.open>div>p{padding-bottom:20px}
.acc.open{border-bottom-color:var(--orange)}
.split .btns{margin-top:40px}
@media (min-width:810px) and (max-width:1359px){.split__img{aspect-ratio:auto;height:560px}}
@media (min-width:1360px){
  .split{padding:150px 0 150px}
  .split__row{grid-template-columns:590px 1fr;gap:75px;align-items:center}
  .split__row+.split__row{margin-top:100px}
  .split__row--rev{grid-template-columns:1fr 590px;gap:120px}
  .split__row--rev .split__copy{order:-1;max-width:590px}
  .split__img{width:590px;height:660px;aspect-ratio:auto}
  .split__copy{max-width:635px}
  .split__copy .lead,.split__copy .acc{max-width:590px}
}

/* ---------- testimonials ---------- */
.testi{background:var(--sage);padding:100px 0;position:relative;overflow:hidden}
.testi__grid{display:grid;gap:20px;margin-top:40px;position:relative;z-index:2}
.qcard{background:#fff;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.qcard blockquote{margin:0;font-size:20px;line-height:30px;color:var(--muted)}
.who{display:flex;gap:10px;align-items:center}
.who img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.who b{display:block;margin-bottom:10px}
.who span{font-size:14px;line-height:14px;text-transform:uppercase}
.testi__art{position:relative;width:min(335px,80%);margin:40px auto -100px;z-index:2}
.testi__glow{position:absolute;width:605px;height:605px;border-radius:50%;background:linear-gradient(213deg,var(--sage-2),rgba(228,227,211,0));right:-200px;top:200px}
@media (min-width:810px){.testi__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1360px){
  .testi{height:994px;padding:150px 0 0}
  .testi__grid{width:920px;grid-template-columns:450px 450px;gap:20px}
  .qcard{height:250px}
  .testi__glow{right:calc(50% - 650px);top:150px}
  .testi__art{position:absolute;left:calc(50% + 222px);top:586px;width:335px;margin:0}
}

/* ---------- process ---------- */
.process{padding:100px 0}
.process__row{display:grid;gap:40px}
.process__art{position:relative;padding-top:90px}
.process__art::before{content:"";position:absolute;left:0;right:0;bottom:0;height:53%;background:var(--accent);border-radius:var(--r)}
.process__art img{position:relative;width:85%;margin:0 auto}
.steps{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:40px}
.steps li{display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start}
.steps .ic{width:80px;height:80px;border-radius:50%;background:#fff;display:grid;place-items:center}
.steps .ic svg{width:46px;height:46px;fill:none;stroke:var(--accent);stroke-width:1.4}
.steps h3{margin:0 0 10px}
.steps p{margin:0}
@media (min-width:1360px){
  .process{height:882px;padding:150px 0 0}
  .process__row{grid-template-columns:590px 590px;gap:120px}
  .process__art{height:657px;padding:0}
  .process__art::before{top:307px;height:350px;bottom:auto}
  .process__art img{position:absolute;left:46px;top:0;width:499px}
  .process__copy{padding-top:82px}
  .steps{margin-top:60px}
}

/* ---------- giant words + dark contact card ---------- */
.big{padding:60px 0 0;text-align:center;position:relative}
.big__w{font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:.01em;font-size:calc(58px*var(--k));line-height:46.4px;margin:0}
.big__w1{color:rgba(61,21,3,.1)}.big__w2{color:var(--accent)}
.big__cat{position:relative;z-index:2;width:min(250px,64%);margin:-20px auto -150px}
.pc{background:var(--ink);color:#fff;border-radius:var(--r);padding:180px 24px 40px;text-align:center;position:relative}
.pc .d{color:#fff;max-width:780px;margin:0 auto}
.pc__cols{display:grid;gap:30px;margin:50px auto 0;max-width:820px}
.pc__cols h3{color:#fff;margin:0 0 14px}
.pc__cols p,.pc__cols a{color:var(--tan);display:block;margin:0}
.pc__f{margin-top:40px;font-size:14px;line-height:16.8px;font-weight:600;text-transform:uppercase}
.pc__soc{display:flex;gap:10px;justify-content:center;margin:20px 0 -67px}
.pc__soc .chip{width:54px;height:54px;border:1px solid var(--ink);border-radius:var(--r-sm)}
.pc__soc .chip svg{width:24px;height:24px}
.pcwrap{padding-bottom:110px}
@media (min-width:810px){.big__w{font-size:calc(160px*var(--k));line-height:128px}.pc__cols{grid-template-columns:1fr 1fr}.big__cat{margin-bottom:-170px}}
@media (min-width:1360px){
  .big{height:1438px;padding:75px 0 0}
  .big__w{font-size:calc(250px*var(--k));line-height:200px}
  .big__cat{position:absolute;left:calc(50% - 193px);top:368px;width:387px;margin:0}
  .pc{position:absolute;left:calc(50% - 650px);top:672px;width:1300px;height:588px;padding:196px 0 0}
  .pc .d{max-width:974px}
  .pc__cols{grid-template-columns:350px 350px;gap:120px;margin-top:44px;max-width:820px}
  .pc__f{margin-top:41px}
  .pc__soc{margin:20px 0 0}
  .pcwrap{padding:0}
}

/* ---------- video poster ---------- */
.video{position:relative;height:253px;overflow:hidden;background:#222}
.video img{width:100%;height:100%;object-fit:cover}
.play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:rgba(255,255,255,.92);border:0;display:grid;place-items:center;cursor:pointer;transition:transform .3s}
.play svg{width:26px;height:26px;fill:var(--accent);margin-left:4px}
.play:hover{transform:scale(1.06)}
.video__note{position:absolute;left:0;right:0;bottom:0;padding:14px;text-align:center;color:#fff;background:rgba(30,10,2,.72);font-size:14px;line-height:20px;opacity:0;transition:opacity .3s}
.video.played .video__note{opacity:1}
@media (min-width:810px){.video{height:560px}}
@media (min-width:1360px){.video{height:800px}}

/* ---------- contact block ---------- */
.contact{padding:100px 0}
.contact__h{text-align:center;max-width:640px;margin:0 auto 40px}
.contact__grid{display:grid;gap:20px}
.info{background:var(--ink);color:#fff;border-radius:var(--r);padding:30px 26px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.info__paw{position:absolute;right:-70px;top:110px;width:426px;opacity:.06;fill:#fff;pointer-events:none}
.info ul{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:20px;position:relative}
.info li{display:grid;grid-template-columns:30px 1fr;gap:16px;align-items:start;font-size:20px;line-height:30px;color:var(--tan)}
.info li svg{width:30px;height:30px;fill:var(--orange)}
.info .phn{font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:calc(22px*var(--k));line-height:30px;color:#fff;letter-spacing:.03em}
.info li a.mail{color:#fff}
.soc6{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.soc6 a{height:50px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:background .25s}
.soc6 a:hover{background:var(--accent)}
.soc6 svg{width:26px;height:26px;fill:currentColor}
.form{background:#fff;border-radius:var(--r);padding:30px 20px;display:flex;flex-direction:column;gap:22px}
.fld{display:flex;flex-direction:column;gap:14px}
.fld label{font-size:14px;line-height:14px;font-weight:500;text-transform:uppercase;color:var(--ink)}
.fld label i{color:var(--accent);font-style:normal}
.fld input,.fld select,.fld textarea{height:54px;border-radius:var(--r);border:1px solid #DCDAD3;background:#fff;padding:0 18px;font-size:16px;color:var(--ink);width:100%}
.fld select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233D1503' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.fld textarea{height:150px;padding:16px 18px;resize:vertical}
.fld input::placeholder,.fld textarea::placeholder{color:#6E747A}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px rgba(61,21,3,.12)}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:var(--accent)}
.fld .err{display:none;color:var(--accent);font-size:13px;line-height:16px}
.fld.bad .err{display:block}
.row2{display:grid;gap:22px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:20px;color:var(--muted)}
.consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:none}
.consent.bad{color:var(--accent)}
.ok{display:none;background:var(--bone);border-left:4px solid var(--accent);border-radius:var(--r-sm);padding:18px 20px;color:var(--ink)}
.ok b{display:block;font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;margin-bottom:6px;letter-spacing:.03em}
form.sent .ok{display:block}form.sent>*:not(.ok){display:none}
@media (min-width:810px){.row2{grid-template-columns:1fr 1fr}.soc6{grid-template-columns:repeat(3,1fr)}.form{padding:40px}}
@media (min-width:1360px){
  .contact{padding:150px 0}
  .contact__grid{grid-template-columns:640px 640px;gap:20px}
  .info{padding:40px;min-height:791px}
  .info .phn{font-size:calc(30px*var(--k))}
}

/* ---------- estimate image ---------- */
.estimate{padding:0 0 100px}
.estimate__img{border-radius:var(--r);overflow:hidden;aspect-ratio:350/253}
.estimate__img img{width:100%;height:100%;object-fit:cover}
@media (min-width:1360px){.estimate{padding:0 0 150px}.estimate__img{height:687px;aspect-ratio:auto}}

/* ---------- blog cards ---------- */
.blogs{padding:0 0 100px}
.blogs__top{display:flex;flex-direction:column;gap:30px;margin-bottom:40px}
.blogs__grid{display:grid;gap:40px 20px}
.post{display:flex;flex-direction:column}
.post__img{border-radius:var(--r);overflow:hidden;aspect-ratio:64/42}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.post:hover .post__img img{transform:scale(1.04)}
.meta{display:flex;align-items:center;gap:10px;margin:30px 0 16px;font-size:14px;line-height:14px;text-transform:uppercase}
.meta .cat{color:var(--accent);font-weight:500}
.meta svg{width:10px;height:10px;fill:var(--accent);opacity:.3}
.meta time{color:var(--ink)}
.post h3{margin:0 0 16px}
.post h3 a:hover{color:var(--accent)}
.post p{margin:0}
@media (min-width:810px){.blogs__grid{grid-template-columns:1fr 1fr}.blogs__top{flex-direction:row;align-items:flex-end;justify-content:space-between}}
@media (min-width:1360px){.blogs{padding:0 0 150px}.blogs__top{margin-bottom:60px}.blogs__top .d{max-width:640px}.post__img{height:420px;aspect-ratio:auto}}

/* ---------- FAQ ---------- */
.faq{padding:0 0 100px}
.faq__h{text-align:center;max-width:620px;margin:0 auto 40px}
.faq__list{max-width:770px;margin:0 auto;border-top:1px solid var(--line)}
.faq .acc>button{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px 0}
.faq .acc>button svg{width:16px;height:16px;flex:none;stroke:var(--ink);stroke-width:1.6;fill:none}
.faq .acc>button .v{transition:opacity .25s}
.faq .acc.open>button .v{opacity:0}
.faq .acc>div>p{padding:0}
.faq .acc.open>div>p{padding:0 0 28px}
@media (min-width:1360px){.faq{padding:0 0 150px}.faq__h{margin-bottom:60px}}

/* ---------- CTA split ---------- */
.cta{padding:0 0 60px}
.cta__grid{display:grid;gap:10px;position:relative}
.cta__copy{background:#fff;border-radius:var(--r);padding:40px 24px}
.cta__copy .lead{margin:16px 0 22px}
.mini{display:flex;flex-wrap:wrap;gap:12px 34px;margin:0 0 40px;padding:0;list-style:none}
.mini li{display:flex;align-items:center;gap:6px;font-size:14px;line-height:14px;text-transform:uppercase;color:var(--ink)}
.mini svg{width:15px;height:15px;fill:var(--accent)}
.cta__img{border-radius:var(--r);overflow:hidden;aspect-ratio:1}
.cta__img img{width:100%;height:100%;object-fit:cover}
.cta__paw{position:absolute;width:120px;right:30%;bottom:-40px;fill:var(--ink);transform:rotate(-12deg);z-index:2}
@media (min-width:810px){.cta__grid{grid-template-columns:1fr 1fr}.cta__img{aspect-ratio:auto}}
@media (min-width:1360px){
  .cta{padding:75px 0 62px}
  .cta__grid{grid-template-columns:645px 645px;height:600px}
  .cta__copy{padding:135px 60px 0}
  .cta__copy .d{max-width:516px}.cta__copy .lead{max-width:516px}
  .cta__paw{width:178px;left:561px;right:auto;top:396px;bottom:auto}
}

/* ---------- marquee words + app band ---------- */
.words{overflow:hidden;position:relative;z-index:1;margin-top:20px}
.words .marq__set{gap:40px;padding-right:40px}
.words span{font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:calc(56px*var(--k));line-height:44.8px;color:var(--ink);white-space:nowrap}
.words span.g{color:rgba(61,21,3,.1)}.words span.r{color:var(--accent)}
.app{background:var(--accent);color:#fff;position:relative;overflow:hidden;padding:60px 0 0}
.app__paw{position:absolute;fill:rgba(255,255,255,.08);width:720px;right:-200px;top:40px;pointer-events:none}
.app .d{color:#fff;max-width:490px}
.app p{color:#fff;max-width:490px;margin:20px 0 30px}
.badges{display:flex;gap:16px;flex-wrap:wrap}
.badge{height:50px;min-width:150px;border-radius:8px;background:#000;color:#fff;display:flex;align-items:center;gap:8px;padding:0 14px 0 10px;border:1px solid #444}
.badge svg{width:24px;height:24px;fill:#fff;flex:none}
.badge small{display:block;font-size:10px;line-height:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.9}
.badge b{display:block;font-size:15px;line-height:18px;font-weight:600;white-space:nowrap}
.app__kit{position:relative;width:min(300px,78%);margin:40px auto 0}
@media (min-width:810px){.words span{font-size:calc(80px*var(--k));line-height:64px}.app{padding:80px 0 0}.app__inner{display:grid;grid-template-columns:1fr 1fr;align-items:end}.app__kit{margin:0 auto}}
@media (min-width:1360px){
  .words{margin-top:0;position:relative;z-index:1}
  .words span{font-size:calc(160px*var(--k));line-height:128px}
  .appwrap{position:relative}
  .app{height:738px;padding:345px 0 0;margin-top:0}
  .app__inner{display:block}
  .app__kit{position:absolute;left:calc(50% + 89px);top:48px;width:434px;margin:0}
  .app__paw{width:801px;left:calc(50% - 127px);top:114px;right:auto}
}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:80px 0 0}
.ftr__top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.ftr .logo{color:#fff}
.fsoc{display:flex;gap:10px}
.fsoc a{width:50px;height:50px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;transition:background .25s}
.fsoc a:hover{background:var(--accent)}
.fsoc svg{width:24px;height:24px;fill:currentColor}
.ftr__cols{display:grid;gap:40px;padding:50px 0 60px}
.ftr__h{font-size:14px;line-height:14px;text-transform:uppercase;color:var(--orange);margin:0 0 30px}
.fchips{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}
.fchips a{height:53px;padding:0 26px;border-radius:var(--r);background:var(--ink-2);display:flex;align-items:center;font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:calc(14px*var(--k));letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;transition:background .25s}
.fchips a:hover{background:var(--accent)}
.ftr__news .d{color:#fff;margin-bottom:46px}
.ftr__news .fld label{color:#fff}
.ftr__news .fld label i{color:#F77462}
.ftr__news .fld input{background:var(--ink-2);border-color:rgba(255,255,255,.1);color:#fff}
.ftr__news .fld input::placeholder{color:#B9A79E}
.ftr__news .btn{margin-top:10px}
.ftr__news .ok{background:var(--ink-2);color:#fff}
.ftr__legal{text-align:center;color:var(--tan);font-size:14px;line-height:22px;padding:0 0 30px}
.ftr__legal a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ftr__legal p{margin:0 0 6px}
.ftr__mark{position:relative;height:150px;margin-top:20px}
.ftr__mark p{position:absolute;left:var(--gut);right:var(--gut);top:20px;margin:0;display:flex;justify-content:space-between;font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(30px,8.4vw,calc(150px*var(--k)));line-height:.8;letter-spacing:-.005em}
.ftr__mark span:first-child{color:var(--orange)}
.ftr__dog{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:26%;max-width:272px;z-index:2}
@media (min-width:810px){.ftr__cols{grid-template-columns:1fr 1fr}.ftr__news{grid-column:1/-1;order:-1}.ftr__mark{height:220px}}
@media (min-width:1360px){
  .ftr{height:1267px;padding:150px 0 0}
  .ftr__cols{grid-template-columns:577px 333px 390px;gap:0;padding:73px 0 0;height:500px}
  .ftr__news{order:0;grid-column:auto}
  .ftr__c1 .fchips{display:grid;grid-template-columns:275px 1fr;grid-auto-flow:column;grid-template-rows:repeat(5,53px);justify-items:start}
  .ftr__c2 .fchips{flex-direction:column;align-items:flex-start}
  .ftr__legal{padding:0}
  .ftr__mark{position:absolute;left:0;right:0;bottom:0;height:300px;margin:0}
  .ftr__mark p{top:auto;bottom:250px;width:1529px;left:calc(50% - 650px);font-size:204px;line-height:.69;transform:scaleX(.85);transform-origin:left bottom}
  .ftr__mark{height:420px}
  .ftr__dog{left:calc(50% - 35px);width:272px;bottom:-10px}
}

/* ---------- inner heroes ---------- */
.ph{background:#fff;position:relative;overflow:hidden;padding:150px 0 60px}
.ph__grid{display:grid;gap:30px}
.ph__img{border-radius:var(--r);overflow:hidden;aspect-ratio:9/10}
.ph__img img{width:100%;height:100%;object-fit:cover}
.ph .lead{margin-top:16px;max-width:720px}
.wm{position:absolute;right:-90px;top:-85px;width:300px;fill:#F6F4F0;pointer-events:none}
.wm2{position:absolute;left:-96px;bottom:-60px;width:300px;fill:#F6F4F0;pointer-events:none}
@media (min-width:810px){.ph{padding:160px 0 80px}.ph__grid{grid-template-columns:1fr 1fr;align-items:center}.ph__grid--l .ph__img{order:-1}.wm,.wm2{width:420px}}
@media (min-width:1360px){
  .ph{height:860px;padding:210px 0 0}
  .ph__grid{grid-template-columns:1fr 450px;gap:0 140px;align-items:start}
  .ph__grid .ph__copy{padding-top:312px}
  .ph__grid--l{grid-template-columns:450px 1fr;gap:0 100px}
  .ph__grid--l .ph__copy{padding-top:156px}
  .ph__img{width:450px;height:500px;aspect-ratio:auto}
  .wm{width:560px;right:auto;left:calc(50% + 267px)}
  .wm2{width:560px;left:-96px;bottom:auto;top:539px}
}
.chero{background:#fff;position:relative;overflow:hidden;text-align:center;padding:150px 0 70px}
.chero .lead{max-width:660px;margin:16px auto 0}
.chero .d{max-width:1000px;margin:0 auto}
@media (min-width:1360px){.chero{height:548px;padding:270px 0 0}.chero--about{height:auto;padding:210px 0 150px}.chero--contact{height:560px;padding:210px 0 0}}
.chero--about .imgs{display:grid;gap:20px;margin-top:40px;text-align:left}
.chero--about .imgs div{border-radius:var(--r);overflow:hidden;aspect-ratio:64/50}
.chero--about .imgs img{width:100%;height:100%;object-fit:cover}
@media (min-width:810px){.chero--about .imgs{grid-template-columns:1fr 1fr}}
@media (min-width:1360px){.chero--about .imgs{grid-template-columns:640px 640px;margin-top:60px}.chero--about .imgs div{height:500px;aspect-ratio:auto}.chero--about .d{max-width:910px}}
.bonepad{padding:100px 0}
@media (min-width:1360px){.bonepad{padding:150px 0}}

/* ---------- about page ---------- */
.state{display:grid;gap:30px}
.state__txt{font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:var(--ls);color:var(--ink);font-size:calc(24px*var(--k));line-height:28.8px;margin:0}
.state__txt .w{opacity:.5;transition:opacity .3s}
.state__txt .w.on{opacity:1}
.no-js .state__txt .w{opacity:1}
@media (min-width:810px){.state__txt{font-size:calc(34px*var(--k));line-height:37.4px}}
@media (min-width:1360px){.state{grid-template-columns:440px 860px}.state__txt{font-size:calc(40px*var(--k));line-height:40px}}
.stackc{position:relative;margin:60px auto 0;display:grid;gap:20px;max-width:420px}
.stackc__img{border-radius:var(--r);overflow:hidden;height:360px}
.stackc__img img{width:100%;height:100%;object-fit:cover}
.stackc .card{position:relative;z-index:2;padding:30px;transform:translateX(var(--sx,0px))}
.stackc .card h3{margin:0 0 16px}
.stackc .card div+div{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.stackc .card p{margin:0}
@media (min-width:810px) and (max-width:1359px){.stackc{max-width:none;grid-template-columns:1fr 1fr}.stackc__img{height:auto}}
@media (min-width:1360px){.stackc{margin:50px 0 0 440px;width:860px;max-width:none;grid-template-columns:420px 420px;gap:20px;align-items:start}.stackc__img{height:524px;margin-top:6px}.stackc .card{min-height:536px}.js .stackc .card{--sx:-440px}}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:40px 20px;text-align:center;padding:80px 0 0}
.stats b{display:block;margin-bottom:12px}
.stats span{font-size:14px;line-height:14px;text-transform:uppercase}
@media (min-width:810px){.stats{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1360px){.stats{width:920px;margin:0 auto;padding:100px 0 0}}
.journey{padding:100px 0 0}
.journey__h{text-align:center;max-width:770px;margin:0 auto 50px}
.jrow{display:grid;gap:12px;padding:30px 0;border-bottom:1px solid var(--line)}
.jrow:first-of-type{border-top:0}
.jrow ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:21px}
.jrow li::before{content:"/ "}
@media (min-width:810px){.jrow{grid-template-columns:150px 1fr 320px;align-items:center}}
@media (min-width:1360px){.journey{padding:150px 0 0}.jrow{grid-template-columns:198px 660px 1fr;padding:30px 0 27px}}
.wide{padding:100px 0 0;overflow:hidden}
.wide__img{border-radius:var(--r);overflow:hidden;aspect-ratio:13/6.5;transform:scale(var(--ws,1))}
.wide__img img{width:100%;height:100%;object-fit:cover}
@media (min-width:1360px){.wide{padding:150px 0 0}.wide__img{height:650px;aspect-ratio:auto}}
.stds{padding:100px 0}
.stds__box{border:1px solid var(--accent);border-radius:var(--r);padding:10px 20px;margin-top:40px;background:#fff}
.srow{display:grid;gap:8px;padding:16px 0;font-size:14px;line-height:18px;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line)}
.srow:last-child{border-bottom:0}
.srow .g{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:calc(15px*var(--k));letter-spacing:.02em}
.srow .g svg{width:28px;height:28px;fill:none;stroke:var(--accent);stroke-width:1.6}
.srow .y{color:var(--muted)}
.srow .t{display:flex;gap:8px}.srow .t::before{content:"\2022";color:var(--ink)}
@media (min-width:810px){.srow{grid-template-columns:200px 250px 1fr;align-items:center}}
@media (min-width:1360px){.stds{padding:150px 0}.stds__box{padding:19px 20px;margin-top:40px}.srow{grid-template-columns:193px 262px 1fr;padding:17px 0;border:0}}

/* ---------- service hub + cards ---------- */
.scards{display:grid;gap:20px}
.scard{background:#fff;border-radius:var(--r);padding:10px 10px 26px;display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease}
.scard:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(61,21,3,.08)}
.scard__img{border-radius:10px;overflow:hidden;aspect-ratio:400/280}
.scard__img img{width:100%;height:100%;object-fit:cover}
.scard h3{margin:24px 14px 14px}
.scard p{margin:0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.more{display:flex;justify-content:center;margin-top:55px}
@media (min-width:810px){.scards{grid-template-columns:1fr 1fr}}
@media (min-width:1360px){.scards{grid-template-columns:repeat(3,420px)}.scard{height:428px}}
.why{padding:100px 0 0}
.why__h{text-align:center;max-width:720px;margin:0 auto 50px}
.why__grid{display:grid;gap:20px}
.why__img{border-radius:var(--r);overflow:hidden;aspect-ratio:620/644}
.why__img img{width:100%;height:100%;object-fit:cover}
.why__list{display:flex;flex-direction:column;gap:20px}
.fcard{background:#fff;border-radius:var(--r);padding:30px}
.fcard h3{margin:0 0 14px}.fcard p{margin:0}
@media (min-width:810px){.why__grid{grid-template-columns:1fr 1fr;align-items:start}}
@media (min-width:1360px){.why{padding:150px 0 0}.why__grid{grid-template-columns:620px 620px;gap:60px}.fcard{min-height:150px}}
.partners{padding:80px 0 100px;text-align:center;overflow:hidden}
.partners .lab{margin-bottom:30px}
.partners .capi{color:var(--ink)}
@media (min-width:1360px){.partners{padding:150px 0 150px}}

/* ---------- article (service single, post, story) ---------- */
.art{padding:100px 0 0}
.art__col{max-width:800px;margin:0 auto}
.art__hero{border-radius:var(--r);overflow:hidden;aspect-ratio:800/534;margin-bottom:50px}
.art__hero img{width:100%;height:100%;object-fit:cover}
.art h2,.art h1{margin:0 0 40px}
.art p{margin:0 0 12px}
.art h3{margin:40px 0 16px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:38px 0 50px}
.pair div{border-radius:var(--r);overflow:hidden;aspect-ratio:380/260}
.pair img{width:100%;height:100%;object-fit:cover}
.art ul.dots{margin:0 0 12px;padding-left:20px}
.art ul.dots li{margin:0}
.ans{background:#fff;border-radius:var(--r);padding:26px 28px;border-left:4px solid var(--accent);margin:0 0 30px;color:var(--ink);font-size:18px;line-height:28px}
.ans b{display:block;font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:calc(14px*var(--k));letter-spacing:.03em;color:var(--accent);margin-bottom:8px}
.pq{margin:36px 0;padding:30px 0 30px 30px;border-left:4px solid var(--orange);font-family:var(--fd);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:calc(20px*var(--k));line-height:26px;letter-spacing:.03em;color:var(--ink)}
.kt{background:var(--ink);color:#fff;border-radius:var(--r);padding:28px 30px;margin:30px 0}
.kt h3,.kt .d{color:#fff;margin:0 0 16px}
.kt ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kt li{display:flex;gap:10px;color:var(--tan)}
.kt li svg{width:18px;height:18px;flex:none;margin-top:4px;stroke:var(--orange);fill:none;stroke-width:2}
.tline{list-style:none;margin:20px 0 30px;padding:0;counter-reset:s;display:grid;gap:14px}
.tline li{display:grid;grid-template-columns:44px 1fr;gap:14px;background:#fff;border-radius:var(--r);padding:18px}
.tline li::before{counter-increment:s;content:counter(s);width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--fd);font-weight:900;font-stretch:125%}
.tline b{display:block;color:var(--ink)}
.tbl{width:100%;border-collapse:collapse;margin:20px 0 30px;background:#fff;border-radius:var(--r);overflow:hidden;font-size:15px;line-height:22px}
.tbl th{background:var(--ink);color:#fff;text-align:left;padding:14px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.tbl td{padding:14px 16px;border-top:1px solid var(--line);color:var(--muted)}
.tbl td:first-child{color:var(--ink);font-weight:600}
.small{font-size:13px;line-height:18px;color:var(--muted);margin-top:10px}
.related{padding:100px 0}
.related .scards,.related .blogs__grid{margin-top:50px}
@media (min-width:1360px){.art{padding:150px 0 0}.related{padding:150px 0}}
.metabar{display:flex;justify-content:center;align-items:center;gap:12px;font-size:14px;line-height:14px;text-transform:uppercase;color:var(--ink);margin-bottom:20px}
.metabar svg{width:10px;height:10px;fill:var(--accent);opacity:.3}
.infos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}
.infos span{display:block;font-size:12px;line-height:14px;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
@media (min-width:810px){.infos span{font-size:14px}}
.art--wide .art__col{max-width:940px}
.art--wide .art__hero{aspect-ratio:940/646}
.notice{font-size:13px;line-height:18px;color:var(--muted);margin:30px 0 0;padding:14px 18px;border:1px dashed var(--orange);border-radius:var(--r-sm);background:#fff}

/* ---------- stories rows ---------- */
.rows{border-top:0}
.srow2{display:grid;gap:14px;padding:30px 0;border-bottom:1px solid var(--line);transform:translateX(var(--rx,0px))}
.srow2 h3{margin:0}.srow2 h3 a:hover{color:var(--accent)}
.srow2 p{margin:0;font-size:14px;line-height:21px}
.srow2 ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:30px;text-transform:uppercase;color:var(--ink)}
@media (min-width:810px){.srow2{grid-template-columns:1fr 1fr}.srow2 ul{grid-column:2;text-align:left}}
@media (min-width:1360px){.srow2{grid-template-columns:560px 420px 1fr;padding:34px 0 40px}.srow2 ul{grid-column:auto;text-align:right}}

/* ---------- team ---------- */
.tgrid{display:grid;gap:40px 20px}
.tm__img{border-radius:var(--r);overflow:hidden;aspect-ratio:420/500}
.tm__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tm:hover .tm__img img{transform:scale(1.04)}
.tm__row{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:10px}
.tm__row b{display:block;margin-bottom:10px}
.tm__row span{font-size:14px;line-height:14px;text-transform:uppercase}
.tm__go{width:40px;height:40px;border-radius:var(--r-sm);background:var(--ink);display:grid;place-items:center;flex:none;transition:background .25s}
.tm__go svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.tm:hover .tm__go{background:var(--accent)}
@media (min-width:810px){.tgrid{grid-template-columns:1fr 1fr}}
@media (min-width:1360px){.tgrid{grid-template-columns:repeat(3,420px);gap:70px 20px}}
.prof{display:grid;gap:40px}
.prof__img{border-radius:var(--r);overflow:hidden;aspect-ratio:500/658}
.prof__img img{width:100%;height:100%;object-fit:cover}
.prof h1{margin:0 0 20px}
.prof dl{display:grid;grid-template-columns:auto 1fr;gap:14px 40px;margin:40px 0;font-size:14px;line-height:14px;text-transform:uppercase}
.prof dt{color:var(--ink);font-weight:600}.prof dd{margin:0}
.prof dd a{color:var(--ink)}
.prof h3{margin:40px 0 14px}
.prof .soc{display:flex;gap:10px;margin-top:24px}
.prof .soc .chip{width:54px;height:54px;border-radius:var(--r-sm);border:1px solid var(--ink);background:var(--bone)}
@media (min-width:810px){.prof{grid-template-columns:5fr 6fr}}
@media (min-width:1360px){.prof{grid-template-columns:500px 660px;gap:140px}}

/* ---------- pricing ---------- */
.plans{display:grid;gap:20px;justify-content:center}
.plan{background:#fff;border-radius:var(--r);padding:35px}
.plan--pop{background:var(--ink);padding:5px}
.plan--pop>p{color:#fff;text-align:center;font-size:14px;line-height:14px;text-transform:uppercase;margin:8px 0 13px}
.plan--pop>div{background:#fff;border-radius:10px;padding:30px}
.plan h2{margin:0 0 20px}
.price{display:flex;align-items:flex-start;gap:4px;margin-bottom:10px;color:var(--ink)}
.price sup{font-size:16px;line-height:20px;margin-top:6px}
.price b{font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:calc(48px*var(--k));line-height:48px}
.price span{align-self:flex-end;font-size:14px;line-height:21px;color:var(--muted);margin-bottom:4px}
.plan .lead{margin-bottom:24px}
.plan .btn{width:100%}.plan .btn__lb{flex:1;align-items:center}.plan .btn__lb span+span{left:0;right:0;text-align:center}
.plan .lab{margin:30px 0 16px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.plan li{display:flex;gap:10px;align-items:center}
.plan li svg{width:16px;height:16px;flex:none}
.plans__note{text-align:center;margin-top:40px}
@media (min-width:1100px){.plans{grid-template-columns:repeat(3,360px)}}
@media (min-width:1360px){
  .plans{display:block;position:relative;height:620px;width:800px;margin:0 auto}
  .plan{position:absolute;width:413px;top:0}
  .plan--side{top:18px;padding:35px 35px 30px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .plan--l{left:0;transform:rotate(-6deg)}
  .plan--r{right:0;transform:rotate(6deg)}
  .plan--pop{left:calc(50% - 211px);width:423px;z-index:2;top:0}
  .plan--side .lead,.plan--side .lab,.plan--side ul,.plan--side .btn{opacity:.97}
}

/* ---------- gallery ---------- */
.gwide{border-radius:var(--r);overflow:hidden;aspect-ratio:13/5}
.gwide img{width:100%;height:100%;object-fit:cover}
.ggrid{display:grid;gap:20px}
.ggrid div{border-radius:var(--r);overflow:hidden;aspect-ratio:630/444}
.ggrid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ggrid div:hover img{transform:scale(1.04)}
@media (min-width:810px){.ggrid{grid-template-columns:1fr 1fr;gap:40px}}
@media (min-width:1360px){.ph--g{height:920px;padding:270px 0 0}.gwide{height:500px;aspect-ratio:auto}}

/* ---------- 404 ---------- */
.e404{background:#fff;position:relative;overflow:hidden;text-align:center;padding:170px 0 120px}
.e404 .num{font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:calc(120px*var(--k));line-height:.9;color:var(--ink);margin:0;letter-spacing:.01em}
.e404 .num span{color:var(--orange)}
.e404 .lead{max-width:600px;margin:20px auto 30px;position:relative}
@media (min-width:1360px){.e404{height:1077px;padding:250px 0 0}.e404 .num{font-size:calc(270px*var(--k))}}

/* ---------- reveals (JS-scoped start states; reduced motion = static) ---------- */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
@media (min-width:1360px){.js .rv.l{transform:translateX(-30px)}.js .rv.r{transform:translateX(30px)}}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  .js .hero__h1 .ln>span{animation:none}
  .js .hero__line path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
  .js .facts__stage .mission,.js .facts__stage .hours{--rm:0deg;--tm:0px;--tm2:0px;--rh:0deg;--th:0px;--tm3:0px}
  .js .stackc .card{--sx:0px}
  .state__txt .w{opacity:1}
  *{scroll-behavior:auto}
}

/* round 2: row images (inline below 810, cursor-follow above), map, hidden cut-outs, app band */
.rowimg{display:none}
@media (max-width:809px){
  .rowimg{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:350/300;margin:6px 0 4px}
  .rowimg img{width:100%;height:100%;object-fit:cover}
  .srow2 .rowimg{aspect-ratio:350/420;order:-1}
  .srow2{display:flex;flex-direction:column}
  .journey__h{text-align:left;margin-left:0}
  .journey .paws--c{justify-content:flex-start}
  .testi__art,.big__cat{display:none}
  .pc{padding-top:50px}
  .testi{padding-bottom:100px}
}
.hov{position:fixed;left:0;top:0;width:250px;height:250px;border-radius:var(--r);overflow:hidden;pointer-events:none;z-index:45;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .25s ease,transform .25s ease}
.hov.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.hov img{width:100%;height:100%;object-fit:cover}
@media (max-width:809px){.hov{display:none}}
.map{margin:40px 0 0;border-radius:var(--r);overflow:hidden;position:relative;height:300px;background:#E9E7D9}
.map svg{width:100%;height:100%;display:block}
.map__cap{position:absolute;left:16px;bottom:16px;right:16px;max-width:360px;background:#fff;border-radius:var(--r-sm);padding:14px 16px;font-size:14px;line-height:20px;color:var(--muted);box-shadow:0 8px 24px rgba(61,21,3,.1)}
.map__cap b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
@media (min-width:810px){.map{height:440px}}
@media (min-width:1360px){.map{height:600px;margin-top:40px}.map__cap{left:30px;bottom:30px}}
.hero__cta .btn__lb{min-width:193px}
@media (min-width:1360px){
  .appwrap{position:relative;height:738px}
  .appwrap .words{position:absolute;left:0;right:0;top:-38px;z-index:2;margin:0}
  .appwrap .app{height:738px;padding:345px 0 0;background:linear-gradient(var(--bone) 188px,var(--accent) 188px)}
  .appwrap .app__kit{z-index:3}
  .appwrap .app__paw{top:302px}
}
@media (max-width:809px){.app__kit{width:min(350px,92%);margin-top:70px}.app{padding-top:80px}}

.offband{padding-top:0}
@media (min-width:1360px){.offband{padding-top:80px}}
