:root {
  --yellow:#ffbb00; --ink:#1f1f1f; --paper:#faf7f0; --blue:#e7eff7;
  --muted:#64635f; --line:#d8cfbc; --content:1320px;
  --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  --serif:Didot,"Bodoni MT","Times New Roman",serif;
  --mincho:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;
  --gutter:clamp(24px,5vw,80px); --header-height:80px;
}
*,*::before,*::after { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 20px) }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.85; -webkit-font-smoothing:antialiased }
h1,h2,h3,p,dl,dd,ul,ol { margin:0 }
a { color:inherit; text-decoration:none; transition:color .2s,background-color .2s,opacity .2s,transform .2s }
button { font:inherit; color:inherit }
img { display:block; max-width:100%; height:auto }
a,button,summary { -webkit-tap-highlight-color:transparent }
:focus-visible { outline:3px solid #8b6300; outline-offset:5px }
::selection { background:var(--yellow); color:var(--ink) }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0 }
.skip-link { position:fixed; z-index:100; left:16px; top:12px; padding:10px 20px; background:white; border:1px solid var(--ink); transform:translateY(-160%) }
.skip-link:focus { transform:translateY(0) }
.container { width:calc(100% - var(--gutter)*2); max-width:var(--content); margin-inline:auto; position:relative; z-index:1 }
.only-small { display:none }
.only-wide { display:block }
.phrase { display:inline-block; max-inline-size:100%; text-wrap:pretty }
.key-phrase { white-space:nowrap; font-weight:700; text-decoration:underline; text-decoration-color:#ffd568; text-underline-offset:.2em; text-decoration-thickness:3px }

/* Real navigation sits above the image-led first view. */
.site-header { position:fixed; inset:0 0 auto; height:var(--header-height); z-index:30; display:flex; align-items:center; justify-content:space-between; gap:30px; padding-inline:clamp(24px,3vw,64px); background:rgba(250,247,240,.91); border-bottom:1px solid transparent; backdrop-filter:blur(12px); transition:background .25s,box-shadow .25s,border-color .25s }
.site-header.is-scrolled { background:rgba(250,247,240,.97); border-color:#ded8cb; box-shadow:0 3px 18px #22334808 }
.brand { width:184px; flex-shrink:0 }
.brand:hover,.footer-brand:hover,.closing-brand:hover { opacity:.65 }
.site-menu { display:flex; align-items:center; gap:clamp(12px,1.4vw,24px); font-size:12px; font-weight:700 }
.site-menu>a { display:flex; align-items:center; min-height:44px; position:relative; white-space:nowrap }
.site-menu>a:not(.header-entry)::after { position:absolute; content:""; inset:auto 0 4px; height:2px; background:var(--yellow); transform:scaleX(0); transform-origin:left; transition:transform .25s }
.site-menu>a:not(.header-entry):hover::after { transform:scaleX(1) }
.header-entry { border-radius:999px; background:var(--yellow); padding:9px 18px; gap:10px }
.header-entry:hover { background:#ffd04a; transform:translateY(-1px) }
.line-word { display:inline-flex; align-items:center; justify-content:center; font:800 10px/1 var(--sans); border:1.5px solid; border-radius:5px; min-width:34px; min-height:24px; padding:3px 5px; flex-shrink:0 }
.pending-mini,.cta-pending { background:#fff7; border-radius:999px; font-size:10px; padding:4px 9px; line-height:1.2; white-space:nowrap }
.menu-toggle { display:none }
.hero { position:relative; background:var(--paper); overflow:hidden }
.hero-visual,.hero-visual img { display:block; width:100%; height:auto }
.hero::after { position:absolute; content:""; inset:auto 0 0; height:64px; background:linear-gradient(transparent,var(--paper)); pointer-events:none }
.hero-scroll { position:absolute; bottom:30px; left:var(--gutter); z-index:2; display:flex; align-items:center; gap:16px; font-size:9px; font-weight:700; letter-spacing:.16em; text-shadow:0 1px 8px white }
.hero-scroll:hover { transform:translateY(3px) }
.scroll-arrow { font-size:25px; line-height:1 }

/* A single winter canvas flows behind the whole page, without restarting at section edges. */
.event-body { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse 75% 14% at 100% 18%,#deebf4b3,transparent 78%),radial-gradient(ellipse 70% 16% at 0 53%,#dce9f2a6,transparent 80%),radial-gradient(ellipse 85% 15% at 100% 84%,#e1ebf4a6,transparent 80%),var(--paper) }
.event-body::before { content:""; position:absolute; z-index:-1; inset:0 0 auto; height:clamp(540px,70vw,1000px); background:url('/vocal-awards-vol1/assets/images/winter-background.webp') center top / cover no-repeat; opacity:.42; mask-image:linear-gradient(transparent,#000 25%,transparent 96%); pointer-events:none }
.event-body::after { content:""; position:absolute; z-index:-1; inset:auto 0 0; height:160px; background:linear-gradient(transparent,var(--paper)); pointer-events:none }
.section { position:relative; padding-block:clamp(78px,7.5vw,124px) }
.winter-section { overflow:hidden }
.about-section { padding-top:clamp(44px,5vw,76px) }
.gold-flow { position:absolute; z-index:0; width:115%; height:130px; left:-6%; border-top:2px solid var(--yellow); border-radius:50%; transform:rotate(-5deg); pointer-events:none; opacity:.9 }
.gold-flow--top { top:35px }
.gold-flow--bottom { bottom:-75px }
.eyebrow { display:flex; align-items:center; gap:13px; font:600 clamp(14px,1.45vw,21px)/1.4 var(--serif); letter-spacing:.065em; margin-bottom:30px }
.eyebrow::before { content:""; width:30px; height:3px; background:var(--yellow); flex-shrink:0 }
.section-no { color:#795600; font-weight:400; font-style:italic }
h2 { font-family:var(--mincho); font-weight:700; font-size:clamp(34px,4.1vw,59px); line-height:1.45; letter-spacing:.015em; text-wrap:pretty }
.marker { background:linear-gradient(transparent 81%,#ffcf4c 81%,#ffcf4c 94%,transparent 94%); -webkit-box-decoration-break:clone; box-decoration-break:clone }
.fine-print { font-size:12px; line-height:1.9; color:var(--muted) }
.text-link { display:inline-flex; align-items:center; gap:30px; margin-top:30px; padding:5px 0; border-bottom:2px solid var(--yellow); font-weight:700; font-size:16px; min-height:44px }
.text-link:hover { color:#916700; gap:37px }
.section-heading { margin-bottom:40px }
.section-heading--center { text-align:center }
.section-heading--center .eyebrow { justify-content:center; margin-bottom:16px }
.section-heading--center .eyebrow::after { content:""; width:30px; height:1px; background:var(--ink) }
.ribbon { display:inline-block; background:linear-gradient(100deg,#ffd850,var(--yellow)); padding:8px 32px; clip-path:polygon(0 0,100% 0,calc(100% - 13px) 50%,100% 100%,0 100%,13px 50%); font-weight:700 }

/* About */
.about-layout { display:grid; grid-template-columns:1fr 1.03fr; gap:70px; align-items:center }
.about-intro { position:relative }
.statement { font-size:clamp(38px,4.6vw,66px) }
.about-lead { margin-top:24px; font-family:var(--mincho); font-weight:600; font-size:clamp(17px,1.9vw,26px); letter-spacing:.06em }
.eight-days { display:block; margin-top:18px; color:#acc4df; font:italic 42px/1 var(--serif); letter-spacing:-.03em; opacity:.75 }
.eight-days b { font-size:120px; font-weight:400 }
.section-copy { font-size:17px; line-height:2; margin-bottom:30px }
.event-facts>div { display:grid; grid-template-columns:100px 1fr; gap:22px; padding:19px 0; border-bottom:1px solid var(--line); align-items:center }
.event-facts dt { font-weight:700; font-size:13px; text-align:center; padding:3px 7px; background:#ffdc708c; clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%) }
.event-facts dd { font-size:16px; font-weight:600 }
.event-period time { display:flex; align-items:baseline; flex-wrap:wrap; gap:0 .5em }
.event-period time>span,.event-period time>strong { white-space:nowrap }

/* ColorSing introduction follows the approved three-device reference. */
.colorsing-heading { margin-bottom:36px }
#colorsing-title>span { font-family:var(--serif); font-size:1.12em }
.colorsing-lead { margin-top:20px; font-family:var(--mincho); font-size:clamp(18px,1.8vw,26px); line-height:1.6; letter-spacing:.025em }
.colorsing-description { margin:24px auto 0; max-width:1060px; font-size:clamp(15px,1.3vw,18px); line-height:2; text-wrap:pretty }
.colorsing-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px }
.colorsing-card { min-width:0; display:grid; grid-template-rows:112px 30px 40px 1fr; gap:20px; padding:32px 24px; border:1px solid #b4afa4; border-radius:24px; background:#fffdf57a; text-align:center; transition:border-color .3s,box-shadow .3s,translate .3s }
.colorsing-icon { display:flex; align-items:center; justify-content:center; width:112px; height:112px; margin-inline:auto; border-radius:50%; color:var(--ink); background:linear-gradient(135deg,#fff2c7,#ffe7a1); transition:transform .35s }
.colorsing-icon svg { display:block; width:64px; height:64px; overflow:visible }
.icon-accent { stroke:var(--yellow); stroke-width:3.5 }
.colorsing-number { display:flex; align-items:center; justify-content:center; gap:15px; font:italic 25px/1.2 var(--serif) }
.colorsing-number::before,.colorsing-number::after { content:""; width:42px; height:1px; background:var(--ink) }
.colorsing-card h3 { font-family:var(--mincho); font-size:clamp(21px,1.8vw,26px); line-height:1.5; text-wrap:pretty }
.colorsing-card-copy { align-self:stretch; font-size:clamp(14px,1.2vw,17px); line-height:1.9; text-wrap:pretty }
.colorsing-device { display:grid; grid-template-columns:100px minmax(0,auto); justify-content:center; align-items:center; gap:30px; margin-top:24px; padding:22px 32px; border-radius:20px; background:linear-gradient(105deg,#fff0c5,#ffe8a8) }
.colorsing-device>svg { display:block; width:100px; height:68px }
.colorsing-device>div { border-left:2px solid var(--yellow); padding-left:30px }
.colorsing-device p { font-family:var(--mincho); font-size:17px; font-weight:600; margin-bottom:5px }
.colorsing-device h3 { font-family:var(--mincho); font-size:clamp(22px,2.5vw,33px); font-weight:600; line-height:1.5 }
.colorsing-footnote { margin-top:16px; text-align:center; font-size:12px; line-height:1.9; color:var(--muted) }

/* Prize cards use original manufacturer photographs. */
.prize-lead { margin-top:23px; font-size:17px; line-height:1.7 }
.prize-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch }
.prize-card { min-width:0; display:grid; grid-template-rows:100px 260px 1fr; background:rgba(255,252,245,.94); border:1.5px solid #4b4842; border-radius:24px; overflow:hidden }
.prize-card--first { border-color:var(--yellow); box-shadow:inset 0 0 0 1.5px var(--yellow); background:linear-gradient(145deg,#fff0ba,#fffaf1 43%,#fffaf3) }
.prize-card-head { display:flex; align-items:center; justify-content:center; gap:20px; padding:12px 18px; min-width:0 }
.rank { display:flex; align-items:baseline; white-space:nowrap; font-family:var(--mincho); font-style:italic; line-height:1.2 }
.rank span { font-size:58px; font-weight:500; font-family:var(--serif); line-height:1.2 }
.rank small { font-size:24px; margin-left:2px }
.prize-category { min-width:0; font:600 16px/1.2 var(--serif); letter-spacing:.02em; background:#f2e5ce; padding:8px 15px; clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%,9px 50%); text-align:center }
.prize-card--first .prize-category { background:var(--yellow) }
.product-stage { position:relative; min-width:0; height:260px; margin-inline:12px; mix-blend-mode:multiply }
.product-mic { position:absolute; left:0; top:4%; width:42%; height:92%; display:flex; align-items:center; justify-content:center; overflow:hidden; z-index:2 }
.product-mic img { height:100%; width:auto; max-width:none; mix-blend-mode:multiply }
.product-mic--at { mix-blend-mode:multiply }
.product-mic--at img { height:118% }
.product-mic--shure { width:50%; left:0; top:0; height:100%; overflow:hidden }
.product-mic--shure img { height:100%; width:auto; max-width:none }
.product-mixer { position:absolute; right:0; top:7%; width:68%; height:88%; display:flex; align-items:center; justify-content:center }
.product-mixer img { width:100%; max-height:100%; object-fit:contain; mix-blend-mode:multiply }
.prize-copy { padding:0 20px 23px; display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:flex-end }
.candidate-label { align-self:center; padding:3px 12px; border-radius:999px; background:#ffe4a1; font-size:10px; font-weight:700; line-height:1.6; margin-bottom:10px }
.prize-copy h3,.mixer-name { font:700 clamp(17px,1.5vw,22px)/1.4 var(--sans); letter-spacing:0; overflow-wrap:anywhere }
.mixer-name { margin-top:3px }
.prize-includes { font-weight:700; font-size:13px; margin-top:10px }
.prize-value { margin-top:12px; font-size:12px; line-height:1.7 }
.prize-value small { font-size:11px; white-space:nowrap }
.mile-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px }
.mile-prize { display:flex; align-items:center; justify-content:center; gap:26px; padding:8px 24px; border:1px solid #9cb4d1; border-radius:16px; background:linear-gradient(105deg,#e5eef8,#d6e5f6) }
.mile-prize h3 { display:flex; align-items:baseline; font-family:var(--mincho); font-style:italic; font-weight:500; white-space:nowrap; line-height:1.2 }
.mile-rank { font:italic 48px/1.2 var(--serif) }
.mile-prize h3 small { font-size:22px; margin-left:2px }
.mile-prize p { white-space:nowrap; border-left:1px solid #8ba2be; padding-left:26px; display:flex; align-items:baseline; gap:6px }
.mile-prize strong { font:600 31px/1.3 var(--serif) }
.mile-prize p>span { font-family:var(--mincho); font-weight:700; font-size:18px }
.accessories { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:24px; border:1px solid var(--line); border-radius:18px; padding:20px 24px; margin-top:18px; background:#fffaf1c9 }
.accessories h3 { font-family:var(--mincho); font-size:20px; white-space:nowrap; border-bottom:3px solid var(--yellow); padding:3px 0 }
.accessories ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; font-size:12px; line-height:2 }
.accessories li:not(:last-child)::after { content:"／"; padding-inline:5px; color:#8c816e }
.equipment-note { margin:18px auto 0; max-width:1100px; text-align:center; font-size:11px; line-height:1.9; color:var(--muted) }
.equipment-note p+p { margin-top:5px }

/* AlterNote miles: service examples and gift examples from the approved reference. */
.miles-heading { margin-bottom:32px }
#miles-title { font-size:clamp(25px,4.1vw,56px); letter-spacing:0 }
.mile-brand { display:inline-block; max-inline-size:100% }
.mile-brand>span[lang] { font-family:var(--serif); font-size:1.1em }
.mile-brand small { display:inline-block; font-family:var(--sans); font-size:.48em; font-weight:600; letter-spacing:0; margin-right:.2em }
.miles-lead { margin-top:20px; font-family:var(--mincho); font-size:clamp(18px,1.8vw,26px); line-height:1.6 }
.miles-description { max-width:940px; margin:20px auto 0; font-size:clamp(14px,1.3vw,18px); line-height:2; text-wrap:pretty }
.miles-options { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:20px; align-items:stretch }
.mile-option { min-width:0; padding:clamp(22px,2.2vw,32px); border:1px solid #b4afa4; border-radius:24px; background:#fffdf580 }
.mile-panel-head { border-left:4px solid var(--yellow); padding-left:20px }
.mile-kicker { font:600 19px/1.4 var(--serif); letter-spacing:.16em; margin-bottom:7px }
.mile-panel-head h3 { font-family:var(--mincho); font-size:clamp(22px,2.05vw,32px); line-height:1.55; text-wrap:pretty }
.mile-exchange-label { display:flex; align-items:center; gap:20px; margin:16px 0 24px; font-size:16px; font-weight:700; line-height:1.7 }
.mile-exchange-label::after { content:""; height:1px; background:#a8a08f; flex:1; min-width:18px }
.mile-services { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:24px 15px }
.mile-services li { min-width:0; display:grid; grid-template-rows:92px 1fr; gap:12px; text-align:center }
.mile-service-icon { display:flex; align-items:center; justify-content:center; width:92px; height:92px; margin-inline:auto; border-radius:50%; background:linear-gradient(140deg,#fff3d3,#ffebad); transition:transform .35s }
.mile-service-icon img { width:68px; height:68px }
.mile-services li p { font-size:clamp(13px,1.1vw,16px); font-weight:700; line-height:1.65; text-wrap:pretty }
.mile-gift { background:linear-gradient(135deg,#fff0cdcc,#fff3d4aa); border-color:#f5e5b4; display:grid; grid-template-rows:auto auto 1fr auto }
.mile-gift .mile-exchange-label { margin-bottom:12px }
.mile-gift-visual { width:min(100%,260px); height:auto; align-self:center; justify-self:center }
.mile-gift-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; list-style:none; padding:0; margin-top:15px }
.mile-gift-tags li { padding:6px 16px; border:1px solid #777165; border-radius:999px; background:#fffaf0b3; font-size:14px; font-weight:700; line-height:1.5; white-space:nowrap }
.mile-award { display:flex; align-items:center; justify-content:center; gap:32px; margin-top:20px; padding:24px 30px; border-radius:22px; background:linear-gradient(110deg,#fff0c6,#ffedb9b3) }
.mile-award>h3 { font-family:var(--serif); font-size:17px; line-height:1.6; text-align:center; flex-shrink:0 }
.mile-award>div { border-left:2px solid var(--yellow); padding-left:32px }
.mile-award-value { font-family:var(--mincho); font-size:clamp(26px,2.9vw,42px); font-weight:600; line-height:1.55; letter-spacing:.015em; text-wrap:pretty }
.mile-award-value strong { font-family:var(--serif); font-size:1.2em; font-weight:600; margin-right:.13em }
.mile-award-copy { font-size:15px; line-height:1.8; margin-top:3px }
.mile-example-note { text-align:center; margin-top:14px }
@media (hover:hover) and (pointer:fine) { .mile-services li:hover .mile-service-icon { transform:translateY(-4px) rotate(-4deg) } }
@media (max-width:1100px) {
  .miles-options { grid-template-columns:1fr }
  .mile-services { gap:24px 20px }
  .mile-services li p { font-size:17px }
  .mile-service-icon { width:108px; height:108px }
  .mile-service-icon img { width:78px; height:78px }
  .mile-services li { grid-template-rows:108px 1fr }
  .mile-gift { grid-template-columns:minmax(0,1fr) minmax(140px,.55fr); grid-template-rows:auto auto auto; grid-template-areas:"head art" "label art" "tags art"; column-gap:24px; align-items:center }
  .mile-gift .mile-panel-head { grid-area:head }
  .mile-gift .mile-exchange-label { grid-area:label; margin:18px 0 }
  .mile-gift-visual { grid-area:art; width:min(100%,230px) }
  .mile-gift-tags { grid-area:tags; justify-content:flex-start; margin:0 }
  .mile-award { gap:22px; padding:22px }
  .mile-award>h3 { font-size:15px; padding-inline:25px }
  .mile-award>div { padding-left:22px }
  .mile-award-value { font-size:clamp(25px,3.2vw,36px) }
  .mile-award-copy { font-size:13px }
}
@media (max-width:700px) {
  .mile-option { padding:24px 20px; border-radius:20px }
  .mile-panel-head { padding-left:14px }
  .mile-panel-head h3 { font-size:clamp(20px,4.9vw,27px) }
  .mile-kicker { font-size:17px; margin-bottom:5px }
  .mile-exchange-label { font-size:14px; gap:14px; margin:18px 0 24px }
  .mile-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px }
  .mile-services li { grid-template-rows:84px 1fr; gap:10px }
  .mile-services li p { font-size:clamp(12px,3.3vw,16px) }
  .mile-service-icon { width:84px; height:84px }
  .mile-service-icon img { width:64px; height:64px }
  .mile-gift { grid-template-columns:minmax(0,1fr) 100px; column-gap:12px }
  .mile-gift .mile-panel-head h3 { font-size:20px }
  .mile-gift .mile-exchange-label { margin:14px 0 }
  .mile-gift-tags { gap:7px }
  .mile-gift-tags li { padding:5px 10px; font-size:12px }
  .mile-award { flex-direction:column; align-items:flex-start; gap:14px; padding:22px 20px; border-radius:20px }
  .mile-award>h3 { font-size:14px; padding:7px 22px; flex-shrink:1 }
  .mile-award>div { border:0; padding:0 }
  .mile-award-value { font-size:clamp(25px,6vw,34px) }
  .mile-award-copy { font-size:12px; margin-top:7px }
  .mile-example-note { font-size:10px }
}
@media (max-width:360px) {
  .mile-option { padding:22px 16px }
  .mile-gift { grid-template-columns:minmax(0,1fr) 80px; gap:0 10px }
  .mile-gift .mile-panel-head h3 { font-size:18px }
  .mile-gift .mile-panel-head { padding-left:10px }
  .mile-award { padding:20px 16px }
  .mile-award>h3 { font-size:12px; padding-inline:20px }
}

/* Rules */
.split-layout { display:grid; grid-template-columns: .75fr 1.4fr; gap:65px; align-items:start }
.section-intro>p:last-child { margin-top:28px; line-height:1.9 }
.section-intro .eyebrow { font-size:17px }
.large-eight { display:inline-block; font-family:var(--serif); font-size:1.4em; font-weight:400; line-height:1 }
.rules-day-phrase { padding-bottom:.12em }
#rules-title { padding-bottom:.18em }
.rules-panel { padding:26px 30px; background:#fffdf6c9; border:1px solid var(--line); border-radius:24px }
.rule-row { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); border-bottom:1px solid var(--line); align-items:stretch }
.rule-row:first-child { border-top:1px solid var(--line) }
.rule-row dt { background:#fff0cfb3; font-size:13px; font-weight:700; padding:19px 16px; display:flex; align-items:center }
.rule-row dd { font-size:14px; padding:19px 18px; line-height:1.9 }
.pending-tag { display:inline-block; margin-left:10px; padding:2px 8px; background:var(--yellow); font-size:10px; border-radius:6px; font-weight:700; white-space:nowrap }
.rules-panel>.fine-print { margin-top:22px }

/* Entry */
.auto-entry-note { border:1px solid var(--yellow); border-radius:24px; background:linear-gradient(110deg,#fff1c5,#ffe8a0); padding:28px 32px; margin-bottom:26px }
.auto-entry-note h3 { font-family:var(--mincho); font-size:clamp(22px,2.1vw,29px); line-height:1.6; margin-bottom:12px }
.auto-entry-note p { font-size:14px; line-height:1.9 }
.join-guide-title { font-family:var(--mincho); font-size:clamp(22px,2.2vw,29px); line-height:1.6; margin-bottom:28px }
.join-guide-intro { margin-top:-15px; margin-bottom:28px; font-size:14px; line-height:1.9 }
.requirements-panel { border:1px solid var(--line); border-radius:24px; background:#fffdf6c9; padding:28px 32px; margin-bottom:46px }
.requirements-panel>h3 { font-family:var(--mincho); font-size:25px; margin-bottom:20px }
.requirements-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:34px }
.requirements-list>div { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:start; gap:16px; padding:15px 0; border-top:1px solid var(--line) }
.requirements-list>div:last-child:nth-child(odd) { grid-column:1/-1 }
.requirements-list dt { font-size:13px; font-weight:700; color:#846000 }
.requirements-list dd { font-size:14px; line-height:1.85 }
.entry-steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px }
.entry-steps li { min-width:0; display:grid; grid-template-columns:64px 1fr; grid-template-rows:auto 1fr; gap:9px 18px; align-items:start; position:relative }
.step-number { font:italic 46px/1 var(--serif); grid-column:2; color:var(--ink) }
.step-icon { grid-column:1; grid-row:1/3; display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:#fffaf3; border-radius:50%; color:#c58c00; margin-top:8px; box-shadow:0 5px 20px #9eafc114 }
.step-icon svg { width:35px; height:35px; display:block }
.step-body { grid-column:2; align-self:stretch; display:flex; flex-direction:column }
.step-body h3 { font-size:19px; line-height:1.5; font-weight:700; min-height:58px }
.step-body p { flex:1; margin-top:13px; font-size:12px; line-height:1.9 }
.entry-steps li:not(:last-child)::after { content:"›"; position:absolute; right:-25px; top:35px; font-size:36px; color:#c58c00 }
.entry-notice { margin-top:50px; text-align:center }
.line-cta { width:min(100%,650px); min-height:72px; border:0; border-radius:999px; background:linear-gradient(110deg,#ffcf33,#ffbb00); display:flex; align-items:center; justify-content:center; gap:15px; padding:16px 28px; margin-inline:auto; font-size:18px; font-weight:800; line-height:1.5; box-shadow:0 8px 24px #b18b2412; transition:transform .25s,background .25s }
.line-cta .line-word { font-size:12px; min-width:43px; min-height:32px; border-width:2px }
.cta-arrow { font-size:26px; font-weight:500; line-height:1; margin-left:auto }
.line-cta .cta-text { flex:1 }
.cta-pending { padding:5px 11px; font-size:11px; font-weight:600 }
.line-cta:disabled { cursor:not-allowed; color:#292719; opacity:1 }
a.line-cta:hover { transform:translateY(-3px); background:#ffd448 }
.entry-notice>p { margin-top:16px; font-size:12px }

/* Dates & notes */
.schedule-layout { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center }
.schedule-intro h2 { font-size:clamp(32px,3.5vw,49px) }
.schedule-date { display:flex; flex-direction:column; align-items:flex-start; gap:3px; margin-top:30px; font-family:var(--sans); line-height:1.5 }
.schedule-date time { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 15px }
.schedule-date time>span { font-size:clamp(16px,1.5vw,21px); font-weight:600; white-space:nowrap }
.schedule-date time>strong { font-size:clamp(26px,2.4vw,35px); font-weight:700; letter-spacing:-.025em; white-space:nowrap }
.period-separator { font:400 17px/1.2 var(--serif); color:#a38d64 }
.result-date { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:4px 18px; font-size:14px; font-weight:700 }
.result-date time { white-space:nowrap }
.notes-panel { border:1px solid #ddbe68; border-radius:24px; padding:24px 28px; background:#fffdf6cc }
.notes-panel h3 { font-family:var(--mincho); font-size:20px; padding:10px 22px; margin-bottom:20px; display:block; text-align:center }
.notes-panel ul { list-style:none; padding:0; font-size:13px; line-height:1.9 }
.notes-panel li { position:relative; padding-left:22px }
.notes-panel li+li { margin-top:18px }
.notes-panel li::before { position:absolute; content:""; left:0; top:.67em; width:9px; height:9px; border-radius:50%; background:var(--yellow) }

/* FAQ */
.faq-list { display:flex; flex-direction:column; gap:12px }
.faq-item { border:1px solid #c4cdd6; border-radius:18px; background:#fffdf8d9; overflow:hidden }
.faq-item summary { cursor:pointer; list-style:none; display:grid; grid-template-columns:36px 1fr 26px; align-items:center; gap:15px; padding:20px 23px; min-height:76px; font-size:15px; font-weight:700; line-height:1.7; transition:background .2s }
.faq-item summary::-webkit-details-marker { display:none }
.faq-item summary:hover { background:#fff0c8b3 }
.faq-q { font:400 23px/1 var(--serif); color:#735421 }
.faq-icon { width:25px; height:25px; border:1px solid #999c9c; border-radius:50%; position:relative }
.faq-icon::before,.faq-icon::after { content:""; position:absolute; left:6px; right:6px; top:11px; height:1px; background:var(--ink); transition:transform .25s }
.faq-icon::after { transform:rotate(90deg) }
.faq-item[open] { border-color:#d4ad49 }
.faq-item[open] .faq-icon { background:var(--yellow); border-color:var(--yellow) }
.faq-item[open] .faq-icon::after { transform:rotate(0) }
.faq-answer { display:flex; align-items:flex-start; gap:15px; padding:0 23px 23px; font-size:13px; line-height:2 }
.faq-answer>span { width:36px; flex-shrink:0; color:#795600; font:400 23px/1.4 var(--serif) }
.faq-answer>p { border-top:1px solid var(--line); padding-top:15px; flex:1; min-width:0 }

/* Closing & footer */
.closing-content { text-align:center }
.closing-brand { display:block; width:250px; margin:0 auto 35px }
.closing-section h2 { font-size:clamp(33px,4vw,58px); margin-bottom:32px }
.closing-event-name { display:flex; flex-direction:column; align-items:flex-start; width:max-content; font:700 clamp(82px,9vw,112px)/1.2 "Bodoni 72",Didot,"Times New Roman",serif; letter-spacing:-.055em; margin-inline:auto; max-width:100%; text-align:left; padding-inline:.025em }
.closing-event-name>span { display:block }
.closing-event-name>span+span { margin-top:-.32em }
.closing-event-name>.closing-event-brand { position:relative; font-size:.6em; font-weight:600; font-style:italic; letter-spacing:-.045em; line-height:1.3; margin:0 0 -.07em; padding-inline:.05em .15em }
.closing-event-name>.closing-event-brand::after { content:""; position:absolute; inset:auto .02em .08em .05em; height:.16em; border-bottom:2px solid var(--yellow); border-radius:50%; transform:rotate(-2deg); pointer-events:none }
.closing-event-name>.closing-event-brand+span { margin-top:-.1em }
.closing-subtitle { margin-top:19px; font-size:18px }
.closing-date { margin:24px 0 35px; display:flex; flex-direction:column; align-items:center; gap:6px; font:600 clamp(15px,1.7vw,23px)/1.5 var(--sans) }
.closing-date time { display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:0 12px }
.closing-date time>span,.closing-date time>strong { white-space:nowrap }
.closing-date strong { font-size:1.15em }
.closing-content>.fine-print { margin-top:18px }
.site-footer { width:calc(100% - var(--gutter)*2); max-width:var(--content); margin:auto; display:flex; align-items:center; gap:30px; padding:32px 0; font-size:11px }
.footer-identity { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-right:auto }
.footer-brand { width:155px; flex-shrink:0 }
.footer-identity p { border-left:1px solid var(--line); padding-left:24px; white-space:nowrap }
.site-footer small { font-size:10px; color:var(--muted); white-space:nowrap }
.back-top { display:flex; align-items:center; gap:14px; min-height:44px; font:500 12px/1 var(--serif); white-space:nowrap }
.back-top:hover { color:#8e6500; transform:translateY(-2px) }
.sticky-entry { display:none }

/* Quiet motion follows the page hierarchy without moving the reading position. */
.hero-visual { animation:hero-arrive 1.1s ease-out both }
.event-body::before { animation:winter-light 12s ease-in-out infinite alternate }
.gold-flow { animation:gold-drift 9s ease-in-out infinite alternate }
.prize-card { transition:box-shadow .3s,border-color .3s,translate .3s }
.reveal-item { transition:opacity .75s cubic-bezier(.2,.65,.25,1),transform .75s cubic-bezier(.2,.65,.25,1),box-shadow .3s,border-color .3s,translate .3s; transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0s,0s,0s }
.reveal-item.is-pending { opacity:0; transform:translateY(24px) }
.reveal-item.is-pending:focus-within { opacity:1; transform:none; transition-delay:0s }
.product-stage { transition:transform .45s cubic-bezier(.2,.65,.25,1) }
.step-icon { transition:transform .35s,background-color .35s }
.line-cta .cta-arrow,.header-entry>span:last-child,.sticky-entry .cta-arrow { transition:transform .3s }
.faq-item[open] .faq-answer { animation:answer-arrive .35s ease-out both }
@media (hover:hover) and (pointer:fine) {
  .colorsing-card:hover { translate:0 -4px; border-color:#c59422; box-shadow:0 14px 30px #6e603514 }
  .colorsing-card:hover .colorsing-icon { transform:rotate(-4deg) scale(1.04) }
  .prize-card:hover { translate:0 -5px; box-shadow:0 16px 35px #6e60351a; border-color:#c59422 }
  .prize-card:hover .product-stage { transform:translateY(-4px) }
  .entry-steps li:hover .step-icon { transform:rotate(-6deg) scale(1.05); background:#fff0bf }
  a.line-cta:hover .cta-arrow,.header-entry:hover>span:last-child,.sticky-entry:hover .cta-arrow { transform:translateX(5px) }
}
@keyframes hero-arrive { from { opacity:.15 } to { opacity:1 } }
@keyframes winter-light { from { opacity:.36 } to { opacity:.47 } }
@keyframes gold-drift { from { transform:rotate(-5deg) translateY(0) } to { transform:rotate(-4.6deg) translateY(5px) } }
@keyframes answer-arrive { from { opacity:0; transform:translateY(7px) } to { opacity:1; transform:translateY(0) } }

/* Tablet / intermediate layouts */
@media (max-width:1179px) and (min-width:701px) {
  .prize-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px }
  .prize-card--first { grid-column:1/-1; grid-template-columns:58% 42%; grid-template-rows:100px 300px }
  .prize-card--first .prize-card-head { grid-column:1/-1; justify-content:flex-start; gap:30px; padding-left:30px }
  .prize-card--first .product-stage { grid-row:2; grid-column:1; height:300px }
  .prize-card--first .prize-copy { grid-row:2; grid-column:2; align-self:center; padding:10px 25px; align-items:flex-start; text-align:left }
  .prize-card--first .candidate-label { align-self:flex-start }
  .prize-card--first h3,.prize-card--first .mixer-name { font-size:clamp(21px,2.5vw,29px) }
  .prize-card--first .prize-value small { display:block }
}
@media (max-width:1100px) {
  :root { --header-height:70px; --gutter:clamp(26px,5.5vw,60px) }
  body { padding-bottom:96px }
  .site-header { padding-inline:24px }
  .brand { width:164px }
  .menu-toggle:not([hidden]) { display:flex; width:45px; height:45px; border:0; border-radius:50%; padding:0; background:var(--yellow); align-items:center; justify-content:center; cursor:pointer; transition:background .2s; z-index:32 }
  .menu-toggle:hover { background:#ffd247 }
  .menu-lines { width:21px; height:20px; display:block; position:relative }
  .menu-lines i { position:absolute; left:0; width:100%; height:1.5px; background:var(--ink); top:3px; transition:transform .25s,top .25s,opacity .2s }
  .menu-lines i:nth-child(2) { top:9px }
  .menu-lines i:nth-child(3) { top:15px }
  .menu-toggle[aria-expanded=true] .menu-lines i { top:9px; transform:rotate(45deg) }
  .menu-toggle[aria-expanded=true] .menu-lines i:nth-child(2) { opacity:0 }
  .menu-toggle[aria-expanded=true] .menu-lines i:nth-child(3) { transform:rotate(-45deg) }
  .site-menu { position:absolute; top:calc(100% + 10px); right:18px; left:auto; width:min(420px,calc(100vw - 36px)); display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 18px 50px #253a4c20; visibility:hidden; opacity:0; transform:translateY(-10px); pointer-events:none; transition:visibility .25s,opacity .25s,transform .25s; font-size:14px }
  .site-menu[data-open=true] { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto }
  .site-menu>a { min-height:48px; padding:8px 6px }
  .site-menu .header-entry { margin-top:8px; padding:12px 15px; justify-content:center; gap:9px; font-size:12px }
  .site-menu .header-entry .pending-mini { margin-left:auto }
  .hero-scroll { display:none }
  .section { padding-block:86px }
  .about-section { padding-top:56px }
  .colorsing-features { grid-template-columns:1fr; gap:18px }
  .colorsing-card { grid-template-columns:112px minmax(0,1fr); grid-template-rows:auto auto auto; grid-template-areas:"icon number" "icon title" "icon copy"; align-items:center; column-gap:30px; row-gap:7px; padding:26px 30px; text-align:left }
  .colorsing-icon { grid-area:icon }
  .colorsing-number { grid-area:number; justify-content:flex-start }
  .colorsing-card h3 { grid-area:title; font-size:26px }
  .colorsing-card-copy { grid-area:copy; font-size:16px }
  .colorsing-device { grid-template-columns:80px minmax(0,auto); gap:24px; padding:22px 26px }
  .colorsing-device>svg { width:80px; height:60px }
  .colorsing-device>div { padding-left:24px }
  .about-layout,.split-layout,.schedule-layout { gap:40px }
  .about-layout { grid-template-columns:1fr 1fr }
  .statement { font-size:44px }
  .about-lead { font-size:19px }
  .section-copy { font-size:15px }
  .eight-days b { font-size:100px }
  .event-facts>div { grid-template-columns:80px 1fr; gap:13px; padding:15px 0 }
  .event-facts dd { font-size:14px }
  .split-layout { grid-template-columns:.7fr 1.3fr; gap:32px }
  .section-intro .eyebrow { font-size:14px; gap:8px }
  .section-intro .eyebrow::before { width:18px }
  .section-intro h2 { font-size:39px }
  .rules-panel { padding:21px }
  .rule-row { grid-template-columns:.9fr 1.2fr }
  .rule-row dt { padding:16px 11px; font-size:12px }
  .rule-row dd { padding:16px 12px; font-size:13px }
  .pending-tag { margin:5px 0 0; vertical-align:middle }
  .accessories { grid-template-columns:1fr; text-align:center; gap:12px }
  .accessories h3 { justify-self:center }
  .accessories ul { justify-content:center }
  .entry-steps { gap:27px }
  .entry-steps li { grid-template-columns:52px 1fr; gap:9px 12px }
  .step-icon { width:52px; height:52px }
  .step-icon svg { width:28px; height:28px }
  .step-number { font-size:38px }
  .step-body h3 { font-size:17px; min-height:51px }
  .step-body p { font-size:11px }
  .entry-steps li:not(:last-child)::after { right:-22px; font-size:30px }
  .schedule-layout { grid-template-columns:1fr }
  .schedule-intro { max-width:720px }
  .schedule-intro h2 { font-size:43px }
  .schedule-date { margin-top:28px }
  .notes-panel { max-width:none }
  .faq-item summary { font-size:13px; padding:18px; grid-template-columns:28px 1fr 24px; gap:10px }
  .faq-answer { padding-inline:18px; gap:10px; font-size:12px }
  .faq-answer>span { width:28px }
  .site-footer { flex-wrap:wrap; gap:14px 24px }
  .footer-identity { width:100%; margin-right:0 }
  .site-footer small { margin-right:auto }
  .sticky-entry { display:flex; position:fixed; z-index:25; bottom:max(12px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(650px,calc(100% - 28px)); min-height:62px; border-radius:999px; align-items:center; justify-content:center; gap:12px; padding:13px 23px; background:var(--yellow); box-shadow:0 7px 30px #35382c29; font-size:15px; font-weight:800; line-height:1.4; transition:opacity .25s,transform .25s,background .2s }
  .sticky-entry:hover { background:#ffcf43 }
  .sticky-entry .line-word { min-width:36px; min-height:28px }
  .sticky-entry .cta-arrow { margin-left:0 }
  body[data-cta-in-view=true] .sticky-entry { opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,20px) }
}
@media (min-width:701px) and (max-width:900px) and (orientation:portrait) {
  .about-layout,.split-layout { grid-template-columns:1fr; gap:34px }
  .about-intro .eight-days { position:absolute; right:0; bottom:0; margin:0 }
  .about-intro { padding-right:150px }
  .statement { font-size:47px }
  .about-detail .section-copy { max-width:650px }
  .event-facts>div { grid-template-columns:115px 1fr; padding:20px 0 }
  .event-facts dd { font-size:18px }
  .section-intro h2 { font-size:46px }
  .section-intro>p:last-child { margin-top:16px }
  .only-wide { display:none }
  .entry-steps { grid-template-columns:1fr; gap:18px }
  .entry-steps li { grid-template-columns:55px 64px 1fr; grid-template-rows:auto; align-items:center; padding:22px; background:#fffaf0c9; border-radius:24px; gap:20px }
  .step-number { grid-column:1; grid-row:1 }
  .step-icon { grid-column:2; grid-row:1; margin:0; width:64px; height:64px }
  .step-body { grid-column:3; grid-row:1 }
  .step-body h3 { min-height:0; font-size:20px }
  .step-body p { font-size:13px; margin-top:6px }
  .entry-steps li:not(:last-child)::after { display:none }
  .faq-item summary { font-size:16px; min-height:80px }
  .faq-answer { font-size:14px }
}

/* Phone */
@media (max-width:700px) {
  :root { --gutter:24px; --header-height:66px }
  body { font-size:14px; padding-bottom:90px }
  .site-header { padding-inline:20px }
  .brand { width:154px }
  .menu-toggle:not([hidden]) { width:42px; height:42px }
  .hero-scroll { left:24px; bottom:24px; font-size:8px; gap:10px }
  .hero::after { height:80px }
  .section { padding-block:67px }
  .about-section { padding-top:42px }
  .event-body::before { height:680px; background-position:62% top }
  .gold-flow { height:90px }
  .gold-flow--top { top:20px }
  .gold-flow--bottom { bottom:-60px }
  .container { width:calc(100% - 48px) }
  .only-small { display:block }
  .only-wide { display:none }
  .eyebrow { font-size:13px; gap:9px; letter-spacing:.055em; margin-bottom:24px }
  .eyebrow::before { width:20px }
  .section-no { font-size:15px }
  h2 { font-size:clamp(30px,7.9vw,42px); line-height:1.5; letter-spacing:.005em }
  .section-heading { margin-bottom:29px }
  .section-heading--center { text-align:left }
  .section-heading--center .eyebrow { justify-content:flex-start }
  .section-heading--center .eyebrow::after { display:none }
  .colorsing-heading { text-align:left }
  #colorsing-title { font-size:clamp(32px,8vw,47px); white-space:nowrap }
  .colorsing-lead { display:block; font-size:21px; margin-top:19px; padding:8px 23px }
  .colorsing-description { font-size:14px; margin-top:22px; line-height:2 }
  .colorsing-card { grid-template-columns:68px minmax(0,1fr); column-gap:18px; padding:21px 20px; border-radius:20px }
  .colorsing-icon { width:68px; height:68px }
  .colorsing-icon svg { width:45px; height:45px }
  .colorsing-number { font-size:22px; gap:11px }
  .colorsing-number::before,.colorsing-number::after { width:25px }
  .colorsing-card h3 { font-size:clamp(17px,4.6vw,23px) }
  .colorsing-card-copy { font-size:13px; line-height:1.85 }
  .colorsing-device { grid-template-columns:60px minmax(0,1fr); gap:17px; padding:19px 18px; border-radius:18px }
  .colorsing-device>svg { width:60px; height:50px }
  .colorsing-device>div { padding-left:17px }
  .colorsing-device p { font-size:13px; margin-bottom:6px }
  .colorsing-device h3 { font-size:21px }
  .colorsing-footnote { text-align:left; font-size:11px; margin-top:14px }
  .ribbon { padding:7px 20px }
  .about-layout,.split-layout,.schedule-layout { display:grid; grid-template-columns:1fr; gap:30px }
  .about-intro { padding:0 }
  .statement { font-size:clamp(35px,9vw,50px) }
  .about-lead { font-size:16px; margin-top:20px; letter-spacing:.025em }
  .eight-days { display:none }
  .section-copy { font-size:14px; line-height:2; margin-bottom:17px }
  .event-facts>div { grid-template-columns:75px 1fr; gap:14px; padding:16px 0 }
  .event-facts dt { font-size:11px }
  .event-facts dd { font-size:13px }
  .fine-print { font-size:10px; line-height:1.9 }
  .text-link { font-size:14px; margin-top:20px; gap:20px }
  .prize-lead { font-size:12px; margin-top:19px; padding:8px 20px; text-align:center; display:block }
  .prize-grid { grid-template-columns:1fr; gap:20px }
  .prize-card { grid-template-rows:92px 240px 1fr; border-radius:20px }
  .prize-card-head { justify-content:flex-start; gap:24px; padding:12px 22px }
  .rank span { font-size:54px }
  .rank small { font-size:22px }
  .prize-category { font-size:18px; flex:1; padding:9px 10px }
  .product-stage { height:240px; margin-inline:16px }
  .product-mic--shure { width:50%; left:0 }
  .product-mic--shure img { width:auto; height:100% }
  .prize-copy { padding:0 20px 22px }
  .prize-copy h3,.mixer-name { font-size:21px }
  .candidate-label { font-size:10px; margin-bottom:10px }
  .prize-includes { font-size:13px; margin-top:8px }
  .prize-value { font-size:12px; margin-top:10px }
  .prize-value small { font-size:11px }
  .mile-grid { gap:9px; margin-top:15px }
  .mile-prize { flex-wrap:wrap; gap:3px 9px; padding:11px 6px; border-radius:13px }
  .mile-rank { font-size:32px }
  .mile-prize h3 small { font-size:15px }
  .mile-prize p { padding-left:9px; gap:2px }
  .mile-prize strong { font-size:21px }
  .mile-prize p>span { font-size:11px }
  .accessories { padding:19px 16px; border-radius:16px; margin-top:15px }
  .accessories h3 { font-size:19px; white-space:normal }
  .accessories ul { font-size:11px; line-height:2 }
  .equipment-note { font-size:10px; text-align:left; margin-top:16px }
  .section-intro .eyebrow { font-size:13px }
  .section-intro h2 { font-size:38px }
  .section-intro>p:last-child { margin-top:20px; font-size:14px }
  .rules-panel { padding:17px; border-radius:20px }
  .rule-row { grid-template-columns:1fr }
  .rule-row dt { padding:10px 12px 5px; font-size:12px; background:#fff0d0 }
  .rule-row dd { padding:8px 12px 14px; font-size:13px; line-height:1.9 }
  .pending-tag { margin-left:9px; margin-top:0; font-size:10px }
  .rules-panel>.fine-print { margin-top:16px }
  .entry-steps { grid-template-columns:1fr; gap:17px }
  .entry-steps li { grid-template-columns:41px 45px 1fr; grid-template-rows:auto; align-items:start; gap:12px; padding:20px 16px; background:#fffaf2db; border:1px solid #fff9; border-radius:23px }
  .step-number { grid-column:1; grid-row:1; font-size:34px; padding-top:5px }
  .step-icon { grid-column:2; grid-row:1; width:45px; height:45px; margin:0 }
  .step-icon svg { width:27px; height:27px }
  .step-body { grid-column:3; grid-row:1 }
  .step-body h3 { min-height:0; font-size:16px; line-height:1.7 }
  .step-body p { margin-top:7px; font-size:11px; line-height:1.8 }
  .entry-steps li:not(:last-child)::after { display:none }
  .entry-notice { margin-top:30px }
  .requirements-panel { padding:23px 20px; margin-bottom:28px; border-radius:20px }
  .auto-entry-note { padding:23px 20px; border-radius:20px }
  .auto-entry-note p { font-size:13px }
  .requirements-panel>h3 { font-size:22px; margin-bottom:16px }
  .requirements-list { grid-template-columns:1fr }
  .requirements-list>div { grid-template-columns:75px minmax(0,1fr); gap:12px; padding:13px 0 }
  .requirements-list dt { font-size:12px }
  .requirements-list dd { font-size:13px }
  .line-cta { min-height:64px; padding:14px 17px; gap:8px; font-size:14px }
  .line-cta .line-word { min-width:33px; min-height:27px; font-size:10px; border-width:1.5px }
  .line-cta .cta-text { line-height:1.4 }
  .line-cta .cta-arrow { font-size:22px }
  .cta-pending { padding:4px 7px; font-size:9px }
  .entry-notice>p { font-size:10px; margin-top:13px }
  .schedule-intro h2 { font-size:31px }
  .schedule-date { margin-top:26px }
  .schedule-date time { gap:0 11px }
  .schedule-date time>span { font-size:16px }
  .schedule-date time>strong { font-size:26px }
  .result-date { font-size:13px; margin-top:20px; gap:4px 13px }
  .notes-panel { padding:20px 18px; border-radius:20px }
  .notes-panel h3 { font-size:16px; padding:8px 12px; margin-bottom:20px }
  .notes-panel ul { font-size:12px; line-height:1.9 }
  .notes-panel li { padding-left:19px }
  .notes-panel li+li { margin-top:17px }
  .notes-panel li::before { width:7px; height:7px }
  .faq-list { gap:12px }
  .faq-item { border-radius:15px }
  .faq-item summary { grid-template-columns:24px 1fr 23px; gap:9px; padding:18px 14px; font-size:13px; min-height:74px; line-height:1.75 }
  .faq-q { font-size:20px }
  .faq-icon { width:23px; height:23px }
  .faq-icon::before,.faq-icon::after { top:10px; left:5px; right:5px }
  .faq-answer { padding:0 14px 18px; font-size:12px; gap:9px }
  .faq-answer>span { width:24px; font-size:20px }
  .faq-answer>p { padding-top:13px }
  .closing-brand { width:185px; margin-bottom:26px }
  .closing-section h2 { font-size:clamp(31px,8vw,40px); margin-bottom:28px; line-height:1.6 }
  .closing-event-name { font-size:clamp(60px,16vw,82px); max-width:100% }
  .closing-subtitle { font-size:14px; margin-top:18px; padding-inline:23px }
  .closing-date { font-size:15px; margin:22px 0 30px }
  .closing-content>.fine-print { font-size:10px; margin-top:14px }
  .site-footer { padding:27px 0; gap:15px 20px }
  .footer-identity { gap:17px }
  .footer-brand { width:133px }
  .footer-identity p { padding-left:17px; font-size:10px }
  .site-footer small { font-size:9px }
  .back-top { font-size:10px; gap:10px }
  .sticky-entry { min-height:59px; width:calc(100% - 24px); padding:12px 17px; gap:9px; font-size:13px }
  .sticky-entry .line-word { min-width:32px; min-height:25px; font-size:9px }
  .sticky-entry .pending-mini { padding:4px 7px; font-size:9px }
  .sticky-entry .cta-arrow { font-size:22px }
}
@media (max-width:600px) and (orientation:portrait) {
  .hero { padding-top:8px }
  .hero::after { height:56px }
}
@media (max-width:359px) and (orientation:portrait) {
  .hero { padding-top:18px }
}
@media (max-width:359px) {
  :root { --gutter:20px }
  .container { width:calc(100% - 40px) }
  .site-header { padding-inline:17px }
  .brand { width:144px }
  .statement { font-size:33px }
  .colorsing-card { grid-template-columns:54px minmax(0,1fr); gap:7px 14px; padding:19px 16px }
  .colorsing-icon { width:54px; height:54px }
  .colorsing-icon svg { width:37px; height:37px }
  .colorsing-device { grid-template-columns:48px minmax(0,1fr); gap:14px; padding-inline:14px }
  .colorsing-device>svg { width:48px; height:44px }
  .colorsing-device>div { padding-left:14px }
  .colorsing-device h3 { font-size:18px }
  .section-heading h2 { font-size:28px }
  .event-facts>div { grid-template-columns:67px 1fr; gap:9px }
  .event-facts dd { font-size:12px }
  .prize-card { grid-template-rows:90px 215px 1fr }
  .product-stage { height:215px }
  .prize-card-head { gap:15px; padding-inline:18px }
  .prize-category { font-size:16px }
  .prize-copy h3,.mixer-name { font-size:18px }
  .prize-value { font-size:11px }
  .prize-value small { font-size:10px }
  .mile-prize { flex-direction:column; gap:4px; padding:10px 6px }
  .mile-prize p { border:0; padding:0 }
  .entry-steps li { padding:18px 13px; grid-template-columns:33px 1fr; gap:10px }
  .step-icon { display:none }
  .step-body { grid-column:2 }
  .step-body h3 { font-size:15px }
  .line-cta { font-size:12px; gap:6px; padding-inline:12px }
  .line-cta .line-word { min-width:28px; font-size:8px }
  .line-cta .cta-arrow { font-size:18px }
  .line-cta .cta-pending { font-size:8px; padding:4px 5px }
  .schedule-date time>span { font-size:14px }
  .schedule-date time>strong { font-size:23px }
  .schedule-intro h2 { font-size:28px }
  .closing-date { font-size:13px }
  .sticky-entry { font-size:12px; padding-inline:13px; gap:7px }
  .footer-identity p { border-left:0; padding-left:0 }
}
@media (max-height:500px) and (orientation:landscape) and (max-width:1100px) {
  :root { --header-height:60px }
  .site-menu { top:calc(100% + 5px); max-height:calc(100svh - 77px); overflow:auto; padding:13px 20px }
  .site-menu>a { min-height:39px }
  .sticky-entry { min-height:47px; padding-block:8px; bottom:8px; max-width:500px; font-size:13px }
  .hero-scroll { bottom:20px }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { animation:none!important; transition:none!important }
  .reveal-item.is-pending { opacity:1!important; transform:none!important }
}
