/* Jasna paleta granatowo-turkusowa EPICNET: tło, panele, karty i obramowania. */
:root{--brand-dark:#00202f;--brand-page:#f3f7f8;--brand-surface-soft:#f7f9fa;--brand-surface:#f1f2f3;--brand-hover:#dce8eb;--brand-border:#cbd9de;--brand-border-strong:#afc4cc;--brand-glow:#00202f08;--brand-glow-soft:#00202f04;--brand-decoration-line:#00202f30;--brand-shadow-soft:#00202f04;--brand-shadow-featured:#00202f0a;--brand-shadow-dialog:#00202f26;--brand-backdrop:#00202f70}
:root{--blue:#0054a5;--blue-dark:#00478c;--ink:#14243e;--muted:#58677c;--line:var(--brand-border);--soft:var(--brand-surface)}*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #087a9c;outline-offset:4px}a:hover{text-decoration:underline}.container{width:min(1400px,calc(100% - 40px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:19px}nav{order:3;width:100%;display:flex;justify-content:space-between;gap:12px}nav a{font-size:13px;font-weight:600;color:var(--muted);padding-block:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:7px;border:1px solid transparent;font-weight:650;font-size:14px;line-height:1.3;cursor:pointer;min-height:44px}.button:hover{text-decoration:none}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}.outline{background:var(--soft);border-color:var(--line);color:var(--ink)}.outline:hover{background:var(--brand-hover);border-color:var(--brand-border-strong)}.header-order{font-size:12px;padding:11px 12px}.hero{padding-block:32px 28px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;color:var(--muted);margin:0 0 12px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:7px}h1{font-size:clamp(32px,4.8vw,54px);letter-spacing:-1.8px;line-height:1.12;margin:0 0 14px;font-weight:760}h1 span{color:var(--blue)}.hero>p:last-child{font-size:16px;color:var(--muted);margin:0}h2{font-size:25px;letter-spacing:-.8px;line-height:1.25;margin:0}p{margin:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.section-heading .eyebrow{margin-bottom:7px}.section-note{display:none;font-size:13px;color:var(--muted)}.plans{display:grid;gap:14px}.plan{position:relative;border:1px solid var(--line);border-radius:10px;padding:22px;background:#fff;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center}.plan h3{font-size:25px;line-height:1.2;letter-spacing:-.9px;margin:0}.plan h3 small{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}.speed-divider{color:#8792a4;font-weight:400}.speed-label{font-size:11px;color:var(--muted);grid-column:1;margin-top:5px}.price{font-size:33px;line-height:1.15;letter-spacing:-1px;font-weight:750;grid-column:2;grid-row:1 / 3}.price>span{font-size:14px;letter-spacing:0;font-weight:600}.per-month{display:block;font-size:11px;color:var(--muted);font-weight:400;text-align:right}.plan .button{grid-column:1 / -1;margin-top:20px}.popular{border:2px solid var(--blue);background:var(--brand-surface-soft);padding:21px}.badge{position:absolute;top:-12px;left:18px;background:var(--blue);color:#fff;font-size:10px;padding:4px 10px;border-radius:4px;font-weight:600;letter-spacing:.2px}.fiber-plans{gap:20px}.symmetric-heading{margin:34px 0 18px}.symmetric-heading h2{font-size:21px}.symmetric-heading p{font-size:13px;color:var(--muted);margin-top:6px}.coverage{margin-top:44px;padding:26px;border:1px solid var(--brand-border);border-radius:12px;background:var(--soft);display:grid;gap:24px}.coverage h2{font-size:26px}.coverage p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:10px}.coverage .demo-note{font-size:11px!important;max-width:390px}.form-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:12px;align-items:end}.town-field{grid-column:1 / -1}.field{min-width:0}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input{width:100%;min-height:46px;background:white;border:1px solid var(--brand-border-strong);border-radius:6px;padding:11px 12px;color:var(--ink);font-size:14px}.form-fields button{width:100%;min-height:46px;grid-column:1 / -1}.button:disabled{cursor:default;opacity:.65}.form-result:empty{display:none}.radio{padding-block:48px 32px}.radio h2{font-size:26px}.radio .section-heading p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:9px}.radio-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}thead{background:var(--soft);font-size:10px;color:var(--muted)}th,td{padding:13px 10px;border-bottom:1px solid var(--line)}thead th{font-weight:600}tbody th{font-size:14px;font-weight:650}tbody th span,td>span{font-weight:400;color:var(--muted);font-size:11px}tbody tr:last-child>*{border-bottom:0}td:last-child{text-align:right}td a{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;min-height:32px}td strong{white-space:nowrap}td>span{white-space:nowrap}.extras{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:13px;padding-top:22px;color:var(--muted)}.extras strong{color:var(--ink);margin-left:6px}.extras>span{color:#b5bfcd}.contact{border-top:1px solid var(--line);padding-block:32px;display:grid;gap:20px}.contact h2{font-size:26px;max-width:600px}.contact .eyebrow{text-transform:uppercase}.contact-details{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.contact-details li{min-width:0;display:flex}.contact-card{width:100%;display:flex;align-items:flex-start;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:9px;background:#fff}.contact-icon{flex-shrink:0;color:var(--blue);margin-top:3px}.contact-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.contact-label{font-size:12px;color:var(--muted);font-weight:500}.contact-links{display:grid;gap:2px}.contact-value{display:block;font-size:clamp(18px,2vw,22px);line-height:1.3;font-weight:650;letter-spacing:-.3px;overflow-wrap:anywhere;min-height:44px;padding-block:8px}.contact-links a{color:var(--blue)}.contact-links a:hover{color:var(--blue-dark);text-decoration:underline}footer{background:var(--soft);border-top:1px solid var(--line);padding-top:24px}.footer-grid{display:grid;gap:20px;font-size:12px;color:var(--muted)}.footer-grid h2{font-size:12px;font-weight:650;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;color:var(--ink)}.footer-grid p+p{margin-top:6px}.footer-bottom{margin-top:20px;padding-block:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.skip-link{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip-link:focus{top:8px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:600px){.container{width:min(1400px,calc(100% - 64px))}.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.plan{display:block}.plan h3{font-size:26px}.price{margin-top:22px;font-size:38px}.per-month{display:inline;margin-left:4px}.plan .button{display:flex}.symmetric-plans{grid-template-columns:repeat(3,minmax(0,1fr))}.symmetric-plans .plan{padding:20px}.symmetric-plans h3{font-size:23px}.section-note{display:block}.coverage{padding:32px}.form-fields button{width:auto}th,td{padding:12px 22px}thead{font-size:12px}table{font-size:14px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.header-inner{flex-wrap:nowrap;padding-block:23px}nav{order:0;width:auto;gap:28px;margin-left:auto;margin-right:28px}nav a{font-size:13px}.header-order{font-size:13px;padding:12px 18px}.hero{padding-block:47px 40px}.hero>p:last-child{font-size:18px}.fiber-plans{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.plan{padding:24px 18px 18px}.popular{padding:23px 17px 17px;box-shadow:0 5px 18px var(--brand-shadow-featured)}.plan h3{font-size:26px}.plan h3 small{display:block;margin-top:5px;font-size:11px}.plan .price{font-size:40px}.price>span{font-size:13px}.per-month{display:block;text-align:left;margin-left:0;margin-top:3px}.plan .button{margin-top:22px}.symmetric-plans .plan{display:grid;grid-template-columns:1fr auto;column-gap:22px;padding:22px}.symmetric-plans h3 small{display:inline}.symmetric-plans .price{margin:0;font-size:34px}.symmetric-plans .button{margin-top:18px}.coverage{grid-template-columns:1fr 1.15fr;gap:42px;align-items:center;padding:36px}.radio-table{max-width:850px}.radio{padding-block:52px 40px}.section-heading{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Dopracowanie desktopu bez zmiany kompaktowego układu mobilnego. */
@media(min-width:1000px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.coverage{grid-template-columns:1fr 1.35fr;gap:32px}.form-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.65fr)}.town-field{grid-column:auto}}
@media(min-width:1200px){.fiber-plans .plan h3{font-size:30px}.fiber-plans .price{font-size:46px}.fiber-plans .plan{padding:26px 22px 20px}.fiber-plans .popular{padding:25px 21px 19px}.fiber-plans .speed-label{font-size:12px}.fiber-plans .badge{font-size:11px}h2{font-size:28px}nav a{font-size:14px}.hero h1{font-size:56px}}

/* Kontakt: dwa równe kafelki; na telefonie pionowo. */
@media(min-width:900px){.contact-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contact-card{padding:12px 18px}.contact-value{min-height:30px;padding-block:1px}.contact h2{font-size:28px}.footer-bottom{margin-top:16px}}

/* Interfejs telefonów; istniejący układ od 600 px pozostaje bez zmian. */
.menu-toggle,.mobile-menu-order,.mobile-plans,.mobile-order,.radio-toggle,.mobile-radio-help{display:none}
@media(max-width:599px){
 .container{width:calc(100% - 32px)}
 .header-inner{padding-block:8px;gap:0;position:relative}
 
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:24px;cursor:pointer}
 .header-order{display:none}
 .js #main-menu{display:none}
 .js .header-inner.menu-open #main-menu{display:flex}
 #main-menu{flex-direction:column;gap:0;padding-block:8px}
 #main-menu a{font-size:16px;min-height:44px;padding:10px 12px;border-radius:5px}
 #main-menu a:hover{background:var(--soft)}
 .mobile-menu-order{display:block;color:var(--blue);font-weight:700}
 .hero{padding-block:20px 18px}
 .hero .eyebrow{margin-bottom:8px}
 .hero h1{font-size:32px;letter-spacing:-1.2px;margin-bottom:8px}
 .hero>p:last-child{font-size:15px}
 .offer>.section-heading{margin-bottom:10px}
 .offer>.section-heading .eyebrow{display:none}
 .offer h2{font-size:22px}
 .fiber-plans,.symmetric-plans{display:none}
 .mobile-plans{display:block;border:0;padding:0;margin:0;min-width:0}
 .mobile-plan-help,.mobile-radio-help{font-size:12px;color:var(--muted);margin-bottom:8px}
 .mobile-plan-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}
 .mobile-plan-row{position:relative;display:flex;align-items:center;gap:8px;min-height:54px;padding:8px 12px;margin:0;border-bottom:1px solid var(--line);cursor:pointer}
 .mobile-plan-row:last-child{border-bottom:0}
 .mobile-plan-row input{appearance:none;flex-shrink:0;width:16px;height:16px;min-height:0;margin:0;padding:0;border:1px solid #8191a8;border-radius:50%;background:#fff}
 .mobile-plan-row input:checked{border:5px solid var(--blue)}
 .mobile-plan-row:has(input:checked){background:var(--brand-surface);box-shadow:inset 3px 0 var(--blue)}
 .mobile-plan-row:has(input:focus-visible){outline:3px solid #087a9c;outline-offset:-3px}
 .mobile-speed{font-size:17px;font-weight:650;white-space:nowrap;letter-spacing:-.4px}
 .mobile-speed small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}
 .mobile-price{margin-left:auto;font-size:22px;font-weight:750;white-space:nowrap;letter-spacing:-.5px}
 .mobile-price small{font-size:14px;font-weight:600;letter-spacing:0}
 .mobile-popular{position:absolute;left:36px;top:2px;font-size:10px;color:var(--blue);line-height:1.2;font-weight:600}
 .recommended .mobile-speed{padding-top:10px}
 .mobile-order{display:flex;width:100%;margin-top:12px;min-height:48px;font-size:16px}
 .symmetric-heading{margin:22px 0 10px}
 .symmetric-heading p{margin-top:4px}
 
 .coverage{margin-top:24px;padding:18px;gap:16px}
 .coverage h2{font-size:22px}
 .coverage .eyebrow,.coverage .demo-note{display:none}
 .coverage p:not(.eyebrow){margin-top:6px}
 .form-fields{gap:10px}
 input{font-size:16px}
 .radio{padding-block:26px 22px}
 .radio .eyebrow{display:none}
 .radio h2{font-size:22px}
 .radio .section-heading{margin-bottom:12px}
 .radio-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--blue);font-size:15px;font-weight:600;cursor:pointer}
 .js .radio-content{display:none}
 .js .radio-content.is-open{display:block}
 .radio-content{margin-top:12px}
 .mobile-radio-help{display:block}
 .radio-table thead,.radio-table td:last-child,.radio-table td>span{display:none}
 .radio-table th,.radio-table td{padding:10px 12px;height:44px}
 .radio-table tbody th{font-size:17px;letter-spacing:-.4px}
 .radio-table tbody th span{font-size:12px}
 .radio-table td:nth-child(2){text-align:right;font-size:20px}
 .extras{padding-top:12px;gap:6px 14px}
 .extras>span{display:none}
 .contact{padding-block:22px;gap:14px}
 .contact h2{font-size:23px}
 .contact .eyebrow{margin-bottom:6px}
 .contact-details{gap:10px}
 .contact-card{padding:0;border:0;gap:12px}
 .contact-copy{gap:0}
 .contact-links{gap:0}
 .contact-value{font-size:18px;min-height:44px;padding-block:8px}
 footer{padding-top:18px}
 .footer-grid{gap:12px}
 
 .footer-grid h2{margin-bottom:4px}
 .footer-grid p+p{margin-top:4px}
 .footer-bottom{margin-top:12px;padding-block:10px}
}
@media(max-width:359px){.form-fields{grid-template-columns:minmax(0,1fr)}.form-fields .field{grid-column:1 / -1}}

/* Formularz zamówienia — style ograniczone do okien dialogowych. */
body.order-open{overflow:hidden}
.order-dialog,.privacy-dialog{color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:0;width:min(720px,calc(100% - 32px));max-width:none;max-height:92dvh;overscroll-behavior:contain;box-shadow:0 20px 80px var(--brand-shadow-dialog)}
.order-dialog::backdrop,.privacy-dialog::backdrop{background:var(--brand-backdrop)}
.order-dialog-header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line)}
.order-dialog-header .eyebrow{margin-bottom:4px;font-size:10px}
.order-dialog-header h2{font-size:23px;letter-spacing:-.5px}
.dialog-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:28px;cursor:pointer}
.dialog-close:hover{background:var(--soft);color:var(--ink)}
#order-form{padding:18px;display:grid;gap:18px}
.order-section{margin:0;padding:0;border:0;min-width:0}
.order-section h3,.order-summary h3,.router-choice legend{font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0 0 10px;padding:0}
.order-field{min-width:0}
.order-field label,#offer-picker label{font-size:13px;margin-bottom:6px}
.order-field label span{font-weight:400;color:var(--muted);font-size:12px}
.order-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.order-dialog input:not([type=radio]):not([type=checkbox]),.order-dialog select,.order-dialog textarea{display:block;width:100%;min-height:44px;font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--brand-border-strong);border-radius:6px;background:#fff;padding:10px 12px}
.order-dialog textarea{resize:vertical;min-height:70px;max-height:180px}
.order-dialog input[type=radio],.order-dialog input[type=checkbox]{flex-shrink:0;appearance:auto;accent-color:var(--blue);width:18px;height:18px;min-height:0;margin:0;padding:0;cursor:pointer}
.router-choice>label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:400;margin:0;padding:7px 0;cursor:pointer}
.installation-note{color:var(--muted);font-size:13px;margin-top:8px}
.installation-note strong{color:var(--ink)}
.chosen-offer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--soft);border:1px solid var(--brand-border);border-radius:7px}
.chosen-offer[hidden],#offer-picker[hidden],.order-result[hidden]{display:none}
.chosen-offer>div{display:grid;gap:3px;min-width:0}
.order-label{font-size:12px;color:var(--muted)}
#chosen-speed{font-size:18px;line-height:1.3}
#chosen-price{font-size:15px;font-weight:650;color:var(--blue)}
.change-offer{background:transparent;border:0;color:var(--blue);font-size:14px;font-weight:600;min-height:44px;padding:10px 4px;cursor:pointer}
.change-offer:hover{text-decoration:underline}
.order-summary{padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:7px}
.order-summary dl{margin:0;display:grid;gap:10px;font-size:14px}
.order-summary dl>div{display:grid;gap:2px}
.order-summary dt{font-size:12px;color:var(--muted)}
.order-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.privacy-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;font-weight:400;cursor:pointer;margin:0;min-height:44px;padding-block:8px}
.privacy-consent input{margin-top:2px!important}
.privacy-consent a{text-decoration:underline}
.required-hint{font-size:12px;color:var(--muted);margin-top:-12px}
.order-submit{width:100%;font-size:16px;min-height:48px}
.order-result{font-size:14px;color:var(--ink);border:1px solid var(--brand-border);border-radius:7px;background:var(--soft);padding:14px;line-height:1.5}
.privacy-dialog{width:min(560px,calc(100% - 32px))}
.privacy-dialog>p{padding:20px 18px;font-size:15px}
.privacy-dialog>.button{margin:0 18px 18px}
@media(min-width:600px){#order-form{padding:24px;gap:22px}.order-dialog-header{padding:18px 24px}.order-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.order-full{grid-column:1 / -1}.order-summary dl>div{grid-template-columns:140px minmax(0,1fr);gap:12px}}
@media(max-width:599px){.order-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:9px}.order-dialog-header{padding:12px 16px}#order-form{padding:16px;gap:16px}.order-dialog-header h2{font-size:22px}}

/* Warunkowe pola firmy nie zmieniają układu pozostałego formularza. */
.order-subheading{font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0 0 10px;padding:0}
#company-fields[hidden],#customer-fields[hidden],#company-note[hidden]{display:none}
.company-note{font-size:13px;color:var(--muted);line-height:1.5;margin-top:10px}

/* Spokojne tło — wyłącznie CSS, bez nowych zasobów dekoracyjnych. */
body{background:radial-gradient(ellipse 700px 380px at 85% 170px,var(--brand-glow),transparent),radial-gradient(ellipse 500px 300px at 8% 220px,var(--brand-glow),transparent),var(--brand-page)}
.site-header{background:#ffffffeb}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;pointer-events:none;z-index:-1;right:4%;top:25px;width:280px;height:110px;opacity:.25;background:radial-gradient(circle at 8% 76%,var(--brand-dark) 2px,transparent 3px),radial-gradient(circle at 50% 48%,var(--brand-dark) 2px,transparent 3px),radial-gradient(circle at 93% 20%,var(--brand-dark) 2px,transparent 3px),linear-gradient(165deg,transparent 49.5%,var(--brand-decoration-line) 50%,transparent 50.5%)}
.plan{box-shadow:0 2px 12px var(--brand-shadow-soft)}
.mobile-plan-list,.radio-table{background:#fff}
.submission-note{font-size:13px;color:var(--muted);line-height:1.5}
.submission-note{margin-top:-8px}
.order-error-summary{border:1px solid #b34a4338;background:#fff5f4;color:#922a24;border-radius:6px;padding:10px 12px;font-size:14px}
.field-error{font-size:13px;color:#a22d25;line-height:1.4;margin-top:6px}
.order-dialog [aria-invalid=true]{border-color:#a22d25!important}
.order-dialog input,.order-dialog select,.order-dialog textarea{scroll-margin-block:115px 16px}
@media(max-width:599px){body{background:radial-gradient(ellipse 360px 200px at 100% 140px,var(--brand-glow-soft),transparent),var(--brand-page)}.hero::before{display:none}}


.order-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}

.coverage .form-fields{grid-template-columns:minmax(0,1fr)}
.coverage .town-field{grid-column:auto}
.coverage .field-error{color:#a22d25!important;font-size:13px!important}
.coverage [aria-invalid=true]{border-color:#a22d25}
@media(min-width:600px){.coverage .form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage .number-field{grid-column:1}.coverage .form-fields button{grid-column:auto}}
@media(min-width:1000px){.coverage .form-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(172px,.8fr)}.coverage .number-field{grid-column:auto}.coverage .form-fields button{padding-inline:12px;gap:8px;white-space:nowrap}}
.coverage .coverage-privacy{font-size:12px!important;line-height:1.5;margin-top:10px}
.privacy-page{max-width:820px;padding-block:44px 48px;overflow-wrap:anywhere}
.privacy-page h1{font-size:clamp(30px,4vw,42px);letter-spacing:-1px}
.privacy-intro{color:var(--muted);font-size:16px}
.privacy-date,.privacy-source{font-size:13px;color:var(--muted);margin-top:14px}
.privacy-page section{margin-top:28px}
.privacy-page h2{font-size:20px;line-height:1.4;letter-spacing:-.4px;margin-bottom:10px}
.privacy-page section p{font-size:15px;line-height:1.75}
.privacy-page section p+p{margin-top:10px}
.privacy-page .button{margin-top:24px}
@media(max-width:599px){.privacy-page{padding-block:26px 30px}.privacy-page section{margin-top:22px}.privacy-page h2{font-size:18px}.privacy-page section p{line-height:1.65}}









/* Warunki każdej oferty, również w mobilnym wyborze pakietu. */
.plan-terms{display:grid;gap:8px;margin:18px 0 20px;font-size:13px;line-height:1.5;font-weight:500;color:var(--ink);min-width:0}
.plan-terms>span{display:flex;align-items:flex-start;gap:8px;min-width:0;overflow-wrap:break-word}
.term-check{flex:0 0 auto;color:var(--blue);font-size:12px;font-weight:700;line-height:1.625}
@media(min-width:600px){
 .plan{display:flex;flex-direction:column;align-items:stretch;min-width:0}
 .plan .button{margin-top:auto}
 .symmetric-plans .plan{display:flex}
}
@media(min-width:1000px){
 .fiber-plans .plan h3{min-height:2.5em}
 .symmetric-plans .price{margin-top:20px}
 .symmetric-plans .button{margin-top:auto}
}
@media(max-width:599px){
 .mobile-plan-row{flex-wrap:wrap;row-gap:0;padding-block:12px}
 .mobile-plan-row .plan-terms{flex-basis:100%;margin:10px 0 0;padding-left:24px;gap:5px;font-size:13px;font-weight:400}
 .mobile-popular{top:5px}
}

/* Wycentrowana, kompaktowa oferta radiowa i niezależny formularz zapytania. */
.radio{text-align:center}
.radio .section-heading{justify-content:center}
.radio-content{max-width:850px;margin-inline:auto}
.radio-card-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:850px;margin-inline:auto}
.radio-plan{flex:0 1 190px;min-width:0;padding:18px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 12px var(--brand-shadow-soft);display:flex;flex-direction:column;align-items:stretch}
.radio-plan h3{font-size:24px;line-height:1.25;letter-spacing:-.6px;margin:0}
.radio-plan h3>span{color:#8792a4;font-weight:400}
.radio-plan h3 small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:3px}
.radio-plan .speed-label{font-size:11px;margin-top:8px}
.radio-price{font-size:30px;line-height:1.2;font-weight:750;letter-spacing:-.7px;margin:16px 0}
.radio-price span{display:block;font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:3px}
.radio-plan .button{margin-top:auto;min-height:42px;padding:10px 12px}
.radio .extras,.offer>.extras{justify-content:center}
.radio-custom-invitation{max-width:620px;margin:26px auto 0;padding:22px 24px;background:var(--soft);border:1px solid var(--line);border-radius:10px}
.radio-custom-invitation h3{font-size:20px;line-height:1.35;letter-spacing:-.4px;margin:0 0 8px}
.radio-custom-invitation p{font-size:14px;line-height:1.65;color:var(--muted);max-width:510px;margin-inline:auto}
.radio-custom-invitation .button{margin-top:16px;max-width:100%}
body.radio-custom-open{overflow:hidden}
#radio-custom-form{display:grid;gap:18px;padding:24px;min-width:0}
.radio-custom-dialog{width:min(640px,calc(100% - 32px))}
.radio-custom-dialog .order-dialog-header h2{font-size:22px;overflow-wrap:break-word}
.radio-custom-dialog .order-fields{min-width:0}
.radio-custom-dialog input,.radio-custom-dialog textarea{min-width:0;max-width:100%}
.radio-custom-dialog .submission-note{margin:0}
@media(max-width:599px){
 .radio-content,.radio-custom-invitation{width:100%;max-width:100%}
 .radio-card-grid{gap:12px}
 .radio-plan{flex-basis:calc((100% - 12px)/2);padding:16px 12px}
 .radio-plan h3{font-size:21px}
 .radio-plan .speed-label{font-size:10px}
 .radio-plan .button{font-size:13px;gap:8px;padding:10px}
 .radio-price{font-size:28px;margin:14px 0}
 .radio-custom-invitation{margin-top:18px;padding:20px 16px}
 .radio-custom-invitation h3{font-size:19px}
 .radio-custom-invitation .button{font-size:14px;gap:10px}
 .radio-custom-dialog{width:calc(100% - 16px)}
 #radio-custom-form{padding:16px;gap:16px}
 .radio-custom-dialog .order-dialog-header h2{font-size:20px;line-height:1.3}
}

/* Wspólne proporcje istniejących sekcji EPICNET. */
:root{--content-width:1280px;--section-space:44px;--panel-radius:10px}
.container{width:min(var(--content-width),calc(100% - 48px));margin-inline:auto}
.hero{padding-block:40px 32px}
.section-heading{margin-bottom:24px}
.offer h2,.symmetric-heading h2,.coverage h2,.radio h2,.contact h2{font-size:clamp(22px,2.2vw,28px);font-weight:700;line-height:1.25;letter-spacing:-.6px}
.symmetric-heading{margin:32px 0 20px}
.symmetric-heading p,.radio .section-heading p:not(.eyebrow){font-size:14px;line-height:1.6;margin-top:8px}
.plans{grid-auto-rows:1fr;gap:16px}
.plan,.radio-plan,.contact-card,.mobile-plan-list,.radio-custom-invitation{border-radius:var(--panel-radius)}
.plan .button,.radio-plan .button{border-radius:7px}
.coverage{margin-top:var(--section-space);padding:32px;border:1px solid var(--line);border-radius:var(--panel-radius);gap:28px}
.radio{padding-block:var(--section-space);text-align:center}
.radio .section-heading{justify-content:center}
.radio-content{margin-top:0}
.radio-card-grid{gap:16px}
.radio-plan{padding:20px 16px}
.radio-custom-invitation{max-width:680px;margin-top:24px;padding:24px;border-color:var(--line)}
.contact{padding-block:24px 28px;gap:16px}
.contact-details{gap:16px}
.contact-card{padding:14px 18px;border-color:var(--line)}
.contact-value{font-size:clamp(18px,1.8vw,22px)}
footer{padding-top:24px}
.footer-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;font-size:13px}
.footer-identity{min-width:0}

.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;align-items:center}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:500}
.visit-counter{display:flex;visibility:visible;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-top:12px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:13px;font-weight:500;line-height:1.5;text-align:left}
.visit-counter svg{flex-shrink:0;color:var(--blue)}
.visit-counter span{min-width:0;overflow-wrap:anywhere}
.visit-counter strong{font-weight:700;font-variant-numeric:tabular-nums}
.footer-bottom{margin-top:20px;padding-block:12px;font-size:12px}
@media(max-width:599px){
 :root{--section-space:28px}
 .container{width:calc(100% - 32px)}
 .hero{padding-block:24px}
 .offer>.section-heading{margin-bottom:16px}
 .symmetric-heading{margin:24px 0 14px}
 .mobile-plan-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;column-gap:8px;row-gap:0;padding:12px}
 .mobile-speed{min-width:0;white-space:normal;line-height:1.25}
 .mobile-speed small{display:block;margin-top:3px}
 .mobile-price{margin-left:0}
 .mobile-plan-row .plan-terms{grid-column:2 / -1;padding-left:0;margin-top:10px}
 .coverage{padding:20px;gap:20px}
 .radio .section-heading{margin-bottom:16px}
 .radio-content{margin-top:12px}
 .radio-card-grid{gap:12px}
 .radio-plan{padding:16px 12px}
 .radio-custom-invitation{margin-top:20px;padding:20px 16px}
 .contact{padding-block:20px 24px;gap:16px}
 .contact-card{padding:14px 16px}
 footer{padding-top:20px}
 .footer-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .footer-links{justify-content:flex-start;gap:4px 20px}
 .footer-bottom{margin-top:12px}
}

/* Końcowe proporcje desktopu; układ mobilny radia pozostaje bez zmian. */
.contact-heading .eyebrow{margin-bottom:8px}
@media(min-width:1000px){
 .radio-content,.radio-card-grid{max-width:1024px}
 .radio-plan{flex:0 0 calc((100% - 48px)/4);min-height:248px;padding:24px 20px}
 .radio-plan h3{font-size:28px}
 .radio-plan h3 small,.radio-plan .speed-label{font-size:12px}
 .radio-price{font-size:36px;margin:18px 0}
 .radio-price span{font-size:13px}
 .radio-plan .button{min-height:44px;font-size:15px;padding:11px 14px}
 .radio-custom-invitation{width:100%;max-width:1024px;padding:26px 32px}
 .radio-custom-invitation p{max-width:680px}
}

/* Jeden wspólny panel: nagłówek, pakiety, koszty i propozycja własnego pakietu. */
.radio-panel{padding:32px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--soft)}
.radio-panel .section-heading{margin-bottom:26px}
.radio-panel .radio-plan{background:#fff}
.radio-panel .extras,.offer>.extras{padding-top:20px}
.radio-panel .radio-custom-invitation{width:100%;max-width:1024px;margin:24px auto 0;padding:24px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
@media(max-width:599px){
 .radio-panel{padding:20px 16px}
 .radio-panel .section-heading{margin-bottom:16px}
 .radio-panel .radio-custom-invitation{margin-top:20px;padding-top:20px}
 .radio-panel .extras,.offer>.extras{padding-top:16px;gap:8px 16px}
}

/* Niska stopka pod niezmienioną sekcją kontaktową. */
footer{padding:0}
.footer-strip{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:10px;font-size:12px;color:var(--muted)}
.footer-left{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;min-width:0}
.footer-copyright{white-space:nowrap}
.footer-strip .visit-counter{margin:0;padding:0;border:0;background:transparent;border-radius:0;font-size:12px;gap:7px}
.footer-strip .visit-counter svg{width:16px;height:16px}
.footer-strip .footer-links{gap:4px 20px}
.footer-strip .footer-links a{min-height:32px;font-size:12px}
@media(max-width:599px){
 .footer-strip{flex-direction:column;align-items:flex-start;gap:4px;padding-block:8px}
 .footer-strip .footer-links{justify-content:flex-start}
 .footer-strip .footer-links a{min-height:36px}
}

/* Wyłącznie typografia i odstępy wewnątrz kart radiowych. */
.radio-plan h3{white-space:nowrap}
.radio-plan h3 small{display:inline;vertical-align:baseline;margin:0;font-size:11px;font-weight:400}
.radio-plan .speed-label{margin-top:6px}
.radio-price{margin:12px 0}
.radio-price .radio-currency{display:inline;margin:0;font-size:14px;font-weight:500;vertical-align:baseline}
.radio-price .radio-period{display:block;margin-top:2px;font-size:12px;font-weight:400}
@media(min-width:1000px){
 .radio-plan{min-height:232px;padding:20px 18px}
 .radio-plan h3 small{font-size:12px}
 .radio-price{margin:14px 0}
}
@media(max-width:599px){
 .radio-plan{padding:14px 10px}
 .radio-plan h3{font-size:19px}
 .radio-plan h3 small{font-size:10px}
 .radio-price{margin:12px 0}
}

/* Zwarty układ ofert na telefonach, bez zmiany układu desktopu. */
.plan h3{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.plan h3 small{display:inline;margin-top:0;vertical-align:baseline;flex-shrink:0}
@media(max-width:599px){
 .mobile-plan-row{padding:8px 10px;column-gap:7px}
 .mobile-speed{white-space:nowrap;font-size:17px;line-height:1.25}
 .mobile-speed small{display:inline;margin:0;font-size:10px;vertical-align:baseline}
 .mobile-price{font-size:23px;line-height:1.15}
 .mobile-price small{font-size:12px;font-weight:500}
 .mobile-period{display:block;margin-top:1px;font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted);text-align:right}
 .mobile-plan-row .plan-terms{margin-top:5px;gap:2px;font-size:13px;line-height:1.35}
 .mobile-popular{top:3px;font-size:10px}
 .recommended .mobile-speed{padding-top:8px}
 .mobile-plan-help{margin-bottom:6px}
 .mobile-order{margin-top:8px;min-height:44px;padding:10px 14px;font-size:15px}
 .radio-plan{padding:10px}
 .radio-plan .speed-label{margin-top:3px;line-height:1.35}
 .radio-price{margin:8px 0;line-height:1.15}
 .radio-price .radio-period{margin-top:1px;font-size:11px}
 .radio-plan .button{min-height:40px;padding:8px 10px}
}




/* Całe oryginalne logo EPICNET, bez sprite, przycinania ani zmiany proporcji. */
.header-inner .brand{display:inline-flex;align-items:center;flex:0 0 auto;line-height:1}
.brand-logo{display:block;width:300px;max-width:100%;height:auto}
@media(max-width:599px){.brand-logo{width:224px}}

/* Po zamianie sekcji: pojedynczy dotychczasowy odstęp między radiem a dostępnością. */
.radio:has(+ .coverage){padding-bottom:0}

/* Oryginalne tło EPICNET — zmiany ograniczone do górnego nagłówka. */
.site-header{background:#00202f;border-bottom-color:#ffffff26}
.site-header #main-menu a{color:#fff}
.site-header #main-menu a:hover{color:#fff}
.site-header .header-order,.site-header #main-menu .mobile-menu-order{background:var(--blue);color:#fff;border:1px solid #ffffff40;border-radius:7px}
.site-header .header-order:hover,.site-header #main-menu .mobile-menu-order:hover{background:var(--blue-dark);color:#fff}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:#8dd9ff}
@media(min-width:600px){.site-header #main-menu a{font-size:16px}}
@media(max-width:599px){
 .site-header .menu-toggle{background:transparent;color:#fff;border-color:#ffffff59;flex-shrink:0}
 .site-header .menu-toggle:hover{background:#ffffff14}
 .site-header #main-menu{background:#00202f}
 .site-header #main-menu a:hover{background:#ffffff14}
 .site-header #main-menu .mobile-menu-order:hover{background:var(--blue-dark)}
}

/* Powierzchnie kart i modali; bez zmian wymiarów i układu. */
.plan,.contact-card,.mobile-plan-list,.radio-table,.radio-panel .radio-plan{background:var(--brand-surface-soft)}
.order-dialog,.privacy-dialog{background:var(--brand-surface-soft)}
.order-dialog-header{background:var(--brand-surface)}

/* Symetryczny światłowód: takie same progi typografii jak w głównych kartach. */
@media(min-width:600px){
 .symmetric-plans .plan h3{font-size:26px}
 .symmetric-plans .plan .price{font-size:38px}
}
@media(min-width:1000px){.symmetric-plans .plan .price{font-size:40px}}
@media(min-width:1200px){
 .symmetric-plans .plan h3{font-size:30px}
 .symmetric-plans .plan .price{font-size:46px}
 .symmetric-plans .speed-label{font-size:12px}
}

/* Wspólny zwarty blok prędkości dla obu rodzajów światłowodu. */
.fiber-plans .plan h3,.symmetric-plans .plan h3{min-height:0}
.fiber-plans .speed-label,.symmetric-plans .speed-label{margin:5px 0 0;line-height:1.5;font-size:11px;color:var(--muted)}
@media(min-width:1200px){.fiber-plans .speed-label,.symmetric-plans .speed-label{font-size:12px}}

/* Jeden komponent miesięcznej ceny dla światłowodu, symetrii i radia. */
.price,.radio-price,.mobile-price{text-align:center}
.price .monthly-price,.radio-price .monthly-price,.mobile-price .monthly-price{display:flex;align-items:baseline;justify-content:center;gap:4px;width:100%;white-space:nowrap;font-size:48px;font-weight:750;line-height:1.15;letter-spacing:-1px}
.monthly-price .monthly-price-value{font-size:inherit;font-weight:inherit;letter-spacing:inherit}
.monthly-price .monthly-price-currency{font-size:14px;font-weight:600;letter-spacing:0}
.monthly-price .monthly-price-period{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}
@media(max-width:599px){
 .price .monthly-price,.radio-price .monthly-price,.mobile-price .monthly-price{font-size:28px;gap:3px;letter-spacing:-.5px}
 .monthly-price .monthly-price-currency{font-size:11px}
 .monthly-price .monthly-price-period{font-size:10px}
}

/* Wyśrodkowane prędkości wszystkich ofert i wspólny kolor cen. */
.fiber-plans .plan h3,.symmetric-plans .plan h3{justify-content:center;text-align:center}
.radio-plan h3,.plan .speed-label,.radio-plan .speed-label{text-align:center}
.monthly-price .monthly-price-value,.monthly-price .monthly-price-currency{color:var(--ink)}
.monthly-price .monthly-price-period{color:var(--muted)}
@media(max-width:599px){
 .mobile-speed,.mobile-plan-help,.mobile-radio-help{text-align:center}
}

/* Nagłówek radia wyrównany do wspólnej krawędzi głównego kontenera. */
.radio-panel .section-heading{justify-content:flex-start;text-align:left;margin-inline:-33px}
.radio-panel .section-heading>div{width:100%}
@media(max-width:599px){.radio-panel .section-heading{margin-inline:-17px}}

/* Radio na głównym tle strony; 1 px paddingu zastępuje ramkę bez przesuwania treści. */
.radio-panel{background:transparent;border:0;border-radius:0;padding:33px}
@media(max-width:599px){.radio-panel{padding:21px 17px}}

/* Desktop: cztery kolumny radia na pełnej szerokości głównego cennika. */
@media(min-width:1000px){
 .radio-panel .radio-content{max-width:none}
 .radio-panel .radio-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;justify-content:start;max-width:none;width:calc(100% + 66px);margin-inline:-33px}
}

/* Oryginalna czerwień EPICNET: tylko CTA nagłówka i ikony kontaktu. */
:root{--brand-red:#cf0000;--brand-red-dark:#ba0000}
.site-header .header-order,.site-header #main-menu .mobile-menu-order{background:var(--brand-red);color:#fff}
.site-header .header-order:hover,.site-header .header-order:active,.site-header #main-menu .mobile-menu-order:hover,.site-header #main-menu .mobile-menu-order:active{background:var(--brand-red-dark);color:#fff}
.site-header .header-order:focus-visible,.site-header #main-menu .mobile-menu-order:focus-visible{background:var(--brand-red-dark);outline-color:var(--brand-red)}
.contact .contact-icon{color:var(--brand-red)}


/* Mały tekst pod głównym nagłówkiem światłowodu. */
.offer>.section-heading #fiber-title+.eyebrow{margin:7px 0 0}
