.hero { height:100vh; min-height:680px; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.hero-img { overflow:hidden; position:relative; }
.hero-img img { width:100%; height:100%; object-fit:cover; object-position:center top; animation:slowZoom 14s ease-out forwards; display:block; }
.hero-img::after { content:""; position:absolute; inset:0; background:linear-gradient(to right,rgba(27,51,80,0.1),transparent); }
.hero-panel { background:var(--navy); display:flex; flex-direction:column; justify-content:center; padding:calc(var(--nav-h) + 60px) 72px 72px 80px; position:relative; overflow:hidden; }
.hero-panel::before { content:""; position:absolute; bottom:-200px; right:-200px; width:440px; height:440px; border-radius:50%; border:1px solid rgba(255,255,255,0.05); }
.hero-panel::after { content:""; position:absolute; bottom:-100px; right:-100px; width:290px; height:290px; border-radius:50%; border:1px solid rgba(255,255,255,0.07); }
.eyebrow { font-size:10px; letter-spacing:.25em; text-transform:uppercase; color:var(--terracotta); display:flex; align-items:center; gap:12px; margin-bottom:28px; animation:fadeUp .9s ease .4s both; }
.eyebrow::before { content:""; width:28px; height:1px; background:var(--terracotta); }
.hero-h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(50px,5.5vw,74px); font-weight:300; line-height:1.05; color:#fff; margin-bottom:30px; animation:fadeUp .9s ease .6s both; letter-spacing:-.01em; }
.hero-h1 em { font-style:italic; color:rgba(255,255,255,0.90); }
.hero-body { font-size:17px; line-height:1.85; color:rgba(255,255,255,0.75); max-width:370px; margin-bottom:46px; font-weight:300; animation:fadeUp .9s ease .8s both; }
.hero-btns { display:flex; flex-direction:column; gap:14px; animation:fadeUp .9s ease 1s both; }
.hero-ghost { color:rgba(255,255,255,0.65); font-size:14px; letter-spacing:.06em; text-decoration:none; font-weight:300; transition:color .3s; }
.hero-ghost:hover { color:rgba(255,255,255,0.8); }
.hero-creds { position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,0.22); backdrop-filter:blur(8px); display:flex; animation:fadeUp .9s ease 1.2s both; }
.cred { flex:1; padding:17px 24px; border-right:1px solid rgba(255,255,255,0.07); display:flex; flex-direction:column; gap:3px; }
.cred:last-child { border-right:none; }
.cred-label { font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,0.75); }
.cred-val { font-family:"Cormorant Garamond",serif; font-size:17px; color:rgba(255,255,255,0.8); font-weight:300; }
.scroll-hint { position:absolute; bottom:84px; left:20px; display:flex; flex-direction:column; align-items:center; gap:8px; z-index:10; }
.scroll-hint span { font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,0.75); writing-mode:vertical-rl; }
.scroll-line { width:1px; height:42px; background:linear-gradient(to bottom,rgba(255,255,255,0.28),transparent); animation:scrollPulse 2s ease infinite 2s; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); background:var(--cream); }
.card { padding:52px 46px; border-right:1px solid rgba(0,0,0,0.07); transition:background .3s; text-decoration:none; color:inherit; display:block; }
.card:last-child { border-right:none; }
.card:hover { background:rgba(27,51,80,0.04); }
.card-num { font-family:"Cormorant Garamond",serif; font-size:40px; font-weight:300; color:var(--navy); opacity:.12; line-height:1; margin-bottom:15px; }
.card-title { font-family:"Cormorant Garamond",serif; font-size:22px; font-weight:400; color:var(--navy); margin-bottom:10px; }
.card-text { font-size:15.5px; line-height:1.75; color:var(--text-mid); font-weight:300; }
.card-link { display:inline-flex; align-items:center; gap:7px; margin-top:20px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--navy); opacity:.45; transition:opacity .3s; }
.card:hover .card-link { opacity:1; }
