:root{
  --linen:#F4F1EA;--hover:#EAE5D8;--forest:#0F3B27;--green:#1F6440;--mint:#7FC39C;--pale:#DDEBE2;--ink:#24302A;--mute:#3E4A44;--rule:#C9C3B5;
  --serif:'Gloock',Georgia,serif;--sans:'Atkinson Hyperlegible',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;
  --ease:cubic-bezier(.19,1,.22,1);--ease-io:cubic-bezier(.77,0,.18,1);
  /* 1440 → left 160 / right 120 (as in Home v2); 390 → 52 / 20 */
  --pl:clamp(52px,11.11vw,160px);--pr:clamp(20px,8.33vw,120px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;overflow-x:clip;max-width:100vw;background:var(--linen);color:var(--forest);font:400 18px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-loading{overflow:hidden}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--forest)}
img{display:block;max-width:100%}
h1,h2,h3,p,figure,blockquote{margin:0;padding:0}
:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
.wrap{max-width:1440px;margin:0 auto;padding-left:var(--pl);padding-right:var(--pr)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--forest);color:#fff;padding:12px 16px;z-index:400}
.skip:focus{left:8px}
.tag{font:500 14px/1.4 var(--mono);background:#FFE9A8;color:#4A3500;padding:1px 5px;border-radius:4px;white-space:nowrap}
.ph-label{font:500 13px/1.45 var(--mono);background:rgba(255,255,255,.9);color:#2B2B2B;padding:6px 8px;border-radius:4px}
.m-only{display:none}

/* type scale (max = Home v2 desktop, min = Home v2 mobile) */
.h-96{font:400 clamp(44px,6.67vw,96px)/.95 var(--serif);letter-spacing:-.015em}
.h-104{font:400 clamp(40px,7.2vw,104px)/.95 var(--serif);letter-spacing:-.02em}
.h-120{font:400 clamp(58px,8.33vw,120px)/.88 var(--serif);letter-spacing:-.02em}
.h-152{font:400 clamp(58px,10.55vw,152px)/.88 var(--serif);letter-spacing:-.02em}

/* ---------- motion primitives ---------- */
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:inline-block;max-width:100%;transform:translateY(110%);transition:transform 1.3s var(--ease)}
.ln.in>span{transform:none}
.ln:nth-child(2)>span{transition-delay:.08s}
.ln:nth-child(3)>span{transition-delay:.16s}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
.reveal-img{overflow:hidden;clip-path:inset(14% 6% 14% 6%);transition:clip-path 1.6s var(--ease),opacity .8s,transform 1.6s var(--ease)}
.reveal-img.in{clip-path:inset(0)}
.reveal-img>img{width:100%;height:100%;object-fit:cover;transform:scale(1.22);transition:transform 2.2s var(--ease)}
.reveal-img.in>img{transform:scale(1)}

/* loader */
.loader{position:fixed;inset:0;z-index:300;background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;clip-path:inset(0);transition:clip-path 1.1s var(--ease-io)}
.loader__mark{width:120px;overflow:visible}
.loader__mark ellipse{fill:none;stroke:var(--mint);stroke-width:1.4}
.loader__mark .e1{stroke-dasharray:90;stroke-dashoffset:90;animation:draw 1.3s var(--ease) .1s forwards}
.loader__mark .e2{stroke-dasharray:45;stroke-dashoffset:45;animation:draw 1s var(--ease) .6s forwards,fillIn .6s ease 1.3s forwards}
.loader__name{font:400 28px/1 var(--serif);color:#fff;opacity:0;transform:translateY(12px);animation:up .9s var(--ease) .9s forwards}
.loader.done{clip-path:inset(0 0 100% 0)}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillIn{to{fill:var(--mint)}}
@keyframes up{to{opacity:1;transform:none}}


/* ---------- topbar + header ---------- */
.topbar{border-bottom:1px solid #DCD6C8;font-size:17px;color:var(--ink)}
.topbar__in{max-width:1440px;margin:0 auto;height:44px;padding:0 var(--pr) 0 clamp(20px,5.55vw,80px);display:flex;align-items:center;gap:36px;white-space:nowrap}
.topbar strong{color:var(--forest)}
.topbar__hours{margin-left:auto}
.header{position:sticky;top:0;z-index:100;background:rgba(244,241,234,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .6s var(--ease)}
.header.hide{transform:translateY(-100%)}
.header__in{max-width:1440px;margin:0 auto;height:104px;padding:0 var(--pr) 0 clamp(12px,4.03vw,58px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:16px;color:var(--green);white-space:nowrap}
.brand svg{width:48px;height:34px}
.brand__txt{display:flex;flex-direction:column;gap:2px}
.brand__name{font:400 26px/1 var(--serif);color:var(--forest)}
.brand__sub{font-size:15px;line-height:1.2;color:var(--mute)}
.nav{display:flex;gap:26px;white-space:nowrap}
.nav a{color:var(--forest);font-size:17px;line-height:1;position:relative;padding:8px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.menu-btn{display:none;align-items:center;height:48px;padding:0 18px;border:2px solid var(--forest);border-radius:24px;background:none;color:var(--forest);font:700 17px/1 var(--sans);cursor:pointer}
.menu{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;padding:96px 0 32px;overflow-y:auto;pointer-events:none;visibility:hidden;transition:visibility 0s 1.1s}
.menu.open{pointer-events:auto;visibility:visible;transition:none}
.menu__bg{position:fixed;inset:0;background:var(--forest);clip-path:ellipse(0% 0% at calc(100% - 80px) 52px);transition:clip-path 1.1s var(--ease-io)}
.menu.open .menu__bg{clip-path:ellipse(150% 150% at calc(100% - 80px) 52px)}
.menu__orbit{position:absolute;right:-12vw;top:50%;width:min(80vw,1100px);aspect-ratio:2/1;translate:0 -50%;pointer-events:none}
.menu__orbit ellipse{fill:none;stroke:#2F6448;stroke-width:1.5;stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 1.6s var(--ease) .2s}
.menu.open .menu__orbit ellipse{stroke-dashoffset:0;transition-delay:.45s}
.menu__orbit .core{fill:#1F6440;stroke:none;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3) rotate(-15deg);transition:opacity .8s,transform 1.4s var(--ease)}
.menu.open .menu__orbit .core{opacity:1;transform:scale(1) rotate(-15deg);transition-delay:.6s}
.menu__close{position:absolute;right:var(--pr);top:28px;z-index:2;height:48px;padding:0 20px;border:2px solid var(--mint);border-radius:24px;background:none;color:#fff;font:700 17px/1 var(--sans);cursor:pointer;opacity:0;transition:opacity .4s,background .3s,color .3s}
.menu.open .menu__close{opacity:1;transition-delay:.6s}
.menu__close:hover{background:var(--mint);color:var(--forest)}
.menu__nav{position:relative;flex:1 0 auto;justify-content:center;padding:0 var(--pr) 0 var(--pl);display:flex;flex-direction:column;counter-reset:m}
.menu__nav a{position:relative;display:flex;align-items:baseline;gap:28px;padding:10px 0;color:#fff;font:400 clamp(30px,min(6.4vw,9vh),96px)/1 var(--serif);letter-spacing:-.02em;overflow:hidden;white-space:nowrap}
.menu__nav a>span{display:inline-block;transform:translateY(110%);transition:transform .9s var(--ease)}
.menu.open .menu__nav a>span{transform:none}
.menu__nav a small{font:700 16px/1 var(--sans);color:var(--mint);letter-spacing:0;opacity:0;transform:translateX(-12px);transition:opacity .5s,transform .6s var(--ease)}
.menu__nav a:hover small{opacity:1;transform:none}
.menu__nav:hover a{color:#5E8A72}
.menu__nav a:hover{color:#fff}
.menu__nav a::after{content:"";position:absolute;left:0;bottom:4px;height:2px;width:100%;background:var(--mint);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
.menu__nav a:hover::after{transform:scaleX(1);transform-origin:left}
.menu__foot{position:relative;margin:24px var(--pr) 0 var(--pl);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .8s var(--ease)}
.menu.open .menu__foot{opacity:1;transform:none;transition-delay:.85s}
.menu__foot a{font:400 clamp(26px,2.6vw,36px)/1 var(--serif);color:var(--mint)}
.menu__foot a:hover{color:#fff}
.menu__foot span{font-size:16px;color:#D5E8DC}
.menu-btn{gap:10px}
.menu-btn i{display:flex;flex-direction:column;gap:5px;width:22px}
.menu-btn i::before,.menu-btn i::after{content:"";height:2px;background:currentColor;border-radius:2px;transition:transform .5s var(--ease)}
.menu-btn:hover i::before{transform:translateX(4px)}
.menu-btn:hover i::after{transform:translateX(-4px)}
body.menu-open .header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
@media (max-width:760px){.menu__nav{padding:0 20px}.menu__nav a{font-size:clamp(28px,min(9.5vw,7vh),40px);padding:8px 0;white-space:normal}.menu__nav a small{display:none}.menu__close{right:20px;top:12px}.menu__foot{margin:24px 20px 0}.menu__orbit{right:-40vw;width:130vw}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 26px;border-radius:28px;font:700 18px/1 var(--sans);white-space:nowrap;transition:background .4s,color .4s,border-color .4s}
.btn--lg{height:60px;padding:0 32px;border-radius:30px;font-size:19px}
.btn--green{background:var(--green);color:#fff}.btn--green:hover{background:var(--forest);color:#fff}
.btn--line{border:2px solid var(--green);color:var(--green)}.btn--line:hover{background:var(--green);color:#fff}
.btn--linen{background:var(--linen);color:var(--forest)}.btn--linen:hover{background:#fff;color:var(--forest)}
.btn--ghost{border:2px solid var(--mint);color:#fff}.btn--ghost:hover{background:var(--mint);color:var(--forest)}
.header__cta{padding:0 28px}
.ulink{display:inline-flex;align-self:flex-start;font:700 20px/1 var(--sans);color:var(--green);padding-bottom:6px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;transition:background-size .6s var(--ease)}
.ulink:hover{background-size:0 2px;background-position:100% 100%}
.ulink--light{color:#fff;background-image:linear-gradient(var(--mint),var(--mint))}
.ulink--light:hover{color:#fff}

/* ---------- hero ---------- */
.hero{padding-top:clamp(32px,6.67vw,96px);padding-bottom:clamp(40px,8.9vw,128px)}
.hero__title{font:400 clamp(58px,9.44vw,136px)/.92 var(--serif);letter-spacing:-.02em;margin:clamp(36px,3.33vw,48px) 0 clamp(28px,5vw,72px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start}
.intents{display:flex;flex-direction:column;border-bottom:2px solid var(--forest)}
.intents a{display:grid;grid-template-columns:72px minmax(0,1fr) 40px;gap:20px;align-items:center;min-height:112px;border-top:2px solid var(--forest);color:var(--forest);position:relative;isolation:isolate}
.intents a::before{content:"";position:absolute;inset:0;background:var(--hover);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--ease);z-index:-1}
.intents a:hover::before{transform:scaleY(1)}
.intents__n{font:400 44px/1 var(--serif);color:var(--green)}
.intents__t{display:flex;flex-direction:column;gap:6px}
.intents__t b{font:700 28px/1.2 var(--sans)}
.intents__t small{font-size:19px;line-height:1.35;color:var(--mute)}
.intents__a{font-size:32px;line-height:1;transition:transform .55s var(--ease)}
.intents a:hover .intents__a{transform:translateX(8px)}
.book{display:flex;flex-direction:column;background:var(--pale);border-radius:4px;overflow:hidden}
.book__head{padding:30px 36px 8px;display:flex;justify-content:space-between;align-items:baseline}
.book__head h2{font:400 34px/1 var(--serif);color:var(--forest)}
.book__head span{font-size:17px;line-height:1;color:var(--ink)}
.book__row{margin:0 36px;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--forest);border-bottom:1px solid #A9C9B4}
.book__row+.book__row{border-bottom:0}
.book__row:hover{color:var(--green)}
.book__txt{display:flex;flex-direction:column;gap:4px}
.book__txt small{font-size:18px;line-height:1.2;color:var(--ink)}
.book__txt strong{font:400 clamp(30px,2.78vw,40px)/1.05 var(--serif);white-space:nowrap}
.book__go{flex:none;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;transition:transform .6s var(--ease),background .4s}
.book__row:hover .book__go{transform:rotate(-45deg);background:var(--forest)}
.book__wa{height:64px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff;font:700 19px/1 var(--sans);white-space:nowrap;transition:background .4s}
.book__wa:hover{background:var(--forest);color:#fff}
.book__ins{padding:18px 36px;background:var(--linen);border:1px solid var(--pale);font-size:16px;line-height:1.5;color:var(--ink)}

/* ---------- team ---------- */
.team{padding-top:clamp(24px,7.2vw,104px);padding-bottom:clamp(48px,10vw,144px)}
.team .h-96{margin-bottom:clamp(24px,4.44vw,64px)}
.team__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.doc{display:flex;flex-direction:column;gap:14px;color:var(--forest)}
.doc:nth-child(2){transition-delay:.08s}.doc:nth-child(3){transition-delay:.16s}.doc:nth-child(4){transition-delay:.24s}
.doc__ph{aspect-ratio:3/4;border-radius:140px 140px 4px 4px;background:repeating-linear-gradient(135deg,#DCD7CB 0 12px,#E5E1D6 12px 24px);display:flex;align-items:flex-end;padding:14px;transition:border-radius .8s var(--ease)}
.doc:hover .doc__ph{border-radius:40px 40px 4px 4px}
.doc__crm{font:400 clamp(24px,3.33vw,48px)/1 var(--serif);color:var(--green)}
.doc b{font:700 22px/1.25 var(--sans)}
.doc small{font-size:18px;line-height:1.4;color:var(--mute)}
.doc:hover{color:var(--forest)}
.team__note{margin-top:48px;font-size:20px;color:var(--ink)}
.team__note a{font-weight:700;color:var(--green);border-bottom:2px solid var(--green)}

/* ---------- program ---------- */
.program{background:var(--forest);color:#fff}
.program__in{padding-top:clamp(48px,8.33vw,120px);padding-bottom:clamp(52px,8.9vw,128px)}
.program__eyebrow{display:block;font:700 18px/1 var(--sans);color:var(--mint)}
.program__quote{font:400 clamp(52px,10vw,144px)/.9 var(--serif);letter-spacing:-.02em;color:#fff;margin:clamp(40px,5vw,72px) 0 clamp(20px,2.78vw,40px)}
.program__quote .w{opacity:.18;transition:opacity .3s linear}
.program__quote .w.on{opacity:1}
.program__lead{font-size:26px;line-height:1.45;color:#D5E8DC;max-width:720px;margin-bottom:72px}
.program__img{height:clamp(260px,43vw,620px);border-radius:4px}
.program__img>img{object-position:center 40%}
.tl{position:relative;display:grid;grid-template-columns:minmax(max-content,2fr) minmax(max-content,1.4fr) minmax(max-content,2fr) minmax(max-content,2.6fr) minmax(max-content,2fr);border-top:2px solid #2F6448}
.tl__fill{position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--mint);transform-origin:left;transform:scaleX(0)}
.tl__step{padding:28px 16px 0 20px;display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--mint);margin-top:-2px;opacity:.2;transform:translateY(12px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.tl__step.on{opacity:1;transform:none}
.tl__step--inf{border-left-style:dashed}
.tl__t{font:400 40px/1 var(--serif);color:var(--mint);white-space:nowrap}
.tl__step--inf .tl__t{color:#fff}
.tl__step b{font:700 21px/1.3 var(--sans);white-space:nowrap}
@media (max-width:1240px){.tl{grid-template-columns:1fr 1fr 1.1fr 1.5fr 1fr}.tl__step{padding:24px 10px 0 14px}.tl__t{font-size:clamp(24px,2.6vw,32px);white-space:normal}.tl__step b{font-size:clamp(15px,1.5vw,18px);white-space:normal;overflow-wrap:anywhere}}
.program__ctas{margin-top:72px;display:flex;gap:16px}

/* ---------- specialties ---------- */
.specs__intro{padding-top:clamp(64px,12.2vw,176px);padding-bottom:72px}
.specs__intro .h-96{margin-bottom:24px}
.specs__intro p{font-size:22px;line-height:1.45;color:var(--ink)}
.dig{position:relative;height:820px;background:#0E1512;color:#fff;overflow:hidden}
.dig__media{position:absolute;inset:-10% 0}
.dig__media img{width:100%;height:100%;object-fit:cover}
.dig__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,13,0) 35%,rgba(10,16,13,.85) 100%)}
.dig__body{position:absolute;left:0;right:0;bottom:clamp(32px,6.67vw,96px);max-width:1440px;margin:0 auto;padding:0 var(--pr) 0 calc(var(--pl) + 2px);display:flex;justify-content:space-between;align-items:flex-end;gap:48px}
.dig__side{display:flex;flex-direction:column;gap:20px;max-width:340px;padding-bottom:12px}
.dig__side p{font-size:22px;line-height:1.5;color:#E6EFE9}
.geral{padding-top:clamp(40px,8.9vw,128px);padding-bottom:clamp(40px,8.9vw,128px);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px;align-items:center}
.geral__copy{display:flex;flex-direction:column;gap:32px}
.geral__copy p{font-size:22px;line-height:1.5;color:var(--ink);max-width:460px}
.geral__img{aspect-ratio:4/5;border-radius:4px}
.tor{background:var(--pale)}
.tor__in{max-width:1440px;margin:0 auto;padding-left:clamp(0px,5.55vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:720px}
.tor__img{position:relative;overflow:hidden;background:#1A211D}
.tor__img img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.tor__copy{padding:104px var(--pr) 104px clamp(22px,5.55vw,80px);display:flex;flex-direction:column;justify-content:center;gap:32px}
.tor__copy p{font-size:22px;line-height:1.5;color:var(--ink)}
.tor__copy blockquote{font-size:20px;line-height:1.45;color:var(--forest);border-left:2px solid var(--green);padding-left:18px}

/* ---------- origin ---------- */
.origin{padding-top:clamp(48px,10vw,144px);padding-bottom:clamp(48px,10vw,144px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:end}
.origin__ph{margin-top:64px;aspect-ratio:4/5;background:repeating-linear-gradient(135deg,#CFCABD 0 12px,#D9D4C8 12px 24px);filter:grayscale(1);display:flex;align-items:flex-end;padding:18px}
.origin__ph .ph-label{font-size:14px;padding:8px 12px}
.origin__copy{display:flex;flex-direction:column;gap:32px}
.origin__copy .h-96{font-size:clamp(46px,6.67vw,96px);line-height:.92;letter-spacing:-.02em}
.origin__copy>span{font-size:21px;line-height:1.45;color:var(--ink)}

/* ---------- where ---------- */
.where{padding-top:clamp(24px,8.33vw,120px);padding-bottom:clamp(48px,10vw,144px)}
.where__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--forest)}
.city{padding:40px 48px 0 0;display:flex;flex-direction:column;gap:18px}
.city+.city{padding:40px 0 0 48px;border-left:1px solid var(--rule)}
.city p{font-size:20px;line-height:1.5;color:var(--ink)}
.city__btns{display:flex;gap:12px;flex-wrap:wrap}
.where__note{margin-top:48px;font-size:19px;line-height:1.5;color:var(--mute)}

/* ---------- footer ---------- */
.footer{background:var(--forest);color:#D5E8DC;position:relative;overflow:hidden;padding-top:120px}
.footer__ring{position:absolute;left:-340px;top:118px;width:840px;height:440px;border:2px solid var(--mint);border-radius:50%;transform:rotate(-15deg);will-change:transform}
.footer__core{position:absolute;left:-40px;top:280px;width:360px;height:180px;background:var(--green);border-radius:50%;transform:rotate(-15deg);will-change:transform}
.footer__in{position:relative;max-width:1440px;margin:0 auto;padding:40px var(--pr) 56px clamp(20px,38.9vw,560px);display:flex;flex-direction:column;gap:36px}
.footer__title{font:400 clamp(56px,8.9vw,128px)/.9 var(--serif);letter-spacing:-.02em;color:#fff}
.footer__btns{display:flex;gap:16px;flex-wrap:wrap}
.footer__base{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid #2F6448;padding-top:24px;font-size:16px;line-height:1.5}

.dock{display:none}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .nav,.header__cta{display:none}
  .menu-btn{display:inline-flex;align-items:center}
}
@media (max-width:1024px){
  .hero__grid,.geral,.origin{grid-template-columns:1fr;gap:28px}
  .team__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
}
@media (max-width:760px){
  .d-only,.d-only-flex{display:none!important}
  .m-only{display:inline}
  body{padding-bottom:0}
  .topbar{display:none}
  .header__in{height:72px;padding:0 20px 0 12px}
  .brand{gap:10px}.brand svg{width:38px;height:27px}.brand__name{font-size:22px}.brand__sub{display:none}
  .hero{padding-top:32px;padding-bottom:40px}
  .hero__title{margin:36px 0 28px}
  .intents a{grid-template-columns:40px minmax(0,1fr) 20px;gap:10px;min-height:76px}
  .intents__n{font-size:26px}
  .intents__t b{font-size:19px;line-height:1.25}
  .intents__t small{display:none}
  .intents__a{font-size:22px}
  .book{padding:22px 20px 20px;gap:4px}
  .book__head{padding:0 0 6px}
  .book__head h2{font-size:26px}
  .book__head span,.book__wa{display:none}
  .book__row{margin:0;padding:14px 0}
  .book__txt{gap:2px}.book__txt small{font-size:16px;line-height:1.3}.book__txt strong{font-size:30px;line-height:1.1}
  .book__go{width:44px;height:44px;font-size:20px}
  .book__ins{padding:12px 0 0;background:none;border:0;border-top:1px solid #A9C9B4;font-size:16px;line-height:1.45}
  .team{padding-top:24px;padding-bottom:48px}
  .team .h-96{margin:40px 0 24px}
  .doc{gap:6px}
  .doc__ph{border-radius:80px 80px 4px 4px;background:repeating-linear-gradient(135deg,#DCD7CB 0 10px,#E5E1D6 10px 20px)}
  .doc__ph .ph-label{display:none}
  .doc__crm{font-size:24px;line-height:1.05}
  .doc b{font-size:16px}
  .doc small,.team__note{display:none}
  .program__eyebrow{font-size:16px}
  .program__quote{margin:40px 0 20px}
  .program__quote br{display:none}
  .program__lead{display:none}
  .program__img{height:260px}
  .program__img>img{object-position:60% center}
  .tl{grid-template-columns:1fr;border-top:2px solid var(--mint)}
  .tl__fill{display:none}
  .tl__step{flex-direction:row-reverse;justify-content:space-between;align-items:baseline;padding:14px 0;border-left:0;border-bottom:1px solid #2F6448;margin-top:0}
  .tl__step--inf{border-bottom:0}
  .tl__t{font-size:24px}.tl__step--inf .tl__t{font-size:28px}
  .tl__step b{font-size:18px}
  .program__ctas{margin-top:20px}
  .program__ctas .btn{width:100%;height:56px;font-size:18px}
  .specs__intro{display:none}
  .dig{height:480px}
  .dig__media img{object-position:40% center}
  .dig__shade{background:linear-gradient(180deg,rgba(10,16,13,0) 30%,rgba(10,16,13,.88) 100%)}
  .dig__body{bottom:32px;padding:0 20px 0 52px;flex-direction:column;align-items:flex-start;gap:12px}
  .dig__side{padding:0}
  .dig__side p{font-size:17px;line-height:1.45}
  .h-152{font-size:58px;line-height:.9}
  .geral{padding-top:40px;padding-bottom:40px;gap:12px}
  .geral__img{order:-1;aspect-ratio:4/3;margin-bottom:8px}
  .geral__copy{gap:12px}
  .geral__copy p{font-size:17px;line-height:1.45}
  .tor__in{grid-template-columns:1fr;min-height:0;padding-left:0}
  .tor__img{height:320px}
  .tor__copy{padding:40px 20px 44px 52px;gap:12px}
  .tor__copy .h-120{font-size:58px;line-height:.9}
  .tor__copy p{font-size:17px;line-height:1.45}
  .tor__copy blockquote{border:0;padding:0;font-size:17px;color:var(--ink)}
  .origin{padding-top:48px;padding-bottom:48px;gap:10px}
  .origin__ph{display:none}
  .origin__copy{gap:10px}
  .origin__copy .h-96{margin-top:40px}
  .origin__copy>span{font-size:17px}
  .origin__copy .tag{display:none}
  .where{padding-top:24px;padding-bottom:48px}
  .where__grid{grid-template-columns:1fr;margin-top:40px}
  .city,.city+.city{padding:18px 0;gap:6px;border-left:0}
  .city+.city{border-top:1px solid var(--rule)}
  .city p{font-size:16px;line-height:1.45}
  .city__btns,.where__note{display:none}
  .footer{padding-top:48px;padding-bottom:124px}
  .footer__ring{left:-150px;top:46px;width:360px;height:190px}
  .footer__core{display:none}
  .footer__in{padding:150px 20px 0;gap:14px}
  .footer__btns{display:none}
  .footer__base{border:0;padding:0;font-size:15px}
  .dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:12px;right:12px;bottom:12px;z-index:120;height:68px;background:var(--green);border-radius:34px;overflow:hidden;box-shadow:0 8px 24px rgba(15,59,39,.3);transform:translateY(140%);transition:transform .8s var(--ease)}
  .dock.show{transform:none}
  .dock a{display:flex;align-items:center;justify-content:center;color:#fff;font:700 17px/1 var(--sans)}
  .dock a+a{border-left:1px solid #4E8A69}
}

@media (max-width:760px){
  :root{--pl:20px;--pr:20px}
  .wrap{padding-left:20px;padding-right:20px}
  .hero__title{font-size:clamp(42px,13.5vw,58px)}
  .h-96{font-size:clamp(34px,10.5vw,44px)}
  .program__quote{font-size:clamp(38px,12vw,52px)}
  .h-152,.tor__copy .h-120{font-size:clamp(42px,13.5vw,58px)}
  .origin__copy .h-96{font-size:clamp(36px,11vw,46px)}
  .footer__title{font-size:clamp(44px,14vw,56px)}
  .h-104{font-size:clamp(34px,10.5vw,40px)}
  .book__txt strong{font-size:clamp(24px,7.6vw,30px)}
  .intents a{padding-right:4px}
  .dig__body{padding:0 20px}
  .tor__copy{padding:36px 20px 44px}
  .geral{padding-top:36px}
  .footer__in{padding:140px 20px 0}
  .footer__ring{left:-170px}
  .menu__nav{padding:0 20px}
  .dock{left:10px;right:10px;height:64px}
  .dock a{gap:8px;font-size:clamp(14px,4vw,16px)}
  .dock svg{width:20px;height:20px;flex:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ln>span,[data-reveal],.tl__step{transform:none!important;opacity:1!important}
  .reveal-img{clip-path:none!important}
  .reveal-img>img{transform:none!important}
  .program__quote .w{opacity:1!important}
  .tl__fill{transform:none!important}
  .loader{display:none}
}
