.hero{height:calc(100svh - 20px);min-height:760px;max-height:1300px;background:#dce4dd;color:#263d32;display:flex;flex-direction:column;align-items:center;padding:118px 5vw 28px;position:relative;overflow:hidden;isolation:isolate}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 60%,#f8f7ec 0%,#edf0e55c 38%,transparent 70%)}.header{color:#263d32}.header .header-descriptor{color:#536d59}.header .brand-dot{color:#788d69}.opening-kicker{font:9px var(--mono);letter-spacing:.16em;color:#526b57;z-index:2;text-align:center}.hero .hero-title-wrap{margin:25px 0 0;text-align:center;z-index:2;pointer-events:none;position:relative}.hero h1{font-family:Georgia,serif;font-size:clamp(65px,8.3vw,150px);font-weight:400;line-height:.91;letter-spacing:-.065em;color:#293f33}.hero h1>span{color:#647f65;font-style:italic}.opening-note{position:relative;margin-top:22px;font-size:12px;color:#5a705d;z-index:2;text-align:center;max-width:350px;line-height:1.7}.opening-canvas{position:absolute;left:0;top:30%;width:100%;height:65%;z-index:1;touch-action:pan-y;cursor:grab}.opening-canvas:active{cursor:grabbing}.opening-cta{margin-top:auto;position:relative;z-index:3;display:inline-flex;align-items:center;gap:35px;background:#2d4735;color:#faf9ec;border-radius:5px;padding:7px 7px 7px 20px;box-shadow:0 8px 22px #2f453b20;font:10px var(--mono);letter-spacing:.08em;transition:background .25s,translate .25s}.opening-cta span:last-child{display:grid;place-items:center;width:35px;height:35px;border-radius:3px;background:#c3d1b8;color:#2d4735;font-size:21px}.opening-cta:hover{background:#4c6950;translate:0 -3px}.opening-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border-top:1px solid #778d7440;padding-top:18px;margin-top:24px;z-index:3;position:relative;color:#526b57;font:8px var(--mono);letter-spacing:.04em}.opening-footer button{font:inherit;padding:5px 0}.opening-footer button:hover{color:#172e21}.opening-view{display:flex;gap:12px;align-items:center}.opening-view>span{height:5px;width:5px;background:#69846a;border-radius:50%;box-shadow:0 0 0 5px #829a7210}.opening-axis{position:absolute;right:4%;top:53%;font:8px var(--mono);letter-spacing:.13em;writing-mode:vertical-rl;color:#7a8f78;z-index:2}.opening-index{position:absolute;left:5%;top:55%;color:#859b82;font:9px var(--mono);line-height:1.8;z-index:2}.hero a:focus-visible,.hero button:focus-visible,.opening-canvas:focus-visible{outline:2px solid #37533c;outline-offset:5px}.motion-paused .opening-cta{transition:none}.opening-fallback{position:absolute;inset:45% 10% 15%;border:1px solid #9aaa92;border-radius:50%;transform:rotate(-12deg);pointer-events:none}.hero[data-canvas-ready=true] .opening-fallback{display:none}
@media(min-width:1900px){.hero{max-height:none;min-height:1000px;padding-top:150px}.hero h1{font-size:clamp(150px,8vw,290px)}.opening-kicker,.opening-note{font-size:16px}.opening-note{max-width:550px}.opening-cta{font-size:13px;padding:10px 10px 10px 25px}.opening-footer{font-size:11px}}
@media(max-width:1000px){.hero h1{font-size:8.3vw}.opening-footer{font-size:7px}.opening-axis{right:3%;font-size:7px}.opening-index{font-size:7px}}
@media(max-width:700px){.hero{height:calc(100svh - 12px);min-height:700px;padding:100px 22px 24px}.header .menu-toggle{color:#293f33}.header nav.open{color:white}.opening-kicker{font-size:7px;letter-spacing:.1em}.hero .hero-title-wrap{margin-top:30px}.hero h1{font-size:clamp(48px,12.2vw,80px);line-height:.98}.opening-note{font-size:11px;max-width:250px;margin-top:22px}.opening-canvas{top:34%;height:55%;width:140%;left:-20%}.opening-axis{display:none}.opening-index{top:48%;left:7%;font-size:6px}.opening-footer{margin-top:25px;padding-top:15px;gap:14px;font-size:7px}.opening-footer>span{display:none}.opening-cta{font-size:9px;padding-left:16px;gap:20px}.opening-cta span:last-child{width:30px;height:30px}}
.hero{height:auto;min-height:min(780px,90svh);padding-top:150px;padding-bottom:28px}.hero .opening-cta{margin-top:48px}.hero .opening-footer{margin-top:85px}.hero .hero-title-wrap{margin-top:35px}
@media(max-width:700px){.hero{min-height:620px;padding-top:115px}.hero .opening-cta{margin-top:38px}.hero .opening-footer{margin-top:65px;justify-content:flex-end}}
@media(min-width:1900px){.hero{min-height:1000px;padding-top:170px}}
@media(prefers-reduced-motion:reduce){.opening-cta{transition:none}}
