:root{--navy:#152238;--navy-deep:#0e1828;--navy-soft:#24344f;--slate:#3a4658;--ink:#1c1a16;--muted:#5b554c;--cream:#f6f1e7;--cream-dark:#ebe3d4;--paper:#fbf8f2;--white:#fffcf7;--red:#b33a2b;--red-dark:#8e2c21;--amber:#c9922a;--amber-soft:#e8c56b;--line:rgba(21,34,56,0.12);--shadow:0 18px 40px rgba(21,34,56,0.12);--radius:14px;--header-h:4.5rem;--font-sans:"Source Sans 3","Segoe UI",system-ui,sans-serif;--font-display:"Oswald","Arial Narrow",sans-serif;--font-serif:"Fraunces",Georgia,"Times New Roman",serif;--max:70rem}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}body{margin:0;font-family:var(--font-sans);font-size:1.125rem;line-height:1.6;color:var(--ink);background:var(--paper)}img{max-width:100%;height:auto;display:block}a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--red-dark)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.skip{position:absolute;left:1rem;top:-4rem;background:var(--navy);color:var(--cream);padding:0.6rem 1rem;z-index:100;border-radius:0 0 8px 8px}.skip:focus{top:0}.header{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--cream);border-bottom:3px solid var(--amber)}.header-inner{max-width:var(--max);margin:0 auto;padding:0.7rem 1.25rem;display:flex;align-items:center;gap:1.25rem;min-height:var(--header-h)}.logo{display:flex;align-items:center;gap:0.75rem;color:inherit;text-decoration:none;min-width:0}.logo:hover{color:inherit}.logo-mark{width:2.7rem;height:2.7rem;flex-shrink:0;border:1.5px solid var(--amber);border-radius:8px;display:grid;place-items:center;font-family:var(--font-serif);font-weight:700;font-size:0.8rem;letter-spacing:0.02em;color:var(--cream);background:var(--navy-deep)}.logo-text{display:flex;flex-direction:column;line-height:1.05}.logo-text .name{font-family:var(--font-display);font-weight:500;font-size:1.05rem;letter-spacing:0.08em;text-transform:uppercase}.logo-text .place{font-size:0.72rem;letter-spacing:0.04em;color:var(--amber-soft);margin-top:0.15rem}.nav{margin-left:auto;display:flex;align-items:center;flex-wrap:nowrap;gap:0.9rem}.nav a{color:var(--cream);text-decoration:none;font-weight:600;font-size:0.86rem;letter-spacing:0.02em;white-space:nowrap}.nav a:hover{color:var(--amber-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;padding:0.7rem 1.15rem;border-radius:999px;font-weight:700;font-size:0.95rem;letter-spacing:0.02em;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.2}.btn-call,.nav .btn-call{background:var(--red);color:#fff;border-color:var(--red);white-space:nowrap}.nav .btn-call{padding:0.62rem 0.95rem;font-size:0.86rem}.btn-call:hover,.nav .btn-call:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(246,241,231,0.45)}.btn-ghost:hover{border-color:var(--amber-soft);color:var(--amber-soft)}.btn-navy{background:var(--navy);color:var(--cream);border-color:var(--navy)}.btn-navy:hover{background:var(--navy-soft);color:var(--cream)}.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--navy);color:var(--cream)}.nav-toggle{display:none;margin-left:auto;background:transparent;border:1px solid rgba(246,241,231,0.3);color:var(--cream);width:2.6rem;height:2.6rem;border-radius:8px;cursor:pointer}.nav-toggle span{display:block;width:1.15rem;height:2px;background:var(--cream);margin:0.28rem auto}.hero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:var(--cream);position:relative}.hero::after{content:"";display:block;height:8px;background:repeating-linear-gradient( 90deg,var(--navy) 0 28px,var(--cream) 28px 40px,var(--red) 40px 68px,var(--cream) 68px 80px )}.hero-inner{max-width:var(--max);margin:0 auto;padding:2.75rem 1.25rem 3rem;display:grid;grid-template-columns:0.95fr 1.15fr;grid-template-areas:"eyebrow photo" "title photo" "copy photo";gap:0 2.25rem;align-items:center}.hero-inner .eyebrow{grid-area:eyebrow}.hero-inner h1{grid-area:title}.hero-copy{grid-area:copy}.hero-photo{grid-area:photo}.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.18em;font-size:0.78rem;color:var(--amber);margin:0 0 0.7rem}.hero h1{font-family:var(--font-serif);font-weight:600;font-size:clamp(2.05rem,4.4vw,3.35rem);line-height:1.12;letter-spacing:-0.02em;margin:0 0 1.15rem;color:var(--white)}.hero .lead{font-size:1.15rem;color:rgba(246,241,231,0.88);max-width:36rem;margin:0 0 1.5rem}.hero-facts{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:0.55rem;color:var(--cream);font-size:1.05rem}.hero-facts li{display:flex;gap:0.7rem;align-items:flex-start}.hero-facts svg{flex-shrink:0;margin-top:0.2rem;color:var(--amber)}.hero-facts a{color:var(--cream);font-weight:700;text-decoration:none}.hero-facts a:hover{color:var(--amber-soft);text-decoration:underline}.hero-actions{display:flex;flex-wrap:wrap;gap:0.75rem}.hero-photo{position:relative;margin:0;background:transparent}.hero-photo img{width:100%;height:auto;display:block;aspect-ratio:16 / 9;object-fit:cover;object-position:center 30%;border-radius:16px;box-shadow:0 24px 50px rgba(0,0,0,0.35);background:var(--navy-soft)}.hero-photo figcaption{position:static;margin:0.7rem 0 0;padding:0 0.1rem;background:none;color:rgba(246,241,231,0.78);font-size:0.9rem;letter-spacing:0.02em}.trust{background:var(--cream);border-bottom:1px solid var(--line)}.trust-inner{max-width:var(--max);margin:0 auto;padding:1.15rem 1.25rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}.trust-item strong{display:block;font-family:var(--font-serif);font-size:1.35rem;color:var(--navy);font-weight:600}.stars{color:#b8860b;letter-spacing:0.08em;font-size:1.15rem}.trust-item span{display:block;color:var(--muted);font-size:0.88rem;margin-top:0.15rem}.section{padding:4rem 1.25rem}.section-inner{max-width:var(--max);margin:0 auto}.section h2{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;color:var(--navy);margin:0 0 0.6rem;letter-spacing:-0.02em}.section .intro{max-width:40rem;color:var(--muted);margin:0 0 2rem;font-size:1.12rem}.center{text-align:center}.center .intro{margin-left:auto;margin-right:auto}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.15rem}.service-grid .card{grid-column:span 2}.service-grid .card:nth-child(4){grid-column:2 / span 2}.service-grid .card:nth-child(5){grid-column:4 / span 2}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem 1.3rem 1.4rem;box-shadow:0 8px 22px rgba(21,34,56,0.04)}.card h3{margin:0.7rem 0 0.4rem;font-family:var(--font-serif);font-size:1.2rem;color:var(--navy);font-weight:600}.card p{margin:0;color:var(--muted);font-size:1.02rem}.icon-wrap{width:2.6rem;height:2.6rem;border-radius:8px;background:var(--cream);color:var(--red);display:grid;place-items:center}.gas{background:var(--navy);color:var(--cream)}.gas .section-inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2.5rem;align-items:center}.gas h2{color:var(--white)}.gas .intro{color:rgba(246,241,231,0.8);margin-bottom:0}.gas-points{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:0.65rem}.gas-points li{padding-left:1.4rem;position:relative}.gas-points li::before{content:"";position:absolute;left:0;top:0.55rem;width:0.55rem;height:0.55rem;background:var(--amber);border-radius:50%}.gas-panel{background:var(--navy-soft);border:1px solid rgba(201,146,42,0.35);border-radius:var(--radius);padding:1.6rem 1.5rem}.gas-panel .kicker{font-family:var(--font-display);letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);font-size:0.75rem;margin:0 0 0.5rem}.gas-panel p{margin:0;color:rgba(246,241,231,0.9)}.team{background:var(--cream)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery figure{margin:0;border-radius:12px;overflow:hidden;background:var(--navy);box-shadow:var(--shadow)}.gallery img{width:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:center 18%}.area{background:var(--paper)}.towns{display:flex;flex-wrap:wrap;gap:0.55rem;margin:0;padding:0;list-style:none}.towns li{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:0.4rem 0.9rem;font-weight:600;color:var(--navy);font-size:0.98rem}.promise{background:var(--navy);color:var(--cream)}.promise h2{color:var(--cream)}.promise .eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.16em;font-size:0.78rem;color:var(--amber-soft);margin:0 0 0.55rem}.pledge{max-width:44rem;font-family:var(--font-serif);font-size:1.18rem;line-height:1.7;font-weight:500}.pledge p{margin:0 0 1.1rem}.pledge .signoff{margin:1.6rem 0 0;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--amber-soft)}.pledge .signoff span{display:inline-block;margin-top:0.15rem;font-family:var(--font-sans);font-style:normal;font-size:0.92rem;letter-spacing:0.02em;color:var(--cream);opacity:0.85}.reviews{background:var(--cream)}.reviews-sub{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.12em;font-size:0.82rem;font-weight:500;color:var(--red);margin:0 0 0.85rem}.reviews .source-note{max-width:48rem;margin:-0.4rem 0 1.2rem;font-size:0.95rem;color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:0 0 2.4rem}.featured-grid{grid-template-columns:1fr 1fr}.archive-grid{grid-template-columns:1fr 1fr 1fr;gap:0.9rem;margin:0}.extras-grid{grid-template-columns:1fr 1fr;margin-bottom:1.6rem}.review-card{margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.25rem 1.15rem;box-shadow:0 8px 22px rgba(21,34,56,0.04);display:flex;flex-direction:column;min-width:0}.review-card.featured{padding:1.45rem 1.4rem 1.25rem}.review-card .stars{margin:0 0 0.65rem;color:var(--amber);letter-spacing:0.08em;font-size:0.95rem;line-height:1}.review-card blockquote{margin:0;flex:1}.review-card blockquote p{margin:0;color:var(--ink);font-size:1.02rem;line-height:1.55}.review-card.featured blockquote p{font-family:var(--font-serif);font-size:1.12rem;line-height:1.6}.review-card figcaption{margin:1rem 0 0;padding-top:0.75rem;border-top:1px solid var(--line)}.review-card cite{display:block;font-style:normal;font-weight:700;color:var(--navy);font-size:0.98rem}.review-meta{display:block;margin-top:0.15rem;font-size:0.85rem;color:var(--muted)}.review-meta a{color:var(--muted)}.review-meta a:hover{color:var(--red)}.review-archive{max-height:38rem;overflow:auto;padding:0.15rem 0.35rem 0.35rem 0.1rem;margin:0 0 2.2rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,252,247,0.6);scrollbar-color:var(--navy-soft) var(--cream-dark)}.review-archive:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.review-archive .review-grid{padding:0.7rem}.review-card.compact blockquote p{font-size:0.98rem}.archive-hint{margin:-1.7rem 0 2rem;font-size:0.9rem;color:var(--muted)}.review-extras{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:0.4rem 1.2rem 0.2rem}.review-extras summary{cursor:pointer;font-weight:700;color:var(--navy);padding:0.9rem 0;list-style:none}.review-extras summary::-webkit-details-marker{display:none}.review-extras summary::after{content:"+";float:right;color:var(--red);font-weight:500}.review-extras[open] summary::after{content:"–"}.review-extras[open] summary{border-bottom:1px solid var(--line);margin-bottom:1.1rem}.visit{background:var(--cream-dark)}.visit-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:1.5rem;align-items:stretch}.visit-card{background:var(--white);border-radius:var(--radius);padding:1.6rem 1.5rem;border:1px solid var(--line)}.visit-card h3{font-family:var(--font-serif);color:var(--navy);margin:0 0 0.8rem;font-size:1.3rem}.visit-card dl{margin:0 0 1.2rem}.visit-card dt{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.12em;font-size:0.72rem;color:var(--red);margin-top:0.85rem}.visit-card dd{margin:0.15rem 0 0}.visit-card a.plain{color:var(--navy);font-weight:700;text-decoration:none}.visit-card a.plain:hover{color:var(--red);text-decoration:underline}.note{font-size:0.95rem;color:var(--muted);margin:0.4rem 0 0}.map-wrap{border-radius:var(--radius);overflow:hidden;min-height:22rem;border:1px solid var(--line);background:#d9e2d6}.map-wrap iframe{width:100%;height:100%;min-height:22rem;border:0;display:block}.faq{background:var(--paper)}.faq-list{display:grid;gap:0.7rem;max-width:48rem}.faq-item{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0}.faq-item summary{cursor:pointer;font-weight:700;color:var(--navy);padding:1rem 1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-weight:500;font-size:1.4rem;color:var(--red);line-height:1}.faq-item[open] summary::after{content:"–"}.faq-item .answer{padding:0 1.15rem 1.1rem;color:var(--muted);margin:0}.footer{background:var(--navy-deep);color:rgba(246,241,231,0.82);padding:2.4rem 1.25rem 5.5rem}.footer-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.footer h2,.footer h3{color:var(--white);font-family:var(--font-serif);margin:0 0 0.6rem;font-size:1.15rem}.footer a{color:var(--cream)}.footer a:hover{color:var(--amber-soft)}.footer p{margin:0.3rem 0}.copyright{max-width:var(--max);margin:2rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(246,241,231,0.12);font-size:0.88rem;color:rgba(246,241,231,0.55)}.callbar{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--navy);border-top:2px solid var(--amber);padding:0.65rem 0.85rem calc(0.65rem + env(safe-area-inset-bottom));z-index:60;gap:0.6rem}.callbar .btn{flex:1}@media (max-width:900px){.hero-inner,.gas .section-inner,.visit-grid,.footer-inner{grid-template-columns:1fr}.hero-inner{grid-template-areas:"eyebrow" "title" "photo" "copy";gap:0}.hero-inner h1{margin-bottom:1.1rem}.hero-photo{margin:0 0 1.4rem;max-width:40rem}.service-grid{grid-template-columns:1fr 1fr}.service-grid .card,.service-grid .card:nth-child(4),.service-grid .card:nth-child(5){grid-column:auto}.gallery{grid-template-columns:1fr 1fr}.trust-inner{grid-template-columns:1fr 1fr}.featured-grid,.extras-grid{grid-template-columns:1fr 1fr}.archive-grid{grid-template-columns:1fr 1fr}.hero-photo{max-width:40rem}.map-wrap,.map-wrap iframe{min-height:18rem}}@media (max-width:1100px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy-deep);flex-direction:column;align-items:stretch;padding:0.75rem 1.25rem 1.1rem;gap:0.4rem;border-bottom:3px solid var(--amber)}.nav.is-open{display:flex}.nav a{padding:0.45rem 0}.nav .btn-call{margin-top:0.4rem;width:100%}.callbar{display:flex}.header{border-bottom-width:2px}}@media (max-width:560px){.service-grid{grid-template-columns:1fr}.service-grid .card{grid-column:auto}.hero-inner{padding-top:2rem;padding-bottom:2.2rem}.section{padding:3rem 1.1rem}.featured-grid,.archive-grid,.extras-grid{grid-template-columns:1fr}.review-archive{max-height:28rem}.pledge{font-size:1.08rem}}.footer-inner{grid-template-columns:1.3fr 1fr 1fr 1fr}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:0.35rem}.footer ul a{color:rgba(246,241,231,0.88);text-decoration:none}.footer ul a:hover{color:var(--amber-soft);text-decoration:underline}.page-hero .hero-inner{display:block;padding:1.4rem 1.25rem 2.6rem}.page-hero h1{max-width:46rem}.page-hero .lead{max-width:44rem}.breadcrumb{font-size:0.9rem;margin:0 0 1.4rem}.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0.35rem}.breadcrumb li{color:rgba(246,241,231,0.72)}.breadcrumb li + li::before{content:"›";margin-right:0.35rem;color:var(--amber)}.breadcrumb a{color:var(--cream);text-decoration:none}.breadcrumb a:hover{color:var(--amber-soft);text-decoration:underline}.page-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:2.5rem;align-items:start}.prose{max-width:44rem;font-size:1.08rem}.prose h2{margin-top:2.2rem}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--font-serif);color:var(--navy);font-size:1.25rem;margin:1.6rem 0 0.4rem}.prose ul{padding-left:1.2rem}.prose li{margin:0.3rem 0}.prose blockquote{margin:1.4rem 0;padding:1rem 1.2rem;background:var(--white);border-left:4px solid var(--amber);border-radius:8px}.prose blockquote p{margin:0 0 0.4rem;font-style:italic}.prose blockquote footer{font-size:0.92rem;color:var(--muted)}.side{position:sticky;top:calc(var(--header-h) + 1rem);display:grid;gap:1.2rem}.side .visit-card p{margin:0.2rem 0}.related{list-style:none;margin:0;padding:0;display:grid;gap:0.5rem}.related a{font-weight:600;color:var(--navy)}.card .more{display:inline-block;margin-top:0.6rem;font-weight:700;color:var(--red);text-decoration:none}.card .more:hover{text-decoration:underline}.towns a{color:inherit}.page-figure{margin:1.6rem 0}.page-figure img{width:100%;height:auto;border-radius:12px;display:block}.page-figure figcaption{font-size:0.9rem;color:var(--muted);margin-top:0.4rem}@media (max-width:900px){.page-grid{grid-template-columns:1fr}.side{position:static}.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:560px){.footer-inner{grid-template-columns:1fr}}