:root{
  --navy:#16233d;--navy-deep:#0f1a2e;--gold:#cdaf73;--gold-bright:#e2b64c;--gold-deep:#b0842a;
  --cream:#fbf7ef;--paper:#ffffff;--ink:#1f2433;--muted:#5b6275;--line:rgba(205,175,115,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-deep)}
.container{max-width:1120px;margin:0 auto;padding:0 20px}

/* header */
.site-header{background:var(--navy);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(205,175,115,.25)}
.sh-inner{max-width:1120px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-family:'Cinzel',serif;font-weight:700;letter-spacing:.14em;color:#fff;text-decoration:none;font-size:1.02rem;white-space:nowrap}
.brand span{color:var(--gold-bright)}
.site-nav{display:flex;gap:18px;flex-wrap:nowrap}
.site-nav a{color:#d9dde7;text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;padding:4px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a.on{color:#fff;border-bottom-color:var(--gold-bright)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--gold-bright);margin:5px 0}
@media (max-width:1080px){
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);flex-direction:column;gap:0;padding:6px 20px 16px;border-bottom:1px solid rgba(205,175,115,.25)}
  .site-nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  body.nav-open .site-nav{display:flex}
}

/* page hero */
.page-hero{background:
  radial-gradient(ellipse 70% 60% at 78% 30%, rgba(242,196,96,.30), transparent 60%),
  linear-gradient(180deg,#eef3f8 0%,#fbf4e6 60%,#f6e7c8 100%);padding:56px 0 48px;text-align:center}
.kicker{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px}
.kicker::before,.kicker::after{content:"";width:34px;height:2px;background:var(--gold-deep)}
h1,.h1{font-family:'Cinzel',serif;font-weight:700;color:var(--navy);font-size:clamp(1.9rem,4vw,3rem);line-height:1.15;margin-bottom:12px}
h2,.h2{font-family:'Cinzel',serif;font-weight:700;color:var(--navy);font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.2;margin-bottom:12px}
h3{color:var(--navy);font-size:1.1rem;line-height:1.35;margin-bottom:6px}
.sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.2rem,2vw,1.45rem);color:var(--navy);max-width:720px;margin:0 auto}
section{padding:56px 0}
.section-dark{background:var(--navy);color:#e7eaf1}
.section-dark h2,.section-dark h3{color:#fff}
.center{text-align:center}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.88rem;color:var(--navy-deep);
  background:linear-gradient(180deg,#f3cf72 0%,var(--gold-bright) 45%,var(--gold-deep) 100%);padding:15px 28px;border-radius:999px;border:0;cursor:pointer;
  box-shadow:0 8px 22px rgba(176,132,42,.32),inset 0 1px 0 rgba(255,255,255,.6);transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;color:var(--navy);border:2px solid var(--gold);padding:12px 22px;border-radius:999px}
.section-dark .btn-ghost{color:#fff}

/* video */
.player-wrap{max-width:960px;margin:0 auto}
.player-label{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:14px}
.player-label .dot{width:9px;height:9px;border-radius:50%;background:var(--gold-bright)}
.player-label.live .dot{background:#e53935;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.player{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 24px 50px rgba(15,26,46,.28)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player-meta{margin-top:18px}
.player-meta .date{color:var(--muted);font-size:.85rem;font-weight:600}
.player-meta p{color:var(--ink);margin-top:8px;white-space:pre-line}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.vcard{background:var(--paper);border:1px solid #eadfc6;border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.vcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,26,46,.12)}
.vcard img{aspect-ratio:16/9;object-fit:cover;width:100%}
.vcard .vb{padding:14px 16px 16px}
.vcard .vt{font-weight:700;color:var(--navy);font-size:.95rem;line-height:1.35}
.vcard .vd{color:var(--muted);font-size:.78rem;font-weight:600;margin-top:6px;letter-spacing:.03em}
.search{display:block;width:100%;max-width:420px;margin:0 auto 26px;padding:13px 18px;border:1px solid #dccfaf;border-radius:999px;font:inherit;background:#fff}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{background:var(--paper);border:1px solid #eadfc6;border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:8px}
.card .tag{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.card p{color:var(--muted);flex:1}
.card .btn-ghost{align-self:flex-start;margin-top:10px}

/* about */
.about-hero{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;text-align:left}
.about-hero img{border-radius:14px;box-shadow:0 20px 44px rgba(15,26,46,.25);border:4px solid #fff}
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.roles span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;color:var(--navy)}
.prose{max-width:760px;margin:0 auto}
.prose p{margin-bottom:16px;font-size:1.04rem}
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:30px}
.timeline .card b{font-family:'Cinzel',serif;color:var(--gold-deep);font-size:1.3rem}
blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.3rem,2.4vw,1.7rem);text-align:center;max-width:820px;margin:0 auto;color:#fff;line-height:1.4}
blockquote cite{display:block;margin-top:14px;font-family:'Montserrat',sans-serif;font-style:normal;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
@media (max-width:760px){.about-hero{grid-template-columns:1fr;text-align:center}.about-hero img{max-width:240px;margin:0 auto}.roles{justify-content:center}}

/* footer */
.site-footer{background:var(--navy-deep);color:#aeb4c3;padding:40px 20px 22px}
.sf-inner{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.sf-tag{font-size:.85rem;margin-top:8px;max-width:420px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 20px;align-content:flex-start;max-width:520px}
.site-footer nav a{color:#d9dde7;text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:.06em}
.site-footer nav a:hover{color:var(--gold-bright)}
.sf-copy{text-align:center;font-size:.75rem;margin-top:30px;letter-spacing:.04em;color:#8f97aa}

/* logo (2026-10-04) */
.brand{display:inline-flex;align-items:center;gap:12px}
.brand img{width:44px;height:44px;flex:none;display:block}
.site-footer .brand{margin-bottom:10px}
.site-footer .brand img{width:56px;height:56px}
@media(max-width:480px){.site-header .brand{font-size:.84rem;gap:8px;letter-spacing:.1em}.site-header .brand img{width:36px;height:36px}}
