@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-300-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-300-italic.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-italic.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/montserrat-latin-300-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-latin-600-normal.woff2) format('woff2');}

body > nav.nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; row-gap:0.6rem;
  padding:1.1rem 2rem; background:rgba(10,12,16,0.94); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid rgba(201,168,76,0.08); }
body > nav.nav .nav-brand { white-space:nowrap; font-family:'Cormorant Garamond',serif; font-weight:400; font-size:0.82rem; letter-spacing:0.3em; text-transform:uppercase; color:#c9a84c; text-decoration:none; }
body > nav.nav .nav-links { display:flex; gap:1.6rem; }
body > nav.nav .nav-link { white-space:nowrap; font-family:'Montserrat',sans-serif; font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; color:#8a9ab0; text-decoration:none; transition:color 0.2s; }
body > nav.nav .nav-link:hover, body > nav.nav .nav-link[aria-current] { color:#c9a84c; }
@media (max-width:640px) {
  body > nav.nav { justify-content:center; padding:0.85rem 1rem; }
  body > nav.nav .nav-brand { font-size:0.76rem; letter-spacing:0.2em; }
  body > nav.nav .nav-links { width:100%; justify-content:space-between; gap:0.5rem; }
  body > nav.nav .nav-link { font-size:0.62rem; letter-spacing:0.08em; }
}

footer.dse-footer { border-top:1px solid rgba(255,255,255,0.05); margin-top:4rem; padding:2.2rem 1.5rem; text-align:center; font-family:'Montserrat',sans-serif; font-size:0.7rem; letter-spacing:0.1em; color:rgba(138,154,176,0.5); text-transform:uppercase; }
footer.dse-footer a { color:inherit; text-decoration:none; }
footer.dse-footer a:hover { color:#c9a84c; }
footer.dse-footer .row { display:flex; flex-wrap:wrap; justify-content:center; gap:0.4rem 1.3rem; margin-top:0.7rem; }
footer.dse-footer .small { font-size:0.64rem; }
footer.dse-footer .note { text-transform:none; letter-spacing:0.04em; font-size:0.66rem; color:rgba(138,154,176,0.4); margin-top:0.9rem; }

.yt, .sp { position:relative; max-width:860px; margin:0 auto; border-radius:8px; overflow:hidden; background:#000; border:1px solid rgba(201,168,76,0.18); }
.yt { aspect-ratio:16/9; background:radial-gradient(ellipse at 50% 40%, #12202c 0%, #05070a 75%); }
.yt button, .sp button { all:unset; cursor:pointer; position:absolute; inset:0; display:block; }
.yt img { width:100%; height:100%; object-fit:cover; display:block; opacity:0.88; transition:opacity 0.3s; }
.yt button:hover img, .yt button:focus-visible img { opacity:1; }
.yt .play, .sp .play { position:absolute; left:50%; top:50%; width:76px; height:76px; margin:-38px 0 0 -38px; border-radius:50%; border:1px solid rgba(201,168,76,0.8);
  background:rgba(10,12,16,0.72); display:flex; align-items:center; justify-content:center; transition:transform 0.25s, background 0.25s; }
.yt .play::after, .sp .play::after { content:''; margin-left:6px; border-style:solid; border-width:12px 0 12px 20px; border-color:transparent transparent transparent #e8c96a; }
.yt button:hover .play, .sp button:hover .play { transform:scale(1.06); background:rgba(10,12,16,0.88); }
.yt iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.yt-meta { max-width:860px; margin:0.9rem auto 0; display:flex; flex-wrap:wrap; gap:0.4rem 1.2rem; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.7rem; letter-spacing:0.08em; color:#8a9ab0; }
.yt-meta a, .yt-meta button { all:unset; cursor:pointer; color:#c9a84c; border-bottom:1px solid rgba(201,168,76,0.35); }
.yt-meta a:hover, .yt-meta button:hover { border-color:#c9a84c; }
.yt-consent { max-width:860px; margin:0.6rem auto 0; text-align:center; font-family:'Montserrat',sans-serif; font-size:0.66rem; color:rgba(138,154,176,0.6); }
.sp { height:152px; max-width:560px; border-radius:10px; }
.sp button { display:flex; align-items:center; gap:1.1rem; padding:0 1.2rem; background:#121820; }
.sp img { width:112px; height:112px; object-fit:cover; border-radius:4px; flex:none; }
.sp .sp-txt { font-family:'Montserrat',sans-serif; color:#d4dce8; font-size:0.8rem; line-height:1.5; }
.sp .sp-txt strong { display:block; font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:#f0f4f8; }
.sp .play { position:static; margin:0 0 0 auto; width:54px; height:54px; flex:none; }
.sp iframe { width:100%; height:152px; border:0; display:block; }
@media (max-width:480px) { .sp img { width:84px; height:84px; } .sp .play { display:none; } }

.ico { display:inline-flex; align-items:center; justify-content:center; flex:none; width:52px; height:52px; border-radius:50%; color:#d9b45a;
  background:radial-gradient(circle at 35% 30%, #3a2716 0%, #22170e 55%, #120c07 100%);
  border:1px solid rgba(201,168,76,0.55); box-shadow:inset 0 0 0 3px rgba(10,12,16,0.55), inset 0 0 0 4px rgba(201,168,76,0.18), 0 4px 14px rgba(0,0,0,0.45); }
.ico svg { width:60%; height:60%; }
.ico--lg { width:84px; height:84px; margin:0 auto 1.3rem; }
.tool .ico { margin-bottom:0.9rem; }
