@import url("fonts.css");
:root{--green:#5a8f5a;--green-dark:#3f7443;--green-soft:#edf4e8;--navy:#152d49;--ink:#263746;--muted:#66717a;--cream:#f7f3ec;--paper:#fffdfa;--white:#fff;--line:#e8e6df;--shadow:0 12px 34px rgba(21,45,73,.07);--radius:24px;--step:1}*{box-sizing:border-box}html{font-size:calc(100% * var(--step));scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Quicksand,"Segoe UI",Arial,sans-serif;font-size:1.02rem;line-height:1.6}a{color:var(--green-dark)}img{display:block;max-width:100%}.wrap{width:min(1460px,calc(100% - 72px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:18px;top:12px;z-index:999;background:#fff;padding:12px 16px;border:3px solid var(--green)}:focus-visible{outline:4px solid #f0cf3c;outline-offset:3px}h1,h2,h3{color:var(--navy);line-height:1.13;margin:0 0 .55em;font-weight:800}h1{font-size:clamp(2.3rem,3.8vw,4.05rem)}h2{font-size:clamp(1.65rem,2.55vw,2.65rem)}h3{font-size:1.28rem}p{margin:0 0 1em}section{padding:64px 0}.eyebrow{display:inline-block;color:var(--green-dark);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;margin-bottom:14px}.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-main{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 0 4px}.brand img{width:390px;height:84px;object-fit:contain;object-position:left}.header-actions{display:flex;align-items:center;gap:15px}.access-tools{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700}.tool-button{height:38px;min-width:40px;border:1px solid #ddd7cc;background:#fff;border-radius:10px;color:var(--navy);font-weight:800}.active-size{background:var(--green);color:#fff}.phone-link{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--navy)}.phone-circle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green-soft);color:var(--green-dark);font-size:1.3rem}.phone-link small,.phone-link strong{display:block;line-height:1.12}.phone-link small{font-size:.78rem}.phone-link strong{font-size:1.15rem}.tagline-row{font-size:.92rem;color:var(--navy);padding-bottom:9px}.main-nav{border-top:1px solid var(--line)}.nav-row{display:flex;justify-content:space-between;gap:clamp(20px,2.5vw,44px);padding:0 clamp(8px,1.5vw,24px)}.main-nav a{padding:15px 8px 13px;text-decoration:none;color:var(--navy);font-weight:700;border-bottom:3px solid transparent;white-space:nowrap}.main-nav a:hover,.main-nav a.active{color:var(--green-dark);border-bottom-color:var(--green)}.nav-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 24px;border-radius:999px;border:2px solid var(--green);font-weight:800;text-decoration:none;line-height:1.2}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:#fff;color:var(--green-dark)}.btn-secondary:hover{background:var(--green-soft)}.header-book{padding:12px 19px}.hero{padding:24px 0 12px}.hero-shell{display:grid;grid-template-columns:.83fr 1.17fr;min-height:510px;border-radius:25px;overflow:hidden;background:linear-gradient(115deg,#fffaf2,#f7f1e8);border:1px solid #efebe3;box-shadow:var(--shadow)}.hero-copy{padding:42px 22px 34px 50px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(2.2rem,3.55vw,3.85rem);max-width:17ch}.hero-note{font-size:1.28rem;color:var(--navy);max-width:30ch}.hero-note strong{color:var(--green-dark)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 22px}.hero-points{display:flex;gap:22px;flex-wrap:wrap;font-weight:700;color:var(--navy);font-size:.92rem}.hero-image{min-height:510px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.section-head{text-align:center;max-width:780px;margin:0 auto 30px}.section-head.compact{margin-bottom:18px}.section-head p{color:var(--muted)}.services-home{padding:8px 0 16px}.service-tiles{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.service-tiles a{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:220px;padding:18px 12px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--navy);box-shadow:0 5px 16px rgba(21,45,73,.045);transition:.2s}.service-tiles a:hover{transform:translateY(-3px);border-color:#b8d0b4;box-shadow:var(--shadow)}.tile-icon,.icon-wrap{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green-soft);color:var(--green-dark);font-size:1.65rem;margin-bottom:12px}.service-tiles strong{font-size:1rem}.service-tiles small{display:block;color:var(--muted);font-size:.81rem;line-height:1.45;margin:7px 0;flex:1}.service-tiles em{font-style:normal;font-size:.82rem;color:var(--green-dark)}.values-strip{padding:0 0 30px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(90deg,#f6f8f2,#fff);border:1px solid var(--line);border-radius:18px}.value-grid>div{display:flex;align-items:center;gap:13px;padding:18px 24px;border-right:1px solid var(--line)}.value-grid>div:last-child{border-right:0}.value-grid span{display:grid;place-items:center;flex:0 0 47px;height:47px;border-radius:50%;background:var(--green-soft);color:var(--green-dark);font-size:1.35rem;font-weight:900}.value-grid p{margin:0;color:var(--muted);font-size:.86rem}.value-grid strong{display:block;color:var(--green-dark);font-size:.96rem}.home-wifi{padding-top:24px}.home-mesh{display:grid;grid-template-columns:.55fr 1.45fr;gap:30px;align-items:center;background:linear-gradient(120deg,#f9fbf6,#fff);border:1px solid var(--line);border-radius:24px;padding:28px}.home-mesh-copy p{color:var(--muted);font-size:1.08rem}.mesh-image img{border-radius:16px}.page-hero{padding:48px 0 38px;background:linear-gradient(115deg,#fffaf2,#fff)}.page-hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center}.page-hero p{font-size:1.2rem;color:var(--muted);max-width:760px}.page-hero-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.page-hero-card strong{display:block;color:var(--green-dark);font-size:1.35rem;margin-bottom:8px}.page-hero-card p{font-size:1rem}.surface{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-card{border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 24px rgba(21,45,73,.05);display:flex;flex-direction:column}.service-card h2{font-size:1.65rem}.service-card p{color:var(--muted)}.service-card ul,.tick-list{list-style:none;padding:0}.service-card li,.tick-list li{position:relative;padding-left:28px;margin:8px 0}.service-card li:before,.tick-list li:before{content:"✓";position:absolute;left:0;color:var(--green-dark);font-weight:900}.service-card a{margin-top:auto;font-weight:800;text-decoration:none}.cta-band{background:var(--navy);color:#fff}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{color:#fff}.cta-band p{color:#dce6ed}.mesh-explainer{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.mesh-diagram img{border-radius:16px}.steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{border:1px solid var(--line);border-radius:19px;padding:26px}.step .num{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--green);color:#fff;font-weight:900;margin-bottom:12px}.soft-section{background:var(--cream)}.feature-split{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}.reassurance-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow)}.reassurance-card strong{display:block;color:var(--green-dark);font-size:1.45rem}.membership-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:980px;margin:auto}.price-card{position:relative;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow);display:flex;flex-direction:column}.price-card.featured{border:3px solid var(--green)}.price{font-size:2.25rem;font-weight:900;color:var(--green-dark)}.price small{font-size:1rem;color:var(--muted)}.price-card .btn{margin-top:auto}.ribbon{position:absolute;right:22px;top:-15px;background:var(--green);color:#fff;padding:6px 13px;border-radius:999px;font-size:.82rem;font-weight:800}.centered{text-align:center;margin-top:22px}.tips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.tip-card,.faq-item{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff}.tip-card summary,.faq-item summary{padding:20px 22px;font-weight:800;color:var(--navy);cursor:pointer;list-style:none}.tip-body,.faq-item p{padding:0 22px 22px;color:var(--muted)}.tip-tag{display:inline-block;background:var(--green-soft);color:var(--green-dark);padding:3px 8px;border-radius:999px;font-size:.72rem;text-transform:uppercase;margin-right:8px}.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testi{border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:var(--shadow)}.testi blockquote{margin:0 0 14px;font-size:1.08rem}.testi cite{font-style:normal;color:var(--green-dark);font-weight:800}.faq-list{display:grid;gap:13px;max-width:1000px;margin:auto}.contact-buttons{display:flex;gap:15px;flex-wrap:wrap;margin-top:22px}.contact-method{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:14px 18px;border-radius:16px;text-decoration:none;color:var(--navy)}.contact-method>span{font-size:1.35rem;color:var(--green-dark)}.contact-method small,.contact-method strong{display:block}.booking-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px}.booking-form{border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.field{margin-bottom:16px}.field label{display:block;color:var(--navy);font-weight:800;margin-bottom:6px}.field label span{font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:14px;border:2px solid #ccd5cd;border-radius:11px;font:inherit}.field textarea{min-height:125px}.booking-form button{width:100%;border:0;border-radius:999px;background:var(--green);color:#fff;padding:15px;font:inherit;font-weight:800}.booking-status{margin-top:12px}footer{background:#182a37;color:#dce5ea;padding:44px 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1.8fr auto;gap:30px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand>div{display:grid;line-height:1.08}.footer-brand>div>span{display:block;margin-top:5px}.footer-brand img{width:68px}.footer-brand strong{display:block;color:#fff;font-size:1.55rem}.footer-brand span{color:#b9caa9}.footer-brand p{font-size:.88rem}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px}.footer-nav a,.footer-contact a{color:#fff;text-decoration:none}.footer-contact{display:grid;gap:8px}.footer-contact strong{color:#fff}.footer-small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:.88rem}html.contrast{--green:#ffe600;--green-dark:#ffe600;--green-soft:#171717;--navy:#fff;--ink:#fff;--muted:#fff;--cream:#000;--line:#fff}html.contrast body,html.contrast .site-header,html.contrast .page-hero,html.contrast .surface,html.contrast .soft-section{background:#000}html.contrast .hero-shell,html.contrast .service-card,html.contrast .price-card,html.contrast .tip-card,html.contrast .faq-item,html.contrast .booking-form,html.contrast .page-hero-card,html.contrast .reassurance-card{background:#000;border-color:#fff}html.contrast .btn-primary{color:#000}@media(max-width:1200px){.wrap{width:min(100% - 40px,1460px)}.access-tools{display:none}.nav-row{gap:clamp(12px,1.8vw,24px);padding:0}.main-nav a{font-size:.94rem}.service-tiles{grid-template-columns:repeat(4,1fr)}.hero-shell{grid-template-columns:1fr}.hero-copy{padding:42px}.hero-copy h1{max-width:22ch}.hero-image{min-height:430px}.value-grid{grid-template-columns:repeat(2,1fr)}.value-grid>div:nth-child(2){border-right:0}.value-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:900px){.header-main{align-items:flex-start}.brand img{width:300px;height:70px}.header-book{display:none}.phone-link small{display:none}.nav-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.main-nav a{text-align:center}.page-hero-grid,.feature-split,.booking-wrap,.mesh-explainer,.home-mesh{grid-template-columns:1fr}.services-grid,.steps-list,.testi-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1}}@media(max-width:680px){body{font-size:1rem}.wrap{width:min(100% - 24px,1460px)}section{padding:44px 0}.header-main{padding:10px 0}.brand img{width:230px;height:58px}.tagline-row{font-size:.78rem}.phone-link{display:none}.nav-toggle{display:block;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font-size:1.25rem}.main-nav{display:none}.main-nav.open{display:block}.nav-row{grid-template-columns:1fr}.main-nav a{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line)}.hero{padding:12px 0}.hero-copy{padding:28px 22px}.hero-image{min-height:285px}.hero-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.hero-points{display:grid;gap:8px}.service-tiles,.services-grid,.steps-list,.testi-grid,.tips-grid,.membership-grid,.value-grid{grid-template-columns:1fr}.service-tiles a{min-height:190px}.value-grid>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.value-grid>div:last-child{border-bottom:0!important}.cta-band .wrap{display:grid}.footer-grid{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr}.footer-contact{grid-column:auto}.contact-buttons{display:grid}}

/* Version 8 design-system refinements */
:root{--green:#5a8f5a;--green-dark:#3e7042;--green-soft:#eef5e9;--navy:#243746;--cream:#f7f3ec;--paper:#fffdf9;--radius-sm:16px;--radius-md:22px;--radius-lg:30px}
.brand{flex:0 0 auto}.brand img{width:360px;height:auto;max-height:88px}.tagline-row{font-weight:700;color:#50616e}
.hero-shell{grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);min-height:520px;border-radius:var(--radius-lg);background:linear-gradient(125deg,#fffdf8 0%,#f4eee3 100%)}
.hero-copy{padding:52px}.hero-copy h1{max-width:15ch;font-size:clamp(2.5rem,4.2vw,4.5rem);letter-spacing:-.035em}.hero-note{max-width:35ch;font-size:1.18rem;color:#485b69}.hero-image{min-height:520px}
.values-strip{padding:24px 0 18px}.value-grid{box-shadow:0 8px 28px rgba(36,55,70,.05);overflow:hidden}.value-grid>div{min-height:104px}
.services-home{padding:50px 0 38px}.service-tiles{grid-template-columns:repeat(4,1fr);gap:18px}.service-tiles a{align-items:flex-start;text-align:left;min-height:245px;padding:24px;border-radius:20px;background:#fff}.service-tiles strong{font-size:1.12rem}.service-tiles small{font-size:.9rem}.service-tiles em{font-weight:800}.tile-icon{margin-bottom:18px}
.home-wifi{padding:34px 0 64px}.home-mesh{grid-template-columns:.72fr 1.28fr;padding:40px;border-radius:28px;background:linear-gradient(125deg,#f3f7ee,#fff)}
.proof-section{background:var(--cream)}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.proof-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.proof-grid article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--green-soft);color:var(--green-dark);font-size:1.4rem;font-weight:900;margin-bottom:18px}.proof-grid p{font-size:1.08rem;color:#52616d}.proof-grid strong{color:var(--navy)}
.areas-section{padding:54px 0}.areas-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 40px;box-shadow:var(--shadow)}.areas-card p{max-width:720px;color:var(--muted)}
.final-cta{background:var(--navy);padding:54px 0}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.final-cta h2,.final-cta p{color:#fff}.final-cta .eyebrow{color:#b8d6ad}.final-cta .btn-secondary{border-color:#fff}
.page-hero{padding:54px 0 44px}.page-hero-grid{background:linear-gradient(125deg,#fffdf8,#f5efe5);border:1px solid var(--line);border-radius:28px;padding:44px}.page-hero-card{background:rgba(255,255,255,.82)}
.service-card,.price-card,.booking-form,.reassurance-card,.step,.testi,.tip-card,.faq-item{border-radius:20px}.service-card{padding:30px}.service-card .icon-wrap{flex:0 0 auto}
@media(max-width:1200px){.hero-shell{grid-template-columns:1fr}.hero-copy h1{max-width:18ch}.hero-image{min-height:400px}.service-tiles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.brand img{width:290px}.service-tiles{grid-template-columns:repeat(2,1fr)}.proof-grid{grid-template-columns:1fr}.areas-card,.final-cta-inner{align-items:flex-start;display:grid}.page-hero-grid{padding:32px}}
@media(max-width:680px){.brand img{width:215px}.hero-copy{padding:30px 24px}.hero-copy h1{font-size:2.45rem}.service-tiles{grid-template-columns:1fr}.service-tiles a{min-height:auto}.home-mesh{padding:24px}.areas-card{padding:28px 22px}.page-hero-grid{padding:24px}.final-cta .hero-actions{width:100%}}

/* Callback form privacy and spam protection */
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-privacy { margin: 0.75rem 0 0; font-size: 0.9rem; color: var(--muted); }

/* Approved VIPOAP logo artwork — locked. Do not redraw, recolour or substitute. */
.brand img{width:min(390px,42vw);height:auto;object-fit:contain;display:block}
.footer-brand img{width:74px;height:74px;object-fit:contain}
@media (max-width:760px){.brand img{width:min(300px,68vw)}.footer-brand img{width:62px;height:62px}}

/* Final production refinements */
.brand{display:inline-flex;align-items:center;text-decoration:none;background:transparent;border:0;box-shadow:none;padding:0}
.brand img{background:transparent;border:0;box-shadow:none;object-fit:contain;object-position:left center}
.header-main{min-height:96px}
.privacy-content{max-width:900px;margin-inline:auto}
.privacy-content h2{font-size:1.55rem;margin-top:2rem}
.privacy-content p{color:var(--muted)}
.booking-status.ok{color:var(--green-dark);font-weight:800;background:var(--green-soft);border-radius:12px;padding:12px 14px}
@media(max-width:680px){.header-main{min-height:72px}.brand img{max-height:70px}.privacy-content h2{font-size:1.35rem}}

/* Compact brand lockup: supplied heart icon, name and one strapline. */
.site-header .brand{display:inline-flex;align-items:center;gap:14px}
.site-header .brand img{width:92px;height:72px;max-height:none;object-fit:contain;flex:0 0 auto}
.brand-copy{display:grid;line-height:1.02}
.brand-copy strong{color:var(--navy);font-family:Quicksand,"Segoe UI",Arial,sans-serif;font-size:2.25rem;font-weight:700;letter-spacing:.09em}
.brand-copy small{color:var(--green-dark);font-size:.9rem;font-weight:600;margin-top:7px;white-space:nowrap}
@media(max-width:680px){.site-header .brand{gap:10px}.site-header .brand img{width:72px;height:56px}.brand-copy strong{font-size:1.75rem}.brand-copy small{font-size:.7rem;margin-top:5px}.header-main{min-height:76px}}

/* Complete high-contrast/negative mode. */
html.contrast{color-scheme:dark;background:#000}
html.contrast body,html.contrast main,html.contrast section,html.contrast .site-header,html.contrast .main-nav,html.contrast .page-hero,html.contrast .surface,html.contrast .soft-section,html.contrast .proof-section,html.contrast .about-hero,html.contrast .contact-hero{background:#000!important;color:#fff!important}
html.contrast .hero-shell,html.contrast .home-mesh,html.contrast .value-grid,html.contrast .service-tiles a,html.contrast .problem-card,html.contrast .proof-grid article,html.contrast .service-card,html.contrast .help-card,html.contrast .price-card,html.contrast .tip-card,html.contrast .guide-card,html.contrast .faq-item,html.contrast .booking-form,html.contrast .page-hero-card,html.contrast .reassurance-card,html.contrast .about-card,html.contrast .contact-choice,html.contrast .visit-step,html.contrast .contact-note,html.contrast .service-area,html.contrast .scam-card,html.contrast details{background:#050505!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.contrast h1,html.contrast h2,html.contrast h3,html.contrast p,html.contrast li,html.contrast strong,html.contrast small,html.contrast summary,html.contrast label,html.contrast .muted,html.contrast .question,html.contrast .hero-note,html.contrast .page-hero p,html.contrast .tip-body{color:#fff!important}
html.contrast a:not(.btn),html.contrast .eyebrow,html.contrast .main-nav a:hover,html.contrast .main-nav a.active{color:#ffe600!important}
html.contrast .btn-primary,html.contrast .booking-form button,html.contrast .active-size{background:#ffe600!important;border-color:#ffe600!important;color:#000!important}
html.contrast .btn-secondary,html.contrast .tool-button,html.contrast .nav-toggle{background:#000!important;border-color:#ffe600!important;color:#ffe600!important}
html.contrast input,html.contrast select,html.contrast textarea{background:#000!important;color:#fff!important;border-color:#fff!important}
html.contrast input::placeholder,html.contrast textarea::placeholder{color:#ddd!important;opacity:1}
html.contrast .phone-circle,html.contrast .icon-wrap,html.contrast .tile-icon,html.contrast .value-grid span,html.contrast .problem-icon,html.contrast .tip-tag{background:#171717!important;color:#ffe600!important;border:1px solid #ffe600}
html.contrast footer{background:#000!important;border-top:2px solid #fff}
html.contrast .footer-brand span,html.contrast footer a,html.contrast footer strong{color:#fff!important}
html.contrast #contrastToggle{background:#ffe600!important;color:#000!important;border-color:#ffe600!important}
html.contrast .problem-section,html.contrast .app-feature,html.contrast .home-wifi,html.contrast .values-strip,html.contrast .services-calm-hero,html.contrast .wifi-helper,html.contrast .plan-hero,html.contrast .cta-band,html.contrast .reassurance-close{background:#000!important;color:#fff!important}
html.contrast .app-feature-card,html.contrast .app-preview,html.contrast .app-preview span,html.contrast .mesh-explainer,html.contrast .step,html.contrast .wifi-choice,html.contrast .wifi-result,html.contrast .wifi-trust article,html.contrast .plan-benefit,html.contrast .plan-callout{background:#050505!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.contrast .wifi-choice span,html.contrast .wifi-trust p,html.contrast .plan-benefit p,html.contrast .home-mesh-copy p,html.contrast .cta-band p{color:#fff!important}
.wifi-hero-art{padding:0;overflow:hidden}.wifi-hero-art img{width:100%;aspect-ratio:16/10;object-fit:cover}


/* Shared public header and two-colour VIPOAP wordmark. */
.site-header .header-main{min-height:96px}
.site-header .brand img{width:92px;height:72px;max-width:92px;max-height:72px;aspect-ratio:23/18;object-fit:contain;flex:0 0 92px}
.brand-copy strong{display:flex;align-items:baseline}
.wordmark-vipo{color:var(--navy)}
.wordmark-ap{color:var(--green)}
.footer-brand .wordmark-vipo{color:#fff}
.footer-brand .wordmark-ap{color:#9bc892}
html.contrast .wordmark-vipo{color:#fff!important}
html.contrast .wordmark-ap{color:#ffe600!important}
@media(max-width:680px){
  .site-header .brand img{width:72px;height:56px;max-width:72px;max-height:56px;flex-basis:72px}
  .site-header .header-main{min-height:76px}
}


/* Keep the complete shared menu within medium desktop viewports. */
@media (min-width:901px) and (max-width:1400px){
  .nav-row{gap:10px}
  .main-nav a{font-size:.82rem;padding-inline:0}
}


/* Consistent public navigation and highlighted customer-app link. */
.site-header{background:#fff!important;backdrop-filter:none}
.main-nav{background:#fff!important}
.main-nav a.app-nav-link{
  align-self:center;
  margin:5px 0;
  padding:7px 14px;
  border:2px solid var(--green);
  border-radius:999px;
  background:var(--green);
  color:#fff;
  line-height:1.2;
}
.main-nav a.app-nav-link:hover,
.main-nav a.app-nav-link:focus-visible{
  border-color:var(--green-dark);
  background:var(--green-dark);
  color:#fff;
}
html.contrast .main-nav a.app-nav-link{
  border-color:#ffe600!important;
  background:#ffe600!important;
  color:#000!important;
}
@media (min-width:901px) and (max-width:1400px){
  .nav-row{gap:6px}
  .main-nav a{font-size:.8rem}
}
@media(max-width:680px){
  .main-nav a.app-nav-link{
    margin:8px 14px;
    padding:13px 18px;
    text-align:center;
  }
}

/* Comfortable public navigation spacing on desktop and laptop widths. */
@media(min-width:901px){
  .nav-row{
    justify-content:space-between;
    gap:clamp(14px,2vw,32px);
    padding-inline:clamp(12px,2vw,30px);
  }
  .main-nav a{
    font-size:clamp(.88rem,1vw,1rem);
    padding:15px 6px 13px;
  }
}

/* Warm illustration system shared by the public information pages. */
.hero-side-stack{
  display:grid;
  gap:14px;
  align-self:stretch;
}
.page-hero-visual,
.wide-page-visual{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--cream);
  box-shadow:var(--shadow);
}
.page-hero-visual img,
.wide-page-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.page-hero-visual img{min-height:260px;aspect-ratio:3/2}
.wide-page-visual{max-width:980px;margin:26px auto 30px}
.wide-page-visual img{
  display:block;
  height:auto;
  aspect-ratio:3/2;
  object-fit:contain;
  object-position:center;
}
.utility-page-art{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  margin:18px 0 26px;
  border:1px solid var(--line);
  border-radius:20px;
  object-fit:contain;
  object-position:center;
}
.hero-side-stack .page-hero-card,
.hero-side-stack .promise-card{margin:0}
html.contrast .page-hero-visual,
html.contrast .wide-page-visual{border-color:#fff;background:#000}
@media(max-width:900px){
  .hero-side-stack{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
  .page-hero-visual img{min-height:220px}
}
@media(max-width:680px){
  .hero-side-stack{grid-template-columns:1fr}
  .page-hero-visual img{min-height:0;aspect-ratio:4/3}
  .wide-page-visual{margin:20px auto 24px}
  .wide-page-visual img{aspect-ratio:3/2}
}
