/* Home: signature film hero + simplified editorial sections. Replaces home.css and journey.css. */
.home-shell{width:min(1240px,calc(100% - 2*var(--pad)));margin:0 auto}
.home-experience main>section{position:relative}

/* Signature hero — static by default; JS adds .is-enhanced for the scroll-scrubbed stage. */
.signature{position:relative;margin-top:-90px;height:auto;--p:1}
.signature.is-enhanced{height:240svh}
.signature-stage{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--ink-green);isolation:isolate}
.signature.is-enhanced .signature-stage{position:sticky;top:0}
.signature-film{position:absolute;inset:0;z-index:-2;background:radial-gradient(80% 80% at 62% 32%,#14513d 0%,var(--panel) 45%,var(--ink-green) 100%)}
.signature-scene,.signature-scene svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.signature-scene{contain:strict}
.signature-stage:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#061f18f2 0%,#061f1800 34%),linear-gradient(180deg,#061f1899 0%,#061f1800 16%)}
.signature-copy{position:absolute;left:max(var(--pad),calc((100vw - 1240px)/2));bottom:clamp(96px,15svh,150px);max-width:min(760px,88vw)}
@media (min-width:760px){.signature-copy{max-width:min(43vw,620px)}}
.signature-eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-soft);margin-bottom:22px}
.signature h1{font-size:clamp(46px,7.4vw,118px);line-height:.95;letter-spacing:-.045em;margin-bottom:34px;text-wrap:balance}
.signature h1 em{display:block;color:var(--sage-soft)}
/* Static/no-JS/reduced state: the original logo on a rolled cream field (painted surface, not a card). */
.signature-mark{position:absolute;margin:0;right:max(var(--pad),calc((100vw - 1240px)/2));top:clamp(112px,15svh,170px);width:min(40vw,600px);aspect-ratio:2/1;display:grid;place-items:center;background:linear-gradient(90deg,#0000 33.2%,#c9bea61f 33.4%,#0000 33.6%,#0000 66.5%,#c9bea61f 66.7%,#0000 66.9%),repeating-linear-gradient(90deg,#c9bea614 0 1px,#0000 1px 4px),linear-gradient(135deg,#f6f0e2,#efe7d5 55%,#e2d8c2)}
.signature-mark img{width:90%;height:auto}
.signature.has-scene.is-enhanced:not(.is-paused) .signature-mark{opacity:0;pointer-events:none}
.signature.is-paused .signature-scene,.signature:not(.is-enhanced) .signature-scene{display:none}
@media (min-width:760px){.signature.has-scene.is-enhanced:not(.is-paused) :is(.signature-eyebrow,#hero-title){opacity:calc(1 - clamp(0,(var(--p) - .6) * 12,1));transform:translateY(calc(clamp(0,(var(--p) - .6) * 12,1) * 18px))}}
.signature-foot{position:absolute;left:max(var(--pad),calc((100vw - 1240px)/2));right:max(var(--pad),calc((100vw - 1240px)/2));bottom:28px;display:flex;align-items:center;gap:20px;font-size:13px;color:var(--text-muted)}
.signature-hint{display:inline-flex;gap:10px;color:var(--cream);letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.signature-hint span:last-child{animation:hint 2.4s ease-in-out infinite}
.signature:not(.is-enhanced) .signature-hint span:last-child{animation:none}
@keyframes hint{50%{transform:translateY(4px)}}
.signature-note{margin-left:auto;font-size:12px;color:#b9c9b1a6}
.home-motion-toggle{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:8px 15px;border-radius:999px;border:1px solid #b9c9b14d;background:#061f1899;color:var(--cream);font-size:13px}
.home-motion-toggle:hover{border-color:var(--cream)}
.home-motion-toggle:disabled{opacity:.7;cursor:default}

/* Introduction */
.home-manifesto-band{position:relative;isolation:isolate;background:radial-gradient(60% 70% at 78% 46%,#0f4a33 0%,#082d2200 70%),radial-gradient(40% 50% at 8% 90%,#00964021 0%,#00964000 70%),linear-gradient(180deg,var(--ink-green) 0%,var(--forest) 34%,var(--forest) 100%)}
.home-manifesto{position:relative;isolation:isolate;padding:clamp(96px,11vw,170px) 0 clamp(80px,9vw,130px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}
.manifesto-copy{grid-column:1;grid-row:1;position:relative;z-index:2;margin-right:-16%;padding:clamp(34px,4vw,60px) clamp(28px,3.4vw,54px) clamp(34px,4vw,56px) 0;}
.manifesto-copy:before{content:"";position:absolute;z-index:-1;inset:-90px -70px -90px -12%;background:radial-gradient(farthest-side at 46% 50%,var(--forest) 0%,var(--forest) 64%,#082d22b3 82%,#082d2200 100%);pointer-events:none}
.manifesto-rule{display:block;width:72px;height:6px;margin-bottom:clamp(26px,3vw,40px);border-radius:1px;background:linear-gradient(90deg,var(--brand),#00964099 70%,#00964000);transform-origin:left center}
.manifesto-text{font-size:clamp(34px,3.9vw,60px);line-height:1.04;letter-spacing:-.035em;max-width:15ch;margin:0}
.manifesto-foot{margin-top:clamp(26px,3vw,40px);display:grid;gap:22px;justify-items:start}
.manifesto-foot p{font-size:18px;line-height:1.55;max-width:400px;margin:0;color:var(--text-muted)}
.manifesto-figure{grid-column:2;grid-row:1;position:relative;margin:0;justify-self:end;width:100%}
.manifesto-figure:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid #b9c9b138;pointer-events:none}
.manifesto-figure:after{content:"";position:absolute;right:-14px;bottom:56px;width:3px;height:34%;background:var(--brand);box-shadow:0 0 24px #00964066}
.manifesto-frame{position:relative;overflow:hidden;aspect-ratio:4/4.6;max-height:min(86svh,820px);background:var(--ink-green);box-shadow:0 50px 90px -40px #000c,0 0 0 1px #f2ecdd14}
.manifesto-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 78%;filter:saturate(.92) contrast(1.03)}
.manifesto-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061f1859 0%,#061f1800 34%),linear-gradient(0deg,#061f18b3 0%,#061f1800 30%),radial-gradient(60% 50% at 70% 30%,#f2ecdd14,#f2ecdd00);pointer-events:none}
.manifesto-figure figcaption{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 8px #061f18}
.manifesto-swatch{width:14px;height:14px;background:var(--brand);box-shadow:0 0 0 3px #f2ecdd26}
@supports (animation-timeline:view()){
@media (prefers-reduced-motion:no-preference){
.manifesto-frame{animation:mfReveal linear both;animation-timeline:view();animation-range:entry 0% cover 42%}
.manifesto-frame img{will-change:transform;animation:mfDrift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
.manifesto-rule{animation:mfRule linear both;animation-timeline:view();animation-range:entry 10% cover 34%}
.manifesto-text,.manifesto-foot{animation:mfRise linear both;animation-timeline:view()}
.manifesto-text{animation-range:entry 5% cover 30%}
.manifesto-foot{animation-range:entry 15% cover 38%}
}}
@keyframes mfReveal{from{clip-path:inset(14% 0 14% 22%)}to{clip-path:inset(0)}}
@keyframes mfDrift{from{transform:scale(1.16) translateY(-3%)}to{transform:scale(1.06) translateY(3%)}}
@keyframes mfRule{from{transform:scaleX(.15)}to{transform:none}}
@keyframes mfRise{from{opacity:.25;transform:translateY(28px)}to{opacity:1;transform:none}}

/* Real work */
.work-editorial{padding:clamp(40px,6vw,80px) 0 clamp(90px,11vw,150px)}
.home-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(36px,5vw,64px)}
.home-section-head .eyebrow{margin-bottom:18px}
.editorial-projects{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:auto auto;gap:clamp(20px,2.4vw,32px)}
.work-item{min-width:0;margin:0;padding:0}.work-item-wide{grid-row:span 2}
.work-item-wide .project-photo{aspect-ratio:auto;height:100%;min-height:440px}
.work-item .project-card{height:100%;display:flex;flex-direction:column}
.work-item-wide .project-card .project-photo{flex:1}
.work-item .project-photo{border-radius:20px;aspect-ratio:1.35}
.work-side-note{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;align-items:baseline;padding-top:12px;border-top:1px solid var(--hairline)}
.work-side-note p{font-family:var(--display);color:var(--cream);font-size:clamp(22px,2.2vw,30px);line-height:1.2}
.work-side-note>span{font-size:14px;color:var(--text-muted);max-width:300px}

/* Services */
.home-services-section{padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--hairline)}
.home-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(40px,7vw,110px)}
.services-note p{font-family:var(--display);color:var(--cream);font-size:clamp(30px,3.6vw,52px);line-height:1.04;letter-spacing:-.03em;margin:18px 0 30px}
.home-service{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--hairline);transition:padding .3s}
.home-service:first-child{border-top:1px solid var(--hairline)}
.service-name{display:flex;flex-direction:column;gap:6px;font-family:var(--display);font-size:clamp(24px,2.4vw,34px);color:var(--cream);letter-spacing:-.02em}
.service-name small{font-family:Inter,Arial,sans-serif;font-size:15px;color:var(--text-muted);letter-spacing:0}
.service-arrow{font-size:24px;color:var(--brand);transition:transform .3s}
.home-service:hover{padding-left:12px}.home-service:hover .service-arrow{transform:translate(3px,-3px)}

/* Before / after */
.home-transform{padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--hairline)}
.home-transform .eyebrow{display:none}
.home-transform-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(36px,6vw,90px);align-items:start}
.home-transform-copy>p{font-size:19px}
.comparison-hint{display:block;margin:20px 0 40px;font-size:14px;color:var(--text-muted)}
.home-process{display:grid;gap:22px}
.home-process-step h3{font-size:21px;color:var(--cream)}
.home-process-step p{font-size:15px}
.comparison-wrap .comparison{border-radius:20px;overflow:hidden}
.comparison-note{margin-top:14px;font-size:13px}

/* FAQ */
.home-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(36px,6vw,90px);max-width:1240px;padding:clamp(80px,10vw,140px) var(--pad);border-top:1px solid var(--hairline)}
.home-faq .eyebrow{margin-bottom:18px}
.home-faq .faq-list details{border-bottom:1px solid var(--hairline);padding:4px 0}
.home-faq summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-family:var(--display)}
.home-faq summary::-webkit-details-marker{display:none}
.home-faq details p{padding-bottom:22px;max-width:620px}

/* Finale */
.home-finale{background:var(--ink-green);padding:clamp(110px,14vw,190px) 0;border-top:1px solid var(--hairline)}
.finale-meta{margin-bottom:26px}
.home-finale h2{font-size:clamp(46px,7vw,110px);line-height:.96;letter-spacing:-.045em}
.home-finale h2 em{display:block}
.finale-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:56px;flex-wrap:wrap}
.finale-bottom>div{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.finale-phone{color:var(--cream);font-size:18px}
.finale-bottom p{text-align:right}

@media (max-width:900px){
  .signature{margin-top:-76px}
  .signature.is-enhanced{height:220svh}
  .signature-stage:after{background:linear-gradient(0deg,#061f18fa 0%,#061f18e6 30%,#061f1800 50%)}
  .signature-copy{left:20px;right:20px;bottom:104px;max-width:none}
  .signature h1{font-size:clamp(42px,12vw,64px);margin-bottom:26px}
  .signature-foot{left:20px;right:20px;bottom:20px;gap:12px}
  .signature-note{display:none}
  .home-motion-toggle{margin-left:auto}
  .home-manifesto{grid-template-columns:1fr;padding:clamp(64px,14vw,96px) 0 72px}
  .manifesto-figure{grid-column:1;grid-row:1;width:calc(100% - 14px)}
  .manifesto-figure:before{inset:-12px 12px 12px -12px}
  .manifesto-figure:after{right:-10px;bottom:40px}
  .manifesto-frame{aspect-ratio:4/4.3;max-height:62svh}
  .manifesto-figure figcaption{left:18px;right:auto;bottom:auto;top:16px;font-size:11px}
  .manifesto-copy:before{inset:0 -22px -20px -40px;background:linear-gradient(180deg,#082d2200 0,var(--forest) 64px,var(--forest) 100%)}
  .manifesto-frame:after{background:linear-gradient(180deg,#061f18e0 0,#061f18c7 78px,#061f1800 140px),linear-gradient(0deg,#061f18b3 0%,#061f1800 30%)}
  .manifesto-copy{grid-column:1;grid-row:2;margin:-72px 18px 0 0;padding:30px 22px 6px 0}
  .manifesto-text{font-size:clamp(30px,8.4vw,40px);max-width:none}
  .manifesto-foot p{font-size:17px}
  .home-services,.home-transform-grid,.home-faq{grid-template-columns:1fr}
  .editorial-projects{grid-template-columns:1fr}
  .work-item-wide{grid-row:auto}
  .work-item-wide .project-photo{min-height:0;aspect-ratio:1.1}
  .work-side-note{flex-direction:column}
  .home-section-head{flex-direction:column;align-items:flex-start}
  .finale-bottom p{text-align:left}
}
@media (max-height:640px) and (min-width:760px){.signature-mark{top:96px;width:min(36vw,440px)}}
@media (prefers-reduced-motion:reduce){.signature-mark,.home-service,.service-arrow{transition:none}.signature-hint span:last-child{animation:none}}
html:not(.js) .home-motion-toggle{display:none}
@media (max-width:480px){.signature-eyebrow{letter-spacing:.1em;font-size:12px}}
@media (max-width:759px){.signature-mark{left:6.5vw;right:6.5vw;top:max(112px,15svh);width:auto;aspect-ratio:1.92/1}.signature-mark img{width:98%}}
