@font-face{font-family:"Cabinet";src:url("../../fonts/cabinet-grotesk/cabinet-grotesk-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("../../fonts/inter-tight/inter-tight-variable.woff2") format("woff2");font-weight:300 800;font-display:swap}
@font-face{font-family:"Gambetta";src:url("../../fonts/gambetta/gambetta-variable.woff2") format("woff2");font-weight:300 700;font-display:swap}
:root{--paper:#f5f3ed;--white:#fff;--ink:#1b2925;--warm-ink:#213c34;--orange:#a9563e;--muted:#65736c;--light:#e9ede8;--line:#d2dbd4;--dark:#213c34;--shell:min(calc(100% - 130px),1310px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:"Inter Tight",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.shell{width:var(--shell);margin-inline:auto}
.study-ribbon{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:32px;padding:5px max(20px,calc((100% - 1310px)/2));background:var(--paper);color:#68635c;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.study-ribbon span:last-child{font-weight:500}
.section-label{display:inline-flex;align-items:center;gap:11px;margin:0 0 35px;font-size:15px;font-weight:750;letter-spacing:.02em;line-height:1.3;text-transform:uppercase}
.section-label:before{content:"";width:4px;height:17px;flex:none;background:var(--orange)}
.section-heading{margin:0;font-family:"Cabinet","Inter Tight",sans-serif;font-size:clamp(40px,3.8vw,54px);font-weight:740;letter-spacing:-.05em;line-height:1.12;text-transform:uppercase}
.section-heading--center{text-align:center}
.section-intro{text-align:center}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 19px;background:var(--orange);color:#fff;font-size:14px;font-weight:740;text-transform:uppercase;transition:background .25s,transform .25s}
.button:hover{background:#8c4936;transform:translateY(-2px)}
.button svg,.arrow-link svg{width:17px;height:17px;flex:none}
.arrow-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:760;text-transform:uppercase}
.arrow-link svg{transition:transform .25s}
.arrow-link:hover svg{transform:translate(3px,-3px)}
.dark{background:var(--dark);color:var(--white)}

/* 01 Hero: photo, navigation, statement, lower proof and right orange panel */
.hero{position:relative;isolation:isolate;min-height:max(820px,92svh);overflow:hidden;background:#1c342d;color:var(--white)}
.hero__image,.hero__shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__image{z-index:-2;object-fit:cover;object-position:center}
.hero__shade{z-index:-1;background:linear-gradient(90deg,rgba(13,29,24,.78),rgba(13,29,24,.63) 45%,rgba(13,29,24,.13) 100%),linear-gradient(0deg,rgba(13,29,24,.65),transparent 36%)}
.hero__grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent calc(100% - 385px),rgba(255,255,255,.2) calc(100% - 385px),rgba(255,255,255,.2) calc(100% - 384px),transparent calc(100% - 384px)),linear-gradient(0deg,transparent 28%,rgba(255,255,255,.2) 28%,rgba(255,255,255,.2) calc(28% + 1px),transparent calc(28% + 1px))}
.hero-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:35px;height:79px;padding-inline:max(32px,calc((100% - 1310px)/2));border-bottom:1px solid rgba(255,255,255,.32)}
.brand{display:inline-flex;align-items:center;gap:13px;justify-self:start;font-family:"Cabinet",sans-serif;font-size:29px;font-weight:830;letter-spacing:-.07em;line-height:1}
.brand__mark{width:16px;height:16px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);transform:translateY(-4px)}
.hero-nav__links{display:flex;align-items:center;gap:clamp(20px,2.3vw,36px);font-size:14px;font-weight:730;text-transform:uppercase}
.hero-nav__links a{transition:color .2s}.hero-nav__links a:hover{color:#e4b9a7}
.hero-nav__cta{justify-self:end}
.nav-toggle{display:none;background:none;border:0;color:inherit}
.mobile-nav{display:none}
.hero-content{position:relative;z-index:1;padding-top:30px}
.hero-content h1{max-width:700px;margin:0;font-family:"Cabinet",sans-serif;font-size:clamp(64px,5.25vw,75px);font-weight:750;letter-spacing:-.052em;line-height:1.05;text-transform:uppercase;text-wrap:balance}
.hero-content h1 em{color:#f3f0e8;font-style:normal}
.hero-content__lead{display:flex;align-items:center;gap:40px;margin-top:40px}
.hero-content__lead p{max-width:380px;margin:0;font-size:18px;font-weight:500;line-height:1.45}
.hero-bottom{position:absolute;right:0;bottom:215px;left:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:end}
.hero-bottom__left{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:14px;min-height:270px;padding:0 0 40px max(32px,calc((100% - 1310px)/2))}
.hero-bottom__eyebrow{font-size:12px;font-weight:750;letter-spacing:.17em;text-transform:uppercase;color:#e7c3b3}
.hero-bottom__statement{margin:0;font-family:"Gambetta",Georgia,serif;font-size:clamp(24px,2vw,31px);font-weight:500;line-height:1.12;letter-spacing:-.03em}
.hero-feature{display:flex;flex-direction:column;justify-content:space-between;min-height:270px;padding:28px 30px 30px;background:var(--orange);transform:translateY(-110px)}
.hero-feature strong{font-family:"Cabinet";font-size:76px;font-weight:760;letter-spacing:-.06em;line-height:1}
.hero-feature h2{max-width:230px;margin:0 0 11px;font-family:"Cabinet";font-size:24px;letter-spacing:-.035em;line-height:1.14;text-transform:uppercase}
.hero-feature p{max-width:240px;margin:0;font-size:16px;line-height:1.4}
.hero-baseline{position:absolute;right:0;bottom:215px;left:0;border-bottom:1px solid rgba(255,255,255,.25)}

/* 02 About: heading split + two claims + lower photo/stat mosaic */
.about{padding:96px 0 0;background:#fff}
.about-top{display:grid;grid-template-columns:39% 61%;gap:0;min-height:355px}
.about-top__left{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding-bottom:18px}
.about-top__drawing{width:min(94%,460px);margin-top:15px;color:#a8b8ad;opacity:.82}
.about-top__drawing svg{display:block;width:100%;height:auto;overflow:visible}
.draft-line{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.draft-line--fine{stroke:var(--orange);stroke-width:1;opacity:.75}
.about-top__drawing text{fill:#6d7d72;font-family:"Inter Tight",Arial,sans-serif;font-size:10px;font-weight:650;letter-spacing:.13em}
.about-top__right h2{margin:0;font-family:"Cabinet";font-size:clamp(44px,3.8vw,54px);font-weight:735;letter-spacing:-.048em;line-height:1.2;text-transform:uppercase}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:52px}
.about-value{display:grid;grid-template-columns:36px 1fr;gap:17px}
.about-value svg{width:34px;height:34px;color:var(--orange)}
.about-value h3{margin:3px 0 22px;font-family:"Cabinet";font-size:22px;font-weight:760;letter-spacing:-.035em;text-transform:uppercase}
.about-value p{max-width:340px;margin:0;font-size:17px;line-height:1.5}
.about-mosaic{display:grid;grid-template-columns:1.86fr 1fr 1fr;grid-template-rows:290px 290px;gap:20px;margin-top:24px}
.about-mosaic__photo{grid-row:span 2;overflow:hidden}
.about-mosaic__photo img,.about-mosaic__small img{width:100%;height:100%;object-fit:cover}
.about-mosaic__small{overflow:hidden}
.stat-tile{display:flex;flex-direction:column;justify-content:space-between;padding:30px;background:#e9eee9}
.stat-tile--dark{background:var(--dark);color:#fff}
.stat-tile--orange{background:var(--orange);color:#fff}
.stat-tile h3{max-width:270px;margin:0;padding-bottom:26px;border-bottom:1px solid currentColor;font-family:"Cabinet";font-size:21px;font-weight:750;letter-spacing:-.035em;line-height:1.1;text-transform:uppercase}
.stat-tile strong{font-family:"Cabinet";font-size:clamp(40px,3.4vw,54px);font-weight:735;letter-spacing:-.055em;line-height:1}

/* 03 Moving material row */
.materials{padding:105px 0 95px;background:#fff;overflow:hidden}
.materials__title{display:flex;align-items:center;gap:40px;white-space:nowrap}
.materials__title:before,.materials__title:after{content:"";height:1px;flex:1;background:#c8c4bc}
.materials__title p{margin:0;font-family:"Cabinet";font-size:22px;font-weight:760;text-transform:uppercase}
.materials__title em{color:var(--orange);font-style:normal}
.marquee{overflow:hidden}
.materials__marquee{margin-top:76px}
.marquee__track{display:flex;width:max-content;animation:marquee-left 28s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.materials__item{display:grid;place-items:center;flex:none;width:260px;color:#383630;font-family:"Gambetta";font-size:36px;letter-spacing:-.04em}
@keyframes marquee-left{to{transform:translateX(-50%)}}
@keyframes marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* 04 Services */
.services{padding:144px 0 95px}
.services .section-heading{max-width:850px;margin-inline:auto}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:85px;border-top:1px solid rgba(255,255,255,.27);border-left:1px solid rgba(255,255,255,.27)}
.service{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:400px;overflow:hidden;padding:32px;border-right:1px solid rgba(255,255,255,.27);border-bottom:1px solid rgba(255,255,255,.27);color:#fff}
.service__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .35s,transform .55s}
.service:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(15,17,16,.65);opacity:0;transition:opacity .35s}
.service:hover .service__image,.service:focus-within .service__image{opacity:1;transform:scale(1)}
.service:hover:before,.service:focus-within:before{opacity:1}
.service__icon{display:grid;place-items:center;width:70px;height:70px;background:var(--orange)}
.service__icon svg{width:35px;height:35px;stroke:#fff}
.service__body h3{max-width:300px;margin:0;font-family:"Cabinet";font-size:36px;font-weight:730;letter-spacing:-.045em;line-height:1.13;text-transform:uppercase}
.service__body p{max-height:0;max-width:350px;margin:0;overflow:hidden;font-size:17px;line-height:1.48;opacity:0;transition:max-height .35s,margin .35s,opacity .35s}
.service:hover .service__body p,.service:focus-within .service__body p{max-height:160px;margin-top:17px;opacity:1}
.service__link{position:absolute;inset:0;z-index:1}
.services__footer{margin-top:80px;text-align:center;font-size:19px}
.services__footer a{margin-left:6px;color:var(--orange);text-decoration:underline;text-underline-offset:3px}

/* 05 Four alternating project rows */
.projects{position:relative;overflow:hidden;padding:88px 0 0;background:#fff}
.projects>.shell{position:relative;z-index:1}
.projects__preview{position:absolute;top:0;right:0;width:39%;height:410px;overflow:hidden;opacity:.18;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 46%);mask-image:linear-gradient(90deg,transparent,#000 46%)}
.projects__preview img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(.7)}
.projects .section-heading{max-width:700px;margin-inline:auto}
.projects-list{margin-top:58px}
.project{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:stretch;min-height:610px;padding:54px 0;border-top:1px solid #c7c6c2}
.project:last-child{border-bottom:1px solid #c7c6c2}
.project__body{display:flex;flex-direction:column;align-items:flex-start;padding:5px 40px}
.project__category{margin:0 0 34px;color:var(--orange);font-size:15px;font-weight:700;text-transform:uppercase}
.project h3{max-width:520px;margin:0 0 30px;font-family:"Gambetta";font-size:clamp(40px,3.5vw,52px);font-weight:500;letter-spacing:-.055em;line-height:1.1}
.project__description{max-width:480px;margin:0;font-size:18px;line-height:1.5}
.project__button{margin-top:auto}
.project__image{width:100%;height:500px;object-fit:cover}
.project:nth-child(even) .project__image-wrap{grid-column:1;grid-row:1}
.project:nth-child(even) .project__body{grid-column:2;grid-row:1}
.project__image-wrap{overflow:hidden}
.project__image-wrap img{transition:transform .7s}
.project__image-wrap:hover img{transform:scale(1.04)}

/* 06 Why: full photo, top headline, bottom three panels */
.why{position:relative;isolation:isolate;min-height:860px;padding:95px 0 0;background:#4d4236;color:#fff}
.why__image,.why__shade{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.why__image{object-fit:cover}
.why__shade{z-index:-1;background:linear-gradient(90deg,rgba(22,21,19,.55),rgba(22,21,19,.25)),linear-gradient(0deg,rgba(20,20,19,.35),transparent 65%)}
.why__top{display:flex;align-items:center;justify-content:space-between;gap:50px}
.why__top .section-heading{max-width:710px}
.why-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:230px}
.why-card{min-height:300px;padding:32px;background:#fff;color:var(--ink);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}
.why-card:hover,.why-card:focus-within{transform:translateY(-9px);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.why-card__icon{transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .35s}
.why-card:hover .why-card__icon,.why-card:focus-within .why-card__icon{transform:rotate(-6deg) scale(1.06);background:#8c4936}
.why-card__icon{display:grid;place-items:center;width:70px;height:70px;margin-bottom:63px;background:var(--orange)}
.why-card__icon svg{width:34px;height:34px;stroke:#fff}
.why-card h3{margin:0 0 18px;font-family:"Cabinet";font-size:28px;letter-spacing:-.04em;line-height:1.2;text-transform:uppercase}
.why-card p{margin:0;font-size:17px;line-height:1.48}

/* 07 Slider with image/video and accompanying narrative */
.perspectives{min-height:100svh;padding:24px 0 64px;background:#fff}
.perspectives__head{display:flex;align-items:end;justify-content:space-between;gap:40px}
.perspectives .section-heading{max-width:620px}
.slider-controls{display:flex;gap:7px;margin-bottom:6px}
.slider-controls button{display:grid;place-items:center;width:54px;height:54px;border:0;background:#9c9c97;color:#fff}
.slider-controls button:last-child{background:var(--orange)}
.slider-controls svg{width:22px;height:22px;stroke:#fff}
.slider-window{margin-top:48px;overflow:hidden;transform:translateY(-45px)}
.slider-track{display:flex;gap:20px;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}
.is-scroll-driven .slider-track{transition:none}
.perspective{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;flex:none;width:min(1145px,86vw);min-height:420px}
.perspective__image{position:relative;overflow:hidden;background:#ccc}
.perspective__image img,.perspective__image video{width:100%;height:100%;object-fit:cover}
.media-toggle{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:rgba(35,33,29,.55);color:#fff;font-size:19px;line-height:1;backdrop-filter:blur(4px)}
.perspective__quote{display:flex;flex-direction:column;justify-content:space-between;padding:30px;background:#f1f1ee}
.perspective__quote small{color:var(--orange);font-size:16px;font-weight:700;letter-spacing:.15em}
.perspective__quote blockquote{margin:25px 0;font-family:"Cabinet";font-size:clamp(23px,1.65vw,28px);font-weight:640;line-height:1.35}
.perspective__quote footer{display:flex;align-items:center;gap:15px;font-size:15px}
.perspective__quote footer span{display:grid;place-items:center;width:48px;height:48px;background:#d9d4cc;font-family:"Gambetta";font-size:28px}
.perspective__quote footer strong{display:block;font-size:17px}
.perspective__quote footer em{display:block;color:var(--muted);font-style:normal}

/* 08 Two marquee rows, paused on hover */
.principles{padding:144px 0 95px;overflow:hidden}
.principles .section-heading{max-width:670px;margin-inline:auto}
.principles__rows{margin-top:100px}
.principle-marquee{overflow:hidden}
.principle-marquee+.principle-marquee{margin-top:-1px}
.principle-track{display:flex;width:max-content;animation:marquee-left 25s linear infinite}
.principle-marquee--reverse .principle-track{animation-name:marquee-right}
.principle-marquee:hover .principle-track{animation-play-state:paused}
.principle{display:flex;align-items:center;gap:22px;flex:none;min-width:480px;min-height:120px;padding:18px 20px;border:1px solid rgba(255,255,255,.22)}
.principle__icon{display:grid;place-items:center;flex:none;width:80px;height:80px;background:var(--orange)}
.principle__icon svg{width:36px;height:36px;stroke:#fff}
.principle span{display:block;margin-bottom:7px;font-size:15px}
.principle strong{font-family:"Cabinet";font-size:24px;letter-spacing:-.025em;text-transform:uppercase}
.principles__footer{max-width:570px;margin:95px auto 0;text-align:center}
.principles__footer p{margin:0 0 32px;font-size:19px;line-height:1.5}

/* 09 Editorial list */
.journal{padding:144px 0 100px;background:#f4f4f2}
.journal__grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:110px}
.journal__intro{position:sticky;top:30px;align-self:start}
.journal__intro .section-heading{max-width:420px;margin-bottom:52px}
.journal-item{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;min-height:300px;padding:0 0 45px;margin-bottom:45px;border-bottom:1px solid #c9c9c4}
.journal-item:last-child{margin-bottom:0}
.journal-item__meta{display:flex;align-items:center;gap:22px;margin-bottom:28px}
.journal-item__tag{padding:10px 13px;background:var(--orange);color:#fff;font-size:15px;font-weight:700}
.journal-item__meta time{color:#777;font-size:14px}
.journal-item h3{max-width:430px;margin:0 0 30px;font-family:"Cabinet";font-size:31px;letter-spacing:-.04em;line-height:1.2;text-transform:uppercase}
.journal-item__arrow{display:grid;place-items:center;width:50px;height:50px;border:1px solid #999;transition:background .2s,color .2s}
.journal-item__arrow:hover{background:var(--ink);color:#fff}
.journal-item__arrow svg{width:20px;height:20px}
.journal-item img{width:300px;height:225px;object-fit:cover}

/* 10 Full photo CTA + white panel */
.site-footer{position:relative;isolation:isolate;min-height:1110px;padding:65px 0 0;overflow:hidden;background:#343029;color:#fff}
.site-footer__image,.site-footer__shade{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.site-footer__image{object-fit:cover}
.site-footer__shade{z-index:-1;background:rgba(23,22,19,.72)}
.site-footer__cta{text-align:center}
.site-footer__cta .section-heading{max-width:820px;margin:0 auto 30px;font-size:54px}
.site-footer__cta p:not(.section-label){max-width:475px;margin:0 auto 35px;font-size:19px;line-height:1.45}
.footer-panel{display:grid;grid-template-columns:1.08fr 1.08fr 1fr;gap:50px;min-height:450px;margin-top:40px;padding:60px 32px 0;background:#fff;color:var(--ink)}
.footer-panel__brand{font-family:"Cabinet";font-size:30px;font-weight:800;letter-spacing:-.07em}
.footer-panel__brand b{color:var(--orange)}
.footer-panel h3{margin:80px 0 14px;font-size:24px;font-weight:650}
.demo-form{display:flex;max-width:370px;border:1px solid #bcbab5}
.demo-form input{min-width:0;flex:1;padding:12px;border:0;background:#fff;font-size:15px}
.demo-form button{margin:5px;padding:10px 13px;border:0;background:var(--dark);color:#fff;font-size:12px;font-weight:750;text-transform:uppercase}
.demo-form__feedback{min-height:30px;margin:10px 0 0;color:#5d5a55;font-size:13px;line-height:1.35}
.footer-panel__nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;align-content:start;padding:0 35px;border-inline:1px solid #ddd}
.footer-panel__nav a{font-size:18px}
.footer-panel__contact strong{display:block;margin-bottom:15px;font-family:"Cabinet";font-size:27px;line-height:1.1;text-transform:uppercase}
.footer-panel__contact p{max-width:310px;font-size:17px;line-height:1.45}
.footer-panel__contact .arrow-link{margin-top:28px;color:var(--orange)}
.footer-panel__legal{grid-column:1/-1;align-self:end;padding:30px;border-top:1px solid #d8d6d0;text-align:center;font-size:15px}
.site-footer__word{position:absolute;right:0;bottom:-74px;left:0;z-index:-1;display:flex;justify-content:center;gap:.04em;color:rgba(255,255,255,.22);font-family:"Cabinet";font-size:clamp(220px,24vw,420px);font-weight:800;letter-spacing:0;line-height:1;text-align:center;white-space:nowrap}
.detail-dialog{width:min(640px,calc(100% - 32px));max-height:min(80vh,720px);padding:46px;border:0;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.28)}
.detail-dialog::backdrop{background:rgba(18,16,14,.75)}
.detail-dialog__close{position:absolute;top:15px;right:18px;width:36px;height:36px;border:0;background:var(--ink);color:#fff;font-size:27px;line-height:1}
.detail-dialog h2{max-width:510px;margin:0 0 24px;font-family:"Cabinet";font-size:clamp(32px,4vw,49px);font-weight:740;letter-spacing:-.045em;line-height:1.1}
.detail-dialog>p:not(.section-label){max-width:540px;font-size:18px;line-height:1.5}
.detail-dialog__note{padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px!important}

/* Interaction visibility: only transform/opacity, default content remains readable */
.reveal{opacity:1;transform:none}
.js-motion .reveal{opacity:0;transform:translateY(24px);filter:blur(8px)}

@media(max-width:1100px){
  :root{--shell:min(calc(100% - 70px),1310px)}
  .hero-nav{grid-template-columns:1fr auto}
  .hero-nav__links{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;justify-self:end;font-size:13px;font-weight:700;text-transform:uppercase}
  .nav-toggle svg{width:22px;height:22px;stroke:currentColor}
  .hero-nav__cta{display:none}
  .mobile-nav{display:none;position:absolute;top:79px;right:0;left:0;z-index:10;padding:25px 35px;background:var(--paper);color:var(--ink)}
  .mobile-nav.is-open{display:grid;gap:18px}
  .mobile-nav a{font-family:"Cabinet";font-size:24px;font-weight:700}
  .about-mosaic{grid-template-rows:260px 260px}
  .hero-bottom__left{gap:10px}
  .journal__grid{grid-template-columns:1fr;gap:55px}
  .journal-item{grid-template-columns:1fr 220px;gap:24px}
  .journal-item img{width:220px}
}
@media(max-width:767px){
  :root{--shell:calc(100% - 32px)}
  .study-ribbon{padding-inline:16px;min-height:38px;font-size:9px}
  .hero{min-height:970px}
  .hero__image{object-position:60% center}
  .hero__shade{background:linear-gradient(180deg,rgba(20,19,17,.82),rgba(20,19,17,.72) 37%,rgba(20,19,17,.24) 68%,rgba(20,19,17,.62))}
  .hero__grid{display:none}
  .hero-nav{height:70px;padding-inline:16px}
  .mobile-nav{top:70px;padding-inline:16px}
  .brand{font-size:25px}
  .hero-content{padding-top:52px}
  .hero-content h1{max-width:358px;font-size:clamp(40px,10.8vw,58px);line-height:1.08}
  .hero-content__lead{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:27px;margin-top:26px}
  .hero-content__lead p{max-width:330px;margin:0;font-size:17px}
  .hero-bottom{right:0;bottom:0;left:0;display:block}
  .hero-bottom__left{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:130px;padding:15px 16px}
  .hero-bottom__eyebrow{font-size:10px}
  .hero-bottom__statement{font-size:23px}
  .hero-feature{min-height:260px;padding:24px 28px;transform:none}
  .hero-feature strong{font-size:64px}
  .hero-feature h2{font-size:20px;margin-bottom:4px}
  .hero-feature p{font-size:14px}
  .hero-baseline{display:none}
  .section-label{margin-bottom:24px;font-size:12px}
  .section-heading{font-size:30px;line-height:1.2}
  .about{padding-top:100px}
  .about-top{display:block;min-height:0}
  .about-top__left{display:block;padding:0}
  .about-top__drawing{display:none}
  .about-top__right h2{font-size:30px;line-height:1.2}
  .about-values{grid-template-columns:1fr;gap:22px;margin-top:35px}
  .about-value h3{margin-bottom:8px;font-size:20px}
  .about-value p{font-size:16px}
  .about-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:440px 240px 240px;margin-top:50px;gap:10px}
  .about-mosaic__photo{grid-column:1/-1;grid-row:auto}
  .stat-tile{padding:20px}
  .stat-tile h3{font-size:17px}
  .stat-tile strong{font-size:clamp(23px,6.8vw,36px);letter-spacing:-.06em}
  .materials{padding:85px 0}
  .materials__title{gap:18px}.materials__title p{font-size:17px}
  .materials__marquee{margin-top:56px}
  .materials__item{width:210px;font-size:30px}
  .services{padding:102px 0 80px}
  .services-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:55px;border:0;padding-bottom:6px}
  .services-grid::-webkit-scrollbar{display:none}
  .service{flex:0 0 85%;min-height:410px;scroll-snap-align:start;border:1px solid rgba(255,255,255,.27)}
  .service__image{opacity:.26}
  .service:before{opacity:1;background:rgba(15,17,16,.55)}
  .service__body p{max-height:none;margin-top:16px;opacity:1}
  .service__body h3{font-size:30px}
  .services__footer{margin-top:45px;font-size:16px}
  .projects{padding-top:84px}
  .projects__preview{width:60%;height:280px;opacity:.12}
  .projects-list{margin-top:45px}
  .project{display:flex;flex-direction:column;gap:25px;min-height:0;padding:40px 0}
  .project__body,.project:nth-child(even) .project__body{order:1;padding:0}
  .project__image-wrap,.project:nth-child(even) .project__image-wrap{order:2}
  .project h3{font-size:28px;margin-bottom:14px}
  .project__category{margin-bottom:24px;font-size:13px}
  .project__description{font-size:16px}
  .project__button{order:3;margin-top:0}
  .project__image{height:auto;aspect-ratio:1.25}
  .why{min-height:650px;padding-top:82px}
  .why__top{display:block}
  .why__top .section-heading{max-width:400px}
  .why__top .button{margin-top:25px}
  .why-cards{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:95px}
  .why-card{flex:0 0 85%;min-height:270px;scroll-snap-align:start}
  .why-card__icon{margin-bottom:38px}
  .perspectives{min-height:0;padding:90px 0 75px}
  .perspectives__head{display:block}
  .slider-controls{margin-top:26px}
  .slider-window{margin-top:45px}
  .perspective{display:block;width:min(100%,500px);min-height:0}
  .perspective__image{height:260px}
  .perspective__quote{min-height:330px;padding:25px}
  .perspective__quote blockquote{font-size:22px}
  .principles{padding:100px 0 85px}
  .principles__rows{margin-top:65px}
  .principle{min-width:350px;min-height:100px;padding:12px;gap:14px}
  .principle__icon{width:65px;height:65px}
  .principle strong{font-size:18px}
  .principles__footer{margin-top:65px;padding-inline:16px}
  .principles__footer p{font-size:16px}
  .journal{padding:100px 0 75px}
  .journal__grid{display:block}
  .journal__intro{position:static}
  .journal__intro .section-heading{margin-bottom:30px}
  .journal-list{margin-top:60px}
  .journal-item{display:block;min-height:0;margin-bottom:35px;padding-bottom:35px}
  .journal-item__meta{margin-bottom:20px}
  .journal-item h3{font-size:24px}
  .journal-item img{width:100%;height:auto;aspect-ratio:1.5;margin-top:20px}
  .site-footer{min-height:0;padding-top:75px}
  .site-footer__cta .section-heading{font-size:36px}
  .site-footer__cta p:not(.section-label){font-size:16px}
  .footer-panel{display:block;margin-top:65px;padding:35px 24px 0}
  .footer-panel h3{margin-top:45px}
  .footer-panel__nav{margin:40px 0;padding:35px 0;border-inline:0;border-block:1px solid #ddd}
  .footer-panel__contact strong{font-size:24px}
  .footer-panel__legal{margin-top:45px;padding:25px 0}
  .site-footer__word{font-size:160px;bottom:-25px}
}
@media(max-width:390px){
  .study-ribbon{align-items:start}
  .study-ribbon span:last-child{max-width:165px;text-align:right}
  .hero{min-height:970px}
  .hero-content h1{font-size:42px}
  .hero-bottom__statement{font-size:21px}
  .about-mosaic{grid-template-rows:380px 200px 200px}
  .stat-tile h3{font-size:14px}
  .stat-tile strong{font-size:clamp(21px,6.8vw,31px)}
}
@media(max-width:991px){
  .slider-window{transform:none}
  .slider-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
  .slider-window::-webkit-scrollbar{display:none}
  .slider-track{transform:none!important;transition:none}
  .perspective{scroll-snap-align:start}
}
@media(max-width:350px){
  .hero{min-height:1050px}
}
/* Editorial explanation of the fictional website concept for search visitors. */
.concept-notes{padding:90px 0 110px;background:var(--paper);border-top:1px solid var(--line)}
.concept-notes__breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:64px;color:var(--muted);font-size:13px;line-height:1.5}
.concept-notes__breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.concept-notes__breadcrumb a:hover{color:var(--orange)}
.concept-notes__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(48px,8vw,130px)}
.concept-notes__intro h2{max-width:620px;margin:0 0 32px;font-family:"Cabinet","Inter Tight",sans-serif;font-size:clamp(40px,4.5vw,68px);font-weight:760;letter-spacing:-.055em;line-height:1.04;text-transform:uppercase}
.concept-notes__intro>p:not(.section-label){max-width:610px;margin:0;color:#4b4842;font-size:20px;line-height:1.5}
.concept-notes__link{display:inline-flex;align-items:center;gap:20px;margin-top:32px;padding-bottom:9px;border-bottom:1px solid var(--orange);color:var(--ink);font-size:16px;font-weight:750}
.concept-notes__link svg{width:19px;height:19px;color:var(--orange);transition:transform .25s}
.concept-notes__link:hover svg{transform:translate(3px,-3px)}
.concept-notes__point{padding:0 0 28px;margin:0 0 29px;border-bottom:1px solid var(--line)}
.concept-notes__point h3,.concept-notes__faq>h3{margin:0 0 12px;font-family:"Cabinet","Inter Tight",sans-serif;font-size:clamp(24px,2.2vw,31px);font-weight:730;letter-spacing:-.035em;line-height:1.12}
.concept-notes__point p,.concept-notes__faq p{margin:0;color:#4b4842;font-size:17px;line-height:1.55}
.concept-notes__faq{padding-top:5px}
.concept-notes__faq>h3{margin-bottom:26px}
.concept-notes__faq>div{margin-bottom:24px}
.concept-notes__faq h4{margin:0 0 7px;font-size:17px;font-weight:750;line-height:1.3}
.concept-notes__next{margin:34px 0 0;padding-top:25px;border-top:1px solid var(--line);font-size:17px;line-height:1.5}
.concept-notes__next a{color:var(--orange);font-weight:750;text-decoration:underline;text-underline-offset:4px}
.study-legal{display:flex;justify-content:center;gap:26px;padding:16px;background:var(--paper);color:#5d5953;font-size:13px}
.study-legal a{text-decoration:underline;text-underline-offset:3px}
.study-legal a:hover{color:var(--orange)}
@media(max-width:767px){
  .concept-notes{padding:70px 0 85px}
  .concept-notes__breadcrumb{margin-bottom:48px;font-size:12px}
  .concept-notes__grid{grid-template-columns:1fr;gap:55px}
  .concept-notes__intro h2{font-size:clamp(34px,8.5vw,48px)}
  .concept-notes__intro>p:not(.section-label){font-size:17px}
  .concept-notes__point p,.concept-notes__faq p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .js-motion .reveal{opacity:1;transform:none}
}

/* KORA: longer physiotherapy copy must clear the metric tile on tablet. */
@media (min-width:768px) and (max-width:991px){.hero-feature{transform:translateY(30px)}}

/* KORA: keep the metric visible while giving the practice image its own space. */
.hero-feature{position:absolute;right:max(32px,calc((100% - 1310px)/2));bottom:-170px;z-index:2;display:grid;width:min(390px,calc(100% - 64px));min-height:0;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:18px;padding:17px 22px;background:rgba(169,86,62,.94);box-shadow:0 14px 40px rgba(0,0,0,.16);backdrop-filter:blur(8px);transform:none}
.hero-feature strong{font-size:68px;line-height:.9}
.hero-feature h2{max-width:none;margin:0 0 6px;font-size:17px}
.hero-feature p{max-width:none;font-size:13px;line-height:1.32}

/* Three treatment moments, connected by a drawn route and a moving light. */
.about-top__drawing{width:min(94%,460px);margin-top:20px;opacity:1}
.journey-preview{position:relative;padding:0 0 2px;color:var(--ink)}
.journey-preview__cap{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:var(--muted);font:700 10px/1.3 "Inter Tight",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.journey-preview__cap span{display:block;width:20px;height:2px;background:var(--orange)}
.journey-preview__svg{display:block;width:100%;height:auto;overflow:visible}
.journey-preview__track{stroke:var(--line);stroke-width:2;stroke-linecap:round}
.journey-preview__active{stroke:url(#pathGradient);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:520;stroke-dashoffset:520;animation:journeyDraw 2s cubic-bezier(.22,1,.36,1) forwards,journeyBreath 4s ease-in-out 2s infinite;filter:url(#softGlow)}
.journey-preview__arrow{stroke:var(--orange);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.journey-runner{fill:var(--white);stroke:var(--orange);stroke-width:2;filter:url(#softGlow)}
.journey-node__halo{fill:rgba(169,86,62,.1);stroke:rgba(169,86,62,.22);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:journeyPulse 2.8s ease-out infinite}
.journey-node__dot{fill:var(--orange);stroke:var(--white);stroke-width:2}
.journey-node--active .journey-node__dot{filter:drop-shadow(0 0 8px rgba(169,86,62,.44))}
.journey-preview__steps{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;margin-top:-5px}
.journey-step{display:flex;min-width:0;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--line)}
.journey-step b{color:var(--ink);font:750 12px/1.2 "Cabinet",Arial,sans-serif;letter-spacing:.025em}
.journey-step span{color:var(--muted);font:400 11px/1.35 "Inter Tight",Arial,sans-serif}
.journey-step--active{padding-top:9px;border-top:2px solid var(--orange)}
.journey-step--active b{color:var(--orange)}
@keyframes journeyDraw{to{stroke-dashoffset:0}}
@keyframes journeyBreath{0%,100%{opacity:.88}50%{opacity:1}}
@keyframes journeyPulse{0%,100%{transform:scale(.88);opacity:.55}50%{transform:scale(1.16);opacity:.9}}
@media(max-width:767px){
  .hero-bottom{bottom:16px;display:grid;grid-template-columns:1fr;gap:14px}
  .hero-bottom__left{min-height:0;padding:0 16px}
  .hero-feature{position:relative;right:auto;bottom:auto;width:calc(100% - 32px);min-height:0;grid-template-columns:62px minmax(0,1fr);gap:14px;margin-inline:16px;padding:13px 16px;backdrop-filter:none}
  .hero-feature strong{font-size:54px}
  .hero-feature h2{margin-bottom:4px;font-size:14px}
  .hero-feature p{font-size:12px}
}
@media(max-width:390px){.hero-feature{grid-template-columns:54px minmax(0,1fr);gap:10px;padding:12px}.hero-feature strong{font-size:48px}.hero-feature h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){.journey-preview__active,.journey-node__halo{animation:none}.journey-preview__active{stroke-dashoffset:0}.journey-runner{display:none}}
