:root{--navy:#0f2a43;--navy2:#0a1d30;--cream:#f6f1e8;--cream2:#ebe3d3;--amber:#e8892b;--amber-d:#b85f0c;--ice:#6fb7d9;--ink:#18242f;--mute:#566371;--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Work Sans',system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--body);color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.65}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:.01em}
h2{font-size:clamp(2.4rem,5vw,3.8rem)}
a{color:var(--amber-d)}
.eyebrow{font-family:var(--display);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:1rem;color:var(--amber-d)}
.util{background:var(--navy2);color:#fff;font-size:.9rem;padding:.45rem 0}
.util a{color:#fff;text-decoration:none;font-weight:600}
.util .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--amber);margin-right:.5rem}
.navbar{background:var(--cream);border-bottom:1px solid var(--cream2)}
.navbar-brand{display:flex;align-items:center;gap:.8rem;margin:0}
.navbar-brand img{height:50px;width:auto}
.navbar-brand span{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.35rem;line-height:1;color:var(--navy);letter-spacing:.03em}
.nav-link{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:1.05rem;color:var(--navy)!important}
.nav-link:hover{color:var(--amber-d)!important}
.btn-cta{background:var(--amber);color:var(--navy2);font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.2rem;padding:.7rem 1.7rem;border:2px solid var(--amber);border-radius:2px}
.btn-cta:hover{background:#f39a40;border-color:#f39a40;color:var(--navy2)}
.btn-line{border:2px solid #fff;color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.2rem;padding:.7rem 1.7rem;border-radius:2px}
.btn-line:hover{background:#fff;color:var(--navy)}
.btn-dark{background:var(--navy);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.15rem;padding:.65rem 1.5rem;border-radius:2px;border:2px solid var(--navy)}
.btn-dark:hover{background:var(--navy2);color:#fff}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero .row{min-height:min(78vh,680px)}
.hero-text{padding:4.5rem 0 4.5rem}
.hero h1{font-size:clamp(3.2rem,7.4vw,6.2rem);color:#fff}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero h1 .cool{color:var(--ice)}
.hero p.lead{color:#d6e2ec;max-width:32rem;margin:1.4rem 0 2rem}
.hero .eyebrow{color:var(--ice)}
.hero-photo{position:relative;min-height:380px;background:url('img/family.webp') 35% center/cover no-repeat}
.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0,rgba(15,42,67,0) 28%)}
.dial{position:absolute;right:1.2rem;bottom:1.2rem;width:150px;background:rgba(10,29,48,.88);padding:.6rem .6rem .3rem;border:1px solid rgba(255,255,255,.2)}
.dial svg{display:block;width:100%;height:auto}
.dial small{display:block;text-align:center;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:#cfe0ec}
.tempbar{height:10px;background:linear-gradient(90deg,var(--ice),#f3e6cf 50%,var(--amber));position:relative}
.tempbar:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(15,42,67,.55) 23px 24px);-webkit-mask:linear-gradient(#000 0 0) bottom/100% 6px no-repeat;mask:linear-gradient(#000 0 0) bottom/100% 6px no-repeat}
section{padding:96px 0}
.promise{background:var(--cream)}
.stat strong{display:block;font-family:var(--display);font-size:3.4rem;line-height:1;color:var(--navy)}
.stat span{font-size:.95rem;color:var(--mute)}
.svc{background:var(--navy);color:#fff}
.svc h2{color:#fff}.svc .eyebrow{color:var(--ice)}
.svc-list{list-style:none;padding:0;margin:2.5rem 0 0;border-top:1px solid rgba(255,255,255,.25)}
.svc-list li{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:1.5rem;padding:1.6rem 0;border-bottom:1px solid rgba(255,255,255,.25);align-items:baseline}
.svc-list h3{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:0;color:#fff;transition:color .2s}
.svc-list li:nth-child(odd):hover h3{color:var(--ice)}
.svc-list li:nth-child(even):hover h3{color:var(--amber)}
.svc-list p{margin:0;color:#cfdce8}
.brands{background:var(--cream2);padding:36px 0}
.brands ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 2.2rem;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:1.25rem;color:var(--navy)}
.photo-frame{border:0;box-shadow:14px 14px 0 var(--ice);width:100%;height:auto;display:block}
.plans{background:var(--cream)}
.card-offer{background:#fff;border-top:6px solid var(--amber);padding:2rem;height:100%}
.card-offer.cool{border-top-color:var(--ice)}
.card-offer h3{font-size:2rem;color:var(--navy)}
.pull{background:var(--amber);color:var(--navy2);padding:64px 0;text-align:center}
.pull p{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:0}
.pull a{color:var(--navy2);text-decoration:none}
.contact{background:var(--cream)}
.contact iframe{width:100%;height:100%;min-height:340px;border:0}
.contact dt{font-family:var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--amber-d);font-size:1rem;margin-top:1.2rem}
.contact dd{margin:0}
.big-phone{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,6vw,3.6rem);color:var(--navy);text-decoration:none;line-height:1}
footer{background:var(--navy2);color:#b9c8d6;padding:48px 0 28px;font-size:.95rem}
footer a{color:#fff}
footer .chip{background:var(--cream);display:inline-block;padding:.6rem .9rem;border-radius:4px}
footer .chip img{height:54px;width:auto;display:block}
@media(max-width:991px){.hero-photo{min-height:300px;order:-1}.hero-photo:before{background:linear-gradient(0deg,var(--navy) 0,rgba(15,42,67,0) 35%)}.hero-text{padding:2.5rem 0 3.5rem}section{padding:64px 0}.svc-list li{grid-template-columns:1fr;gap:.4rem}.hero .row{min-height:0}.navbar-brand span{font-size:1.1rem}}
@media(max-width:400px){.navbar-brand img{height:40px}}
