/* Approved digital spruce: original engraving, live text, one full-bleed field. */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:0;background:#222c26;color:#f3f0e8;--ink:#f3f0e8;--dim:#c5cebe;--line:#55664f}
.hero-ambient{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background:#222c26}
.spruce-art{position:absolute;right:0;top:-3%;width:auto;height:110%;max-width:none;aspect-ratio:680/1000;overflow:visible}
/* Only the copy side fades; the right-hand silhouette and fine tips stay clear. */
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#222c26 0%,#222c26e8 34%,#222c2640 57%,transparent 70%)}
.hero>.wrap{max-width:1440px;min-height:max(700px,calc(100svh - var(--header) - 1px));display:flex;flex-direction:column}
.hero-layout{display:flex;flex:1;align-items:center;min-height:0;position:relative;gap:0;padding:66px 0 86px}
.hero-copy{position:relative;z-index:2;padding:22px 0 42px;width:100%}
.hero-copy h1{font-size:clamp(50px,4.65vw,78px);line-height:1.11;letter-spacing:-.052em;white-space:nowrap;text-wrap:nowrap}
.hero-copy h1 em{color:#b9c7b4}
.hero-copy .eyebrow{color:#c5cebe;font-size:10px;letter-spacing:.15em;margin-bottom:29px}
.hero-deck{max-width:470px;font-size:16px;line-height:1.85;margin-top:28px;color:#c5cebe}
.hero-actions{margin-top:31px;gap:28px;flex-direction:row;align-items:center}
.hero .button{background:#e6eadf;border-color:#e6eadf;color:#252d29}
.hero .button:hover{background:#b9c7b4;border-color:#b9c7b4}
.hero .text-link{color:#e6eadf;border-color:#798772;font-size:12px}
.hero :is(a,button):focus-visible{outline-color:#e6eadf}
.hero-motion{flex-shrink:0;min-height:44px;border:0;background:none;padding:6px 4px;color:#e6eadf;font-size:10px;line-height:1.6;display:inline-flex;align-items:center;gap:9px;margin-left:auto}
.hero-motion:hover{text-decoration:underline;text-underline-offset:5px}
.hero-motion[hidden]{display:none}
.motion-icon{width:8px;height:10px;border-inline:2px solid currentColor}
[data-motion='paused'] .motion-icon,[data-motion='finished'] .motion-icon{height:0;border:5px solid transparent;border-left:7px solid currentColor;border-right:0}
.hero-foot{margin-top:0;border:0;padding:13px 0 22px;color:#c5cebe;font-size:11px;position:relative;z-index:2;align-items:center;gap:40px}
.hero-foot a{min-height:44px;align-items:center;color:#e6eadf}
.hero-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-botanical{position:absolute;right:0;bottom:24px;z-index:2;margin:0;max-width:100%;font-size:12px;line-height:1.6;font-style:normal;color:#e6eadf}
.hero-botanical em{font-style:italic}
/* One 14s breath. Each original fan bends about its own stem junction, with a
   0.7s total lag down the tree. Tips travel farther than the anchored centre.
   Grid, alignment marks and all HTML remain still; no JS frame loop. */
.spruce-tree{transform-origin:937px 850px;transform-box:view-box}
.spruce-fan{transform-origin:var(--origin);transform-box:view-box}
:is([data-motion='running'],[data-motion='paused']) .spruce-tree{animation:spruce-bend 14s ease-in-out infinite}
:is([data-motion='running'],[data-motion='paused']) .spruce-fan{animation:spruce-branch 14s ease-in-out var(--lag) infinite}
:is([data-motion='paused'],[data-suspended='true']) :is(.spruce-tree,.spruce-fan){animation-play-state:paused}
@keyframes spruce-bend{0%,100%{transform:skewX(0deg)}25%{transform:skewX(-.65deg)}75%{transform:skewX(.65deg)}}
@keyframes spruce-branch{0%,100%{transform:rotate(0deg)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}
@media(min-width:1600px){.hero-copy h1{font-size:76px}.hero-copy .eyebrow{font-size:11px}.hero-deck{font-size:17px;max-width:500px}}
@media(max-width:1100px){.hero-copy h1{font-size:4.65vw}.hero-copy .eyebrow{font-size:8px}.hero-deck{font-size:14px;max-width:365px}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding-inline:17px}.hero-actions .text-link{font-size:10px}.hero-motion{font-size:9px}}
@media(max-width:900px){.hero>.wrap{min-height:max(800px,calc(100svh - var(--header) - 1px))}.hero-layout{align-items:flex-start;padding:100px 0 270px}.hero-copy{padding:0;max-width:660px;margin-inline:auto}.hero-copy h1{font-size:clamp(46px,7.2vw,64px)}.hero-copy .eyebrow{font-size:10px;max-width:none}.hero-deck{max-width:525px;font-size:16px;margin-top:24px}.hero-actions{margin-top:25px;gap:27px}.hero-actions .button{font-size:13px}.hero-actions .text-link{font-size:12px}.hero-motion{font-size:11px}.hero-foot{gap:28px}.spruce-art{right:-5%;top:0;height:100%}.hero::after{background:linear-gradient(180deg,#222c2680 0%,#222c26c7 40%,transparent 75%),linear-gradient(90deg,#222c26cc,transparent 80%)}}
@media(max-width:600px){.hero>.wrap{min-height:max(560px,calc(100svh - var(--header) - 141px))}.hero-layout{padding:65px 0 285px}.hero-copy h1{font-size:clamp(31px,8.35vw,49px);line-height:1.15;letter-spacing:-.052em}.hero-copy .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:24px}.hero-deck{font-size:14px;line-height:1.8;margin-top:23px}.hero-actions{gap:20px;margin-top:24px}.hero-actions .button{font-size:12px;gap:22px;padding-inline:17px}.hero-actions .text-link{font-size:10px}.hero-motion{font-size:10px;margin:0;grid-row:1;grid-column:2;justify-self:end}.hero-foot{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:9px;padding:10px 0 18px}.hero-foot>span{max-width:210px;grid-column:1;grid-row:1}.hero-foot a{gap:10px;white-space:nowrap;grid-column:1/-1;justify-self:start}.spruce-art{right:-16%;height:100%;top:0}.hero::after{background:linear-gradient(180deg,#222c2640 0%,#222c26d9 40%,#222c2633 64%,transparent 78%,#222c2666 100%)}}
@media(prefers-reduced-motion:reduce){.hero :is(.spruce-tree,.spruce-fan){animation:none!important}.hero-motion{display:none}}
