:root{--ink:#191714;--cream:#f3efe6;--gold:#c7ad58;--muted:#656056;--line:#d8d0c2;--display:"Barlow Condensed",sans-serif;--body:"Manrope",sans-serif;color:var(--ink);background:var(--cream);font-family:var(--body);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,summary,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid #8f6d13;outline-offset:6px}
.skip-link{position:fixed;left:16px;top:12px;z-index:10;padding:14px 20px;background:var(--gold);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.detail-header{min-height:92px;background:var(--ink);color:var(--cream);padding:20px clamp(24px,5vw,88px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:#e7d289}
.brand img{width:42px;height:42px;object-fit:contain}
.brand>span{font-size:11px;line-height:1.15;letter-spacing:.13em}
.brand strong{display:block;font-family:var(--display);font-size:28px;letter-spacing:.025em;line-height:1}
.detail-header nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:600}
.detail-header nav a{padding:12px 0}
.detail-header nav a:hover,.detail-header nav a[aria-current]{color:var(--gold)}
.detail-header nav span{padding-left:10px}
.detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding:0 clamp(24px,5vw,88px);gap:clamp(32px,7vw,120px);align-items:center;max-width:1600px;margin:0 auto}
.hero-copy{padding:40px 0 72px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);margin:0 0 56px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.16em;font-weight:800;margin:0 0 20px}
h1,h2{font-family:var(--display);font-weight:700;line-height:.94;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(62px,7.4vw,112px);max-width:10ch}
.lead{font-size:clamp(16px,1.25vw,19px);line-height:1.75;max-width:42ch;margin:30px 0;color:#4d483f}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 22px;min-height:58px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:800;transition:background .2s,transform .2s}
.button:hover{background:#dfc97b;transform:translateY(-2px)}
.button>span,.text-link>span{font-size:19px}
.text-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;line-height:1.8}
.text-link>span{display:inline-block;padding-left:12px;transition:transform .2s}
.text-link:hover>span{transform:translate(3px,-3px)}
.hero-figure{margin:48px 0 32px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.image-window{overflow:hidden;min-height:360px;height:min(590px,48vw);background:#ded7ca}
.image-window img{height:100%;width:100%;object-fit:cover;transition:transform .6s}
.hero-figure figcaption{font-size:10px;color:var(--muted);line-height:1.6;max-width:55ch;margin-top:12px}
.content-shell{max-width:1424px;margin:0 auto;padding:80px clamp(24px,5vw,88px)}
.service-story,.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,130px);border-top:1px solid var(--line)}
.section-heading h2{font-size:clamp(42px,4.2vw,64px);max-width:14ch}
.section-heading>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;max-width:36ch}
.prose p{font-size:15px;line-height:1.9;margin:0 0 22px;color:#4d483f}
.prose p:last-child{margin-bottom:0}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,130px);border-top:1px solid var(--line)}
.faq-list{border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;font-size:15px;font-weight:700;padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:22px;line-height:1.6}
summary::-webkit-details-marker{display:none}
summary>span{font-size:25px;font-weight:400;flex-shrink:0;transition:transform .2s}
details[open] summary>span{transform:rotate(45deg)}
details p{font-size:14px;line-height:1.9;margin:0 32px 24px 0;color:var(--muted)}
.related{border-top:1px solid var(--line)}
.related h2{font-size:clamp(38px,3.6vw,56px);margin-bottom:40px}
.related nav{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
.related nav a{padding:22px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
.related nav a>span{transition:transform .2s}
.related nav a:hover>span{transform:translate(4px,-4px)}
.closing{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:56px;padding-bottom:80px}
.closing h2{font-size:clamp(54px,6vw,90px)}
.closing .eyebrow{margin-bottom:14px}
.detail-footer{background:var(--ink);color:var(--cream);padding:38px clamp(24px,5vw,88px);display:flex;align-items:center;justify-content:space-between;gap:28px}
.detail-footer p,.detail-footer>a:not(.brand){font-size:12px;line-height:1.7}
.detail-footer p{color:#c0b8aa}
.mobile-actions{display:none}
.hero-address{font-size:16px;line-height:1.9;font-style:normal;color:#4d483f;margin-top:22px;max-width:42ch}
.location-hero h1{max-width:10ch}
.location-hero .lead{margin-bottom:0}
.location-photo{align-items:center}
.location-photo .image-window{min-height:0;height:auto;width:280px;max-width:100%;background:none}
.location-photo img{height:auto;object-fit:contain}
.location-photo figcaption{width:280px;max-width:100%}
.hours{margin:0;border-top:1px solid var(--ink)}
.hours>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:1px solid var(--line);padding:23px 0}
.hours dt{font-size:14px;line-height:1.7}
.hours dd{font-size:17px;font-weight:700;white-space:nowrap;margin:0}
.contact-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px}
@supports (animation-timeline:view()){
@keyframes photo-drift{from{transform:scale(1.045) translateY(-1%)}to{transform:scale(1.045) translateY(1%)}}
.hero-figure:not(.location-photo) .image-window img{animation:photo-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
}
@media(min-width:1600px){.detail-hero{padding-left:88px;padding-right:88px}}
@media(max-width:900px){
.detail-header{min-height:80px;padding-top:16px;padding-bottom:16px}
.detail-hero{gap:36px}
.hero-copy{padding-top:28px;padding-bottom:48px}
.breadcrumbs{margin-bottom:38px}
h1{font-size:clamp(60px,8vw,84px)}
.lead{font-size:15px}
.image-window{height:460px;min-height:0}
.hero-figure{margin-top:36px}
.actions{gap:20px}
.button{padding:16px 18px;gap:22px}
.content-shell{padding-top:62px;padding-bottom:62px}
.service-story,.visit-details,.faq{gap:44px}
.section-heading h2{font-size:46px}
.prose p{font-size:14px}
.related nav{column-gap:32px}
.hero-address{font-size:15px}
.hours>div{flex-wrap:wrap;gap:6px}
.hours dd{font-size:16px}
}
@media(max-width:640px){
html{scroll-padding-top:16px}
body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
.detail-header{min-height:76px;gap:16px;padding-left:22px;padding-right:22px}
.brand{gap:9px}
.brand img{width:34px;height:34px}
.brand>span{font-size:9px}
.brand strong{font-size:24px}
.detail-header nav{gap:22px;font-size:11px}
.detail-header nav span{display:none}
.detail-hero{display:block;padding:0 24px}
.hero-copy{padding:26px 0 0}
.breadcrumbs{font-size:10px;gap:10px;margin-bottom:32px}
.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:16px}
h1{font-size:clamp(60px,14vw,84px);max-width:11ch}
.lead{font-size:15px;line-height:1.8;margin:22px 0;max-width:none}
.actions{gap:18px;margin-top:24px}
.button{min-height:54px;font-size:12px}
.text-link{font-size:12px}
.hero-figure{margin:34px 0 38px}
.image-window{height:350px}
.hero-figure figcaption{font-size:9px;line-height:1.7}
.content-shell{padding:44px 24px}
.service-story,.visit-details,.faq{display:block}
.section-heading{margin-bottom:28px}
.section-heading h2{font-size:44px;max-width:16ch}
.prose p{font-size:14px;line-height:1.9}
.faq-list{margin-top:30px}
summary{font-size:14px;padding:20px 0}
details p{font-size:13px;margin-right:20px}
.related h2{font-size:40px;max-width:15ch;margin-bottom:24px}
.related nav{display:block}
.related nav a{padding:20px 0;font-size:14px}
.closing{display:block;padding-top:30px;padding-bottom:48px}
.closing h2{font-size:64px}
.closing .button{margin-top:28px;min-width:190px}
.detail-footer{padding:30px 24px;display:flex;flex-wrap:wrap;gap:20px}
.detail-footer p{width:100%;order:3;margin:0;font-size:11px}
.detail-footer>a:not(.brand){margin-left:auto;font-size:11px}
.mobile-actions{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;min-height:62px;padding-bottom:env(safe-area-inset-bottom);background:var(--ink);border-top:1px solid rgba(243,239,230,.15)}
.mobile-actions a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:62px;font-size:12px;font-weight:800;padding:17px 22px}
.mobile-actions a:first-child{background:var(--gold);color:var(--ink);flex:1}
.mobile-actions a:last-child{color:var(--cream);min-width:100px}
.hero-address{font-size:15px;line-height:1.85}
.location-photo{margin-top:36px;margin-bottom:40px}
.location-photo .image-window,.location-photo figcaption{width:224px}
.hours>div{flex-wrap:nowrap}
.hours dt{font-size:13px}
.hours dd{font-size:15px}
.contact-links{gap:24px}
}
@media(max-width:360px){
.detail-header{padding-left:18px;padding-right:18px}
.detail-header nav{gap:16px}
.detail-hero{padding-left:20px;padding-right:20px}
.content-shell{padding-left:20px;padding-right:20px}
h1{font-size:60px}
.actions{align-items:flex-start;flex-direction:column;gap:16px}
.image-window{height:300px}
.hours>div{gap:12px}
.hours dt{font-size:11px}
.hours dd{font-size:14px}
.detail-footer{padding-left:20px;padding-right:20px}
.mobile-actions a{padding-left:18px;padding-right:18px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
