:root{--bg:#f5f3ee;--ink:#171716;--muted:#77766f;--line:#d9d7d0;--lime:#cbdc83;--dark:#171716;--white:#fff;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background:linear-gradient(90deg,transparent 0 49.8%,rgba(23,23,22,.035) 50%,transparent 50.2%);z-index:-1}.container{width:min(1200px,calc(100% - 72px));margin:auto}.grain{position:fixed;inset:-50%;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:grain .25s steps(2) infinite}.progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--lime);z-index:200;transform-origin:left}.loader{position:fixed;inset:0;background:var(--dark);color:var(--white);z-index:999;display:grid;place-content:center;text-align:center;transition:clip-path 1s var(--ease);clip-path:inset(0)}.loader.done{clip-path:inset(0 0 100% 0)}.loader-word{font:800 clamp(70px,12vw,150px)/.8 Manrope;letter-spacing:-.09em}.loader-line{width:min(280px,60vw);height:2px;background:#45453f;margin:28px auto 14px;overflow:hidden}.loader-line span{display:block;height:100%;width:0;background:var(--lime);animation:load 1.2s var(--ease) forwards}.loader small{font-size:9px;letter-spacing:.18em;color:#aaa99f}.header{position:absolute;left:0;right:0;top:0;z-index:50;padding:24px 0}.nav{height:58px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.logo>b{width:38px;height:38px;border-radius:10px;background:var(--lime);display:grid;place-items:center;font:800 11px Manrope;letter-spacing:-.05em}.logo span{display:grid;line-height:.9}.logo strong{font:800 13px Manrope;letter-spacing:-.05em}.logo small{font-size:7px;letter-spacing:.18em;color:var(--muted);margin-top:4px}.nav-center{display:flex;gap:28px;margin-left:auto;margin-right:28px}.nav-center a,.mobile-nav a{font-size:11px;font-weight:600;color:var(--ink);text-decoration:none;position:relative}.nav-center a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);transition:.4s var(--ease)}.nav-center a:hover:after{right:0}.nav-button{padding:13px 17px;background:var(--dark);color:#fff;border-radius:30px;text-decoration:none;font-size:10px;font-weight:700}.nav-button i{font-style:normal;margin-left:12px}.menu{display:none;border:0;background:transparent}.mobile-nav{display:none}.hero{position:relative;padding:170px 0 100px;min-height:960px;overflow:hidden}.hero-inner{position:relative;z-index:2}.hero-kicker{font-size:10px;letter-spacing:.14em;font-weight:700;color:#77756e;margin-bottom:35px}.hero-kicker:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);margin-right:10px;box-shadow:0 0 0 6px rgba(203,220,131,.22)}.hero-title{font:800 clamp(65px,10vw,138px)/.84 Manrope;letter-spacing:-.095em;margin:0;max-width:1060px;position:relative}.hero-title span{display:block;overflow:hidden}.hero-title span{animation:titleIn 1s var(--ease) both}.hero-title span:nth-child(2){animation-delay:.08s}.hero-title span:nth-child(3){animation-delay:.16s}.hero-title .indent{padding-left:9vw}.hero-title em,.display em{font-style:normal;color:#a1aa8b}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:48px;max-width:830px}.hero-intro{font-size:16px;line-height:1.6;color:var(--muted);max-width:480px;margin:0}.hero-cta{display:flex;align-items:center;gap:15px}.hero-cta>span{font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:#85837d}.circle-button{width:116px;height:116px;border-radius:50%;background:var(--lime);display:grid;place-content:center;text-align:center;text-decoration:none;color:var(--ink);font-size:11px;font-weight:700;line-height:1.15;transition:transform .5s var(--ease),box-shadow .5s}.circle-button b{font-size:18px;margin-top:7px}.circle-button:hover{transform:rotate(-10deg) scale(1.08);box-shadow:0 20px 40px rgba(23,23,22,.12)}.hero-image-wrap{width:min(700px,58vw);margin:-115px 7% 0 auto;position:relative;z-index:3}.hero-image{height:610px;border-radius:4px;overflow:hidden;position:relative;background:#222;clip-path:inset(12% 0 0 0);animation:imageReveal 1.3s .2s var(--ease) forwards}.hero-image img,.full-image-inner>img,.service-image img,.story-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.68));pointer-events:none}.hero-image:hover img{transform:scale(1.06)}.image-meta{position:absolute;z-index:2;left:25px;right:25px;top:22px;display:flex;justify-content:space-between;color:#fff;font-size:8px;letter-spacing:.13em}.image-copy{position:absolute;z-index:2;left:40px;bottom:55px;color:#fff}.image-copy small{font-size:8px;letter-spacing:.18em}.image-copy strong{display:block;font:800 clamp(42px,5vw,70px)/.85 Manrope;letter-spacing:-.07em;margin-top:14px}.hero-tag{position:absolute;left:-46px;bottom:70px;background:var(--white);padding:15px 20px;display:flex;gap:12px;align-items:center;box-shadow:0 18px 40px rgba(23,23,22,.12);z-index:5}.hero-tag b{width:31px;height:31px;background:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:15px}.hero-tag span{font-size:10px;line-height:1.35;font-weight:600}.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eeece6}.marquee-track{display:flex;align-items:center;gap:35px;width:max-content;padding:18px 0;animation:marquee 25s linear infinite}.marquee span{font:700 10px Manrope;letter-spacing:.18em;white-space:nowrap}.marquee i{font-style:normal;color:#9da88a}.section{padding:150px 0}.about{background:#efede7}.about-grid,.section-top{display:grid;grid-template-columns:180px 1fr;gap:50px}.section-index{font-size:10px;letter-spacing:.13em;font-weight:700;line-height:1.5;color:#5e5d57}.section-index span{font-size:8px;color:#99978f;letter-spacing:.16em}.display{font:800 clamp(54px,7vw,100px)/.86 Manrope;letter-spacing:-.085em;margin:0}.large-copy{max-width:680px;font-size:20px;line-height:1.55;color:var(--muted);margin:55px 0 30px}.about-links{display:flex;gap:30px}.about-links a{color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:7px}.about-links span{margin-left:20px}.section-top{align-items:start;margin-bottom:80px}.section-note{max-width:430px;color:var(--muted);font-size:14px;line-height:1.6;margin:28px 0 0}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:80px 1fr 50px;min-height:145px;border-bottom:1px solid var(--line);align-items:center;position:relative;transition:background .5s,padding .6s var(--ease);overflow:hidden}.service-num{font:700 12px Manrope;color:#88867f}.service-main small{font-size:8px;letter-spacing:.18em;color:#99978f}.service h3{font:700 clamp(27px,3.4vw,47px)/.95 Manrope;letter-spacing:-.06em;margin:9px 0}.service h3 span{color:#a3aa92}.service p{max-width:470px;color:var(--muted);font-size:12px;line-height:1.5;margin:0;max-height:0;opacity:0;transform:translateY(10px);transition:.5s var(--ease)}.service-arrow{font-size:25px;transition:transform .5s var(--ease)}.service-image{position:absolute;width:190px;height:125px;right:100px;top:10px;opacity:0;transform:translateX(30px) rotate(2deg);transition:.6s var(--ease);pointer-events:none}.service-image img{object-fit:cover}.service:hover,.service.active{background:#e9e7df;padding-left:18px}.service:hover .service-image,.service.active .service-image{opacity:1;transform:none}.service:hover .service-arrow,.service.active .service-arrow{transform:rotate(-45deg)}.service:hover p,.service.active p{max-height:80px;opacity:1;transform:none}.full-image{padding:0 24px;background:#171716}.full-image-inner{height:720px;max-width:1500px;margin:auto;position:relative;overflow:hidden}.full-image-inner>img{filter:saturate(.7);transform:scale(1.08)}.full-image-inner:hover>img{transform:scale(1.01)}.full-image-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.05) 70%)}.full-image-copy{position:absolute;left:7%;bottom:9%;color:#fff}.full-image-copy small{font-size:8px;letter-spacing:.18em}.full-image-copy h2{font:800 clamp(55px,7vw,100px)/.84 Manrope;letter-spacing:-.08em;margin:15px 0 35px}.full-image-copy em{color:var(--lime);font-style:normal}.outline-button{display:inline-flex;gap:30px;align-items:center;border:1px solid rgba(255,255,255,.6);padding:15px 19px;border-radius:30px;color:#fff;text-decoration:none;font-size:10px;font-weight:700;transition:.4s}.outline-button:hover{background:#fff;color:#171716}.image-counter{position:absolute;right:35px;bottom:35px;color:#fff;font-size:9px;letter-spacing:.15em}.method{background:#eeece6}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach-sticky{position:sticky;top:120px;height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center}.method-orb{width:270px;height:270px;border:1px solid #c7c5bc;border-radius:50%;position:relative;display:grid;place-items:center;animation:spin 18s linear infinite}.method-orb:before,.method-orb:after{content:"";position:absolute;border-radius:50%;border:1px solid #c7c5bc}.method-orb:before{inset:35px}.method-orb:after{inset:85px;border-style:dashed}.method-orb span{font:800 45px Manrope;letter-spacing:-.1em}.method-orb i{position:absolute;width:9px;height:9px;background:var(--lime);border-radius:50%;top:17px}.method-orb b{position:absolute;right:8px;bottom:50px;font-size:9px}.approach-sticky>small{margin-top:25px;font-size:8px;letter-spacing:.2em;color:#89877f}.approach-steps{border-top:1px solid var(--line)}.approach-step{min-height:210px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:60px 1fr;gap:20px;padding:38px 0}.approach-step>span{font:700 12px Manrope;color:#96948c}.approach-step h3{font:800 44px/1 Manrope;letter-spacing:-.07em;margin:0 0 18px}.approach-step p{max-width:430px;color:var(--muted);font-size:14px;line-height:1.6;margin:0}.stats{background:var(--lime);padding:55px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid>div{border-right:1px solid rgba(23,23,22,.2);padding-left:30px}.stats-grid>div:first-child{padding-left:0}.stats-grid>div:last-child{border:0}.stats-grid strong{display:block;font:800 65px/1 Manrope;letter-spacing:-.08em}.stats-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:12px}.stories{background:#f5f3ee}.stories-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px}.testimonial,.story-image{min-height:450px;position:relative;padding:40px;background:#fff;overflow:hidden}.testimonial.dark{background:#20201e;color:#fff}.quote{font:800 70px/1 Manrope;color:#adb694}.testimonial p{font:700 clamp(25px,3vw,39px)/1.05 Manrope;letter-spacing:-.06em;max-width:530px;margin:35px 0}.testimonial footer{position:absolute;bottom:35px;display:flex;align-items:center;gap:12px}.testimonial footer>b{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--lime);font-size:9px}.testimonial footer span{font-size:10px;font-weight:700}.testimonial footer small{display:block;color:#929087;margin-top:4px}.story-image{padding:0;color:#fff}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.75))}.story-image img{filter:saturate(.65)}.story-image:hover img{transform:scale(1.08)}.story-image div{position:absolute;z-index:2;left:30px;right:30px;bottom:30px}.story-image small{font-size:8px;letter-spacing:.17em}.story-image strong{display:block;font:800 30px/.95 Manrope;letter-spacing:-.06em;margin-top:12px}.faq{background:#eeece6}.faq-grid,.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:110px}.faq h2,.contact h2{margin-top:55px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font:700 20px Manrope;letter-spacing:-.04em}summary::-webkit-details-marker{display:none}summary b{font:400 25px Manrope;transition:.4s}details[open] summary b{transform:rotate(45deg)}details p{color:var(--muted);font-size:13px;line-height:1.6;max-width:580px;margin:0 0 25px}.contact{background:#171716;color:#fff}.contact .section-index,.contact .section-note{color:#aaa89f}.contact .section-index span{color:#77756d}.contact h2 em{color:var(--lime)}.contact-info{display:grid;gap:10px;margin-top:50px}.contact-info a,.contact-info span{color:#fff;text-decoration:none;font-size:12px}.form{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start}.form label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#9c9a92}.form label:nth-of-type(3),.form label:nth-of-type(4),.form label:nth-of-type(5){grid-column:1/-1}.form input,.form select,.form textarea{width:100%;border:0;border-bottom:1px solid #55544e;background:transparent;color:#fff;padding:15px 0;font:400 15px "DM Sans";outline:0;border-radius:0}.form select{color:#fff}.form option{color:#111}.form textarea{resize:vertical}.submit{border:0;background:var(--lime);color:#171716;padding:17px 22px;border-radius:30px;font-weight:700;font-size:10px;cursor:pointer;justify-self:start}.submit span{margin-left:25px}.form-status{grid-column:1/-1;color:var(--lime);font-size:10px;line-height:1.5}.footer{padding:35px 0;background:#171716;color:#aaa89f;border-top:1px solid #34332f}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.footer .logo{color:#fff}.footer-links{display:flex;gap:22px}.footer-links a{font-size:10px;color:#aaa89f;text-decoration:none}.footer p{font-size:9px;line-height:1.5;text-align:right;margin:0}.cursor-dot,.cursor-ring,.cursor-label{position:fixed;pointer-events:none;z-index:300;display:none}.has-cursor .cursor-dot,.has-cursor .cursor-ring,.has-cursor .cursor-label{display:block}.cursor-dot{width:7px;height:7px;border-radius:50%;background:var(--ink)}.cursor-ring{width:38px;height:38px;border:1px solid rgba(23,23,22,.5);border-radius:50%;transform:translate(-50%,-50%);transition:width .35s,height .35s,border-color .35s}.cursor-label{padding:8px 10px;border-radius:20px;background:var(--lime);font-size:8px;font-weight:800;transform:translate(-50%,-50%);opacity:0;transition:.25s}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}@keyframes titleIn{from{opacity:0;transform:translateY(90px)}to{opacity:1;transform:none}}@keyframes imageReveal{to{clip-path:inset(0)}}@keyframes load{to{width:100%}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(0,0)}}
@media(max-width:900px){.container{width:min(100% - 34px,700px)}.nav-center,.nav-button{display:none}.menu{display:grid;gap:6px;width:35px;padding:8px;cursor:pointer}.menu span{height:1px;background:var(--ink);width:19px;transition:.4s}.menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;left:17px;right:17px;top:77px;background:#fff;padding:18px;display:grid;gap:0;border:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.45s var(--ease);box-shadow:0 20px 40px rgba(0,0,0,.1)}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.mobile-nav a{padding:15px 3px;border-bottom:1px solid var(--line)}.hero{padding-top:125px;min-height:900px}.hero-title{font-size:clamp(58px,13vw,105px)}.hero-title .indent{padding-left:5vw}.hero-bottom{margin-top:35px}.hero-intro{font-size:14px;max-width:370px}.hero-image-wrap{width:92%;margin:65px 0 0 auto}.hero-image{height:500px}.hero-tag{left:-15px}.about-grid,.section-top{grid-template-columns:110px 1fr;gap:25px}.display{font-size:clamp(48px,9vw,80px)}.section{padding:110px 0}.large-copy{font-size:17px;margin-top:35px}.service-image{display:none}.service{grid-template-columns:50px 1fr 30px;min-height:140px}.service p{max-height:none;opacity:1;transform:none}.service:hover,.service.active{padding-left:8px}.approach{gap:45px}.approach-sticky{top:100px}.stories-grid{grid-template-columns:1fr 1fr}.testimonial:first-child{grid-column:1/-1}.faq-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.faq h2,.contact h2{margin-top:30px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer p{text-align:left}.stats-grid strong{font-size:48px}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.header{padding:14px 0}.hero{padding:105px 0 70px;min-height:auto}.hero-kicker{font-size:8px;margin-bottom:25px}.hero-title{font-size:clamp(53px,16vw,76px);line-height:.87}.hero-title .indent{padding-left:0}.hero-bottom{display:block}.hero-intro{font-size:14px;margin-top:28px}.hero-cta{margin-top:28px;justify-content:space-between}.circle-button{width:94px;height:94px}.hero-image-wrap{width:100%;margin-top:45px}.hero-image{height:430px}.image-copy{left:22px;bottom:38px}.image-copy strong{font-size:44px}.image-meta{left:18px;right:18px}.hero-tag{left:8px;bottom:18px}.marquee-track{gap:20px;padding:14px 0}.marquee span{font-size:8px}.section{padding:78px 0}.about-grid,.section-top{display:block}.section-index{margin-bottom:28px}.display{font-size:clamp(45px,14vw,68px)}.large-copy{font-size:16px;margin-top:30px}.about-links{gap:18px}.section-top{margin-bottom:45px}.section-note{font-size:13px}.service{grid-template-columns:38px 1fr 25px;min-height:155px}.service h3{font-size:28px}.service h3 span{display:block}.service p{font-size:11px}.full-image{padding:0 10px}.full-image-inner{height:540px}.full-image-copy{left:8%;bottom:8%}.full-image-copy h2{font-size:54px}.approach{display:block}.approach-sticky{position:relative;top:auto;height:300px;margin-bottom:25px}.method-orb{width:205px;height:205px}.method-orb span{font-size:34px}.approach-step{min-height:175px;padding:28px 0}.approach-step h3{font-size:38px}.approach-step p{font-size:12px}.stats{padding:35px 0}.stats-grid{grid-template-columns:1fr 1fr;gap:25px}.stats-grid>div{border:0;padding:0!important}.stats-grid strong{font-size:42px}.stats-grid span{font-size:8px}.stories-grid{grid-template-columns:1fr}.testimonial:first-child{grid-column:auto}.testimonial,.story-image{min-height:390px}.testimonial p{font-size:27px}.faq-grid,.contact-grid{gap:40px}.form{grid-template-columns:1fr}.form label,.form label:nth-of-type(3),.form label:nth-of-type(4),.form label:nth-of-type(5){grid-column:auto}.footer-links{flex-wrap:wrap}.cursor-dot,.cursor-ring,.cursor-label{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.loader{display:none}.reveal{opacity:1;transform:none}}

/* V6 desktop composition fix: keep the Howard-inspired hero airy and collision-free. */
@media (min-width:901px){
  .hero{
    min-height:1120px;
    padding:190px 0 0;
    overflow:clip;
  }
  .hero-inner{min-height:900px}
  .hero-kicker{margin-bottom:34px}
  .hero-title{
    width:min(930px,78vw);
    max-width:none;
    font-size:clamp(78px,8.6vw,126px);
    line-height:.82;
    letter-spacing:-.09em;
    position:relative;
    z-index:2;
  }
  .hero-title .indent{padding-left:10vw}
  .hero-bottom{
    position:absolute;
    left:0;
    top:735px;
    width:500px;
    max-width:42%;
    margin:0;
    display:block;
    z-index:6;
  }
  .hero-intro{max-width:500px;font-size:16px}
  .hero-cta{margin-top:28px;justify-content:flex-start}
  .hero-image-wrap{
    position:absolute;
    z-index:3;
    top:690px;
    right:max(0px, calc((100vw - 1200px) / 2));
    width:min(690px,56vw);
    margin:0;
  }
  .hero-image{
    height:620px;
    clip-path:inset(10% 0 0 0);
    border-radius:3px;
  }
  .hero-tag{left:-44px;bottom:62px}
  .hero-shape{display:block;position:absolute;width:360px;height:360px;border:1px solid rgba(23,23,22,.08);border-radius:50%;right:11%;top:280px;z-index:0;animation:orbFloat 8s ease-in-out infinite}
  .hero-shape:before,.hero-shape:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(23,23,22,.06)}
  .hero-shape:before{inset:55px}
  .hero-shape:after{inset:110px;border-style:dashed}
  .marquee{position:relative;z-index:8}
  .section{padding:150px 0}
}
@media (min-width:901px) and (max-width:1200px){
  .container{width:calc(100% - 56px)}
  .hero-title{width:78vw;font-size:8.4vw}
  .hero-image-wrap{right:28px;width:55vw}
}
@keyframes orbFloat{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(-10px,18px,0) rotate(7deg)}}

/* Prevent the desktop hero reveal from leaving a hidden/blank layout state. */
@media (min-width:901px){
  .hero-kicker.reveal{opacity:1;transform:none}
  .hero-image-wrap.reveal{opacity:1;transform:none}
  .hero-bottom .reveal{opacity:1;transform:none}
}

/* Slightly calmer desktop section rhythm, closer to the reference's editorial pacing. */
@media (min-width:901px){
  .about{padding-top:170px;padding-bottom:170px}
  .programs{padding-top:165px}
  .section-top{margin-bottom:92px}
  .service{min-height:154px}
  .service:hover,.service.active{padding-left:24px}
  .service-image{width:205px;height:132px;right:118px}
}

/* V7: full-bleed Howard-inspired editorial hero. The mobile composition remains unchanged. */
@media (min-width:901px){
  .hero{
    min-height:100svh;
    height:clamp(760px,100svh,980px);
    padding:0;
    background:#202523;
    color:#fff;
    overflow:hidden;
    isolation:isolate;
  }
  .hero:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('assets/avi-hero-background.jpg');
    background-size:cover;
    background-position:center;
    transform:scale(1.04);
    animation:heroPhotoIn 1.8s var(--ease) both;
    z-index:-3;
  }
  .hero:after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(8,11,10,.86) 0%,rgba(8,11,10,.69) 31%,rgba(8,11,10,.22) 62%,rgba(8,11,10,.35) 100%),
      linear-gradient(0deg,rgba(8,11,10,.48) 0%,transparent 35%,rgba(8,11,10,.18) 100%);
    z-index:-2;
  }
  .hero .hero-shape{display:none}
  .hero-inner{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;padding-top:70px}
  .hero-kicker{
    margin:0 0 30px;
    color:rgba(255,255,255,.72);
    font-size:10px;
    letter-spacing:.18em;
    position:relative;
    width:max-content;
    animation:heroFadeUp .9s .2s var(--ease) both;
  }
  .hero-kicker:before{background:var(--lime);box-shadow:0 0 0 6px rgba(203,220,131,.14)}
  .hero-title{
    width:min(780px,62vw);
    max-width:none;
    font-family:"DM Serif Display",Georgia,serif;
    font-weight:400;
    font-size:clamp(72px,7.1vw,118px);
    line-height:.86;
    letter-spacing:-.055em;
    color:#fff;
    z-index:2;
  }
  .hero-title span{overflow:visible;animation:heroLineIn 1.05s var(--ease) both}
  .hero-title span:nth-child(2){animation-delay:.08s}
  .hero-title span:nth-child(3){animation-delay:.16s}
  .hero-title .indent{padding-left:8vw}
  .hero-title em{color:var(--lime);font-style:italic}
  .hero-bottom{
    position:absolute;
    left:0;
    bottom:92px;
    width:100%;
    max-width:none;
    margin:0;
    align-items:flex-end;
    z-index:5;
  }
  .hero-intro{
    color:rgba(255,255,255,.78);
    max-width:480px;
    font-size:15px;
    line-height:1.65;
    animation:heroFadeUp .9s .4s var(--ease) both;
  }
  .hero-cta{animation:heroFadeUp .9s .5s var(--ease) both}
  .hero-cta>span{color:rgba(255,255,255,.68)}
  .circle-button{width:92px;height:92px;background:rgba(203,220,131,.96);border:1px solid rgba(255,255,255,.25)}
  .hero-image-wrap{display:none}
  .header{padding:25px 0;color:#fff}
  .header:after{content:"";position:absolute;left:50%;right:50%;top:82px;height:1px;background:rgba(255,255,255,.22);transition:1.2s var(--ease)}
  .header .logo,.header .nav-center a{color:#fff}
  .header .logo small{color:rgba(255,255,255,.55)}
  .header .nav-center a:after{background:#fff}
  .header .nav-button{background:#fff;color:#171716}
  .header .nav-button:hover{box-shadow:0 12px 30px rgba(0,0,0,.18)}
  .logo>b{box-shadow:0 0 0 1px rgba(255,255,255,.15)}
  .marquee{background:#f0eee8}
  .hero + .marquee{position:relative;z-index:10}
  .hero:global{}
}
@keyframes heroPhotoIn{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1.04)}}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes heroLineIn{from{opacity:0;transform:translateY(70px)}to{opacity:1;transform:none}}

@media (min-width:901px) and (max-width:1200px){
  .hero-title{width:min(700px,68vw);font-size:8vw}
  .hero-title .indent{padding-left:5vw}
  .hero-bottom{bottom:70px}
}

/* V8: mobile uses the same cinematic hero image as desktop. The image becomes the canvas,
   while content sits above a soft editorial gradient. */
@media (max-width:900px){
  .hero{
    min-height:100svh;
    height:100svh;
    padding:0;
    color:#fff;
    background:#171a18;
    overflow:hidden;
    isolation:isolate;
    display:flex;
    align-items:flex-end;
  }
  .hero:before{
    content:"";
    position:absolute;
    inset:-4%;
    z-index:-3;
    background-image:url('assets/avi-hero-background.jpg');
    background-size:auto 106%;
    background-position:27% 44%;
    transform:scale(1.015) translate3d(0,var(--hero-y,0px),0);
    transform-origin:center center;
    animation:mobileHeroPhotoIn 1.6s var(--ease) both;
    will-change:transform;
  }
  .hero:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
      linear-gradient(180deg,rgba(7,9,8,.52) 0%,rgba(7,9,8,.16) 28%,rgba(7,9,8,.28) 48%,rgba(7,9,8,.88) 76%,rgba(7,9,8,.98) 100%),
      linear-gradient(90deg,rgba(7,9,8,.28),rgba(7,9,8,.02) 52%,rgba(7,9,8,.30));
    pointer-events:none;
  }
  .hero-shape{display:none!important}
  .hero-inner{
    width:100%;
    height:100%;
    min-height:0;
    padding:0 14px 25px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    position:relative;
    z-index:2;
  }
  .hero-kicker{
    order:1;
    margin:0 0 15px;
    width:auto;
    max-width:100%;
    color:rgba(255,255,255,.82);
    font-size:8px;
    line-height:1.55;
    letter-spacing:.15em;
    animation:mobileFadeUp .9s .12s var(--ease) both;
  }
  .hero-kicker:before{background:var(--lime);box-shadow:0 0 0 5px rgba(203,220,131,.15)}
  .hero-title{
    order:2;
    width:100%;
    max-width:none;
    margin:0;
    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(51px,14.8vw,69px);
    line-height:.86;
    letter-spacing:-.045em;
    color:#fff;
    position:relative;
    z-index:3;
  }
  .hero-title span{overflow:visible;animation:mobileHeroLineIn 1s var(--ease) both}
  .hero-title span:nth-child(1){animation-delay:.18s}
  .hero-title span:nth-child(2){animation-delay:.27s}
  .hero-title span:nth-child(3){animation-delay:.36s}
  .hero-title .indent{padding-left:0}
  .hero-title em{color:var(--lime);font-style:italic}
  .hero-bottom{
    order:3;
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    margin:20px 0 0;
    display:block;
    z-index:4;
  }
  .hero-intro{
    color:rgba(255,255,255,.78);
    max-width:355px;
    margin:0;
    font-size:13px;
    line-height:1.52;
    animation:mobileFadeUp .9s .48s var(--ease) both;
  }
  .hero-cta{
    margin-top:19px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    animation:mobileFadeUp .9s .58s var(--ease) both;
  }
  .circle-button{
    width:88px;
    height:88px;
    flex:0 0 auto;
    background:var(--lime);
    color:var(--ink);
    border:0;
    box-shadow:0 16px 35px rgba(0,0,0,.22);
  }
  .circle-button:hover{transform:none;box-shadow:0 16px 35px rgba(0,0,0,.22)}
  .hero-cta>span{color:rgba(255,255,255,.7);margin-left:auto;margin-right:8px}
  .hero-image-wrap{display:none!important}
  .header{padding:14px 0;color:#fff}
  .header .container{width:calc(100% - 28px)}
  .header .logo,.header .nav-center a{color:#fff}
  .header .logo small{color:rgba(255,255,255,.62)}
  .logo>b{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
  .menu{display:grid;color:#fff;position:relative;z-index:3}
  .menu span{background:#fff}
  .nav-center,.nav-button{display:none}
  .mobile-nav{top:70px;left:14px;right:14px;background:rgba(20,23,21,.94);border-color:rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-nav a{color:#fff;border-color:rgba(255,255,255,.12)}
  .hero + .marquee{position:relative;z-index:10}
}

@media (max-width:420px){
  .hero-inner{padding-left:14px;padding-right:14px;padding-bottom:22px}
  .hero-kicker{font-size:7.5px;margin-bottom:14px}
  .hero-title{font-size:clamp(49px,14vw,61px);line-height:.86}
  .hero-bottom{margin-top:19px}
  .hero-intro{font-size:12.5px;max-width:335px}
  .hero-cta{margin-top:18px}
  .circle-button{width:82px;height:82px;font-size:10px}
  .hero-cta>span{font-size:8px}
}

@media (max-width:360px){
  .hero-inner{padding-bottom:22px}
  .hero-kicker{font-size:7px}
  .hero-title{font-size:45px}
  .hero-intro{font-size:12px}
  .circle-button{width:76px;height:76px}
}

@keyframes mobileHeroPhotoIn{
  from{opacity:0;transform:scale(1.11) translate3d(0,10px,0);filter:saturate(.72) blur(1px)}
  to{opacity:1;transform:scale(1.045) translate3d(0,0,0);filter:saturate(.9) blur(0)}
}
@keyframes mobileHeroLineIn{
  from{opacity:0;transform:translate3d(0,34px,0);filter:blur(4px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes mobileFadeUp{
  from{opacity:0;transform:translate3d(0,22px,0);filter:blur(2px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}

/* V9 mobile editorial crop: keep the same photograph behind the entire hero,
   with the speaker's face kept in the visual center and copy in the lower third. */
@media (max-width:600px){
  .hero{min-height:100svh;height:100svh;max-height:none;align-items:stretch}
  .hero:before{background-size:auto 100%;background-position:31% 50%;transform:scale(1.005) translate3d(0,var(--hero-y,0px),0)}
  .hero-inner{padding:0 14px 22px;justify-content:flex-end}
  .hero-kicker{margin-bottom:14px;max-width:100%;font-size:7.5px;letter-spacing:.145em}
  .hero-title{font-size:clamp(49px,14.1vw,62px);line-height:.86;letter-spacing:-.048em}
  .hero-bottom{margin-top:19px}
  .hero-intro{font-size:12.5px;line-height:1.52;max-width:338px}
  .hero-cta{margin-top:18px}
  .circle-button{width:84px;height:84px}
  .hero-cta>span{font-size:8px;letter-spacing:.1em}
}
@media (max-width:360px){
  .hero:before{background-position:30% 50%}
  .hero-title{font-size:46px}
  .hero-intro{font-size:12px}
}
