:root{--red:#bd3943;--red-dark:#9b2932;--ink:#242629;--muted:#62666b;--paper:#f5f4f0;--line:#d7d8d5;--white:#fff;--rail:190px;--sans:"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}.public-body{padding-right:var(--rail)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button,a,input,select,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--red);outline-offset:4px}::selection{background:#f4c9cd}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:650;line-height:1.1;letter-spacing:-.05em}h1{font-size:clamp(3.2rem,5.9vw,7rem)}h2{font-size:clamp(2.4rem,4.2vw,4.6rem)}h3{font-size:1.5rem}p{margin-bottom:1.2em}em{font-style:normal;color:var(--red)}.wrap{width:min(1240px,calc(100% - 100px));margin-inline:auto}.section{padding:110px 0}.eyebrow{font-size:.68rem;letter-spacing:.17em;font-weight:700;text-transform:uppercase;color:var(--red);margin-bottom:22px}.eyebrow.light{color:#f3afb4}.skip{position:fixed;z-index:100;top:-100px;left:15px;background:white;padding:15px}.skip:focus{top:15px}.masthead{display:flex;justify-content:space-between;align-items:center;padding:22px 50px;border-bottom:1px solid var(--line);min-height:110px;background:var(--paper)}.brand img{width:245px;height:auto}.masthead-note{text-align:right;font-size:.58rem;letter-spacing:.12em;line-height:1.9;color:var(--muted)}.masthead-note b{font-weight:500;color:var(--red)}.side-nav{position:fixed;z-index:30;right:0;top:0;bottom:0;width:var(--rail);display:flex;flex-direction:column;justify-content:center;padding:30px 20px;background:#fff;border-left:1px solid var(--line)}.side-nav>a{display:flex;align-items:center;gap:12px;padding:21px 3px;border-bottom:1px solid #e6e6e4;font-size:.86rem;transition:color .2s,padding .2s}.side-nav small{font-size:.58rem;color:#7f8184}.side-nav i{font-style:normal;margin-left:auto;opacity:0}.side-nav>a:hover,.side-nav>a.active{color:var(--red);padding-left:9px}.side-nav>a.active{border-left:3px solid var(--red)}.side-nav>a.active i{opacity:1}.side-nav .nav-contact{margin-top:28px;padding:14px 10px;background:var(--red);color:white;font-size:.72rem;border:0}.side-nav .nav-contact:hover{background:var(--red-dark);color:white}.nav-caption{position:absolute;bottom:35px;left:25px;font-size:.52rem;letter-spacing:.12em;color:var(--muted)}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:min(810px,calc(100vh - 110px));display:flex;align-items:center;color:white;background:#252b28;overflow:hidden}.hero-visual{position:absolute;inset:0;z-index:-2}.hero-image{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111a19eb,#172220b0 40%,#17222022 90%)}.hero-content{padding:65px 0}.hero h1{font-size:clamp(3.4rem,5.6vw,6.6rem);max-width:760px;margin-bottom:28px}.hero h1 em{color:#f08189}.hero-lead{max-width:430px;color:#eceeed;font-size:1rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--red);color:#fff;padding:16px 22px;border:1px solid var(--red);font-size:.81rem;font-weight:650;transition:background .2s,transform .2s;border-radius:2px;line-height:1.5}.button:hover{background:var(--red-dark);transform:translateY(-2px)}.button:disabled{cursor:wait;opacity:.6}.hero-controls{display:flex;align-items:center;gap:20px;margin-top:44px;font-size:.65rem}.hero-controls button{background:transparent;color:#fff;border:1px solid #ffffff70;min-width:38px;height:38px}.hero-controls .hero-pause{padding:0 12px}.hero-edge{position:absolute;bottom:0;right:0;background:var(--red);padding:14px 25px;font-size:.6rem;letter-spacing:.15em}.hero-topics{display:grid;grid-template-columns:1fr 1fr;background:#282b2d;color:white}.hero-topics article{padding:35px 50px;border-right:1px solid #555}.hero-topics span{font-size:.58rem;letter-spacing:.12em;color:#f3adb3}.hero-topics h2{font-size:1.3rem;line-height:1.3;letter-spacing:-.02em;margin:13px 0}.hero-topics p{font-size:.85rem;color:#c5c8cb}.hero-topics a{font-size:.75rem;color:#ffb1b8}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.intro-text{font-size:1.22rem;color:#4e5458;line-height:1.8}.intro-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:.7rem;padding:18px 0;border-top:1px solid var(--line);margin:25px 0}.text-link{display:inline-block;color:var(--red-dark);font-size:.82rem;border-bottom:1px solid var(--red);padding:7px 0}.services{background:#fff}.section-heading{margin-bottom:60px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:65px 0;border-top:1px solid var(--line)}.service-row:nth-child(odd) .service-media{order:2}.service-copy h3{font-size:clamp(2rem,2.9vw,3.3rem);margin-bottom:25px}.prose{font-size:.96rem;line-height:1.85;overflow-wrap:anywhere}.prose h2{font-size:2rem;margin-top:40px}.prose h3{font-size:1.45rem;margin-top:25px}.prose a{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:8px}.prose p:empty{display:none}.prose strong{font-weight:600}.service-copy .prose{color:var(--muted);font-size:.88rem}.service-media{position:relative;min-width:0}.gallery-slide img{width:100%;height:490px;object-fit:cover}.gallery-controls{position:absolute;right:0;bottom:0;display:flex;background:white;align-items:center;gap:18px;padding:12px;font-size:.66rem}.gallery-controls button{width:36px;height:36px;background:var(--paper);border:1px solid var(--line)}.media-label{font-size:.6rem;letter-spacing:.07em;position:absolute;top:22px;left:0;max-width:80%;padding:13px 20px;background:var(--red);color:white}.service-features{display:flex;flex-wrap:wrap;list-style:none;gap:9px;padding:0;font-size:.64rem;margin:22px 0}.service-features li{border:1px solid var(--line);padding:5px 9px}.process{background:#26282b;color:white}.process em{color:#f08790}.process ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:28px;margin:55px 0}.process li{border-top:1px solid #717579;padding-top:25px}.process li>span{font-size:3rem;color:#ed8991}.process h3{font-size:1rem;line-height:1.5;letter-spacing:0;margin-top:18px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;margin-top:50px}.contact-details>a{display:block;color:var(--red-dark);overflow-wrap:anywhere}.contact-details h3{margin:28px 0 15px}.contact-details h3:first-child{margin-top:0}.hours{max-width:350px;font-size:.86rem}.hours>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0}.hours dd{margin:0}.form-card{background:white;padding:35px;border:1px solid var(--line)}.form-card h3{font-size:2rem}.form-card>p{font-size:.8rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}label{display:block;font-size:.78rem;margin:18px 0 6px;font-weight:600}input:not([type=checkbox]),textarea,select{display:block;width:100%;min-width:0;border:1px solid #afb2b4;background:#f9f9f7;border-radius:2px;padding:12px;color:var(--ink);font-size:.9rem}textarea{resize:vertical}.checkbox{display:flex;gap:11px;align-items:flex-start;font-size:.73rem;line-height:1.65;margin:22px 0;font-weight:400}.checkbox input{accent-color:var(--red);margin-top:5px;flex-shrink:0}.checkbox a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status:not(:empty),.notice{padding:18px;border-left:3px solid var(--red);background:#f9ecee;margin:18px 0;font-size:.87rem}.error{color:#8a1720}.footer{background:#e8e8e3;border-top:4px solid var(--red);padding:60px 0 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr .6fr;gap:45px}.footer-logo{width:240px;margin-bottom:22px}.footer p,.footer a{font-size:.8rem}.footer-grid>div>a{display:block}.footer-grid p{margin-top:18px}.footer .eyebrow{display:block}.footer-bottom{border-top:1px solid #c7c9c6;margin-top:45px;padding:25px 0;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.footer-bottom small,.footer-bottom a{font-size:.66rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:18px}.subpage{padding-bottom:90px;min-height:60vh}.page-intro{padding-top:70px;padding-bottom:40px}.page-intro h1{font-size:clamp(2.8rem,5.3vw,5.4rem);max-width:1000px;overflow-wrap:anywhere;hyphens:auto}.breadcrumb{display:block;margin-bottom:35px;font-size:.74rem;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:start}.detail-layout:not(:has(.detail-photo)){display:block;max-width:920px}.detail-photo{position:sticky;top:30px}.detail-photo img{width:100%;max-height:600px;object-fit:cover}.page-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:45px}.reading{max-width:920px}.reading h2:first-child{margin-top:0}.technical-note{padding:25px;margin-top:40px;border:1px solid var(--line);background:white}.form-section{max-width:900px;margin-top:40px}.original-content>ul{margin:25px 0}.service-list .service-row:first-child{border-top:0}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.js-motion .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}.admin-body{background:#f2f2ef}.login-shell{min-height:100vh;display:grid;place-items:center;padding:35px 20px}.login-card{background:#fff;border:1px solid var(--line);width:min(460px,100%);padding:38px}.admin-logo{width:240px;height:auto;margin-bottom:30px}.login-card h1{font-size:2.6rem}.login-card p{font-size:.85rem}.password-wrap{position:relative}.password-wrap input{padding-right:95px}.password-toggle{position:absolute;right:8px;top:7px;border:0;background:transparent;padding:5px;color:var(--red-dark);font-size:.75rem}.full{width:100%;margin-top:25px}.quiet-link{display:inline-block;margin-top:22px;font-size:.8rem}.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.admin-sidebar{padding:35px 25px;background:white;border-right:1px solid var(--line)}.admin-sidebar nav a{display:flex;justify-content:space-between;padding:12px 0;font-size:.84rem}.admin-sidebar nav a[aria-current]{color:var(--red)}.logout-button{margin-top:20px;border:1px solid var(--line);padding:10px;background:var(--paper)}.admin-main{padding:55px;max-width:1250px;min-width:0}.admin-main h1{font-size:2.6rem}.admin-main h2{font-size:1.6rem}.admin-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0}.admin-cards>a,.admin-panel{background:white;padding:28px;border:1px solid var(--line)}.admin-cards p{font-size:.85rem}.admin-panel{margin-top:25px}.admin-panel .button{margin-top:22px}.admin-panel p{font-size:.9rem}.editor{font-size:.85rem}.outline{background:transparent;color:var(--red-dark)}@media(min-width:1700px){:root{--rail:220px}.hero{min-height:850px}}@media(max-width:1200px){:root{--rail:165px}.wrap{width:calc(100% - 60px)}.masthead{padding-inline:30px}.side-nav{padding-inline:14px}.side-nav>a{font-size:.76rem}.hero h1{font-size:4.7rem}.service-row{gap:35px}.gallery-slide img{height:440px}.contact-grid{gap:35px}.footer-grid{gap:25px}.intro-grid{gap:40px}}@media(max-width:1000px){.service-row{grid-template-columns:1fr}.service-row:nth-child(odd) .service-media{order:0}.gallery-slide img{height:430px}.intro-grid,.contact-grid{grid-template-columns:1fr}.process ol{grid-template-columns:1fr 1fr}.hero-topics article{padding:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.hero h1{font-size:4.1rem}.admin-main{padding:35px}}@media(max-width:800px){:root{--rail:0px}.masthead{padding:15px 22px;min-height:86px}.brand img{width:200px}.masthead-note{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);padding:9px 12px;font-size:.75rem}.side-nav{display:none;top:86px;bottom:auto;width:100%;padding:20px 28px;box-shadow:0 16px 30px #0002}.side-nav.open{display:flex}.side-nav>a{padding:14px;font-size:.95rem}.side-nav .nav-contact{margin-top:15px}.nav-caption{display:none}.wrap{width:calc(100% - 44px)}.hero{min-height:720px}.hero h1{font-size:clamp(3.1rem,9vw,4.9rem)}.hero-content{padding:55px 0}.hero:after{background:linear-gradient(90deg,#14221ded,#14221d80)}.hero-lead{max-width:360px;font-size:.94rem}.hero-edge{font-size:.5rem;padding:10px 15px}.section{padding:75px 0}.hero-topics{grid-template-columns:1fr}.hero-topics article{padding:28px 22px}.hero-topics article+article{border-top:1px solid #555}.service-row{padding:45px 0}.gallery-slide img{height:420px}.service-copy h3{font-size:2.3rem}.intro-text{font-size:1.05rem}.contact-grid{gap:35px}.form-card{padding:25px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.detail-layout{grid-template-columns:1fr}.detail-photo{position:static}.detail-photo img{max-height:420px}.page-intro{padding-top:45px}.page-intro h1{font-size:clamp(2.6rem,9vw,4rem)}.prose h2{font-size:1.8rem}.admin-layout{grid-template-columns:1fr}.admin-sidebar{padding:22px}.admin-sidebar nav{display:flex;flex-wrap:wrap;gap:15px}.admin-sidebar .admin-logo{width:180px}.admin-main{padding:30px 22px}.admin-main h1{font-size:2.1rem}.admin-cards{grid-template-columns:1fr}.admin-panel{padding:22px}.footer-bottom{align-items:flex-start}.footer-bottom small{width:100%}}@media(max-width:450px){.brand img{width:170px}.hero{min-height:700px}.hero h1{font-size:3.15rem}.hero-controls{margin-top:32px}.gallery-slide img{height:340px}.media-label{font-size:.55rem;max-width:90%;padding:10px 12px}.form-grid{grid-template-columns:1fr}.process ol{gap:22px}.process h3{font-size:.9rem}.contact-details>a{font-size:.88rem}.login-card{padding:25px}.login-card h1{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.hero-image.active img{animation:hero-enter .7s ease-out}.gallery-slide.active img{animation:gallery-enter .4s ease-out}@keyframes hero-enter{from{opacity:.5;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes gallery-enter{from{opacity:.4}to{opacity:1}}}.side-nav small{color:#62666b}.footer .eyebrow{color:var(--red-dark)}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.social-links .social-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px 6px 6px;border:1px solid #bfc1bc;border-radius:4px;background:#ffffff70;color:var(--ink);font-size:.8rem;line-height:1.3;transition:border-color .2s,background .2s}.social-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--red-dark);color:white;border-radius:3px;transition:background .2s}.social-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.social-icon .social-dot{fill:currentColor;stroke:none}.social-arrow{color:var(--red-dark);margin-left:5px}.social-links .social-link:hover,.social-links .social-link:focus-visible{border-color:var(--red-dark);background:#fff}.social-link:hover .social-icon{background:var(--ink)}.footer .social-links{margin-top:22px}@media(prefers-reduced-motion:reduce){.social-link,.social-icon{transition:none!important}}.side-nav .social-links--compact{flex:none;gap:12px;margin:0 0 22px;padding:0 3px 18px;border-bottom:1px solid var(--line)}.side-nav .social-links--compact .social-link{padding:0;min-height:44px;width:44px;justify-content:center;border:0;background:transparent}.social-links--compact .social-link>span:not(.social-icon){display:none}.side-nav .social-links--compact .social-icon{width:26px;height:26px;color:var(--muted);background:transparent}.side-nav .social-links--compact .social-link:hover .social-icon,.side-nav .social-links--compact .social-link:focus-visible .social-icon{color:var(--red-dark)}.request-info{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:42px 0 50px}.request-card{min-width:0;background:#fff;border:1px solid var(--line);padding:28px}.original-content .request-card h2{display:flex;align-items:center;gap:12px;font-size:1.4rem;margin:0 0 24px;letter-spacing:-.025em}.request-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;color:var(--red-dark)}.request-icon svg{width:26px;height:26px}.original-content .request-contact{display:flex;align-items:center;gap:14px;padding:15px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.request-contact:last-child{border-bottom:0}.request-contact small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:3px}.request-contact strong{font-size:.94rem;font-weight:600;overflow-wrap:anywhere}.original-content .request-contact:hover strong{color:var(--red-dark)}.request-card address{font-style:normal;line-height:1.8;border-left:2px solid var(--red);padding-left:15px}.request-hours{grid-column:1/-1}.request-hours dl{margin:0}.request-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 16px;border-bottom:1px solid var(--line)}.request-hours dl>div:nth-child(odd){background:var(--paper)}.request-hours dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.request-hours .closed{color:var(--muted)}.request-hours .closed dd{font-weight:400}@media(max-width:800px){.side-nav.open{max-height:calc(100dvh - 86px);overflow-y:auto;justify-content:flex-start}.side-nav .social-links--compact{margin-bottom:8px;padding-bottom:8px}.side-nav>a{flex-shrink:0}.request-info{grid-template-columns:1fr}.request-card{padding:23px}.request-hours dl>div{padding-inline:0}.request-contact strong{font-size:.86rem}}@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2")}h1,h2,h3,h4,h5,h6{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:600;letter-spacing:.005em;line-height:1.08}h1 strong,h2 strong,h3 strong{font-weight:inherit}.hero h1{letter-spacing:.008em;line-height:1.02}.cookie-note{position:fixed;z-index:50;left:24px;bottom:24px;width:min(355px,calc(100vw - var(--rail) - 48px));padding:24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 12px 42px #24262920;border-radius:3px}.cookie-note-kicker{font-size:.62rem;font-weight:700;letter-spacing:.15em;color:var(--red-dark)}.cookie-note h2{font-size:1.75rem;margin:8px 0 14px}.cookie-note p{font-size:.79rem;line-height:1.6;margin:0 0 10px;color:var(--muted)}.cookie-note-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.cookie-note-actions a{font-size:.76rem;text-decoration:underline;text-underline-offset:3px}.cookie-note-actions button{display:flex;align-items:center;gap:18px;border:0;border-radius:2px;background:var(--red-dark);color:#fff;padding:12px 16px;font-size:.78rem;font-weight:600}.cookie-note-actions button:hover{background:var(--ink)}.cookie-reopen{border:0;background:none;color:inherit;padding:0;font-size:.66rem;text-decoration:underline;text-underline-offset:3px}.back-to-top{position:fixed;z-index:40;right:calc(var(--rail) + 24px);bottom:24px;display:grid;place-items:center;width:48px;height:48px;background:var(--red-dark);color:#fff;border:1px solid #ffffff40;border-radius:3px;box-shadow:0 6px 20px #24262922;transition:background .2s,transform .2s}.back-to-top svg{width:23px;height:23px}.back-to-top:hover{background:var(--ink);transform:translateY(-3px)}@media(max-width:800px){.cookie-note{left:16px;bottom:16px;width:min(355px,calc(100vw - 32px));padding:20px;max-height:calc(100dvh - 110px);overflow-y:auto}.back-to-top{right:16px;bottom:calc(16px + var(--cookie-offset,0px))}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}.contact-details .contact-line{display:flex;align-items:center;gap:12px;padding:8px 0;min-width:0}.contact-line>span:last-child{min-width:0;overflow-wrap:anywhere}.contact-details .contact-address{align-items:flex-start}.contact-address address{font-style:normal}.contact-line .request-icon{width:26px;height:28px}.contact-line .request-icon svg{width:23px;height:23px}