/* Home hero v3: every selector is confined to the new main-home section. */
.hero-v3 { position:relative; isolation:isolate; height:720px; overflow:hidden; background:#141316; color:#f2ece7; font-family:Inter,sans-serif; }
.hero-v3 * { box-sizing:border-box; }
.hero-v3-glow, .hero-v3-grid, .hero-v3-grain { position:absolute; pointer-events:none; z-index:-1; }
.hero-v3-glow { width:1000px; height:760px; }
.hero-v3-glow--copper { right:-160px; top:60px; background:radial-gradient(closest-side,rgba(201,116,78,.17),transparent); animation:hero-v3-gradient-drift 18s ease-in-out infinite alternate; }
.hero-v3-glow--wine { left:-260px; bottom:-340px; background:radial-gradient(closest-side,rgba(145,77,77,.26),transparent); animation:hero-v3-gradient-drift 24s ease-in-out -12s infinite alternate-reverse; }
@keyframes hero-v3-gradient-drift { from { transform:translate3d(-70px,40px,0) scale(.95); } to { transform:translate3d(140px,-100px,0) scale(1.2); } }
.hero-v3-grid { inset:0; background-image:linear-gradient(rgba(242,236,231,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(242,236,231,.045) 1px,transparent 1px); background-size:88px 88px; mask-image:radial-gradient(ellipse 70% 70% at 60% 45%,#000 0%,transparent 75%); }
.hero-v3-grain { inset:0; }
.hero-v3-container { width:100%; max-width:1240px; height:100%; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:48px; align-items:center; }
.hero-v3-copy { min-width:0; }
.hero-v3 .eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 22px; color:#e3a27f; font-size:12px; line-height:1.6; font-weight:700; letter-spacing:.16em; }
.hero-v3 .eyebrow::before { content:none; }
.hero-v3 .eyebrow > span { flex:0 0 32px; height:1px; background:#e3a27f; }
.hero-v3 h1 { margin:0; font-family:'Playfair Display',serif; font-size:72px; line-height:1.04; font-weight:600; letter-spacing:-.01em; color:#f2ece7; }
.hero-v3 h1 em { font-weight:600; color:#ffac86; }
.hero-v3-subtitle { max-width:500px; margin:26px 0 0; font-size:18px; line-height:1.6; color:#d3ccc7; }
.hero-v3 .hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:32px 0 0; }
.hero-v3 .hero-actions a { display:inline-flex; justify-content:center; align-items:center; border-radius:8px; font-size:16px; line-height:1.5; text-decoration:none; transition:background .2s ease,border-color .2s ease; }
.hero-v3-primary { padding:17px 28px; background:#a9573a; color:white; font-weight:700; }
.hero-v3-primary:hover { background:#b8633f; }
.hero-v3-secondary { padding:16px 26px; border:1px solid rgba(242,236,231,.32); color:#f2ece7; font-weight:600; }
.hero-v3-secondary:hover { background:rgba(242,236,231,.06); border-color:#ffac86; }
.hero-v3-showcase { position:relative; height:560px; min-width:0; }
.hero-v3-arch { position:absolute; left:50%; margin-left:-235px; top:-10px; width:470px; height:600px; border:1px solid rgba(255,172,134,.32); border-radius:235px 235px 0 0; pointer-events:none; }
.hero-v3-back { position:absolute; right:-10px; top:40px; width:300px; transform:rotate(5deg); opacity:.75; border-radius:10px; overflow:hidden; background:#2a272b; box-shadow:0 24px 50px rgba(0,0,0,.45); }
.hero-v3-back img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:top; }
.hero-v3-bar { display:flex; align-items:center; gap:6px; padding:11px 14px; background:#333035; }
.hero-v3-bar i { flex:0 0 9px; height:9px; border-radius:50%; background:#5a5559; }
.hero-v3-back .hero-v3-bar { padding:8px 10px; gap:5px; }
.hero-v3-back .hero-v3-bar i { flex-basis:7px; height:7px; }
.hero-v3-domains { display:grid; flex:1; min-width:0; margin-left:12px; }
.hero-v3-domains span { grid-area:1/1; justify-self:start; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; padding:4px 12px; border-radius:999px; font-size:11px; line-height:1.5; background:#262328; color:#bdb5b0; opacity:0; transition:opacity .3s ease; }
.hero-v3-domains .is-current { opacity:1; }
.hero-v3-front { position:absolute; left:0; right:40px; top:110px; animation:hero-v3-float 7s ease-in-out infinite; }
.hero-v3-window { overflow:hidden; border-radius:14px; background:#2a272b; border:1px solid rgba(242,236,231,.08); box-shadow:0 40px 80px rgba(0,0,0,.55); }
.hero-v3-screen { position:relative; aspect-ratio:16/9; }
.hero-v3-screen img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:top; opacity:0; transition:opacity .45s ease; }
.hero-v3-screen .is-current { opacity:1; }
.hero-v3-badges { position:absolute; left:-28px; bottom:-44px; display:grid; }
.hero-v3-badge { grid-area:1/1; display:flex; align-items:center; gap:14px; padding:14px 18px 14px 14px; border:1px solid rgba(255,172,134,.3); border-radius:12px; background:rgba(26,24,28,.92); backdrop-filter:blur(8px); box-shadow:0 20px 40px rgba(0,0,0,.45); text-decoration:none; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.hero-v3-badge.is-current { opacity:1; pointer-events:auto; }
.hero-v3-badge > img { flex:0 0 26px; width:26px; height:34px; object-fit:contain; }
.hero-v3-badge-copy { display:flex; flex-direction:column; min-width:230px; }
.hero-v3-badge-label { font-size:10px; line-height:1.5; font-weight:700; letter-spacing:.16em; color:#e3a27f; }
.hero-v3-badge strong { margin-top:4px; font-size:15px; line-height:1.4; font-weight:700; color:#f2ece7; }
.hero-v3-segment { margin-top:2px; font-size:12px; line-height:1.5; color:#bdb5b0; }
.hero-v3-badge-arrow { font-size:16px; color:#ffac86; }
.hero-v3-indicators { position:absolute; right:40px; bottom:6px; display:flex; gap:8px; align-items:center; }
.hero-v3-indicators button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:none; color:#d3ccc7; cursor:pointer; }
.hero-v3-indicators [data-hero-indicator] span { display:block; width:8px; height:8px; border-radius:999px; background:rgba(242,236,231,.25); transition:width .3s ease,background .3s ease; }
.hero-v3-indicators [data-hero-indicator][aria-pressed="true"] span { width:24px; background:#ffac86; }
.hero-v3 a:focus-visible, .hero-v3 button:focus-visible { outline:2px solid #ffac86; outline-offset:5px; }
.hero-v3-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@keyframes hero-v3-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@media (min-width:901px) and (max-width:1100px) { .hero-v3 h1 { font-size:60px; } .hero-v3-container { gap:32px; } .hero-v3 .hero-actions a { padding-inline:20px; font-size:14px; } }
@media (max-width:900px) {
  .hero-v3 { height:auto; padding:40px 0; }
  .hero-v3-container { height:auto; padding:0 24px; grid-template-columns:minmax(0,1fr); gap:40px; }
  .hero-v3 h1 { font-size:44px; line-height:1.08; }
  .hero-v3 .eyebrow { font-size:11px; }
  .hero-v3-subtitle { max-width:100%; font-size:16px; }
  .hero-v3 .hero-actions { flex-direction:column; }
  .hero-v3 .hero-actions a { width:100%; }
  .hero-v3-showcase { height:auto; }
  .hero-v3-arch, .hero-v3-back { display:none; }
  .hero-v3-front { position:relative; inset:auto; width:100%; animation:none; }
  .hero-v3-badges { position:static; width:100%; margin-top:14px; }
  .hero-v3-badge { width:100%; gap:10px; padding:14px; }
  .hero-v3-badge-copy { flex:1; min-width:0; }
  .hero-v3-indicators { position:static; justify-content:center; margin-top:14px; }
}
@media(prefers-reduced-motion:reduce) { .hero-v3-front, .hero-v3-glow { animation:none; } .hero-v3 *, .hero-v3 *::before, .hero-v3 *::after { transition:none !important; } }

/* The main-home header sits over the hero, then contracts into a dark pill. */
body.home-hero-v3 { padding-top:0; }
.home-hero-v3 .hero-v3 { height:820px; padding-top:100px; box-sizing:border-box; }
.home-hero-v3 #site-header {
  left:50%; right:auto; top:0; width:100%; transform:translateX(-50%);
  background:transparent !important; border:1px solid transparent; border-radius:0;
  box-shadow:none; backdrop-filter:none;
  transition:width .3s ease,top .3s ease,height .3s ease,min-height .3s ease,border-radius .3s ease,background .3s ease,box-shadow .3s ease;
}
.home-hero-v3 #site-header.is-scrolled {
  top:12px; width:min(1240px,calc(100% - 48px)); height:68px; min-height:68px;
  border-radius:999px; border-color:rgba(242,236,231,.09);
  background:rgba(12,11,14,.96) !important; backdrop-filter:blur(16px);
  box-shadow:0 12px 36px rgba(0,0,0,.3);
}
.home-hero-v3 #site-header.is-scrolled .nav-shell { width:100%; height:66px; min-height:66px; padding:0 24px; gap:16px; }
@media (max-width:900px) {
  .home-hero-v3 .hero-v3 { height:auto; padding:112px 0 40px; }
  .home-hero-v3 #site-header.is-scrolled { top:10px; width:calc(100% - 24px); height:64px; min-height:64px; }
  .home-hero-v3 #site-header.is-scrolled .nav-shell { height:62px; min-height:62px; padding:0 14px; }
}
@media (prefers-reduced-motion:reduce) { .home-hero-v3 #site-header { transition:none; } }
