/* Full-screen homepage hero from the supplied reference. */
.page-index{--wrap:1280px;--pad:clamp(24px,6vw,90px);--on-dark:#ece9e2;--ease:cubic-bezier(.2,.8,.2,1)}
/* hero */
.hero{position:relative;height:100svh;min-height:640px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:linear-gradient(160deg,#1d3024 0%,#13241b 58%,#0c1812 100%)}
.hero .plate{position:absolute;inset:0;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 30%}
.hero-sky{transform-origin:50% 40%;animation:skyDrift 38s ease-in-out infinite alternate;will-change:transform}
.hero-bld{z-index:1}
@keyframes skyDrift{from{transform:translate3d(-2.2%,0,0) scale(1.07)}to{transform:translate3d(2.2%,.5%,0) scale(1.1)}}
.hero-scrim{position:absolute;inset:0;z-index:2;background:
  linear-gradient(90deg,rgba(10,21,15,.58) 0%,rgba(10,21,15,.28) 46%,rgba(10,21,15,.06) 100%),
  linear-gradient(180deg,rgba(10,21,15,.42),rgba(10,21,15,.10) 40%,rgba(9,18,13,.80))}
.hero-inner{position:relative;z-index:3;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad) clamp(46px,7vh,90px)}
.hero .label{color:rgba(255,255,255,.78);margin-bottom:26px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.6vw,62px);line-height:1.1;letter-spacing:-.015em;max-width:20ch}
.hero h1 em{font-style:italic}
.hero-sub{margin-top:22px;max-width:48ch;font-family:var(--serif);font-size:clamp(16px,1.7vw,20px);line-height:1.5;color:rgba(255,255,255,.86)}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin:clamp(26px,3.2vw,40px) 0 clamp(28px,3.6vw,46px)}
.hero-foot{display:flex;gap:clamp(26px,4vw,56px);flex-wrap:wrap}
.hf{display:flex;flex-direction:column;gap:7px}
.hf-n{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.2vw,40px);color:#fff;letter-spacing:-.01em;line-height:1;font-variant-numeric:tabular-nums}
.hf-l{font-family:var(--sans);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.hf-l sup{font-size:.85em}
.hero-note{margin-top:22px;font-family:var(--sans);font-size:10.5px;line-height:1.55;color:rgba(255,255,255,.55);max-width:64ch}
.scrolltip{position:absolute;bottom:26px;right:var(--pad);z-index:3;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:10px}
.scrolltip::after{content:"";width:1px;height:34px;background:rgba(255,255,255,.5);transform-origin:top;animation:drop 2.2s ease-in-out infinite}
@keyframes drop{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}
@keyframes heroUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hero-inner .label{animation:heroUp 1s var(--ease) both}
.hero-inner h1{animation:heroUp 1.05s var(--ease) .12s both}
.hero-sub{animation:heroUp 1.05s var(--ease) .26s both}
.hero-cta{animation:heroUp 1.05s var(--ease) .36s both}
.hero-foot,.hero-note{animation:heroUp 1.05s var(--ease) .46s both}
.scrolltip{animation:heroUp 1s ease .8s both}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:16px 30px;border:1px solid currentColor;cursor:pointer;transition:background .25s,color .25s,border-color .25s;background:none;line-height:1.2}
.btn .ar{transition:transform .25s}
.btn:hover .ar{transform:translateX(5px)}
.btn-light{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
.btn-light:hover{background:#fff;border-color:#fff}
.btn-outline{border-color:rgba(236,233,226,.45);color:var(--on-dark)}
.btn-outline:hover{border-color:#fff;color:#fff}
.btn-dark{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.btn-dark:hover{background:var(--green);border-color:var(--green);color:#fff}
.btn-block{width:100%;justify-content:center}


/* Retain the existing navigation and investor request flow. */
.page-index .site-header{position:absolute;inset:0 0 auto;min-height:88px;height:auto;padding:26px var(--pad);background:transparent;color:#fff;border:0}
.page-index .site-header .brand{font-size:19px;letter-spacing:.42em;font-weight:600;gap:11px}
.page-index .site-header .brand span{width:28px;height:28px;font-size:12px;letter-spacing:.1em}
.page-index .site-header .login-link{color:inherit}
.page-index .site-header .nav-cta{color:inherit;border-color:currentColor}
.page-index .site-header nav>a:hover{color:inherit;opacity:.8}
.hero{height:auto;min-height:max(640px,100svh)}
.hero-inner{padding-top:180px}
.hero .label{font-size:12px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;line-height:1.5}
.hero h1{margin:0;max-width:none}
.hero h1 em{color:inherit}
.hero-sub{margin-top:26px}
.hero-cta{margin-bottom:28px}
.hero .hf-l{font-size:12px}
.hero .btn:focus-visible{outline-color:#fff}
.hero .hero-foot{margin:0}
.page-index .menu-toggle .menu-bars{display:flex;flex-direction:column;gap:6px;width:26px}
.page-index .menu-bars i{display:block;width:26px;height:1.5px;background:currentColor}
@media(max-width:1180px){
 .page-index .menu-toggle{display:flex;padding:6px;color:inherit;min-width:44px;min-height:44px;justify-content:center}
 .page-index .site-header nav{display:none;position:absolute;inset:100% 0 auto;background:var(--paper);color:var(--ink);padding:12px var(--pad) 24px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);max-height:calc(100svh - 100px);overflow-y:auto}
 .page-index .site-header nav.open{display:flex}
 .page-index .site-header nav>a,.page-index .site-header .nav-cta{padding:14px 0;width:100%;font-size:14px;border:0;border-bottom:1px solid var(--line);text-align:left}
 .page-index .site-header nav>a::after{display:none}
 .page-index .site-header .nav-cta:hover{background:var(--paper-deep);color:var(--ink)}
}
@media(max-width:760px){
 .hero{min-height:max(600px,100svh)}
 .hero-inner{padding-top:160px;padding-bottom:40px}
 .hero h1{font-size:clamp(34px,6vw,46px)}
 .hero-foot{gap:22px 30px}
 .hero-cta .btn{padding:16px 22px;font-size:12px}
 .scrolltip{display:none}
}
@media(max-width:480px){
 .hero-cta{flex-direction:column;align-items:stretch}
 .hero-cta .btn{justify-content:space-between}
 .hero .label{letter-spacing:.18em}
 .hero-foot{gap:20px}
 .hero .hf-l{max-width:13ch;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .hero *,.hero *::after{animation:none!important;transition:none!important}
}

/* Keep the hero edge-to-edge on large displays. */
body.page-index{max-width:none}
.hero .hero-note{font-size:13px;color:rgba(255,255,255,.85);line-height:1.6}
.hero-note a{text-decoration:underline;text-underline-offset:3px}
.hero .btn,.hero-cta .btn{font-size:14px;letter-spacing:.08em}
@media(min-width:1001px) and (max-width:1180px){.page-index .site-header .login-link{display:block}}

/* Lighting follows local clock time; architectural detail stays legible. */
.hero{--night:0;--dusk:0}
.hero .plate{filter:brightness(calc(1 - var(--night)*.57)) saturate(calc(1 - var(--night)*.35));transition:filter 5s linear}
.hero .plate::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(8,17,46,.7),rgba(16,27,42,.28));opacity:var(--night);transition:opacity 5s linear}
.hero .hero-scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(141,87,94,.35),rgba(193,131,69,.2) 55%,transparent);opacity:var(--dusk);transition:opacity 5s linear}
.hero.sky-offscreen .hero-sky{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero .plate,.hero .plate::after,.hero .hero-scrim::after{transition:none}}
