/* Rotterdam 2026 landing concepts: shared base. Tokens measured from rotterdam2026.com. */
@font-face{font-family:"Mont";font-weight:600;font-display:swap;src:url(../fonts/montserrat-600.woff2) format("woff2")}
@font-face{font-family:"Mont";font-weight:700;font-display:swap;src:url(../fonts/montserrat-700.woff2) format("woff2")}
@font-face{font-family:"Mont";font-weight:800;font-display:swap;src:url(../fonts/montserrat-800.woff2) format("woff2")}
@font-face{font-family:"Mont";font-weight:600;font-display:swap;src:url(../fonts/montserrat-cyrillic-var.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Mont";font-weight:700;font-display:swap;src:url(../fonts/montserrat-cyrillic-var.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Mont";font-weight:800;font-display:swap;src:url(../fonts/montserrat-cyrillic-var.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--navy:#101242;--ink:#000735;--orange:#ff6315;--cream:#fff8f4;--white:#fff}
.landing{margin:0;font:600 1rem/1.5 "Mont",system-ui,sans-serif}
html:lang(ja) .landing{font-family:"Mont","Hiragino Sans","Yu Gothic","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif}
html:lang(zh) .landing{font-family:"Mont","PingFang SC","Noto Sans CJK SC","Microsoft YaHei","Hiragino Sans","Yu Gothic",system-ui,sans-serif}
:where(.landing) *{box-sizing:border-box}
:where(.landing) :is(h1,h2,h3,p,ul){margin:0}
:where(.landing) a{color:inherit;text-decoration:none}
:where(.landing) ul{list-style:none;padding:0}
.l-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.landing main :is(h1,h2,h3){font-weight:800;text-transform:uppercase;line-height:1.02;letter-spacing:-.01em}
.landing .o{color:var(--orange)}
.l-btn{display:inline-block;background:var(--orange);color:#fff !important;font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em;padding:.8rem 1.4rem;border-radius:999px;border:2px solid var(--orange)}
.l-btn--ghost{background:transparent;border-color:#fff}
.l-btn--navy{background:var(--navy);border-color:var(--navy)}
.l-btn--dark{background:var(--ink);border-color:var(--ink)}
.l-eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.l-player{background:var(--ink);color:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}
.l-player__screen{display:grid;place-items:center;aspect-ratio:16/9;position:relative;background:var(--ink);overflow:hidden}
.l-player__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.l-player__screen:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,7,53,.25),rgba(0,7,53,.55));z-index:1}
.l-player__screen>.l-play{position:relative;z-index:2}
.l-play{width:84px;height:84px;border-radius:50%;background:var(--orange);display:grid;place-items:center}
.l-play:after{content:"";border-left:26px solid var(--ink);border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:8px}
.l-tag{z-index:2;position:absolute;left:14px;top:14px;background:var(--orange);color:var(--ink);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .7rem;border-radius:999px}
.l-player__meta{padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.l-player__meta small{display:block;color:#b9bbe0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.l-player__meta strong{font-size:1.05rem;font-weight:800}
.l-count{display:flex;gap:8px}
.l-count div{background:#181b5c;border-radius:8px;padding:.35rem .6rem;text-align:center;min-width:52px}
.l-count b{display:block;font-size:1.2rem;font-weight:800}
.l-count span{font-size:.75rem;text-transform:uppercase;color:#b9bbe0;letter-spacing:.08em}
.l-access{padding:64px 0}
.l-access__in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.l-access h2{font-size:clamp(2rem,5vw,3.6rem)}
.l-more{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
@media(prefers-reduced-motion:no-preference){.l-btn{transition:color .15s,background .15s}}
