@font-face { font-family:"Neuro Display"; src:url("/assets/fonts/Montserrat-Variable.ttf") format("truetype"); font-weight:100 900; font-display:swap; }
@font-face { font-family:"Neuro Serif"; src:url("/assets/fonts/CormorantGaramond-Variable.ttf") format("truetype"); font-weight:300 700; font-display:swap; }
:root { --night:#08020f; --paper:#f4f3f1; --ink:#171020; --violet:#6f3fe5; --amber:#f8c45a; --muted:#665d6d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Neuro Display",Arial,sans-serif; font-size:18px; line-height:1.72; overflow-x:hidden; }
img { display:block; max-width:100%; }
.article-header { position:sticky; z-index:20; top:0; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; padding:12px clamp(18px,5vw,72px); color:#fff; background:rgba(8,2,15,.9); border-bottom:1px solid rgba(255,255,255,.12); backdrop-filter:blur(16px); }
.article-brand { display:flex; align-items:center; gap:12px; color:inherit; font-size:.78rem; letter-spacing:.04em; text-decoration:none; }
.article-brand span { display:grid; place-items:center; width:40px; height:40px; color:var(--night); background:var(--amber); font-size:1.1rem; font-weight:900; }
.article-ticket { padding:10px 15px; color:var(--night); background:#fff; border-radius:999px; font-size:.74rem; font-weight:800; line-height:1.2; text-decoration:none; }
article { width:min(1160px,calc(100% - 40px)); margin:auto; }
.article-hero { padding:clamp(78px,10vw,150px) 0 clamp(52px,7vw,90px); }
.article-label { margin:0 0 26px; color:var(--violet); font-size:.7rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
h1 { max-width:1100px; margin:0; font-size:clamp(3.2rem,7.4vw,8.6rem); font-weight:520; line-height:.87; letter-spacing:-.07em; }
.article-lead { max-width:800px; margin:44px 0 0 auto; color:#4d4554; font-family:"Neuro Serif",Georgia,serif; font-size:clamp(1.5rem,2.5vw,2.35rem); font-weight:520; line-height:1.28; }
.article-cover { margin:0 0 clamp(80px,10vw,140px); }
.article-cover img { width:100%; aspect-ratio:16/8.4; object-fit:cover; border-radius:24px; }
figcaption { margin-top:12px; color:#746b7a; font-size:.72rem; line-height:1.5; }
article > section { width:min(760px,100%); margin:0 auto clamp(76px,9vw,120px); }
h2 { margin:0 0 28px; font-size:clamp(2.15rem,4vw,4.5rem); font-weight:560; line-height:.98; letter-spacing:-.055em; }
p { margin:0 0 24px; }
.article-callout { width:min(980px,100%); margin:0 auto clamp(76px,9vw,120px); padding:clamp(30px,5vw,68px); color:#fff; background:var(--night); border-radius:24px; box-shadow:16px 16px 0 var(--amber); }
.article-callout span { color:var(--amber); font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.article-callout p { margin:34px 0 0; font-size:clamp(1.45rem,2.5vw,2.5rem); font-weight:560; line-height:1.25; letter-spacing:-.035em; }
.article-steps { display:grid; gap:1px; margin:38px 0 0; padding:1px; background:#ddd6e1; border-radius:20px; overflow:hidden; list-style:none; }
.article-steps li { display:grid; grid-template-columns:62px minmax(0,1fr); gap:20px; padding:25px; background:#fff; }
.article-steps li > b { display:grid; place-items:center; width:48px; height:48px; color:#fff; background:var(--violet); border-radius:50%; }
.article-steps strong { display:block; line-height:1.3; }
.article-steps p { margin:6px 0 0; color:var(--muted); font-size:.86rem; line-height:1.55; }
.article-cta { margin:0 0 clamp(76px,9vw,120px); padding:clamp(36px,6vw,84px); color:#fff; background:linear-gradient(135deg,#6f3fe5,#3d1f7a); border-radius:28px; }
.article-cta p { color:#e7d5ff; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.article-cta h2 { max-width:850px; }
.article-cta a { display:inline-flex; margin-top:18px; padding:14px 20px; color:var(--night); background:var(--amber); border-radius:999px; font-weight:800; line-height:1.2; text-decoration:none; }
.profile-cover img { object-position:center 22%; }
.article-cta .profile-secondary-cta { margin-left:10px; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.55); }
.article-cta .profile-contact { margin:26px 0 0; color:#e7d5ff; font-size:.9rem; font-weight:500; letter-spacing:0; text-transform:none; }
.article-cta .profile-contact a { display:inline; margin:0; padding:0; color:#fff; background:transparent; border-radius:0; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.site-footer { padding:32px 20px; color:#aaa1b3; background:var(--night); font-size:.72rem; text-align:center; }
@media (max-width:640px) {
  body { font-size:16px; }
  body,h1,h2,h3,p,a,span,strong,li { overflow-wrap:normal; word-break:normal; hyphens:none; }
  .article-header { min-height:64px; padding:10px 14px; }
  .article-brand b { max-width:135px; font-size:.68rem; line-height:1.15; }
  .article-brand span { flex:0 0 auto; width:34px; height:34px; }
  .article-ticket { max-width:112px; text-align:center; }
  article { width:min(100% - 32px,1160px); }
  .article-hero { padding-top:72px; }
  h1 { font-size:clamp(1.9rem,8.5vw,3rem); line-height:.98; letter-spacing:-.055em; }
  .article-lead { margin-top:32px; font-size:1.5rem; }
  .article-cover img { min-height:260px; border-radius:16px; }
  h2 { font-size:clamp(2rem,10.5vw,3rem); }
  .article-callout { border-radius:18px; box-shadow:8px 8px 0 var(--amber); }
  .article-steps li { grid-template-columns:46px minmax(0,1fr); gap:14px; padding:20px 16px; }
  .article-steps li > b { width:40px; height:40px; }
  .article-cta { border-radius:20px; }
  .article-cta .profile-secondary-cta { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
