
:root { --navy:#081b36; --blue:#0e2a4a; --ink:#12223b; --aqua:#17d6cb; --coral:#ff6659; --cream:#f9f7f2; --muted:#607083; --line:rgba(10,32,59,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.page-width { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.section { padding-top:120px; padding-bottom:120px; }
.site-header { position:absolute; z-index:5; inset:0 0 auto; color:#fff; }
.nav-shell { width:min(1320px,calc(100% - 64px)); height:104px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid rgba(255,255,255,.23); }
.home-brand img { display:block; width:154px; height:auto; }
.main-menu { display:flex; align-items:center; gap:29px; font-size:13px; font-weight:600; letter-spacing:.01em; }
.main-menu > a:not(.menu-cta) { opacity:.9; transition:opacity .2s; }.main-menu > a:hover { opacity:1; }
.menu-login { padding-left:5px; }
.menu-cta { display:inline-flex; align-items:center; gap:14px; padding:13px 17px 13px 20px; border-radius:999px; color:var(--navy); background:#fff; font-weight:700; }.menu-cta span { color:var(--coral); font-size:18px; line-height:10px; }
.menu-toggle,.menu-button { display:none; }
.hero { position:relative; min-height:800px; color:#fff; overflow:hidden; background:var(--navy); }
.hero-image,.hero-wash { position:absolute; inset:0; width:100%; height:100%; }.hero-image { object-fit:cover; object-position:center; }.hero-wash { background:linear-gradient(180deg,rgba(3,17,37,.5) 0%,rgba(3,17,37,.14) 20%,transparent 38%),linear-gradient(90deg,rgba(3,17,37,.46) 0%,rgba(4,19,41,.3) 38%,rgba(6,24,49,.12) 61%,rgba(8,26,52,.03) 82%),linear-gradient(0deg,rgba(3,17,37,.1),transparent 38%); }
.situations-section { padding:78px 0 84px; overflow:hidden; background:linear-gradient(180deg,#edf3f1,#f5f7f4); }
.situations-heading { max-width:900px; margin:0 auto 32px; text-align:center; }.situations-overline { justify-content:center; margin-bottom:13px; }.situations-heading h2 { margin:0 0 14px; color:var(--navy); font-size:clamp(38px,4vw,55px); line-height:1.05; }.situations-intro { max-width:900px; margin:0 auto; color:#536676; font-size:17px; line-height:1.6; }
.situations-carousel { position:relative; width:min(1160px,calc(100% - 80px)); margin:auto; outline:none; touch-action:pan-y; }
.situations-carousel-stage,.situations-carousel-frame { position:relative; }
.situations-carousel-frame { aspect-ratio:1672/817; overflow:hidden; border:1px solid rgba(8,27,54,.08); border-radius:16px; background:var(--navy); box-shadow:0 16px 38px rgba(8,27,54,.14); }
.situations-carousel-track,.situations-carousel-slide,.situations-carousel-image,.situations-carousel-fallback { position:absolute; inset:0; width:100%; height:100%; }
.situations-carousel-track { overflow:hidden; background:var(--navy); }
.situations-carousel-slide { margin:0; opacity:0; visibility:hidden; transition:opacity .55s ease,visibility 0s linear .55s; }
.situations-carousel-slide.is-active { opacity:1; visibility:visible; transition-delay:0s; }
.situations-carousel-image { display:block; object-fit:contain; object-position:center; background:var(--navy); }
.situations-carousel-fallback { display:none; background:radial-gradient(circle at 50% 45%,rgba(23,214,203,.16),transparent 28%),linear-gradient(145deg,#0e2a4a,#081b36); }
.situations-carousel-slide.is-error .situations-carousel-image { visibility:hidden; }
.situations-carousel-slide.is-error .situations-carousel-fallback { display:block; }
.situations-carousel-arrow,.situations-carousel-indicators { visibility:hidden; }
.situations-carousel.is-ready .situations-carousel-arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:54px; height:54px; padding:0; border:1px solid rgba(255,255,255,.82); border-radius:50%; color:#fff; background:var(--navy); box-shadow:0 6px 18px rgba(8,27,54,.2); cursor:pointer; visibility:visible; transform:translateY(-50%); transition:background .2s ease,box-shadow .2s ease,transform .2s ease; }
.situations-carousel.is-ready .situations-carousel-arrow:hover { background:var(--blue); box-shadow:0 8px 22px rgba(8,27,54,.26); transform:translateY(-50%) scale(1.05); }
.situations-carousel-arrow:focus-visible,.situations-carousel-indicators button:focus-visible,.situations-carousel:focus-visible { outline:3px solid var(--aqua); outline-offset:3px; }
.situations-carousel-arrow span { margin-top:-3px; font-family:Arial,sans-serif; font-size:43px; font-weight:400; line-height:1; }
.situations-carousel-previous { left:-67px; }
.situations-carousel-next { right:-67px; }
.situations-carousel.is-ready .situations-carousel-indicators { display:flex; align-items:center; justify-content:center; gap:4px; min-height:40px; margin-top:12px; visibility:visible; }
.situations-carousel-indicators button { position:relative; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.situations-carousel-indicators button:before { position:absolute; inset:11px; border:1px solid #657786; border-radius:50%; background:#657786; content:''; transition:background .2s ease,box-shadow .2s ease,transform .2s ease; }
.situations-carousel-indicators button[aria-current="true"]:before { border-color:#50b8e5; background:#50b8e5; box-shadow:0 0 0 2px #edf3f1,0 0 0 3px var(--navy); transform:scale(1.25); }
.situations-carousel-indicators button[aria-disabled="true"]:before { background:transparent; opacity:.55; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.hero-content { position:relative; z-index:1; padding-top:190px; padding-bottom:92px; }
.overline { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:var(--aqua); font-family:'DM Mono',monospace; font-size:11px; font-weight:500; letter-spacing:.09em; text-transform:uppercase; }.overline i { width:25px; height:1px; background:currentColor; }.overline.dark { color:#168e91; }
h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:'Playfair Display',Georgia,serif; letter-spacing:-.048em; }
.hero h1 { max-width:720px; margin-bottom:23px; font-size:clamp(52px,5.25vw,76px); line-height:.98; font-weight:600; }.hero h1 em { color:#86cbed; font-weight:600; text-shadow:0 2px 18px rgba(1,14,31,.34); }
.hero-copy { max-width:585px; margin-bottom:30px; color:rgba(255,255,255,.92); font-size:17px; line-height:1.62; text-shadow:0 1px 12px rgba(1,14,31,.3); }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:17px; min-height:54px; padding:0 23px; border-radius:4px; font-size:14px; font-weight:700; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-primary { color:#06203c; background:var(--aqua); }.button-primary span { font-size:20px; color:#0c4a5d; }.button-ghost { color:#fff; border:1px solid rgba(255,255,255,.58); }.play { color:var(--aqua); font-size:11px; }
.hero .button { transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }.hero .button-primary:hover { background:#86cbed; box-shadow:0 10px 24px rgba(2,16,35,.24); }.hero .button-ghost:hover { border-color:#fff; background:rgba(255,255,255,.12); }.hero .button:focus-visible,.scroll-cue:focus-visible { outline:3px solid #fff; outline-offset:4px; box-shadow:0 0 0 2px var(--navy); }
.hero-reassurance { display:flex; flex-wrap:wrap; gap:25px; margin-top:31px; color:rgba(255,255,255,.84); font-size:12px; }.hero-reassurance b { display:inline-grid; place-items:center; width:16px; height:16px; margin-right:6px; border-radius:50%; color:#063449; background:var(--aqua); font-size:11px; }
.hero-origin { position:absolute; z-index:2; right:auto; bottom:48px; left:max(32px,calc((100% - 1240px)/2)); display:grid; place-items:center; width:86px; min-height:88px; padding:7px; border:1px solid rgba(23,214,203,.38); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(3,18,39,.18); backdrop-filter:blur(3px); }.hero-origin img { display:block; width:70px; height:auto; }
.scroll-cue { position:absolute; z-index:1; right:calc((100% - min(1240px,calc(100% - 64px)))/2); bottom:31px; display:flex; align-items:center; gap:13px; color:rgba(255,255,255,.65); font-size:11px; letter-spacing:.05em; }.scroll-cue i { position:relative; display:block; width:31px; height:31px; border:1px solid rgba(255,255,255,.5); border-radius:50%; }.scroll-cue i:after { position:absolute; top:9px; left:13px; width:5px; height:10px; border-right:1px solid #fff; border-bottom:1px solid #fff; content:''; transform:rotate(45deg); }
.intro { display:grid; grid-template-columns:1fr .92fr; align-items:end; gap:100px; }.intro h2,.formats h2,.feature-copy h2,.commitment h2 { margin-bottom:0; font-size:clamp(40px,4vw,58px); line-height:1.02; }.intro-copy { max-width:470px; margin:0 0 4px; color:var(--muted); font-size:18px; line-height:1.65; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); padding-top:0; gap:0; }.step { position:relative; min-height:263px; padding:25px 43px 24px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.step:first-child { border-left:0; }.step-number { position:absolute; top:24px; right:31px; color:#9cabb8; font-family:'DM Mono',monospace; font-size:11px; }.step-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:37px; color:var(--aqua); }.step h3 { margin-bottom:11px; font-size:17px; }.step p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.card-icon { border:2px solid currentColor; border-radius:4px; }.card-icon span { width:21px; height:12px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; }.phone-icon { border:2px solid currentColor; border-radius:7px; }.phone-icon span { width:15px; height:16px; border:2px solid currentColor; border-radius:50%; }.signal-icon { position:relative; }.signal-icon:before,.signal-icon:after { position:absolute; border:2px solid currentColor; border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; content:''; transform:rotate(45deg); }.signal-icon:before { width:24px; height:24px; }.signal-icon:after { width:37px; height:37px; }.signal-icon { border-radius:50%; background:radial-gradient(circle,currentColor 0 3px,transparent 4px); }
.usage-section { background:#ecf1ee; }.usage-grid { display:grid; grid-template-columns:1.16fr .84fr; gap:22px; }.feature-card { position:relative; min-height:545px; overflow:hidden; }.feature-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }.feature-card:hover img { transform:scale(1.035); }.feature-card-large { color:#fff; }.feature-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,23,43,.81),rgba(4,20,38,.03) 70%); }.feature-copy { position:absolute; z-index:1; right:46px; bottom:42px; left:46px; }.feature-copy h2 { margin-bottom:16px; font-size:42px; }.feature-copy p:not(.overline) { max-width:455px; margin-bottom:17px; color:rgba(255,255,255,.84); font-size:15px; line-height:1.63; }.feature-card-small { background:#dae7e5; }.feature-card-small img { top:0; right:0; bottom:auto; left:auto; width:100%; height:52%; object-position:center top; }.feature-card-small .feature-copy { right:38px; bottom:38px; left:38px; }.feature-card-small .feature-copy h2 { font-size:35px; }.feature-card-small .feature-copy p:not(.overline) { color:#506475; font-size:14px; }.text-link { display:inline-flex; align-items:center; gap:15px; color:inherit; font-size:13px; font-weight:700; }.text-link span { color:var(--aqua); font-size:20px; }.feature-card-small .text-link { color:var(--ink); }
@media (min-width:721px) and (min-aspect-ratio:2/1) { .hero { background:#010e1f; }.hero-image { object-fit:contain; object-position:right center; } }
@media (max-width:960px) { .main-menu { gap:16px; font-size:12px; }.nav-shell,.page-width { width:min(100% - 40px,1240px); }.hero { min-height:760px; }.hero-content { padding-top:172px; }.section { padding-top:90px; padding-bottom:90px; }.intro { gap:50px; }.feature-copy { right:30px; bottom:30px; left:30px; } }
@media (max-width:720px) { .page-width,.nav-shell { width:calc(100% - 40px); }.nav-shell { height:78px; }.home-brand img { width:120px; }.menu-button { position:relative; z-index:7; display:grid; gap:5px; cursor:pointer; }.menu-button span { display:block; width:25px; height:2px; background:#fff; }.main-menu { position:fixed; z-index:6; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:25px; padding:50px; color:var(--navy); background:#f9f7f2; font-size:20px; transform:translateX(100%); transition:transform .3s ease; }.main-menu .menu-cta { margin-top:8px; color:#fff; background:var(--navy); }.menu-toggle:checked ~ .main-menu { transform:translateX(0); }.menu-toggle:checked + .menu-button { position:fixed; right:20px; }.menu-toggle:checked + .menu-button span { background:var(--navy); }.menu-toggle:checked + .menu-button span:first-child { transform:translateY(7px) rotate(45deg); }.menu-toggle:checked + .menu-button span:nth-child(2) { opacity:0; }.menu-toggle:checked + .menu-button span:last-child { transform:translateY(-7px) rotate(-45deg); }.hero { min-height:0; background:#06182f; }.hero-image { height:330px; object-position:75% center; }.hero-wash { height:430px; background:linear-gradient(90deg,rgba(4,18,39,.5),rgba(4,18,39,.14) 55%,rgba(4,18,39,.04)),linear-gradient(180deg,rgba(4,18,39,.05),rgba(4,18,39,.16) 48%,#06182f 88%,#06182f); }.situations-section { padding:62px 0 66px; }.situations-inner { width:calc(100% - 24px); }.situations-inner > h2 { width:calc(100% - 16px); margin:0 auto 30px; font-size:36px; }.situations-carousel { width:calc(100% - 64px); }.situations-carousel-frame { border-radius:10px; }.situations-carousel.is-ready .situations-carousel-arrow { width:40px; height:40px; }.situations-carousel-arrow span { font-size:36px; }.situations-carousel-previous { left:-42px; }.situations-carousel-next { right:-42px; }.situations-carousel.is-ready .situations-carousel-indicators { margin-top:13px; }.situations-carousel-indicators button { width:30px; height:30px; }.situations-carousel-indicators button:before { inset:10px; }.hero-content { padding-top:300px; padding-bottom:0; }.hero .overline { gap:7px; margin-bottom:14px; font-size:9px; letter-spacing:.055em; white-space:nowrap; }.hero .overline i { flex:0 0 16px; width:16px; }.hero h1 { margin-bottom:19px; font-size:clamp(38px,11vw,44px); line-height:.99; }.hero-copy { max-width:none; margin-bottom:25px; font-size:15px; line-height:1.55; }.hero-actions { display:grid; gap:10px; }.hero .button { width:100%; min-height:54px; }.hero-reassurance { display:grid; gap:10px; margin-top:25px; }.hero-origin { position:relative; right:auto; bottom:auto; left:auto; width:88px; min-height:90px; margin:22px auto 26px; padding:8px; border-radius:14px; }.hero-origin img { width:70px; }.scroll-cue { display:none; }.section { padding-top:72px; padding-bottom:72px; }.intro,.usage-grid { grid-template-columns:1fr; gap:26px; }.intro h2,.feature-copy h2 { font-size:40px; }.intro-copy { font-size:16px; }.steps { grid-template-columns:1fr; }.step { min-height:0; padding:26px 0 28px; border-left:0; }.step-icon { margin-bottom:22px; }.usage-section { padding-top:20px; padding-bottom:20px; }.usage-grid { width:100%; }.feature-card { min-height:480px; }.feature-card-small { min-height:500px; } }
@media (max-width:720px) { .situations-section { padding:56px 0 62px; }.situations-inner { width:calc(100% - 24px); }.situations-heading { width:calc(100% - 16px); margin-bottom:26px; }.situations-overline { margin-bottom:11px; font-size:9px; }.situations-heading h2 { margin-bottom:13px; font-size:36px; }.situations-intro { font-size:15px; line-height:1.55; }.situations-carousel { width:100%; }.situations-carousel-frame { border-radius:10px; }.situations-carousel.is-ready .situations-carousel-arrow { top:auto; bottom:-49px; width:44px; height:44px; transform:none; }.situations-carousel.is-ready .situations-carousel-arrow:hover { transform:scale(1.04); }.situations-carousel-arrow span { font-size:37px; }.situations-carousel-previous { left:0; }.situations-carousel-next { right:0; }.situations-carousel.is-ready .situations-carousel-indicators { min-height:44px; margin-top:10px; }.situations-carousel-indicators button { width:30px; height:30px; }.situations-carousel-indicators button:before { inset:10px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.situations-carousel-slide,.situations-carousel-arrow,.situations-carousel-indicators button:before { transition:none!important; } }

/* Hidden by default; only the public server state can reveal this promotion. */
.home-contest-banner[hidden] { display:none!important; }
.home-contest-banner { padding:54px 0; border-bottom:1px solid var(--line); background:#edf8f5; }
.home-contest-inner { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); align-items:center; gap:38px; }
.home-contest-copy { min-width:0; }
.home-contest-copy .overline { margin-bottom:13px; }
.home-contest-copy h2 { margin-bottom:18px; font-size:clamp(28px,3.25vw,44px); line-height:1.14; }
.home-contest-copy > p:not(.overline) { color:var(--muted); font-size:16px; line-height:1.55; }
.home-contest-copy .home-contest-prize { color:var(--ink); font-size:14px; }
.home-contest-copy .home-contest-conditions { max-width:560px; margin:15px 0 0; font-size:12px; }
.home-contest-copy .button { min-height:52px; max-width:100%; padding:14px 20px; font-size:13px; text-align:center; }
.home-contest-copy .button:focus-visible { outline:3px solid var(--navy); outline-offset:4px; }
.home-contest-visual { min-width:0; margin:0; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; text-align:center; }
.home-contest-visual img { display:block; width:100%; max-height:340px; height:auto; margin:auto; object-fit:contain; }
.home-contest-visual figcaption { margin-top:8px; color:var(--muted); font-size:12px; line-height:1.5; }
.subscription-billing { margin:20px 0 0; color:#fff; font-size:14px; line-height:1.55; }
@media (max-width:720px) {
 .home-contest-banner { padding:36px 0; }
 .home-contest-inner { grid-template-columns:minmax(0,1fr); gap:22px; }
 .home-contest-copy h2 { font-size:30px; }
 .home-contest-copy .overline { font-size:10px; letter-spacing:.04em; }
 .home-contest-copy > p:not(.overline) { font-size:15px; }
 .home-contest-copy .home-contest-prize { font-size:13px; }
 .home-contest-copy .home-contest-conditions { font-size:12px; }
 .home-contest-copy .button { width:100%; gap:10px; font-size:12px; }
 .home-contest-visual { padding:14px; }
 .home-contest-visual img { max-height:240px; }
}

/* Contest launch: one public state controls the existing banner, menu and dialog. */
#home-contest-nav[hidden] { display:none!important; }
.main-menu > .home-contest-nav { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:11px 15px; border:1px solid var(--aqua); border-radius:999px; color:var(--navy); background:var(--aqua); font-weight:800; letter-spacing:.03em; white-space:nowrap; opacity:1; }
.main-menu > .home-contest-nav:hover { background:#9af2e6; border-color:#9af2e6; }
.home-contest-nav:focus-visible { outline:3px solid #fff; outline-offset:4px; box-shadow:0 0 0 6px var(--navy); }
.main-menu:has(#home-contest-nav:not([hidden])) { gap:20px; }
.home-contest-dialog { width:min(900px,calc(100% - 32px)); max-width:none; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid rgba(255,255,255,.2); border-radius:24px; color:#fff; background:var(--navy); overflow:auto; overscroll-behavior:contain; box-shadow:0 24px 90px rgba(0,0,0,.4); }
.home-contest-dialog:not([open]) { display:none; }
.home-contest-dialog::backdrop { background:rgba(3,14,31,.75); }
html:has(#home-contest-dialog[open]) { overflow:hidden; }
.home-contest-close { position:sticky; z-index:2; top:12px; display:grid; place-items:center; width:44px; height:44px; margin:12px 12px -56px auto; padding:0; border:1px solid #d7e0e3; border-radius:50%; color:var(--navy); background:#fff; box-shadow:0 3px 14px rgba(0,0,0,.15); cursor:pointer; }
.home-contest-close span { font:30px/1 Arial,sans-serif; }
.home-contest-close:hover { background:#dcfaf5; }
.home-contest-close:focus-visible,.home-contest-dialog-cta:focus-visible { outline:3px solid var(--aqua); outline-offset:4px; }
.home-contest-dialog-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.home-contest-dialog-visual { display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:0; margin:0; padding:36px 20px 28px; color:var(--navy); background:#fff; text-align:center; }
.home-contest-dialog-tag { margin-bottom:20px; padding:8px 12px; border:1px solid #c4e8e1; border-radius:999px; color:#176159; background:#eefbf7; font:600 10px/1.3 'DM Mono',monospace; letter-spacing:.08em; }
.home-contest-dialog-visual img { display:block; width:100%; height:auto; max-height:340px; object-fit:contain; }
.home-contest-dialog-visual figcaption { margin-top:18px; font-size:14px; font-weight:700; line-height:1.6; }
.home-contest-dialog-visual figcaption span { color:#647281; font-size:12px; font-weight:400; }
.home-contest-dialog-copy { min-width:0; padding:64px 34px 34px; background:radial-gradient(ellipse at 95% 0,rgba(23,214,203,.13),transparent 65%); }
.home-contest-dialog-kicker { margin:0 0 21px; color:#83eee0; font:600 11px/1.6 'DM Mono',monospace; letter-spacing:.06em; }
.home-contest-dialog-copy h2 { margin:0 0 20px; color:#fff; font-size:36px; font-weight:800; line-height:1.09; letter-spacing:-.025em; }
.home-contest-dialog-benefit { margin:0 0 20px; padding:13px 0 13px 15px; border-left:3px solid var(--aqua); color:#83eee0; font-size:17px; font-weight:800; line-height:1.4; }
#home-contest-dialog-description { margin:0 0 24px; color:#e0e7ed; font-size:15px; line-height:1.65; }
.home-contest-dialog-cta { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:54px; padding:15px 12px; border:1px solid var(--aqua); border-radius:12px; color:var(--navy); background:var(--aqua); font-size:13px; font-weight:800; line-height:1.35; text-align:center; }
.home-contest-dialog-cta:hover { background:#9af2e6; border-color:#9af2e6; }
.home-contest-dialog-deadline { margin:14px 0 0; color:#b8c7d4; font-size:11px; line-height:1.5; text-align:center; }
@media (min-width:721px) and (max-width:1100px) {
 .site-header .main-menu:has(#home-contest-nav:not([hidden])) { flex-wrap:wrap; justify-content:flex-end; gap:10px 14px; }
 .site-header .main-menu > .home-contest-nav { padding:10px 12px; font-size:12px; }
}
@media (max-width:720px) {
 .main-menu:has(#home-contest-nav:not([hidden])) { gap:18px; padding:84px 28px 32px; overflow-y:auto; }
 .main-menu > .home-contest-nav { padding:12px 18px; font-size:17px; }
 .home-contest-dialog { width:calc(100% - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:20px; }
 .home-contest-dialog-layout { grid-template-columns:minmax(0,1fr); }
 .home-contest-dialog-visual { padding:14px 56px 12px; }
 .home-contest-dialog-tag { margin-bottom:4px; padding:5px 8px; font-size:8px; letter-spacing:.03em; }
 .home-contest-dialog-visual img { width:100%; max-height:166px; }
 .home-contest-dialog-visual figcaption { margin-top:4px; font-size:11px; line-height:1.4; }
 .home-contest-dialog-visual figcaption span { display:none; }
 .home-contest-dialog-copy { padding:22px 22px 20px; }
 .home-contest-dialog-kicker { margin-bottom:12px; font-size:9px; letter-spacing:.025em; }
 .home-contest-dialog-copy h2 { margin-bottom:14px; font-size:28px; }
 .home-contest-dialog-benefit { margin-bottom:14px; padding:9px 0 9px 11px; font-size:14px; }
 #home-contest-dialog-description { margin-bottom:18px; font-size:13px; line-height:1.55; }
 .home-contest-dialog-cta { font-size:12px; gap:7px; }
 .home-contest-dialog-deadline { margin-top:12px; font-size:10px; }
}
