/* Extensions of recovered .sec, .svc, .nav-row, .areas and .btn patterns. */
.content{padding:48px 0}.content .wrap{max-width:860px}.content p,.content li{font-size:17px;line-height:1.75;color:#3a4a58}.content h2{font-size:clamp(28px,4vw,40px);margin-bottom:22px}
.hero h1{font-size:clamp(36px,6vw,68px);line-height:1.08}.hero .lede{max-width:720px}.hero{padding-bottom:52px}
.page-photo{margin:32px 0 0}.page-photo img{width:100%;height:auto;border-radius:20px;box-shadow:var(--shadow)}figcaption{font-size:13px;line-height:1.5;color:#3a4a58;margin-top:12px}
.svc h3 a:hover{text-decoration:underline}.content a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.btn-primary{background:var(--blue-deep)}.btn-primary:hover{background:#073A57}.strip .item{font-size:14px}.chips a{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:13px;line-height:1.5}
.faq{margin-top:18px;padding:22px}.faq summary{font-size:18px;font-weight:800;cursor:pointer;min-height:44px;display:flex;align-items:center}.faq summary::after{content:'+';margin-left:auto;padding-left:20px}.faq[open] summary::after{content:'−'}
.breadcrumbs{padding-top:106px;font-size:13px;line-height:1.7;color:#3a4a58}.breadcrumbs a{text-decoration:underline}.breadcrumbs+.hero{padding-top:35px}
.nav{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.nav-links{display:flex;gap:18px;align-items:center;font-size:14px;font-weight:700}.nav-links a{min-height:44px;display:flex;align-items:center}
.nav-menu{display:none;position:relative}.nav-menu summary{cursor:pointer;border:1px solid var(--line);border-radius:14px;padding:12px;min-height:44px;font-weight:700}.nav-menu .areas{position:absolute;top:40px;right:0;width:240px;display:grid;background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;border-radius:14px}.nav-menu .areas a{min-height:44px;display:flex;align-items:center;color:var(--ink)}
footer .footer-links{display:flex;flex-wrap:wrap;gap:16px;margin:26px 0}footer a{color:#cfe7f4}.foot-row{color:#b8c6d0}
.skip-link{position:fixed;left:12px;top:0;z-index:100;background:white;border:2px solid var(--blue-deep);padding:14px;transform:translateY(-120%)}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--blue-deep);outline-offset:4px}.contact :focus-visible,footer :focus-visible{outline-color:#cfe7f4}
.comparison{position:relative;aspect-ratio:3/2;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.comparison>img,.comparison-after,.comparison-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-after{clip-path:inset(0 50% 0 0)}.comparison-before-label,.comparison-after-label{position:absolute;top:18px;padding:8px 12px;border-radius:14px;background:white;color:var(--ink);font-size:12px;font-weight:800}.comparison-before-label{right:18px}.comparison-after-label{left:18px}.slider-label{display:block;margin-top:18px;font-weight:700}input[type=range]{width:100%;min-height:44px;accent-color:var(--blue-deep)}
@media(max-width:940px){.nav-links{display:none}.nav-menu{display:block}.nav-row{gap:10px}.brand .name{display:none}.nav .nav-phone-number{display:none}.nav .nav-call-label{display:inline}.nav .btn{padding:12px 16px}.strip-row{gap:18px}.hero{padding-top:114px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.svc,.rv{transition:none}.eyebrow .dot{animation:none}}
/* Quote inputs extend existing .svc card and .btn patterns. */
.quote-form { max-width: 680px; margin-top: 2rem; }
.quote-form label { display: block; margin: 1rem 0 .4rem; font-weight: 600; }
.quote-form input,.quote-form textarea { width: 100%; min-height: 44px; border: 1px solid var(--blue-deep); border-radius: 6px; padding: .75rem; font: inherit; }
.quote-form button { margin-top: 1rem; }

/* Preserve .faq summary typography while exposing each question as a heading. */
.faq summary h3 { margin: 0; font: inherit; line-height: inherit; }
