/* Captive-портал «Бодрый Макс».
   Стилистика по гайдбуку: жёлтый фон, чёрная типографика Onest,
   зелёные акценты и органичная «кофейная» форма как стилеобразующий элемент.
   Всё локально — портал работает до выхода в интернет. */

/* --- Шрифт ---------------------------------------------------------------
   Onest — переменный шрифт, один файл на все начертания 400…800.
   Гайдбук допускает Arial, когда фирменный шрифт недоступен. */
@font-face {
    font-family: 'Onest';
    src: url('/static/fonts/onest-cyrillic.woff2') format('woff2');
    font-weight: 400 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Onest';
    src: url('/static/fonts/onest-latin.woff2') format('woff2');
    font-weight: 400 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                   U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC,
                   U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--yellow:#dcbc2c;--cream:#f7e9cc;--green:#57aa5b;--ink:#1c1c1c;--white:#fff;--muted:#56534b;--line:#dedbd3;font-family:Onest,Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--yellow)}body{margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:5px}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-80px;background:white;padding:12px;z-index:3}.skip-link:focus{top:16px}.demo-banner{background:var(--ink);color:var(--cream);text-align:center;padding:8px 16px;font-size:12px}.page{max-width:1200px;margin:auto;padding:0 48px}.header{display:flex;justify-content:space-between;align-items:center;padding:34px 0 40px;gap:24px}.logo{width:168px;height:auto;display:block}.network{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}.network small{display:block;font-size:11px;font-weight:400}.network-dot{height:9px;width:9px;border:2px solid var(--ink);border-radius:50%}.layout{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:start}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:600;margin:0 0 24px}.intro{padding:10px 0 0}.intro h1,.hero h1{font-size:clamp(48px,6.5vw,88px);line-height:.97;letter-spacing:-.065em;font-weight:800;margin:0 0 24px}.intro h1 span{color:var(--ink)}.intro-copy,.hero p{font-size:18px;line-height:1.5;margin:0;max-width:28ch}.brand-art{position:relative;max-width:375px;margin:22px 0 -10px}.brand-art svg{display:block;width:100%}.brand-art span{position:absolute;left:27%;top:34%;font-size:16px;font-weight:600;line-height:1.3;transform:rotate(-7deg)}.card{background:var(--white);border-radius:28px;padding:34px 34px 28px;min-width:0;outline:none}.step-label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;margin-bottom:30px;color:var(--muted)}.step-label span{border:1px solid var(--ink);border-radius:30px;padding:5px 10px;color:var(--ink);font-variant-numeric:tabular-nums}h2{font-size:30px;letter-spacing:-.04em;line-height:1.12;margin:0 0 14px;font-weight:700}.lead{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 25px}.field__label{display:block;font-size:12px;font-weight:600;margin:0 0 9px}.input{display:block;width:100%;border:1.5px solid var(--line);border-radius:12px;background:#faf9f6;color:var(--ink);height:60px;padding:0 16px;font-size:20px;font-weight:500;appearance:none}.input::placeholder{color:#77736a;font-weight:400}.input:focus{background:white;border-color:var(--ink)}.field-hint{font-size:11px;color:var(--muted);margin:8px 0 22px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;margin-bottom:22px}.consent input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink)}.consent label{cursor:pointer}.btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:14px 20px;border:2px solid var(--ink);border-radius:12px;background:var(--ink);color:var(--white);font-size:15px;font-weight:600;text-decoration:none;transition:background .15s}.btn:hover{background:#35352d}.btn span{font-size:24px;line-height:1}.btn:disabled{opacity:.55;cursor:wait}.btn--call{flex-direction:column;justify-content:center;gap:4px;font-size:24px;letter-spacing:-.03em;background:var(--green);border-color:var(--green);color:var(--ink);min-height:96px}.btn--call:hover{background:#70b674}.btn--call small{font-size:11px;font-weight:500;letter-spacing:0}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--cream)}.legal-note{font-size:11px;line-height:1.6;color:var(--muted);margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}.service-note{font-size:11px;line-height:1.5;color:var(--muted);margin:16px 0 0}.help{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px}.help summary{font-weight:600;min-height:28px}.help p{color:var(--muted);line-height:1.6;margin-bottom:0}.alert{background:var(--cream);border-left:3px solid var(--ink);padding:14px;font-size:13px;margin-bottom:20px;border-radius:4px}.timer{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:13px}.timer strong{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:8px;animation:pulse 2s infinite}.note{font-size:12px;color:var(--muted);line-height:1.6}.steps{list-style:none;counter-reset:steps;padding:18px 0 0;margin:24px 0;border-top:1px solid var(--line)}.steps li{display:flex;gap:12px;font-size:12px;margin:12px 0;counter-increment:steps}.steps li:before{content:counter(steps);display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;height:23px;background:var(--cream);border-radius:50%;font-size:11px;font-weight:600}.text-link{font-size:13px;display:inline-block;padding:10px 0}.success-mark,.status-symbol{height:76px;width:76px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:40px;margin:0 0 28px}.status-symbol{background:var(--cream)}.status-panel{background:var(--cream);padding:20px;border-radius:14px;font-size:13px}.status-panel p{margin:8px 0 0;line-height:1.6}.call-number{background:var(--cream);border-radius:12px;padding:22px;font-size:18px;font-weight:600}.footer{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;border-top:1px solid #1c1c1c30;margin-top:40px;padding:22px 0 28px;font-size:11px}.footer small{flex-basis:100%;font-size:10px}.legal h2{font-size:19px;letter-spacing:-.02em;margin-top:22px}.legal h2:first-child{margin-top:0}.legal p,.legal li{font-size:13px;line-height:1.7}.legal+.btn{margin-top:28px}@keyframes pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.pulse{animation:none}.btn{transition:none}}
@media(min-width:1440px){.header{padding-bottom:65px}.layout{gap:100px}.page{padding:0 40px}}
@media(max-width:900px){.page{padding:0 28px}.layout{grid-template-columns:1fr 410px;gap:28px}.card{padding:28px}.intro h1,.hero h1{font-size:64px}.brand-art span{font-size:12px}.intro-copy{font-size:16px}}
@media(max-width:700px){.page{padding:0 20px;max-width:500px}.header{padding:24px 0 32px;gap:12px}.logo{width:136px}.network{font-size:11px;gap:8px}.network small{font-size:10px}.layout{display:block}.intro{padding:0}.intro>.eyebrow{font-size:9px;margin-bottom:16px}.intro h1,.hero h1{font-size:56px;line-height:.98;letter-spacing:-.055em;margin-bottom:16px}.intro-copy,.hero p{font-size:14px;margin-bottom:28px}.brand-art{display:none}.card{padding:26px 24px;border-radius:24px}.step-label{margin-bottom:24px}h2{font-size:27px}.footer{margin-top:28px;padding-bottom:max(24px,env(safe-area-inset-bottom));font-size:10px}.footer>span{flex-basis:100%}.lead{font-size:13px}.policy-grid>div{padding-left:14px}}
@media(max-width:360px){.page{padding:0 12px}.card{padding:24px 18px}.network{max-width:130px}.network small{overflow-wrap:anywhere}.intro h1{font-size:50px}.btn--call{font-size:21px}}

.legal{overflow-wrap:anywhere}.legal ul{padding-left:18px}.legal li+li{margin-top:12px}#legal{scroll-margin-top:20px}
@media(max-width:700px){.intro h1,.hero h1{font-size:46px}.header{padding:18px 0 24px}.logo{width:120px}.intro-copy,.hero p{margin-bottom:22px}.intro>.eyebrow{margin-bottom:12px}}

.code-input{font-size:28px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
