/* Георгий Колганов — портальный сайт трёх миров
   Шрифт: Jura (заголовки) + Inter (текст). Замена шрифта — поменяй --font-head. */
:root{
  --black:#0B0D0F; --graphite:#15181C; --steel:#8A9097; --silver:#C8CCD0;
  --white:#F4F4F2; --gold:#B08A3E; --gold-light:#CFAF6B;
  --font-head:'Jura',sans-serif; --font-text:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-text);font-size:17px;line-height:1.75}

/* ТРИ МИРА */
body.world-dark{background:var(--black);color:var(--white)}
body.world-dark p{color:var(--silver)}
body.world-light{background:#EDEAE4;color:#1A1B1E}
body.world-light p{color:#4A4C50}
body.world-gray{background:#1E2126;color:var(--white)}
body.world-gray p{color:var(--silver)}

h1,h2,h3{font-family:var(--font-head);font-weight:300;text-transform:uppercase}
h1{font-size:clamp(30px,5.4vw,54px);letter-spacing:.2em;line-height:1.3}
h2{font-size:clamp(20px,3vw,28px);letter-spacing:.16em;margin-bottom:12px}
h3{font-size:16px;letter-spacing:.1em;font-weight:400}
a{color:var(--gold-light);text-decoration:none}
a:hover{text-decoration:underline}
body.world-light a{color:#8A6420}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
section{padding:88px 0;position:relative}
.kicker{font-family:var(--font-head);font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.rule{width:56px;height:1px;background:var(--gold);margin:24px 0}
#stars{position:fixed;inset:0;z-index:-1;pointer-events:none}

nav{position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(8px)}
body.world-dark nav{background:rgba(11,13,15,.82);border-bottom:1px solid rgba(200,204,208,.08)}
body.world-light nav{background:rgba(237,234,228,.85);border-bottom:1px solid rgba(26,27,30,.08)}
body.world-gray nav{background:rgba(30,33,38,.85);border-bottom:1px solid rgba(200,204,208,.08)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
nav .logo{font-family:var(--font-head);font-size:13px;letter-spacing:.3em}
nav .links a{font-size:13px;margin-left:24px;letter-spacing:.05em;color:inherit;opacity:.7}
nav .links a:hover{opacity:1;text-decoration:none}
@media(max-width:760px){nav .links{display:none}}

/* HERO с фото */
.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden}
.hero .wrap{width:100%;max-width:920px;margin:0 auto;padding:0 24px}
.hero .wrap h1,.hero .wrap .lead,.hero .wrap p{max-width:620px}
.hero p.lead{max-width:560px}
.hero-photo{position:absolute;right:0;top:0;bottom:0;width:46%;pointer-events:none}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1)}
body.world-dark .hero-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%);filter:grayscale(1) brightness(.85)}
body.world-light .hero-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%)}
body.world-gray .hero-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%);filter:grayscale(1) brightness(.8)}
@media(max-width:820px){.hero-photo{opacity:.3;width:75%}}
.hero .sub{font-family:var(--font-head);font-size:14px;letter-spacing:.3em;text-transform:uppercase;opacity:.65;margin-top:20px}
.badge{display:inline-block;border:1px solid var(--gold);color:var(--gold-light);font-family:var(--font-head);font-size:11px;letter-spacing:.26em;text-transform:uppercase;padding:11px 24px;border-radius:30px;margin-top:30px}
body.world-light .badge{color:#8A6420}
.hero p.lead{max-width:600px;margin-top:30px;font-size:18px}

/* ПОРТАЛЫ */
.portals{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
@media(max-width:640px){.portals{grid-template-columns:1fr}}
.portal{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:16/10;border:1px solid rgba(176,138,62,.5);transition:transform .35s,box-shadow .35s}
.portal:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.35);text-decoration:none}
.portal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .6s}
.portal:hover img{transform:scale(1.05)}
.portal .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,15,.05) 30%,rgba(11,13,15,.82) 100%)}
.portal .label{position:absolute;left:22px;right:22px;bottom:18px;color:var(--white)}
.portal .label .k{font-family:var(--font-head);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light);display:block;margin-bottom:6px}
.portal .label .t{font-family:var(--font-head);font-size:18px;letter-spacing:.14em;text-transform:uppercase}
.portal .label .d{font-size:13px;color:var(--silver);margin-top:4px;display:block}

/* Карточки, сетки */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:44px}
.tile{border-radius:14px;padding:30px 26px;border:1px solid}
body.world-dark .tile,body.world-gray .tile{background:rgba(255,255,255,.03);border-color:rgba(200,204,208,.12)}
body.world-light .tile{background:#fff;border-color:rgba(26,27,30,.08)}
.tile h3{margin-bottom:10px;color:var(--gold);letter-spacing:.12em}
.tile p{font-size:15px}
.list-line{border-top:1px solid var(--gold);padding-top:20px}
.list-line h3{margin-bottom:8px}
.list-line p{font-size:15px}

/* Шаги/события */
.step{display:grid;grid-template-columns:110px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid rgba(140,144,151,.18)}
.step .n{font-family:var(--font-head);font-size:30px;color:var(--gold)}
.step h3{margin-bottom:8px}
.step p{font-size:15px}
@media(max-width:600px){.step{grid-template-columns:1fr;gap:6px}}
.event{display:grid;grid-template-columns:170px 1fr;gap:26px;padding:24px 0;border-bottom:1px solid rgba(140,144,151,.18)}
.event .date{font-family:var(--font-head);color:var(--gold);font-size:15px;letter-spacing:.08em}
.event h3{margin-bottom:6px}
.event p{font-size:15px}
.event .tag{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;border:1px solid rgba(140,144,151,.4);border-radius:20px;padding:4px 12px;margin-top:10px}
@media(max-width:600px){.event{grid-template-columns:1fr;gap:6px}}

/* Формы */
.form-card{border-radius:16px;padding:44px 36px;max-width:560px;margin:36px auto 0;border:1px solid rgba(176,138,62,.5)}
body.world-dark .form-card,body.world-gray .form-card{background:rgba(255,255,255,.03)}
body.world-light .form-card{background:#fff}
label{display:block;font-size:12px;letter-spacing:.1em;opacity:.7;margin:18px 0 6px;text-transform:uppercase;font-family:var(--font-head)}
input,textarea{width:100%;border-radius:8px;font-family:var(--font-text);font-size:16px;padding:12px 14px;border:1px solid rgba(140,144,151,.35);background:transparent;color:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:96px;resize:vertical}
.btn{display:inline-block;background:var(--gold);color:#0B0D0F;font-family:var(--font-head);font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:16px 38px;border-radius:8px;border:0;cursor:pointer;transition:background .3s}
.btn:hover{background:var(--gold-light);text-decoration:none}
.note{font-size:13px;opacity:.6;margin-top:14px}
#form-status{margin-top:16px;font-size:15px;display:none}

/* Фото-вставки */
.photo-band{margin:52px 0 0;border-radius:16px;overflow:hidden;border:1px solid rgba(140,144,151,.2)}
.photo-band img{width:100%;display:block;filter:grayscale(1)}
.split{display:grid;grid-template-columns:1fr minmax(380px,500px);gap:56px;align-items:center}
.split .side img{width:100%;filter:grayscale(1);border:none;border-radius:0;box-shadow:none;-webkit-mask-image:radial-gradient(130% 130% at 50% 50%,#000 52%,transparent 96%);mask-image:radial-gradient(130% 130% at 50% 50%,#000 52%,transparent 96%)}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:36px}.split .side{max-width:520px}}

.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:40px}
.quote{border-radius:12px;padding:22px;border:1px solid rgba(140,144,151,.18)}
body.world-light .quote{background:#fff}
.quote p{font-style:italic;font-size:15px}
.quote span{display:block;margin-top:10px;font-size:13px;opacity:.6}

footer{padding:60px 0 46px;border-top:1px solid rgba(140,144,151,.15)}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}
footer h3{font-size:13px;margin-bottom:12px}
footer a{display:block;font-size:14px;margin-bottom:8px;color:inherit;
}}

/* узкие плашки ценностей — ширина по содержимому */
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{border:1px solid rgba(200,204,208,.16);background:var(--graphite);border-radius:30px;padding:11px 20px;font-size:14px;color:var(--silver);line-height:1.4}
.chip strong{color:var(--gold-light);font-weight:500}

/* второй сезон: слева заявка, справа промо */
.cta-row{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:center;margin-top:8px}
.cta-promo video{width:100%;display:block;border-radius:12px;border:1px solid rgba(176,138,62,.45);background:#000}
.cta-promo p{font-size:12.5px;color:var(--steel);margin-top:8px}
@media(max-width:760px){.cta-row{grid-template-columns:1fr}.cta-promo{max-width:340px}}

/* мобильное бургер-меню */
.burger{display:none;background:none;border:1px solid rgba(200,204,208,.25);border-radius:8px;color:var(--silver);font-size:20px;line-height:1;padding:7px 12px;cursor:pointer}
@media(max-width:700px){
  .burger{display:block}
  nav .links{display:none}
  nav .links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(11,13,15,.97);padding:18px 24px;gap:16px;border-bottom:1px solid rgba(200,204,208,.12)}
  nav .wrap{position:relative}
}

/* значки соцсетей */
.slink{display:inline-flex;align-items:center;gap:9px;margin:4px 0}
.slink svg{flex:0 0 auto;opacity:.9}
.slink:hover svg{opacity:1}

/* результаты участников */
.plist{margin:12px 0 0;padding:0;list-style:none;columns:2;column-gap:26px;max-width:560px}
.plist li{font-size:14.5px;line-height:1.5;margin:5px 0;break-inside:avoid;padding-left:16px;position:relative}
.plist li::before{content:"—";color:var(--gold);position:absolute;left:0}
@media(max-width:560px){.plist{columns:1}}

/* ссылки афиши: с новой строки, значок не отрывается от слова */
.event a.elink{display:block;width:fit-content;margin-top:8px;white-space:nowrap}
.event a.elink svg{vertical-align:-3px}
