/* Faithful PPC reference styling: one hero image, compact static sections, and no decorative section media. */
@font-face { font-family: "OTPS Outfit"; src: url("/assets/outfit-variable.woff2") format("woff2"); font-display: swap; font-weight: 100 900; }
:root { --navy:#0c2340; --navy-soft:#163a5f; --teal:#0d9488; --teal-dark:#0f766e; --yellow:#f5c518; --mist:#f6f9f9; --slate:#203548; --muted:#43586a; --line:#d8e4e5; --font:"OTPS Outfit", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--slate); background:#fff; font-family:var(--font); font-size:17px; line-height:1.65; }
a { color:inherit; text-underline-offset:0.18em; }
.shell { width:min(100% - 2rem, 72rem); margin-inline:auto; }
.topbar { color:white; background:var(--navy); }
.topbar__inside { min-height:3.8rem; display:flex; align-items:center; gap:0.9rem; }
.topbar__brand { display:inline-flex; flex:0 0 auto; }
.topbar__brand img { display:block; width:3.45rem; height:2rem; object-fit:contain; object-position:left center; }
.topbar__license { margin:0; font-size:0.72rem; font-weight:620; letter-spacing:0.025em; white-space:nowrap; }
.topbar__actions { display:flex; gap:0.55rem; margin-left:auto; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:2.65rem; padding:0.55rem 1rem; border:0; border-radius:0.25rem; font-family:inherit; font-size:0.78rem; font-weight:800; text-align:center; text-decoration:none; transition:transform 160ms cubic-bezier(0.23,1,0.32,1), background 160ms cubic-bezier(0.23,1,0.32,1); }
.button:hover { transform:translateY(-1px); }
.button--yellow { color:var(--navy); background:var(--yellow); }
.button--teal { color:#fff; background:var(--teal); }
.button--teal:hover { background:var(--teal-dark); }
.hero { position:relative; min-height:41rem; color:white; isolation:isolate; }
.hero__image, .hero__overlay { position:absolute; inset:0; width:100%; height:100%; }
.hero__image { z-index:-2; object-fit:cover; object-position:center; }
.hero__overlay { z-index:-1; background:linear-gradient(90deg,rgba(12,35,64,.88) 0%,rgba(12,35,64,.73) 38%,rgba(12,35,64,.26) 100%); }
.hero__content { padding-block:clamp(5rem,10vw,9rem) 3.2rem; }
.hero .eyebrow { color:#5eead4; }
.eyebrow { margin:0 0 0.7rem; color:var(--teal); font-size:0.7rem; font-weight:800; letter-spacing:0.13em; text-transform:uppercase; }
.eyebrow--ink { color:var(--teal-dark); }
h1,h2,h3 { margin-top:0; color:var(--navy); font-family:var(--font); letter-spacing:-0.045em; line-height:1.05; }
h1 { max-width:52rem; margin-bottom:1rem; color:#fff; font-size:clamp(2.75rem,6vw,5.5rem); font-weight:780; }
h2 { margin-bottom:1rem; font-size:clamp(2rem,4vw,3.6rem); font-weight:750; }
h3 { margin-bottom:0.55rem; font-size:1.34rem; font-weight:720; }
.hero__lede { max-width:43rem; margin:0 0 1.3rem; color:#f0f8f8; font-size:1.03rem; }
.hero__actions { display:flex; gap:0.65rem; flex-wrap:wrap; }
.proof-line { display:flex; gap:0.8rem 1.25rem; max-width:66rem; margin-top:1.15rem; color:#fff; font-size:0.72rem; font-weight:700; flex-wrap:wrap; }
.section { padding-block:clamp(4rem,8vw,7rem); }
.section--mist { background:var(--mist); }
.narrow-center { max-width:43rem; margin-inline:auto; text-align:center; }
.intro-copy { margin:0; color:var(--muted); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3.25rem; }
.service-card { padding:1.65rem; border:1px solid var(--line); background:#fff; }
.service-card p { color:var(--muted); font-size:0.91rem; }
.service-card ul { margin:1rem 0 0; padding-left:1.1rem; font-size:0.86rem; }
.service-card li::marker { color:var(--teal); }
.step-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:3rem; padding:0; list-style:none; }
.step-grid li { padding:1.4rem; background:#fff; border-top:3px solid var(--teal); }
.step-grid span { display:inline-block; margin-bottom:1rem; color:var(--teal-dark); font-size:0.75rem; font-weight:800; }
.step-grid p { margin:0; color:var(--muted); font-size:0.88rem; }
.step-grid a { color:var(--teal-dark); font-weight:700; }
.coverage-section { color:#e7f1f2; background:var(--navy); }
.coverage-section h2 { color:#fff; }
.coverage-section p { max-width:34rem; }
.coverage-layout { display:grid; grid-template-columns:0.88fr 1.12fr; gap:5rem; align-items:center; }
.places { display:flex; gap:0.55rem; flex-wrap:wrap; }
.places span { padding:0.42rem 0.7rem; color:var(--navy); background:#e8f1f1; font-size:0.8rem; font-weight:700; }
.reviews-section { background:#fff; }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3.2rem; }
blockquote { display:flex; min-height:15rem; flex-direction:column; margin:0; padding:1.5rem; background:var(--mist); }
blockquote div { margin-bottom:0.75rem; color:#e0ad14; letter-spacing:0.14em; }
blockquote p { margin:0; color:var(--slate); font-size:0.91rem; }
blockquote footer { margin-top:auto; padding-top:1.1rem; font-size:0.78rem; font-weight:800; }
blockquote cite { color:var(--muted); font-style:normal; font-weight:500; }
.reviews-link { margin:1.7rem 0 0; text-align:center; }
.reviews-link a { color:var(--teal-dark); font-size:0.8rem; font-weight:800; text-transform:uppercase; }
.faq-layout { display:grid; grid-template-columns:0.72fr 1.28fr; gap:5rem; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:1.05rem 2rem 1.05rem 0; color:var(--navy); cursor:pointer; font-weight:720; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:0; color:var(--teal); font-size:1.4rem; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { margin:0 0 1.2rem; color:var(--muted); font-size:0.91rem; }
.faq-list a { color:var(--teal-dark); font-weight:700; }
.final-cta { color:#fff; background:var(--navy-soft); }
.final-cta__inner { display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:center; padding-block:4.5rem; }
.final-cta h2 { color:#fff; }
.final-cta p { max-width:39rem; margin:0; color:#e0ecee; }
.final-cta__inner > div:last-child { display:grid; gap:0.65rem; justify-items:start; }
.site-footer { color:#d8e6e8; background:var(--navy); }
.footer-inner { display:grid; grid-template-columns:1fr auto; gap:0.8rem 2rem; padding-block:2rem; font-size:0.75rem; }
.footer-inner address { font-style:normal; }
.footer-inner > div:last-child { grid-column:1 / -1; color:#b9ced2; }
.site-footer a { color:#fff; }
.legal-shell { max-width:44rem; margin:8vh auto; padding:1rem; font-family:var(--font); }
.legal-shell__brand { display:inline-block; margin-bottom:2rem; color:var(--teal-dark); font-weight:800; }
.legal-shell h1 { color:var(--navy); }
@media (max-width:820px) { .topbar__inside{min-height:4.3rem;flex-wrap:wrap;padding-block:.5rem}.topbar__license{display:none}.topbar__actions{margin-left:auto}.topbar__brand img{width:4.2rem}.hero{min-height:43rem}.hero__content{padding-top:8rem}.hero__overlay{background:linear-gradient(90deg,rgba(12,35,64,.9),rgba(12,35,64,.58))}.service-grid,.step-grid,.coverage-layout,.review-grid,.faq-layout,.final-cta__inner{grid-template-columns:1fr}.coverage-layout,.faq-layout{gap:2rem}.step-grid{gap:.8rem}.review-grid{gap:.8rem}.footer-inner{grid-template-columns:1fr}.footer-inner>div:last-child{grid-column:auto}.final-cta__inner>div:last-child{justify-items:stretch}.final-cta .button{width:100%} }
@media (max-width:520px) { body{font-size:16px}.shell{width:min(100% - 1.2rem,72rem)}.topbar__actions{gap:.35rem}.topbar__actions .button{min-height:2.35rem;padding:.45rem .6rem;font-size:.64rem}.hero__actions .button{width:100%}.proof-line{gap:.45rem;font-size:.65rem}.service-card{padding:1.2rem}.hero__content{padding-top:6rem}.hero{min-height:48rem} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important} }
