/* HOME PAGE STYLES */
.hero { min-height:100vh; display:flex; flex-direction:column; justify-content:center; background:var(--white); position:relative; padding-top:var(--nav-h); }
.hero-inner { padding:5rem 0 3rem; }
.hero-kicker { font-size:.68rem; font-weight:400; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:1rem; margin-bottom:2rem; opacity:0; animation:fade-up .9s var(--ease-out,.2s) .2s forwards; }
.hero-kicker::before { content:''; width:28px; height:1px; background:var(--gold); }
.hero-name { font-family:var(--ff-serif); font-size:clamp(4.5rem,10vw,8.5rem); font-weight:400; line-height:.92; letter-spacing:-.02em; margin-bottom:2rem; overflow:hidden; }
.word { display:block; opacity:0; transform:translateY(100%); }
.word:nth-child(1) { animation:word-in 1s var(--ease-out) .4s forwards; }
.word:nth-child(2) { animation:word-in 1s var(--ease-out) .55s forwards; }
.accent { color:var(--gold); font-style:italic; }
.hero-tagline { font-family:var(--ff-serif); font-size:clamp(1rem,2vw,1.35rem); font-weight:400; font-style:italic; color:var(--text-2); line-height:1.6; margin-bottom:3rem; max-width:480px; opacity:0; animation:fade-up .9s var(--ease-out) .8s forwards; }
.hero-tagline strong { font-style:normal; font-weight:400; color:var(--gold); }
.hero-actions { display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; opacity:0; animation:fade-up .9s var(--ease-out) 1s forwards; }
.hero-rule { position:absolute; bottom:0; left:0; right:0; height:1px; background:var(--border); }
@keyframes word-in { to{opacity:1;transform:translateY(0)} }
@keyframes fade-up { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
.home-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.home-intro-text { font-size:1rem; color:var(--text-2); line-height:1.85; margin-bottom:1.2rem; }
.home-cards { display:flex; flex-direction:column; gap:1px; }
.home-card { display:grid; grid-template-columns:44px 1fr 20px; gap:1.5rem; align-items:center; padding:1.5rem; background:var(--off-white); border:1px solid var(--border); border-top:none; transition:background .3s,border-color .3s; }
.home-card:first-child { border-top:1px solid var(--border); }
.home-card:hover { background:var(--stone); border-color:var(--gold-l); }
.hc-n { font-family:var(--ff-serif); font-size:.85rem; font-style:italic; color:var(--text-3); }
.hc-title { font-family:var(--ff-serif); font-size:1rem; font-weight:400; color:var(--text); margin-bottom:.3rem; }
.hc-desc { font-size:.85rem; color:var(--text-2); line-height:1.6; }
.hc-arrow { font-size:1rem; color:var(--gold); transition:transform .3s; }
.home-card:hover .hc-arrow { transform:translateX(4px); }
.home-role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top:0; }
.role-card { background:var(--white); padding:2.5rem 2rem; transition:background .3s; }
.role-card:hover { background:var(--stone); }
.role-icon { font-size:1.4rem; margin-bottom:1rem; }
.role-title { font-family:var(--ff-serif); font-size:1.1rem; font-weight:400; color:var(--text); margin-bottom:.6rem; }
.role-desc { font-size:.88rem; color:var(--text-2); line-height:1.8; }
@media(max-width:900px) { .home-intro-grid { grid-template-columns:1fr; gap:3rem; } .home-role-grid { grid-template-columns:1fr; } }
