*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
:root{
  --ink:#101010; --ink2:#1B1C1C; --bone:#F4F2EF; --white:#fff;
  --txt-light:#26282A; --txt-dark:#D8D6D2;
  --rule-d:#2E3030; --rule-l:#DDD9D4;
  --teal:#2E9C8E; --teal-d:#237A6F; --teal-l:#3FBBAB;
  --disp:'Archivo',system-ui,sans-serif; --serif:'EB Garamond',Georgia,serif;
  --hdr-h:66px;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--txt-dark);font-family:var(--serif);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%}
img{height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--disp);text-transform:uppercase;line-height:1.02;letter-spacing:.03em;font-weight:900}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
@media(min-width:1100px){.wrap{padding:0 40px}}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;background:var(--teal);color:#000;padding:10px 16px;z-index:200;font-family:var(--disp);text-transform:uppercase;letter-spacing:.12em;font-size:12px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--teal-l);outline-offset:3px}
.brk{overflow-wrap:anywhere}

/* buttons */
.btn{display:inline-block;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;padding:16px 26px;text-decoration:none;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .25s;min-height:44px}
.btn--teal{background:var(--teal);color:#06110F}
.btn--teal:hover{background:var(--teal-d);color:#fff}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--teal);color:#06110F}
.btn--ghost{background:transparent;color:#fff;border-color:var(--rule-d)}
.btn--ghost:hover{border-color:var(--teal);color:var(--teal-l)}
.btn--lg{padding:19px 30px;font-size:13px}
.btn--sm{padding:12px 18px;font-size:11px}

.kicker{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8C8F8E;margin:0 0 14px}
.kicker--teal{color:var(--teal-l)}
.h2{font-size:clamp(1.7rem,4.2vw,3rem);letter-spacing:.04em}
.h2--light{color:#fff}
.tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.4vw,1.5rem);color:var(--teal-l);letter-spacing:.01em;margin:0 0 .5em}

/* utility bar */
.utilbar{background:#000;border-bottom:1px solid var(--rule-d);font-family:var(--disp);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase}
.utilbar__in{display:flex;gap:14px;justify-content:space-between;align-items:center;min-height:38px}
.utilbar a{text-decoration:none;color:#9A9D9C;white-space:nowrap}
.utilbar__cta{color:var(--teal-l)!important;overflow:hidden;text-overflow:ellipsis}
.utilbar a:hover{color:#fff}
@media(max-width:539px){
  .utilbar__in{justify-content:center;min-height:34px}
  .utilbar__tel{display:none}
  .utilbar__cta{font-size:10px;letter-spacing:.1em}
}

/* header */
.hdr{position:sticky;top:0;z-index:90;background:transparent;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.hdr.is-solid{background:rgba(16,16,16,.94);backdrop-filter:blur(10px);border-bottom-color:var(--rule-d)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--hdr-h)}
.hdr__logo{flex:0 0 auto}
.hdr__logo img{width:48px;height:auto;background:#000}
.hdr__right{display:flex;align-items:center;gap:12px;min-width:0}
.hdr__tel{display:none;font-family:var(--disp);font-size:11.5px;letter-spacing:.14em;text-decoration:none;color:#fff;white-space:nowrap}
.hdr__tel:hover{color:var(--teal-l)}
.hdr__cta{display:none}
.burger{width:46px;height:44px;background:rgba(16,16,16,.35);border:1px solid var(--rule-d);display:grid;gap:5px;align-content:center;justify-items:center;cursor:pointer;flex:0 0 auto}
.burger span{width:20px;height:2px;background:#fff;transition:transform .3s,opacity .2s}
.burger[aria-expanded="true"]{position:relative;z-index:100}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(min-width:900px){
  :root{--hdr-h:78px}
  .hdr__logo img{width:56px}
  .hdr__tel{display:block}
  .hdr__cta{display:inline-block}
}

/* overlay nav */
.nav{position:fixed;inset:0;z-index:95;background:#0B0C0C;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:86px 0 60px;animation:navin .28s ease}
@keyframes navin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.nav__in{display:grid;gap:30px}
.nav__top{display:block;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.05rem,4vw,1.8rem);color:#fff;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--rule-d)}
.nav__top:hover{color:var(--teal-l)}
.nav__group{font-family:var(--disp);text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--teal-l);margin:22px 0 10px}
.nav__group a{text-decoration:none}
.nav__list{list-style:none;margin:0 0 4px;padding:0}
.nav__list li{border-bottom:1px solid #1E2020}
.nav__list a{display:flex;align-items:center;padding:11px 0;text-decoration:none;color:var(--txt-dark);font-family:var(--disp);font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;min-height:44px}
.nav__list a:hover{color:var(--teal-l)}
.nav__cta{margin-top:22px}
.nav__meta{margin-top:24px;font-size:15px;color:#8C8F8E}
.nav__meta a{color:var(--teal-l);text-decoration:none}
@media(min-width:900px){
  .nav{padding-top:104px}
  .nav__in{grid-template-columns:1fr 1.1fr;gap:60px}
  .nav__list--two{columns:2;column-gap:34px}
  .nav__list--two li{break-inside:avoid}
}

/* hero */
.hero{position:relative;margin-top:calc(-1 * var(--hdr-h));min-height:min(92vh,860px);display:flex;align-items:flex-end;background:#000;overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 32%;filter:saturate(.85) contrast(1.06)}
.hero__scrim{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(8,8,8,.82) 0%,rgba(8,8,8,.22) 34%,rgba(8,8,8,.94) 100%),
  linear-gradient(90deg,rgba(8,8,8,.86),rgba(8,8,8,.04) 72%)}
.hero__in{position:relative;padding-top:calc(var(--hdr-h) + 78px);padding-bottom:52px}
.hero__h1{color:#fff;font-size:clamp(2.5rem,12vw,7rem);letter-spacing:.02em;margin:0 0 26px;text-shadow:0 18px 60px rgba(0,0,0,.55)}
.hero__foot{display:grid;gap:24px;border-top:1px solid rgba(255,255,255,.2);padding-top:24px;max-width:920px}
.hero__sub{font-size:clamp(1rem,1.6vw,1.22rem);color:#E4E2DE;margin:0;max-width:46ch}
.hero__acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.hero__acts .btn{box-shadow:0 18px 40px rgba(0,0,0,.4)}
.link-tel{font-family:var(--disp);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:1px solid var(--teal);padding-bottom:4px}
.link-tel:hover{color:var(--teal-l)}
@media(max-width:479px){
  .hero{min-height:88vh}
  .hero__acts .btn{width:100%;text-align:center}
}
@media(min-width:900px){
  .hero__in{padding-top:calc(var(--hdr-h) + 120px);padding-bottom:64px}
  .hero__foot{grid-template-columns:1fr auto;align-items:center;gap:44px}
}

/* strip */
.strip{background:var(--ink2);border-top:1px solid var(--rule-d);border-bottom:1px solid var(--rule-d)}
.strip__in{display:grid;gap:8px;padding-top:14px;padding-bottom:14px;font-family:var(--disp);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9EA1A0}
@media(min-width:640px){
  .strip__in{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:10px 34px;font-size:11px;padding-top:16px;padding-bottom:16px}
  .strip__in span:nth-child(2){text-align:center}
  .strip__in span:nth-child(3){text-align:right}
}

/* why */
.why{background:var(--bone);color:var(--txt-light);padding:72px 0 64px}
.why__grid{display:grid;gap:40px}
.why__head .h2{color:#101010;max-width:16ch}
.why__claim{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.35;margin:22px 0 14px;max-width:22ch}
.why__serif{font-size:1.15rem;max-width:38ch;color:#3A3D3F;margin-bottom:26px}
.diffs{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-l)}
.diffs li{display:flex;gap:16px;align-items:baseline;border-bottom:1px solid var(--rule-l);padding:15px 0;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(.95rem,2.4vw,1.3rem);color:#101010;min-width:0;transition:padding-left .25s,color .25s}
.diffs li:hover{padding-left:8px;color:var(--teal-d)}
.diffs__n{font-family:var(--disp);font-size:11px;letter-spacing:.16em;color:var(--teal-d);flex:0 0 auto}
.why__ready{max-width:1200px;margin:40px auto 0;padding:0 20px;font-size:clamp(1.1rem,3vw,1.6rem);color:#101010}
.why__ready a{color:var(--teal-d);text-decoration:none;border-bottom:1px solid rgba(35,122,111,.4)}
.why__ready a:hover{border-bottom-color:var(--teal-d)}
@media(min-width:1100px){.why__ready{padding:0 40px}}
@media(min-width:900px){
  .why{padding:126px 0 100px}
  .why__grid{grid-template-columns:1fr 1.05fr;gap:80px;align-items:start}
}

/* programs */
.progs{background:var(--ink);padding:72px 0 68px;border-bottom:1px solid var(--rule-d)}
.progs__head{margin-bottom:30px}
.progs__grid{display:grid;gap:0}
.prow{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;border-top:1px solid var(--rule-d);padding:24px 0;min-width:0}
.prow:last-of-type{border-bottom:1px solid var(--rule-d)}
.prow__n{font-family:var(--disp);font-weight:900;font-size:clamp(1.8rem,8vw,3.4rem);line-height:.9;color:var(--teal);letter-spacing:0}
.prow__body{min-width:0}
.prow__t{color:#fff;font-size:clamp(1.3rem,6vw,2.3rem);margin-bottom:10px}
.prow__s{font-size:1.02rem;max-width:42ch;color:#B9BCBB;margin-bottom:14px}
.prow__l{display:inline-block;font-family:var(--disp);font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-l);text-decoration:none;padding:6px 0;min-height:34px}
.prow__l:hover{color:#fff}
.prow__thumb{grid-column:1/-1;margin-top:16px;width:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(.12)}
.progs__visual{display:none}
.progs__vstack{position:relative;aspect-ratio:4/5;background:var(--ink2);overflow:hidden}
.progs__vstack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .5s ease,transform .9s ease}
.progs__vstack img.is-on{opacity:1;transform:none}
.progs__vcap{margin:16px 0 0;font-family:var(--disp);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#7C807F}
@media(min-width:960px){
  .progs{padding:136px 0 116px}
  .progs__grid{grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
  .prow__thumb{display:none}
  .prow{grid-template-columns:120px 1fr;padding:38px 0;transition:padding-left .3s}
  .prow:hover{padding-left:10px}
  .prow:hover .prow__t{color:var(--teal-l)}
  .progs__visual{display:block;position:sticky;top:110px}
  .progs__vstack{box-shadow:-26px 26px 0 0 rgba(46,156,142,.22)}
}

/* specialist list */
.spec{margin-top:56px;border-top:1px solid var(--rule-d);padding-top:34px}
.spec__list{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:0}
.spec__list li{border-bottom:1px solid #232525;min-width:0}
.spec__list a{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;text-decoration:none;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#C6C9C8;min-height:46px;transition:color .2s}
.spec__list a::after{content:"→";color:var(--teal);opacity:0;transition:opacity .25s,transform .25s;transform:translateX(-6px)}
.spec__list a:hover{color:#fff}
.spec__list a:hover::after{opacity:1;transform:none}
@media(min-width:700px){.spec__list{grid-template-columns:1fr 1fr;column-gap:48px}}
@media(min-width:1050px){.spec__list{grid-template-columns:repeat(3,1fr)}}

/* proof */
.proof{background:var(--ink2);padding:72px 0 72px}
.proof__head{margin-bottom:36px;max-width:640px}
.proof__sub{font-size:1.08rem;color:#B9BCBB;margin:16px 0 0}
.vids{display:grid;gap:24px}
.vid{margin:0;background:#0C0D0D;border:1px solid var(--rule-d);box-shadow:0 24px 50px rgba(0,0,0,.45)}
.vid__frame{position:relative;padding-top:56.25%;background:#000}
.vid__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid figcaption{display:flex;gap:12px;align-items:baseline;padding:15px 18px;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.11em;font-size:11.5px;color:#fff}
.vid__k{color:var(--teal-l);font-size:10.5px;letter-spacing:.16em;flex:0 0 auto}
@media(min-width:820px){
  .proof{padding:136px 0 116px}
  .vids{grid-template-columns:repeat(2,1fr);gap:34px}
  .vid--a{grid-column:1/2}
  .vid--b{grid-column:2/3;transform:translateY(46px)}
  .vid--c{grid-column:1/2;transform:translateY(-6px)}
  .vid--d{grid-column:2/3;transform:translateY(40px)}
}
.quotes{display:grid;gap:26px;margin-top:56px;border-top:1px solid var(--rule-d);padding-top:44px}
@media(min-width:820px){.quotes{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:112px}}
.quote{margin:0;min-width:0}
.quote p{font-size:1.1rem;font-style:italic;color:#E6E4E0;border-left:2px solid var(--teal);padding-left:18px;margin:0 0 .7em}
.quote footer{font-family:var(--disp);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#838786;display:grid;gap:4px;padding-left:20px}
.quote footer strong{color:var(--teal-l);font-weight:700}
.proof__more{margin:40px 0 0}
.proof__more a{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:1px solid var(--teal);padding-bottom:5px}
.proof__more a:hover{color:var(--teal-l)}

/* take action */
.act{background:var(--ink);padding:72px 0 76px;position:relative;overflow:hidden}
.act__grid{display:grid;gap:34px;position:relative}
.act__lead{font-size:clamp(1.2rem,3.4vw,1.85rem);color:#fff;font-family:var(--serif);line-height:1.45;max-width:26ch;margin-bottom:26px}
.act__links{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;padding:0;margin:28px 0 0;border-top:1px solid var(--rule-d);padding-top:20px;min-width:0}
.act__links a{display:inline-block;font-family:var(--disp);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:#C6C9C8;padding:5px 0}
.act__links a:hover{color:var(--teal-l)}
.act__name{margin:24px 0 0;font-family:var(--disp);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.act__name span{color:#838786;letter-spacing:.08em}
.act__media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% 25%}
@media(min-width:900px){
  .act{padding:126px 0 136px}
  .act__grid{grid-template-columns:1fr 1fr;gap:70px;align-items:center}
  .act__media{margin-bottom:-86px;position:relative;z-index:2;box-shadow:-24px 24px 0 0 var(--teal)}
}

/* subscribe */
.sub{background:var(--bone);color:var(--txt-light);padding:64px 0}
.sub__in{display:grid;gap:28px}
.sub .h2{color:#101010}
.sub__p{margin:14px 0 0;color:#3A3D3F}
.sub__form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.sub__form input{flex:1 1 220px;min-width:0;padding:15px 16px;border:1px solid #C9C5C0;background:#fff;font-family:var(--serif);font-size:17px;color:#26282A;min-height:48px}
.sub__form .btn{flex:0 0 auto}
.sub__msg{flex:1 1 100%;margin:0;font-family:var(--disp);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d)}
@media(min-width:900px){.sub{padding:100px 0}.sub__in{grid-template-columns:1fr 1fr;gap:70px;align-items:center}}

/* footer */
.ft{background:#0B0C0C;padding:64px 0 24px;border-top:1px solid var(--rule-d)}
.ft__grid{display:grid;gap:40px}
.ft__brand img{width:60px;background:#000}
.ft__name{font-family:var(--disp);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#fff;margin:16px 0 12px}
.ft__con{margin:0 0 6px;font-family:var(--disp);font-size:11px;letter-spacing:.11em}
.ft__con a{color:#C6C9C8;text-decoration:none}
.ft__con a:hover{color:var(--teal-l)}
.social{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:22px 0 0}
.social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule-d)}
.social svg{width:18px;height:18px;fill:#C6C9C8}
.social a:hover{border-color:var(--teal)}
.social a:hover svg{fill:var(--teal-l)}
.ft__nav{display:grid;gap:28px}
.ft__h{font-family:var(--disp);font-size:10.5px;letter-spacing:.2em;color:var(--teal-l);margin:0 0 10px;font-weight:700}
.ft__nav ul{list-style:none;margin:0;padding:0}
.ft__nav li{margin:0}
.ft__nav a{display:inline-block;padding:8px 0;font-family:var(--disp);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#B9BCBB;text-decoration:none}
.ft__nav a:hover{color:#fff}
.ft__base{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;align-items:center;margin-top:46px;border-top:1px solid var(--rule-d);padding-top:20px;font-size:14px;color:#7C807F}
.ft__base p{margin:0}
.ft__top{font-family:var(--disp);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:1px solid var(--teal);padding-bottom:4px}
@media(max-width:899px){.ft__base{padding-bottom:70px}}
@media(min-width:700px){.ft__nav{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.ft__grid{grid-template-columns:.8fr 1.6fr;gap:70px}}

/* sticky mini cta */
.sticky-cta{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;display:block;text-align:center;background:var(--teal);color:#06110F;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;padding:15px;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.5);transform:translateY(160%);transition:transform .35s ease}
.sticky-cta.is-on{transform:none}
@media(min-width:900px){.sticky-cta{left:auto;right:24px;bottom:24px;padding:16px 24px;font-size:12px}}

/* reveal — only applied when JS is available so content never hides on failure */
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .vid--b,.vid--c,.vid--d{transform:none!important}
  .sticky-cta{transition:none}
}