/* Apple Design principles, adapted to Blacknet's existing identity. */
:root{--surface:#f5f5f7;--soft-shadow:0 12px 36px #1012180a;--focus:#997600;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;font-optical-sizing:auto}
body{font-family:inherit;line-height:1.6}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}
p{line-height:1.65}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,a{transition:background-color 160ms ease,color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
button:active:not(:disabled),.button:active,.whatsapp:active{transform:scale(.97);transition:transform 80ms ease-out}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
input,select,textarea,#coverage-form textarea{border-radius:12px;background:#fafafa;font-size:1rem;min-height:48px;transition:border-color 150ms ease,box-shadow 150ms ease}
input:focus,select:focus,textarea:focus{background:white;border-color:#a58500;box-shadow:0 0 0 4px #ffcf0026}
header{background:rgba(17,18,18,.9);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-bottom-color:transparent;box-shadow:0 8px 24px #00000012}
header nav a{min-height:44px;display:flex;align-items:center}
.button{border-radius:14px;min-height:48px;font-size:.9375rem;letter-spacing:-.01em}
.button:hover{transform:none;box-shadow:0 6px 18px #00000012}
.hero{background:radial-gradient(ellipse at 90% 60%,#292817 0,transparent 48%),#141616}
.hero h1{font-weight:650;letter-spacing:-.035em}
.hero h1>span{font-family:inherit;font-size:clamp(3.5rem,6.5vw,6rem);font-weight:800;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.hero-copy>p{color:#c1c3c0}
.tag,.plan-ribbon{border-radius:8px}
.offer{transform:none;border-radius:28px;box-shadow:0 28px 70px #0004}
.offer-speed{font-family:inherit;font-size:clamp(4rem,9vw,8rem);letter-spacing:-.065em;font-variant-numeric:tabular-nums}
.offer-speed span{font-family:inherit;letter-spacing:-.025em}
.offer-footer{border-radius:0 0 28px 28px}
.orbit,.floating-label{display:none}
.slider-controls{gap:8px;max-width:100%;flex-wrap:wrap;justify-content:center}
.slider-controls>button{width:44px;height:44px;flex-shrink:0;background:#ffffff0a;border-color:#ffffff2b;font-size:20px}
.dots{gap:0;flex-wrap:wrap;justify-content:center}
.dots button,.dots button.active{position:relative;width:32px;height:44px;border-radius:0;background:transparent}
.dots button:after{content:'';position:absolute;left:12px;top:19px;width:8px;height:6px;border-radius:5px;background:#747872;transition:width 180ms ease,left 180ms ease,background-color 180ms ease}
.dots button.active:after{left:4px;width:24px;background:var(--yellow)}
.plan-card,.admin-card,.lead-card{border-radius:24px;box-shadow:var(--soft-shadow)}
.plan-card h3{font-family:inherit;font-size:2.5rem;letter-spacing:-.05em}
.plan-card .sub,.plan-card ul,.plan-card .button{font-size:.875rem}
.plan-card.featured{background:#fffdf2}
.coverage,.faq,.solution-panel,.solution-details{background:var(--surface)}
form,#coverage-form{border-radius:24px;box-shadow:var(--soft-shadow)}
label{font-size:.875rem}
.solution-tabs button{min-height:48px;padding:12px 20px;border-radius:14px}
.solution-panel{border-radius:24px 24px 0 0}
.solution-details{border-radius:0 0 24px 24px}
.solution-panel p,.solution-details p,.solution-details li{font-size:1rem}
.contact{border-radius:24px}
summary{min-height:44px;align-items:center}
.admin-header{background:#141616}
.savebar{background:rgba(255,255,255,.94);backdrop-filter:blur(20px);border-radius:18px}
.admin-card button,.lead-card button,.primary{min-height:44px;border-radius:12px}
.admin-wrap input,.admin-wrap select,.admin-wrap textarea{font-size:1rem}
@media(max-width:800px){
 header nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-8px);transform-origin:top right;background:rgba(23,24,24,.98);border-radius:0 0 20px 20px;box-shadow:0 20px 30px #0002;transition:opacity 180ms ease,transform 180ms ease,visibility 180ms}
 header nav.open{visibility:visible;opacity:1;transform:translateY(0)}
 .hero h1>span{font-size:clamp(3.25rem,12vw,5rem)}
}
@media(max-width:767px){
 .hero h1{font-size:1.625rem;line-height:1.22}
 .hero-copy>p{font-size:1rem}
 .mobile-offer{background:#ffffff08;border:1px solid #ffffff1c;border-radius:18px;padding:16px;margin-bottom:16px}
 #mobile-price strong{font-variant-numeric:tabular-nums}
 .actions .text-link{border-radius:14px}
 #coverage-form{border-radius:20px}
 #coverage-form input,#coverage-form select,#coverage-form textarea{border-radius:12px}
 .solution-tabs button{font-size:.875rem;padding:10px;border-radius:12px}
 .benefits p,details p{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important;animation:none!important}
 button:active:not(:disabled),.button:active,.whatsapp:active{transform:none}
 header nav{transform:none}
}
@media(prefers-reduced-transparency:reduce){header,header nav{background:#141616;backdrop-filter:none;-webkit-backdrop-filter:none}.savebar{background:white;backdrop-filter:none}}
@media(prefers-contrast:more){header,header nav{background:#111;border-bottom:1px solid white}.savebar{background:white;border:2px solid #141616}.plan-card,form,.admin-card,.lead-card,input,select,textarea{border-color:#555}p{color:#424542}.hero p{color:#eee}}

.admin-wrap input[type="checkbox"]{min-height:20px;width:20px}

/* One shared reading order and spacing for plans and TV combos. */
.plans{align-items:stretch;gap:24px}
.plan-card,.plan-card.featured{display:grid;grid-template-rows:minmax(2.5rem,auto) auto minmax(3.3rem,auto) auto minmax(12rem,1fr) auto;padding:28px 22px 22px;border-width:1px}
.plan-card.featured{border-color:#b99a00;box-shadow:0 0 0 1px #b99a00,var(--soft-shadow)}
.plan-card .plan-name{display:block;font-size:.75rem;line-height:1.5;letter-spacing:.1em;font-weight:800;align-self:start}
.plan-card h3{font-size:2.5rem;line-height:1.15;margin:10px 0 8px}
.plan-card .sub{font-size:.875rem;line-height:1.6;min-height:0;margin:0 0 16px}
.plan-card .plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;padding:16px 0 22px;line-height:1.15}
.plan-card .plan-price strong{font-size:2.25rem;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.plan-card .plan-price small{font-size:.8125rem}
.plan-card ul{margin:22px 0 26px;font-size:.875rem;line-height:1.6}
.plan-card li{margin:0 0 10px;padding-left:20px}
.plan-card .button{width:100%;min-height:48px;padding:12px 16px;font-size:.9375rem;line-height:1.4;gap:8px;text-align:center;align-self:end}
@media(max-width:580px){.plans{grid-template-columns:minmax(0,1fr);gap:24px}.plan-card,.plan-card.featured{padding:26px 22px 22px}.plan-card h3{font-size:2.5rem}.plan-card .plan-price strong{font-size:2.25rem}}
/* Keep the entire photo visible; its own aspect ratio determines height. */
.solution-photo{position:relative;align-self:center;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;aspect-ratio:auto;width:100%;overflow:hidden;background:transparent}
.solution-photo img{position:static;display:block;inset:auto;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
.solution-photo>span{position:static;display:block;inset:auto;width:100%;max-width:none;margin:0;border-radius:0;padding:12px 18px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;box-shadow:none;text-align:center}
@media(max-width:767px){.solution-photo{min-height:0;aspect-ratio:auto}.solution-photo img{width:100%;height:auto}.solution-photo>span{padding:12px 16px;font-size:11px}}
/* Compact solution navigation and image-first reading on phones and tablets. */
.mobile-solution-picker{display:none}
@media(max-width:900px){
 #solucoes{padding-block:36px}
 #solucoes .section-heading{margin-bottom:20px}
 #solucoes h2{font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.15;letter-spacing:-.035em}
 #solucoes .solution-tabs{display:none}
 .mobile-solution-picker{display:grid;gap:8px;margin:0 0 18px;font-size:.875rem;font-weight:600}
 .mobile-solution-picker select{width:100%;min-height:52px;font-size:1rem;background:white;border:1px solid #bfc3bf;border-radius:12px;padding:12px}
 .solution-panel{display:flex;flex-direction:column;min-height:0;border-radius:20px 20px 0 0;align-items:stretch}
 .solution-photo{order:-1;align-self:stretch;width:100%;min-height:0;aspect-ratio:auto}
 .solution-photo img{width:100%;height:auto;object-fit:contain}
 .solution-photo>span{font-size:.75rem;padding:10px 16px;letter-spacing:.04em}
 .solution-panel>div:first-child{padding:24px 20px}
 .solution-panel .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:12px}
 .solution-panel h3{font-size:clamp(1.5rem,5vw,1.875rem);line-height:1.2;margin-bottom:16px}
 .solution-panel p,.solution-points,.solution-details p,.solution-details li{font-size:1rem;line-height:1.6}
 .solution-points{padding-left:20px;margin:16px 0 22px}
 .solution-points li{margin:8px 0}
 .solution-panel .button{width:100%;min-height:52px;white-space:normal;font-size:1rem;text-align:center;gap:8px}
 .solution-details{grid-template-columns:minmax(0,1fr);padding:24px 20px;gap:22px;border-radius:0 0 20px 20px}
 .solution-details>div{min-width:0}
 .solution-details h4{font-size:1.2rem}
 .solution-terms{font-size:.875rem!important}
 #solucoes:focus-within~.whatsapp{visibility:hidden}
}
@media(max-width:400px){#solucoes .solution-panel>div:first-child,#solucoes .solution-details{padding:20px 16px}}
/* Extras remain part of the shared card layout, above the price. */
.plan-card.combo-card{border-color:#d3b341;background:#fffef8}
.plan-name .combo-label{display:inline-block;vertical-align:middle;margin:3px 0 3px 4px;padding:3px 8px;border-radius:6px;background:var(--yellow);color:#141616;font-size:.6875rem;letter-spacing:.08em}
.plan-intro{min-width:0}
.combo-extras{display:grid;gap:8px;margin:0 0 16px;padding:14px;border-radius:12px;background:var(--yellow);color:#141616;overflow-wrap:anywhere}
.combo-caption{font-size:.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.combo-extras strong{display:flex;gap:8px;align-items:baseline;font-size:1rem;line-height:1.4;letter-spacing:-.02em}
.combo-extras strong>span{flex-shrink:0;font-size:1.125rem}
.offer p.combo-hero-extra,#mobile-extra.combo-hero-extra{background:#141616;color:#ffdc37;border-radius:10px;padding:12px 14px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
/* A dedicated invitation with a reward ticket and clear participation steps. */
.referral{padding:88px 0;background:radial-gradient(ellipse at 90% 0,#49401855,transparent 55%),#131515;border-block:1px solid #373a32}
.referral-grid{grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.referral-copy .eyebrow{color:#ffcf00;font-size:.75rem}
.referral-copy h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:24px}
.referral-copy>p{font-size:1.0625rem;line-height:1.8;color:#c6cac2;margin-bottom:28px;max-width:540px}
.referral-copy .button{min-height:54px}
.referral-reward{background:#ffcf00;color:#141616;padding:28px 32px;border-radius:28px;box-shadow:0 20px 70px #0004;position:relative;overflow:hidden}
.referral-ticket-label{display:block;text-align:center;font-size:.6875rem;font-weight:800;letter-spacing:.13em}
.referral-reward .referral-number{color:#141616;font-family:inherit;font-size:clamp(6rem,12vw,9rem);letter-spacing:-.09em;line-height:1;font-weight:850;padding:20px 0 26px}
.referral-reward .referral-number span{font-size:1.25rem;letter-spacing:.18em;margin-top:12px}
.referral-unlimited{border-top:2px dashed #14161655;padding-top:20px;text-align:center}
.referral-unlimited strong{font-size:1.125rem;line-height:1.4;display:block}
.referral-unlimited p{color:#393619;font-size:.9375rem;line-height:1.6;margin:10px 0 0;max-width:none}
.referral-how{margin-top:56px;padding-top:36px;border-top:1px solid #ffffff26}
.referral-how>.eyebrow{display:block;color:#ffcf00;margin-bottom:10px}
.referral-how>h3{font-size:1.75rem;letter-spacing:-.035em;margin:0 0 24px}
.referral-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.referral-steps li{border:1px solid #45483c;border-radius:20px;background:#ffffff04;padding:26px;min-width:0}
.referral-step-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:#141616;background:#ffcf00;font-weight:800;margin-bottom:20px}
.referral-steps h4{font-size:1.125rem;line-height:1.4;margin:0 0 12px;color:#fff}
.referral-steps p{font-size:.9375rem;line-height:1.75;color:#bec3b8;margin:0;max-width:none}
.referral p.referral-note{max-width:none;font-size:.8125rem;margin:24px 0 0;color:#b6bbae}
@media(max-width:800px){.referral{padding:56px 0}.referral-grid{grid-template-columns:1fr;gap:32px}.referral-reward{max-width:520px;width:100%;margin:auto}.referral-steps{grid-template-columns:1fr}.referral-steps li{padding:22px}.referral-how{margin-top:36px}.referral-copy .button{width:100%}.referral-reward .referral-number{font-size:6.5rem}.referral-copy>p{font-size:1rem}.referral-step-number{margin-bottom:14px}}
.referral-art{min-width:0;overflow:hidden;border-radius:24px;background:#090a08;border:1px solid #ffcf0038}
.referral-art>img{display:block;width:100%;height:auto;object-fit:contain}
.referral-art .referral-unlimited{border:0;padding:20px 24px 24px;color:#ffcf00}
.referral-art .referral-unlimited p{color:#c6cac2}
.referral-grid{grid-template-columns:1fr 1.2fr;gap:40px}
@media(max-width:800px){.referral-grid{grid-template-columns:1fr;gap:28px}.referral-art{grid-row:1}.referral-copy h2{font-size:2rem}.referral-art .referral-unlimited{padding:16px 20px 20px}}
.site-header .header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.site-header .header-actions .button{white-space:nowrap;gap:12px;min-height:44px;padding:11px 16px}
.site-header .referral-button{background:transparent;color:#ffcf00;border-color:#ffcf00}
.site-header .referral-button:hover{background:#ffcf001a}
.site-header .header-actions a[hidden]{display:none}
@media(min-width:801px) and (max-width:1350px){.site-header .menu{display:block;margin-left:auto;min-width:44px;min-height:44px;color:white;background:transparent;border:0;font-size:25px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 30px;background:#191b18;flex-direction:column;font-size:16px}.site-header nav.open{display:flex}}
@media(max-width:800px){.site-header .header-actions{order:2;margin-left:auto}.site-header .menu{order:3;margin-left:0}.site-header .header-actions .button{font-size:13px}}
@media(max-width:580px){html{scroll-padding-top:140px}.site-header{display:grid;grid-template-columns:1fr auto;height:auto;padding:6px 16px 12px;gap:4px 12px}.site-header .brand img{height:54px}.site-header .menu{grid-column:2;grid-row:1}.site-header .header-actions{grid-column:1/-1;grid-row:2;width:100%;margin:0;gap:10px}.site-header .header-actions .button{flex:1;padding:10px 12px}.site-header nav{top:100%;max-height:calc(100dvh - 120px)}}

@media(min-width:1351px){.site-header nav a{white-space:nowrap}.site-header nav{gap:20px}}
