:root{--red:#ff0000;--action:#d50000;--ink:#1b1b1b;--muted:#5e5e5e;--soft:#f6f6f6;--line:#e4e4e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font:18px/1.55 'Source Sans Pro',Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:var(--action);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,summary{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #1455b0;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Fjalla One',Arial,sans-serif;font-weight:400;line-height:1.25}h1{font-size:clamp(34px,3.1vw,48px);text-transform:uppercase;color:var(--red);margin-bottom:32px}h2{font-size:32px}h3{font-size:24px;line-height:1.35;font-weight:400;margin-bottom:20px}p{margin-bottom:22px;color:var(--muted)}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.narrow{max-width:850px}.section{padding:64px 0}.soft{background:var(--soft)}.section-title{text-align:center;text-transform:uppercase;color:var(--red);margin-bottom:40px}.email-bar{background:#db0000;color:white;text-align:center;padding:6px 16px;font-size:16px}.email-bar a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.masthead{height:196px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{width:240px;display:block}.logo img{width:240px;height:156px;object-fit:contain}.header-contact{display:flex;gap:24px;align-items:center}.telephone{font-size:24px;color:var(--ink);text-decoration:none;white-space:nowrap}.social-links{display:flex;gap:14px;align-items:center}.social-links a{display:inline-flex;width:28px;height:32px;align-items:center}.social-links svg{width:25px;height:25px}.desktop-nav{background:var(--soft);border-block:1px solid #f3f3f3}.nav-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 24px;padding-block:17px}.nav-links a{text-transform:uppercase;font-size:13px;font-weight:600;letter-spacing:1.4px;text-decoration:none;color:var(--ink);padding:5px 0}.nav-links a[aria-current],.nav-links a:hover{color:var(--action)}.mobile-nav{display:none}.hero{position:relative;min-height:680px;display:flex;justify-content:center;align-items:flex-end;padding:340px 24px 60px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#0009)}.hero-copy{position:relative;z-index:1;text-align:center;max-width:630px;padding:28px 32px;background:#e00000;color:white}.hero h1{color:white;font-size:46px;text-transform:none;margin-bottom:18px}.hero p{color:white;font-size:20px}.hero .button{background:white;color:#b80000;border-color:white}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 28px;background:var(--action);border:2px solid var(--action);color:#fff;text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:15px;text-align:center;transition:background .15s}.button:hover{background:#ac0000;border-color:#ac0000;color:white}.button.secondary{background:transparent;color:var(--action)}.button.secondary:hover{background:#fff1f1}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-block:28px}.cards{display:grid;gap:44px 32px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.one{grid-template-columns:1fr}.cards article{min-width:0}.cards article>img{width:100%;aspect-ratio:2/1;object-fit:cover}.card-copy{padding-top:24px}.cards:not(.pricing) .card-copy p:last-child{margin-bottom:0}.cards.prose .card-copy{padding:0}.pricing{align-items:start}.pricing article{border-top:1px solid var(--line);padding-top:20px}.pricing h3{font-weight:600}.pricing p{font-size:17px}.page-heading{max-width:900px;margin-bottom:40px}.page-heading:after{content:'';display:block;width:48px;height:2px;background:var(--line)}.page-heading h1{margin-bottom:30px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-link{display:block;overflow:hidden;background:#ececec}.gallery-link img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.gallery-link:hover img{transform:scale(1.025)}.gallery-more{margin-top:24px}.gallery-more summary{width:fit-content;margin:0 auto 24px;padding:10px 24px;border:1px solid var(--line);color:var(--action)}.feature{text-align:center;background:#1c1c1c}.feature h2,.feature p{color:white}.quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.quick-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-block:1px solid var(--line);padding:26px 10px}.quick-links h2{font-size:24px;text-transform:uppercase;margin:0}.quick-links span{font-size:27px}.contact{background:#f5f5f5}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact h3{font-size:27px}.contact .email-address{overflow-wrap:anywhere}.small{font-size:15px}.hours{margin:0 0 24px}.hours>div{display:flex;justify-content:space-between;gap:24px;padding-block:10px;border-bottom:1px solid #ddd}.hours dd{margin:0;white-space:nowrap}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.area-grid article{position:relative;min-width:0}.area-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.area-grid h2{text-align:center;font-size:27px;text-transform:uppercase;margin:18px 0 26px}.area-other{text-align:center;margin-top:32px}.social-feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.social-feature>img{width:100%;max-height:570px;object-fit:cover}.social-feature h2{font-size:34px}.reviews{background:linear-gradient(#0009,#000b),url('/assets/IMG_5441.webp') center/cover}.reviews h1{color:white;text-align:center}.reviews .page-heading{margin-inline:auto}.reviews .page-heading:after{display:none}.review-summary{color:white;text-align:center;font-size:25px;margin-bottom:40px}.review-summary span{font-size:16px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.review-grid figure{margin:0;padding:30px;background:white;display:flex;flex-direction:column}.recommend{font-size:15px;color:#555}.review-grid blockquote{margin:20px 0;flex:1}.review-grid figcaption{font-size:16px;margin-bottom:20px}.review-grid a{font-size:16px}.reviews+.section .gallery-link img{aspect-ratio:1;object-fit:contain}.blog-card{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:940px;align-items:center}.blog-card img{width:100%;max-height:440px;object-fit:cover}.blog-card h2{font-size:38px}.blog-card h2 a{text-decoration:none}.eyebrow{text-transform:uppercase;font-size:14px;letter-spacing:1px}.post-image{float:right;width:40%;max-height:430px;object-fit:cover;margin:0 0 30px 35px}.blog-post h2{font-size:30px;margin-top:30px}.blog-post h3{font-weight:600;margin-top:30px}.blog-post:after{display:block;content:'';clear:both}.list-paragraph{padding-left:22px;border-left:2px solid var(--red)}footer{padding:36px 0 28px;background:white;border-top:1px solid var(--line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner p{font-size:15px;margin:0}.footer-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}.footer-nav a{font-size:14px;color:#555}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:16px;top:-100px;background:#fff;z-index:10;padding:12px}.skip:focus{top:10px}dialog{border:0;padding:24px;background:#fff;max-width:95vw;max-height:95vh;overflow:auto}dialog::backdrop{background:#000c}dialog img{max-height:75vh;max-width:85vw;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:15px;margin:12px 0 0}.lightbox-close{display:block;margin:0 0 16px auto;border:1px solid #aaa;background:white;padding:8px 18px}.anchor{display:block;position:relative;top:-20px}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){.wrap{width:min(1280px,calc(100% - 100px))}.narrow{max-width:850px}.hero{min-height:760px}}@media(max-width:1100px){.nav-links{gap:0 18px}.nav-links a{font-size:12px}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:40px}.masthead{height:165px}}@media(max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.section{padding:44px 0}.masthead{height:135px;gap:10px}.logo,.logo img{width:176px;height:116px}.header-contact{flex-direction:column;gap:10px;align-items:flex-end}.telephone{font-size:20px}.social-links{gap:12px}.desktop-nav{display:none}.mobile-nav{display:block;border-block:1px solid var(--line);background:var(--soft)}.mobile-nav summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;font-size:17px;font-weight:600}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{display:flex;flex-direction:column;padding:0 20px 18px}.mobile-nav nav a{padding:10px 0;text-decoration:none;color:var(--ink);border-top:1px solid var(--line)}.mobile-nav nav a[aria-current]{color:var(--action);font-weight:600}.hero{min-height:600px;padding:250px 20px 30px}.hero-copy{padding:24px 20px}.hero h1{font-size:36px}.hero p{font-size:18px}.section-title{font-size:28px;margin-bottom:28px}.cards.two,.cards.three,.contact-grid,.social-feature,.blog-card{grid-template-columns:1fr}.cards{gap:36px}.gallery-grid,.area-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-links{grid-template-columns:1fr 1fr;gap:16px}.quick-links h2{font-size:22px}.contact-grid{gap:40px}.area-grid h2{font-size:24px}.review-grid figure{padding:22px}.social-feature{gap:30px}.social-feature>img{max-height:430px}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.post-image{float:none;width:100%;max-height:460px;margin:0 0 30px}.page-heading{margin-bottom:30px}.pricing article{padding-top:0}.email-bar{font-size:14px}.hero-image{object-position:45% center}}@media(max-width:420px){.wrap{width:calc(100% - 32px)}.logo,.logo img{width:148px;height:106px}.telephone{font-size:18px}.masthead{height:126px}.gallery-grid,.review-grid{grid-template-columns:1fr}.gallery-grid img{aspect-ratio:4/3}.area-grid{gap:12px}.area-grid h2{font-size:22px}.hero{min-height:570px;padding-top:225px}.hero h1{font-size:33px}.actions{gap:12px}.button{padding-inline:22px}.hours>div{gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
