:root{--ink:#1d1d1f;--muted:#6e6e73;--paper:#f5f5f7;--white:#fff;--blue:#0071e3;--coral:#ff6b5e;--line:rgba(29,29,31,.13);--radius:30px;--shadow:0 20px 60px rgba(0,0,0,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block}.section{padding:130px max(6vw,24px)}
.nav{position:fixed;z-index:50;top:14px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));min-height:58px;padding:8px 10px 8px 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.55);border-radius:20px;background:rgba(250,250,252,.76);box-shadow:0 12px 40px rgba(0,0,0,.09);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px)}.brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:-.01em}.brandMark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#54a9ff 55%,var(--coral));color:#fff;font-size:11px;box-shadow:inset 0 1px 1px rgba(255,255,255,.5)}.brand b{color:var(--blue)}.nav nav{display:flex;align-items:center;gap:25px;font-size:12px}.nav nav a{transition:color .2s}.nav nav a:hover{color:var(--blue)}.navCta,.primaryBtn{background:var(--blue);color:#fff!important;border-radius:999px;padding:12px 19px;font-weight:600}.menuBtn{display:none;border:0;background:transparent;font-size:13px}
.hero{position:relative;min-height:100svh;padding:170px max(7vw,28px) 70px;overflow:hidden;background:linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 100%);display:flex;flex-direction:column;align-items:center;text-align:center}.aurora{position:absolute;top:-15vw;width:80vw;height:50vw;border-radius:50%;background:radial-gradient(circle at 30% 50%,rgba(0,113,227,.22),transparent 48%),radial-gradient(circle at 70% 55%,rgba(255,107,94,.22),transparent 45%);filter:blur(35px);animation:aurora 9s ease-in-out infinite alternate}.heroPhoto{position:absolute;left:50%;bottom:-22%;transform:translateX(-50%) translateY(calc(var(--scroll,0)*.018px));width:min(1180px,92vw);height:54%;object-fit:cover;border-radius:34px 34px 0 0;box-shadow:0 30px 90px rgba(0,0,0,.22)}.heroOverlay{position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(0deg,rgba(0,0,0,.42),transparent)}.eyebrow{position:relative;z-index:2;display:flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:11px}.eyebrow span{width:7px;height:7px;background:var(--coral);border-radius:50%}.hero h1{position:relative;z-index:2;margin:24px 0 20px;max-width:1100px;font-size:clamp(62px,9.2vw,150px);line-height:.86;letter-spacing:-.075em}.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--blue),#39a8ff 45%,var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}.hero>p{position:relative;z-index:2;max-width:700px;margin:0;color:var(--muted);font-size:clamp(18px,2vw,25px);line-height:1.45;letter-spacing:-.02em}.heroActions{position:relative;z-index:2;display:flex;align-items:center;gap:13px;margin-top:32px}.primaryBtn{display:inline-flex;align-items:center;gap:22px;padding:15px 24px;box-shadow:0 8px 25px rgba(0,113,227,.25);transition:transform .25s,box-shadow .25s}.primaryBtn:hover{transform:scale(1.035);box-shadow:0 12px 35px rgba(0,113,227,.34)}.callBtn,.darkBtn{border:1px solid var(--line);border-radius:999px;padding:14px 21px;background:rgba(255,255,255,.78);font-size:14px;font-weight:600;transition:background .2s}.callBtn:hover,.darkBtn:hover{background:#fff}.heroStats{position:relative;z-index:3;margin-top:auto;display:flex;gap:10px;transform:translateY(43px)}.heroStats div{min-width:170px;padding:17px 22px;border:1px solid rgba(255,255,255,.5);border-radius:20px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(0,0,0,.08)}.heroStats strong{display:block;font-size:25px;letter-spacing:-.04em}.heroStats span{display:block;margin-top:2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.sectionHead{display:grid;grid-template-columns:1.7fr .7fr;gap:70px;align-items:end;max-width:1400px;margin:auto}.kicker{margin:0 0 13px;color:var(--blue);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700}.section h2,.promise h2{margin:0;font-size:clamp(46px,6.5vw,96px);line-height:.95;letter-spacing:-.065em}.sectionHead>p,.lead{margin:0;color:var(--muted);font-size:17px;line-height:1.6}.services{background:var(--white)}.serviceGrid{max-width:1400px;margin:70px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.serviceCard{position:relative;min-height:455px;padding:12px 22px 22px;border-radius:var(--radius);background:var(--paper);overflow:hidden;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.serviceCard:hover{transform:translateY(-9px);box-shadow:var(--shadow)}.serviceCard>img{width:calc(100% + 20px);height:180px;margin:0 -10px 20px;border-radius:22px;object-fit:cover}.serviceCard>span{font-size:11px;color:var(--muted)}.serviceCard h3{margin:28px 0 10px;font-size:24px;line-height:1.03;letter-spacing:-.045em}.serviceCard p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.serviceCard a{margin-top:auto;padding-top:18px;color:var(--blue);font-size:13px;font-weight:600;display:flex;justify-content:space-between}
.promise{padding:120px max(6vw,24px);display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;background:#000;color:#f5f5f7}.promiseMedia{height:min(70vh,720px);border-radius:38px;overflow:hidden;position:relative}.promiseMedia img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.promiseMedia:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.promiseMedia span{position:absolute;z-index:2;bottom:24px;left:26px;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.promise .kicker{color:#61aefb}.promise .lead{margin-top:25px;color:#a1a1a6}.promise ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin:30px 0;list-style:none}.promise li{padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:16px;font-size:13px;color:#d2d2d7}.promise li:before{content:"✓";color:#61aefb;margin-right:8px}
.events{background:var(--paper)}.eventGrid{max-width:1400px;margin:70px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.eventGrid article{position:relative;min-height:440px;padding:14px 25px 25px;border-radius:var(--radius);background:#fff;overflow:hidden;transition:transform .45s,box-shadow .45s}.eventGrid article:hover{transform:scale(1.018);box-shadow:var(--shadow)}.eventGrid img{width:calc(100% + 22px);height:235px;margin:0 -11px 22px;border-radius:22px;object-fit:cover}.eventGrid span{font-size:11px;color:var(--muted)}.eventGrid h3{margin:22px 0 8px;font-size:35px;letter-spacing:-.055em}.eventGrid p{margin:0;color:var(--muted);line-height:1.5}
.process{background:linear-gradient(135deg,#0a84ff,#0064d7 55%,#00438f);color:#fff}.process .kicker{color:#d6ecff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:65px}.steps article{min-height:300px;padding:30px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);background:rgba(255,255,255,.12);backdrop-filter:blur(18px)}.steps b{font-size:12px}.steps h3{margin:100px 0 8px;font-size:38px;letter-spacing:-.05em}.steps p{color:#d8ebff;line-height:1.55}
.coverage{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#fff}.coverageCopy{position:sticky;top:100px;align-self:start}.coveragePhoto{width:100%;height:300px;border-radius:var(--radius);object-fit:cover;margin-bottom:35px}.coverageCopy>p:not(.kicker){max-width:600px;color:var(--muted);font-size:17px;line-height:1.6}.darkBtn{display:inline-block;margin-top:18px}.towns{border-top:1px solid var(--line)}.towns span{display:flex;gap:22px;padding:20px 3px;border-bottom:1px solid var(--line);font-size:19px;font-weight:600;letter-spacing:-.02em}.towns b{font-size:10px;color:var(--blue)}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:#000;color:#f5f5f7}.faq .kicker{color:#61aefb}.faqList{border-top:1px solid #38383a}.faq details{padding:25px 0;border-bottom:1px solid #38383a}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:20px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:#61aefb;font-size:25px;transition:transform .25s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:700px;color:#a1a1a6;line-height:1.6}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:linear-gradient(135deg,#fff6f3,#eef7ff)}.contactPhoto{width:100%;height:245px;border-radius:var(--radius);object-fit:cover;margin-bottom:30px}.contact h2 em{font-style:normal;color:var(--coral)}.contactIntro>p:not(.kicker){max-width:560px;color:var(--muted);font-size:17px;line-height:1.6}.directContact{margin-top:28px}.directContact a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.directContact b{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.directContact span{font-weight:600}.contact form{align-self:start;padding:32px;border:1px solid rgba(255,255,255,.8);border-radius:var(--radius);background:rgba(255,255,255,.72);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px;color:var(--ink);outline:none;text-transform:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,113,227,.12)}textarea{resize:vertical}.check{flex-direction:row;align-items:flex-start;text-transform:none;font-weight:400;line-height:1.5}.check input{width:auto;margin-top:3px}.check a{text-decoration:underline}.submitBtn{width:100%;padding:15px 20px;border:0;border-radius:999px;background:var(--blue);color:#fff;display:flex;justify-content:space-between;font-weight:700;cursor:pointer;transition:transform .2s}.submitBtn:hover{transform:scale(1.015)}
footer{padding:55px max(6vw,24px) 28px;display:grid;grid-template-columns:1.2fr 1.3fr 1fr;gap:30px;align-items:center;background:var(--paper);color:var(--muted)}footer>p{font-size:12px;line-height:1.7}footer>div{display:flex;gap:18px;font-size:12px}footer small{grid-column:1/-1;padding-top:23px;border-top:1px solid var(--line);font-size:11px}.floatingCta{position:fixed;z-index:45;right:24px;bottom:24px;width:66px;height:66px;border-radius:50%;background:#25d366;display:grid;place-items:center;color:#052b14;font-weight:800;font-size:12px;box-shadow:0 12px 35px rgba(0,0,0,.22);transition:transform .25s}.floatingCta:hover{transform:scale(1.08)}.floatingCta span{display:none}.cookieNotice{position:fixed;z-index:60;left:20px;right:20px;bottom:18px;max-width:900px;margin:auto;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.cookieNotice p{margin:0;font-size:13px;line-height:1.5}.cookieNotice a{text-decoration:underline}.cookieNotice div{display:flex;gap:8px}.cookieNotice button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;white-space:nowrap}.cookieNotice .accept{background:var(--ink);color:#fff}
.legalPage{min-height:100vh;padding:35px max(6vw,24px) 100px;background:var(--paper)}.legalTop{max-width:980px;margin:0 auto 75px;display:flex;justify-content:space-between;align-items:center}.legalHome{padding:11px 16px;border-radius:999px;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.06)}.legalContent{max-width:900px;margin:auto}.legalKicker{color:var(--blue);text-transform:uppercase;letter-spacing:.14em;font-size:11px}.legalContent h1{margin:18px 0 40px;font-size:clamp(55px,9vw,110px);line-height:.88;letter-spacing:-.07em}.legalContent h2{margin:48px 0 12px;font-size:28px;letter-spacing:-.035em}.legalContent p,.legalContent li{color:var(--muted);font-size:16px;line-height:1.75}.legalContent a{text-decoration:underline;font-weight:600}.legalContent table{width:100%;border-collapse:collapse;margin:25px 0;background:#fff;border-radius:18px;overflow:hidden}.legalContent th,.legalContent td{padding:15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.legalNote{margin:28px 0;padding:20px;border-radius:18px;background:#e8f3ff}.legalFooter{max-width:900px;margin:75px auto 0;padding-top:25px;border-top:1px solid var(--line);display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1)}.js .reveal.visible{opacity:1;transform:none}
@keyframes aurora{to{transform:translateX(4vw) scale(1.08);filter:blur(55px)}}
@media(max-width:1050px){.serviceGrid{grid-template-columns:repeat(2,1fr)}.promise{grid-template-columns:1fr}.eventGrid{grid-template-columns:repeat(2,1fr)}.sectionHead{grid-template-columns:1fr}.coverage{gap:5vw}}
@media(max-width:760px){.section{padding:85px 20px}.nav{top:8px}.menuBtn{display:block}.nav nav{display:none;position:fixed;inset:65px 0 auto;padding:25px;flex-direction:column;align-items:flex-start;border-radius:20px;background:rgba(250,250,252,.98);box-shadow:var(--shadow);font-size:22px}.nav nav.open{display:flex}.hero{padding:135px 20px 45px;min-height:920px}.hero h1{font-size:clamp(58px,17vw,90px)}.heroPhoto{height:38%;bottom:0;border-radius:28px 28px 0 0}.heroStats{gap:6px;transform:translateY(20px)}.heroStats div{min-width:0;padding:12px 10px}.heroStats strong{font-size:19px}.heroStats span{font-size:8px}.heroActions{flex-direction:column}.serviceGrid,.eventGrid,.steps{grid-template-columns:1fr}.serviceCard{min-height:430px}.promise{padding:80px 20px}.promiseMedia{height:55vh}.promise ul{grid-template-columns:1fr}.eventGrid article{min-height:420px}.coverage,.faq,.contact{grid-template-columns:1fr}.coverageCopy{position:static}.fieldRow{grid-template-columns:1fr}.directContact a{flex-direction:column;gap:5px}footer{grid-template-columns:1fr}.cookieNotice{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch}.cookieNotice div{display:grid;grid-template-columns:1fr 1fr}.legalTop{align-items:flex-start;gap:20px}.legalTop>a:last-child{font-size:11px}.legalContent table,.legalContent tbody,.legalContent tr,.legalContent td,.legalContent th{display:block}.legalContent th{padding-bottom:3px}.legalContent td{padding-top:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurora{animation:none}.js .reveal{opacity:1;transform:none;transition:none}.heroPhoto{transform:translateX(-50%)}}
