/* Le Beau Butin — restrained editorial system, shared by every PHP page. */
:root{--paper:#faf9f6;--cream:#eeece6;--ink:#282925;--muted:#686a63;--line:#d9d8d1;--green:#41483d;--coral:#756e5f}
[hidden]{display:none!important}input,button,select,textarea{font-family:var(--sans)}button{line-height:inherit}img{max-width:100%}a,button{touch-action:manipulation}
.site-header{height:112px;max-width:1600px;padding:0 4.4%;display:grid;grid-template-columns:1fr auto 1fr;gap:28px;border:0;align-items:center}
.site-header .brand{text-align:center;font-size:43px;letter-spacing:-1.5px;font-weight:400}
.brand span{display:block;font:8px/1 var(--sans);letter-spacing:2.1px;margin:13px 0 0;color:var(--muted)}
.site-header nav{gap:24px;font-size:10px;letter-spacing:.6px;text-transform:uppercase}
.header-actions{justify-content:flex-end;gap:24px}.contribute-link{font-size:11px;display:flex;align-items:center;gap:9px}.favorite-link{display:grid;place-items:center;padding:12px}
.button{border-radius:0;font-weight:400}.button.primary{background:var(--ink)}.text-link{font-size:11px;letter-spacing:.2px;padding-bottom:9px;gap:22px}
.cover{position:relative;margin:0 28px;height:clamp(450px,42vw,650px);isolation:isolate;background:#62594b;color:#fff;overflow:hidden}
.cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}
.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,17,13,.38),rgba(18,17,13,.04) 65%);z-index:-1}
.cover-copy{position:absolute;left:5%;bottom:12%;max-width:690px}.cover-copy .eyebrow{font-size:9px;letter-spacing:2.7px;margin-bottom:25px;color:#f1efe9}
.cover-copy h1{font-size:clamp(50px,5.15vw,80px);line-height:1.02;letter-spacing:-1.8px;text-wrap:balance}.cover-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#f0eee8;margin-top:23px}
.cover-link{display:flex;align-items:center;justify-content:space-between;gap:45px;width:fit-content;font-size:11px;letter-spacing:.2px;border-bottom:1px solid #ffffff85;padding:10px 0;margin-top:22px}.cover-link:hover{border-color:white}
.cover-edition{position:absolute;right:29px;bottom:28px;font-size:8px;letter-spacing:1.7px;writing-mode:vertical-rl;color:#edeae3}
.cover-caption{display:flex;justify-content:space-between;padding:12px 28px 0;font-size:8px;letter-spacing:.8px;color:var(--muted)}.cover-caption span:last-child{font-size:8px;letter-spacing:0}
.home-search{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr auto;gap:45px;align-items:center;padding:49px 5% 50px;border-bottom:1px solid var(--line)}
.home-search .eyebrow{font-size:8px;letter-spacing:1.6px;margin:0 0 8px}.home-search h2{font-size:30px;letter-spacing:-.5px}.home-search form{display:flex;gap:17px;align-items:center;border-bottom:1px solid #8b8a81;padding:12px 0}.home-search input{background:none;border:0;outline:none;width:100%;min-width:0;font-size:12px}.home-search input:focus-visible{outline:1px solid var(--ink);outline-offset:6px}.home-search button{padding:8px}.home-nearby{font-size:10px;display:flex;gap:16px;align-items:center;white-space:nowrap}
.discovery-section{max-width:1440px;margin:auto;padding:85px 5% 95px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:43px}.section-heading .eyebrow{font-size:9px;letter-spacing:1.9px;margin-bottom:21px}.section-heading h2{font-size:49px;line-height:1.06}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);max-width:330px;padding-bottom:4px}
.discovery-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:42px}.discovery-online{padding-top:75px}.discovery-image{overflow:hidden;background:#e9e5dc;aspect-ratio:1.28}.discovery-image img{display:block;object-fit:cover;width:100%;height:100%;transition:transform .6s ease}.discovery-local img{object-position:73% center}.discovery-online .discovery-image{aspect-ratio:1.2}.discovery-card:hover img{transform:scale(1.025)}
.discovery-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px}.discovery-caption .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:12px}.discovery-caption h3{font:32px/1.1 var(--serif);letter-spacing:-.6px}.discovery-caption p:not(.eyebrow){font-size:11px;color:var(--muted);margin-top:12px}
.material-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#eae8e0;max-width:1440px;margin:0 auto;padding:70px 8% 75px}.material-story .eyebrow{font-size:8px;letter-spacing:1.6px}.material-story h2{font-size:54px;line-height:1.05}.material-story .text-link{margin-top:32px}.story-lead{font:29px/1.15 var(--serif);letter-spacing:-.4px}.story-content>p:not(.story-lead){font-size:12px;line-height:1.9;color:#616359;margin:22px 0 28px;max-width:450px}.maker-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cbc9c0;padding:18px 0;font-size:13px}.maker-line small{display:block;font-size:10px;color:#64665c;margin-top:3px}
.home-cities{max-width:1296px;margin:90px auto;padding:0 5%;gap:10%}.home-cities h2{font-size:43px}.home-cities .eyebrow{font-size:8px;letter-spacing:1.7px}.city-links a{font-size:29px;padding:17px 0}.city-links small{font-size:9px;letter-spacing:.3px;margin-top:8px}.contribute-strip{text-align:center;padding:66px 6% 74px;border-top:1px solid var(--line)}.contribute-strip .eyebrow{justify-content:center;font-size:8px;letter-spacing:1.9px;margin-bottom:22px}.contribute-strip h2{font-size:42px;line-height:1.15}.contribute-strip .text-link{margin-top:26px}
footer{background:#e9e7de;padding-top:58px}.footer-main .brand{font-size:39px}.footer-main p{font-size:25px}.footer-links{font-size:11px;gap:16px 48px}.logout-link{text-align:left;padding:0;font-size:inherit}.footer-bottom{font-size:9px}
.page-intro{padding:57px 5% 48px}.directory-intro{display:flex;justify-content:space-between;gap:50px;align-items:end}.directory-intro h1{font-size:64px;line-height:1.02}.directory-intro .eyebrow{font-size:9px;letter-spacing:1.8px}.directory-intro>p{font-size:12px;line-height:1.9;color:var(--muted);max-width:370px;margin-bottom:5px}
.search-bar{border-radius:0;box-shadow:none;border-color:#cccac1;padding:7px;background:transparent}.search-bar input{font-size:12px}.search-bar .button{padding:16px 22px;font-size:11px}.radius select{background:transparent}.clear-city{font-size:20px}.city-field{position:relative}.suggestions{top:100%;text-align:left}.suggestions button{font-size:12px;display:block}.suggestions button:focus-visible{background:var(--cream);outline-offset:-2px}
.product-filters{gap:0;padding:22px 0 25px}.product-filters a{font-size:10px;display:block;padding:9px 14px;color:var(--muted);border-bottom:1px solid transparent;white-space:nowrap}.product-filters a.selected{color:var(--ink);border-color:var(--ink)}.product-filters a:hover{color:var(--ink)}
.results-toolbar{padding-top:32px}.results-toolbar h2{font-size:35px}.toolbar-actions label{border-radius:0;padding:8px 10px}.results-layout.with-map{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px}.cards{gap:27px}.with-map .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:21px 0 0}.listing-card:hover{background:transparent;border-color:#85867c;box-shadow:none}.card-top{margin-bottom:14px}.tag{font-size:8px!important;letter-spacing:1.2px;color:var(--muted)!important}.heart{padding:8px;margin-top:-5px}.heart.saved svg{fill:var(--coral)}.card-title h3{font:27px/1.1 var(--serif);letter-spacing:-.4px}.card-title svg{width:16px}.card-description{font-size:11px;line-height:1.85;padding:13px 0 19px}.location{font-size:10px;margin-top:14px}.card-bottom{font-size:9px;padding:12px 0;border-top:0}.card-bottom a{font-weight:400}.map{height:510px;border-radius:0}.map-column{top:25px}.map-caption{font-size:9px;background:#faf9f6;bottom:24px}.map-legend{font-size:8px;gap:12px}.community-card{padding:28px;border-radius:0;background:#eaece5}.community-card h3{font-size:31px}.community-card p{font-size:11px}.community-card a{font-size:11px;font-weight:400}.results-note{font-size:9px}.active-filters a{text-decoration:underline;text-underline-offset:3px}.detail-box,.contribution-form,.chip-list span{border-radius:0}.detail-source svg{display:inline}.detail-cards{margin-top:65px}.detail-cards h2{margin-bottom:24px}.detail-source{font-size:11px}.detail-actions{margin-top:22px}.detail-products{margin-top:20px}
.auth-page{max-width:550px}.auth-page h1{font-size:50px}.auth-form{display:grid;gap:22px;margin:32px 0}.auth-form label{display:grid;gap:8px;font-size:12px}.auth-form input{border:1px solid var(--line);background:#fffdfa;padding:13px;font-size:14px;width:100%}.auth-form .button{width:100%}.auth-switch{font-size:12px;text-decoration:underline;text-underline-offset:4px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:15px 23px;background:var(--ink);color:white;font-size:12px;z-index:2000;box-shadow:0 5px 20px #0002}.submission-history{margin-top:48px}.status-card h3{font-size:16px}.form-grid fieldset legend{font-size:12px}.form-grid label.check input{flex-shrink:0}.form-footer .button{min-width:180px}.review-card summary{font-size:13px}.review-form{margin-top:15px}.inline-note{font-size:11px;color:var(--muted)}.city-grid a{text-decoration:none}.city-search{margin:28px 0}.city-search input{border:1px solid var(--line);padding:14px;background:white;font-size:14px;max-width:100%}.breadcrumb{line-height:1.8}
@media(min-width:1600px){.cover{max-width:1544px;margin:auto}.cover-caption{max-width:1600px;margin:auto}}
@media(max-width:1100px){.site-header{padding:0 4%;gap:20px}.site-header nav{gap:17px;font-size:9px}.site-header .brand{font-size:39px}.header-actions{gap:10px}.contribute-link{font-size:10px}.home-search{gap:28px;grid-template-columns:1fr 1.3fr}.home-nearby{grid-column:2;margin-top:-24px;justify-self:end;font-size:9px}.home-search form{margin-bottom:15px}.discovery-grid{gap:28px}.discovery-caption h3{font-size:28px}.section-heading h2{font-size:45px}.results-layout.with-map{grid-template-columns:1fr 1fr;gap:30px}.with-map .cards{grid-template-columns:1fr}.directory-intro h1{font-size:55px}.directory-intro>p{max-width:290px}.material-story h2{font-size:48px}.home-cities{margin:80px 0;padding:0 5%}.home-cities h2{font-size:38px}}
@media(max-width:760px){.site-header{height:auto;min-height:124px;padding:23px 6% 0;grid-template-columns:1fr auto 1fr;gap:20px 8px}.site-header .brand{grid-row:1;grid-column:2;font-size:35px}.brand span{font-size:6px;letter-spacing:1.7px;margin-top:9px}.header-actions{grid-column:3;grid-row:1}.contribute-link{display:none}.site-header nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:center;gap:38px;font-size:9px}.site-header nav a{padding:0 0 17px}.favorite-link{padding:8px}.cover{margin:0 14px;height:520px}.cover-image{object-position:64% 50%}.cover-shade{background:linear-gradient(0deg,rgba(20,19,15,.72),rgba(20,19,15,.08) 85%)}.cover-copy{left:7%;right:6%;bottom:9%}.cover-copy .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:22px}.cover-copy h1{font-size:clamp(42px,7.8vw,58px);letter-spacing:-1px;line-height:1.04}.cover-copy>p:not(.eyebrow){font-size:11px;margin-top:21px}.cover-link{font-size:10px;gap:35px;margin-top:18px}.cover-edition{display:none}.cover-caption{padding:10px 15px 0;font-size:7px;letter-spacing:.3px;gap:8px}.cover-caption span:last-child{font-size:6px;max-width:125px;text-align:right}.home-search{display:block;padding:35px 6% 32px}.home-search h2{font-size:30px}.home-search .eyebrow{font-size:8px;margin-bottom:8px}.home-search form{margin:16px 0 18px;gap:14px;padding:8px 0}.home-search input{font-size:11px}.home-nearby{justify-content:flex-end;font-size:9px;margin:0}.discovery-section{padding:52px 6%}.section-heading{display:block;margin-bottom:29px}.section-heading .eyebrow{font-size:8px;margin-bottom:17px}.section-heading h2{font-size:40px}.section-heading>p{font-size:12px;margin-top:21px;max-width:380px;line-height:1.85}.discovery-grid{grid-template-columns:1fr;gap:34px}.discovery-online{padding:0}.discovery-image,.discovery-online .discovery-image{aspect-ratio:1.3}.discovery-caption{padding-top:18px}.discovery-caption h3{font-size:29px}.discovery-caption .eyebrow{font-size:7px;letter-spacing:1.4px;margin-bottom:9px}.discovery-caption p:not(.eyebrow){font-size:10px;margin-top:10px}.material-story{display:block;padding:44px 8%}.material-story h2{font-size:44px}.material-story .eyebrow{font-size:7px;letter-spacing:1.2px}.material-story .text-link{margin-top:24px}.story-content{margin-top:37px}.story-lead{font-size:27px}.story-content>p:not(.story-lead){font-size:12px}.maker-line{font-size:13px}.home-cities{margin:52px 0;padding:0 6%;display:block}.home-cities h2{font-size:37px}.home-cities .eyebrow{font-size:7px}.city-links{gap:0 24px;margin-top:23px}.city-links a{font-size:28px}.city-links small{font-size:8px}.contribute-strip{padding:44px 6% 50px}.contribute-strip h2{font-size:34px}.contribute-strip .eyebrow{font-size:7px}.contribute-strip .text-link{font-size:10px;margin-top:21px}.footer-main .brand{font-size:36px}.footer-main p{font-size:23px}.footer-links{font-size:10px;gap:15px 25px}.directory-intro{display:block;padding:37px 6% 32px}.directory-intro h1{font-size:46px}.directory-intro .eyebrow{font-size:8px;margin-bottom:20px}.directory-intro>p{font-size:12px;margin-top:23px;max-width:100%}.explorer{padding-left:6%;padding-right:6%}.search-bar{padding:7px;gap:6px}.search-bar .search-field{padding-left:8px}.search-bar .city-field{min-width:150px;flex:1}.search-bar input{font-size:11px}.search-bar .button{padding:14px}.search-bar .radius select{font-size:10px;width:65px}.search-bar .locate{padding:4px}.product-filters{padding:16px 0 19px;gap:4px;flex-wrap:nowrap;overflow-x:auto}.product-filters a{font-size:10px;padding:8px 11px}.results-toolbar h2{font-size:32px}.results-toolbar{padding:27px 0 23px}.results-layout.with-map{grid-template-columns:1fr;gap:24px}.map-column{position:static;grid-row:1}.map{height:310px}.cards,.with-map .cards{grid-template-columns:1fr;gap:20px}.listing-card{padding:21px 0 0}.card-title h3{font-size:30px}.card-description{font-size:12px}.location{font-size:11px}.card-bottom{font-size:10px}.tag{font-size:8px!important}.toolbar-actions{width:100%}.toolbar-actions select{font-size:11px}.detail-heading h1{font-size:43px}.auth-page h1{font-size:43px}.prose-page h1{font-size:43px}.form-page h1{font-size:43px}.form-footer .button{width:100%}.contribution-form{padding:23px 18px}.form-grid fieldset{min-width:0}.checkboxes{gap:12px}.checkboxes label{font-size:11px}.form-footer{gap:17px}.map-column .community-card{display:none}}
@media(max-width:380px){.site-header .brand{font-size:32px}.cover{height:500px}.cover-copy h1{font-size:40px}.cover-copy{left:7%;right:5%}.cover-caption{font-size:6px}.home-search input{font-size:10px}.discovery-caption h3{font-size:26px}.directory-intro h1{font-size:42px}.search-bar .city-field{min-width:125px}.search-bar .radius select{width:61px}}
@media(min-width:761px) and (max-width:950px){.directory-intro{display:block}.directory-intro>p{max-width:none;margin-top:24px}.search-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.search-field{grid-column:1/-1;border-bottom:1px solid var(--line);padding-left:12px}.city-field{grid-column:1;border-left:0;padding-left:12px}.search-bar>.button{grid-column:1/-1;width:100%;margin:0}.search-bar .locate{grid-column:2}.search-bar .radius{grid-column:3}}
@media(prefers-reduced-motion:reduce){.discovery-image img{transition:none}}
/* Rich directory cards and business profiles, October 2026. */
.listing-card{padding:0;border:1px solid var(--line);background:#fdfcf9;overflow:hidden}
.listing-card:hover{background:#fdfcf9;border-color:#a29d91}
.card-visual-link{display:block;overflow:hidden}.listing-visual{position:relative;isolation:isolate;background:#ded9cf;overflow:hidden;aspect-ratio:1.65}
.listing-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 57%;transition:transform .6s ease}
.listing-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 14px 10px;background:linear-gradient(transparent,#211e16ad);color:#fff;display:flex;justify-content:space-between;gap:10px;align-items:end;font-size:8px;line-height:1.5}
.listing-visual figcaption>span:first-child{font:17px/1.1 var(--serif)}.listing-visual figcaption>span:last-child{max-width:110px;text-align:right;font-size:8px}
.card-visual-link:hover img{transform:scale(1.035)}.card-content{padding:19px 21px 0;display:flex;flex-direction:column;flex:1;min-width:0}
.card-top{margin:0 0 11px;min-height:27px}.card-top .tag{font-size:9px!important;letter-spacing:1px}.card-top .heart{margin:-7px -8px -6px auto;padding:10px}
.card-title h3{font-size:28px;line-height:1.12}.card-title svg{margin-top:5px}.card-description{font-size:12px;line-height:1.8;padding:13px 0 16px;flex:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:0}
.location{font-size:11px;margin-top:12px;gap:6px;flex-wrap:nowrap}.location>span{min-width:0;overflow-wrap:anywhere}.location b{white-space:nowrap;font-size:11px}
.card-products{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 16px}.card-products span{padding:5px 8px;background:#eeece5;color:#575950;font-size:10px;line-height:1.4}
.card-services{display:flex;flex-wrap:wrap;gap:8px 15px;padding:0;margin:0 0 18px;list-style:none;font-size:11px;color:#444b3f}.card-services li{display:flex;gap:5px;align-items:center;line-height:1.6}
.card-practical{padding:14px 0 16px;border-top:1px solid #e5e2da;font-size:11px;color:var(--muted);display:grid;gap:7px;margin-top:auto}.card-practical p{display:flex;align-items:start;gap:8px;line-height:1.6}.card-practical svg{margin-top:2px}.card-online-note{font-size:10px;line-height:1.7;color:var(--muted);padding:14px 0 16px;margin-top:auto}
.card-bottom{border-top:1px solid var(--line);padding:16px 0;gap:12px;font-size:11px;flex-wrap:wrap}.card-quick-links{display:flex;gap:17px;flex-wrap:wrap}.card-quick-links a{color:var(--muted);gap:5px}.card-discover{margin-left:auto}.card-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.results-layout.with-map{grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:32px}.with-map .cards{gap:22px}.cards{align-items:stretch}.map-legend{font-size:10px}.community-card p,.community-card a{font-size:12px}.results-note{font-size:11px}
.detail-page{max-width:1440px;padding:32px 5% 85px}.breadcrumb{margin-bottom:30px;font-size:11px;gap:8px}
.business-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.detail-heading{border:0;padding:18px 0}.detail-heading .eyebrow{font-size:9px;letter-spacing:1.4px;line-height:1.7;flex-wrap:wrap;margin-bottom:23px}
.detail-heading h1{font-size:clamp(42px,4.5vw,65px);line-height:1.02;margin:0 0 23px;overflow-wrap:anywhere}.detail-heading .business-location{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.business-location a{text-decoration:underline;text-underline-offset:4px}
.detail-heading .business-lead{font-size:14px;line-height:1.9;max-width:540px;margin-top:24px;color:var(--muted)}.business-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:29px}.business-actions .button{font-size:11px;padding:15px 17px;gap:10px}.favorite-action.saved svg{fill:#756e5f}.share-action{padding:12px;display:grid;place-items:center;border:1px solid var(--line)}
.detail-visual{aspect-ratio:1.15}.detail-visual img{object-position:55% center}.detail-visual figcaption{padding:40px 22px 18px}.detail-visual figcaption>span:first-child{font-size:25px}.detail-visual figcaption>span:last-child{max-width:145px;font-size:9px}
.business-nav{display:flex;flex-wrap:wrap;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;margin-top:45px;font-size:11px}.business-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.business-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:8%;align-items:start;margin-top:45px}.business-story{min-width:0}.business-section{padding:0 0 42px;margin-bottom:40px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.business-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.business-section .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:17px}.business-section h2{font-size:39px;line-height:1.1;margin-bottom:23px}.business-section p{font-size:13px;line-height:1.9;color:var(--muted)}
.object-list{padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:10px;list-style:none}.object-list li{font-size:13px;padding:9px 14px;background:#efede6;border:1px solid #e5e1d7;line-height:1.5}.business-section .business-note,.business-note{font-size:11px;line-height:1.8;color:var(--muted)}.explore-universes{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:24px;font-size:11px}.explore-universes>span{flex-basis:100%;font-size:10px;color:var(--muted)}.explore-universes a{display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);padding-bottom:4px}
.service-grid{display:grid;gap:24px}.service-grid article{display:flex;align-items:start;gap:15px}.service-mark{background:#e8ebe2;border:1px solid #d8dcd1;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;color:#4d5745}.service-grid h3{font:24px/1.2 var(--serif);margin-bottom:8px}.service-grid p{max-width:490px;font-size:12px}
.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.practical-grid h3{font:20px/1.3 var(--serif);display:flex;gap:9px;align-items:center;margin-bottom:16px}.practical-grid p{font-size:12px}.practical-grid .business-note{margin-top:14px}.hours-list{font-size:12px;margin:0}.hours-list>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #e4e1d9;line-height:1.7}.hours-list dt{min-width:65px}.hours-list dd{margin:0;color:var(--muted)}.appointment-note{padding:9px 12px;background:#eeece5;margin-bottom:13px}
.detail-map-frame{margin-top:29px;border:1px solid var(--line)}.detail-map{height:280px}.detail-map-frame>a{padding:12px 17px;display:flex;justify-content:space-between;align-items:center;font-size:11px;background:#f3f1eb}.online-checks{display:grid;gap:22px;margin-bottom:24px}.online-checks h3{font:22px/1.3 var(--serif);margin-bottom:8px}.online-checks p{font-size:12px}
.business-contact{position:sticky;top:24px;background:#eeece5;border:1px solid #e0dcd1;padding:30px}.business-contact .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:20px}.business-contact h2{font-size:32px;line-height:1.08;margin-bottom:23px}.business-contact address{font-style:normal;font-size:14px;line-height:1.9}.contact-region{font-size:11px;color:var(--muted);margin-top:5px}.contact-links{margin:25px 0 21px}.contact-links a{display:flex;align-items:center;gap:13px;border-top:1px solid #d7d3c8;padding:15px 0;font-size:13px;overflow-wrap:anywhere}.contact-links a:last-child{border-bottom:1px solid #d7d3c8}.contact-links a>span{flex:1;min-width:0}.contact-links small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.business-contact .button{width:100%;font-size:12px;justify-content:space-between;padding:17px}.contact-hours{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;margin-top:18px}.contact-date{font-size:9px;color:var(--muted);margin-top:25px;padding-top:16px;border-top:1px solid #d7d3c8}.business-contact>.business-note{margin-top:18px}
.source-heading{display:flex;justify-content:space-between;gap:25px;align-items:center}.business-section .text-link{margin-top:20px;font-size:12px}.business-source{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.business-source summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;cursor:pointer;font-size:12px}.business-source summary::-webkit-details-marker{display:none}.business-source>div{padding:0 0 22px}.business-source p{font-size:11px;margin-top:9px}.business-source a{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:3px}.business-source[open] summary svg{transform:rotate(45deg)}.related-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}.related-heading .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:15px}.related-heading h2{font-size:40px;margin:0}.related-heading .text-link{white-space:nowrap}.detail-cards{margin-top:75px}
@media(max-width:1150px){.results-layout.with-map{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:28px}.with-map .cards{grid-template-columns:1fr}.with-map .listing-card{display:grid;grid-template-columns:155px minmax(0,1fr)}.with-map .card-visual-link{height:100%}.with-map .listing-visual{height:100%;aspect-ratio:auto}.with-map .listing-visual figcaption{display:block;padding:22px 10px 10px}.with-map .listing-visual figcaption>span{display:block;text-align:left}.with-map .listing-visual figcaption>span:first-child{font-size:17px;margin-bottom:7px}.card-content{padding:18px 18px 0}.business-hero{gap:5%;grid-template-columns:1.1fr 1fr}.detail-heading h1{font-size:48px}.business-columns{gap:6%;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.business-contact{padding:24px}.business-section h2{font-size:35px}.practical-grid{grid-template-columns:1fr;gap:26px}.detail-visual{aspect-ratio:.9}}
@media(max-width:950px){.with-map .listing-card{display:flex}.with-map .listing-visual{height:auto;aspect-ratio:1.65}.with-map .listing-visual figcaption{display:flex}.with-map .listing-visual figcaption>span:last-child{text-align:right}.business-hero{gap:30px}.detail-heading h1{font-size:43px}.business-actions{gap:9px}.business-actions .button{padding:12px;font-size:10px}.business-columns{grid-template-columns:minmax(0,1fr) 265px;gap:30px}.business-contact{padding:24px 20px}.business-contact h2{font-size:28px}.business-nav{gap:22px;font-size:10px}.detail-visual{aspect-ratio:.85}.card-title h3{font-size:28px}}
@media(max-width:760px){.results-layout.with-map{display:flex;flex-direction:column;gap:25px}.map-column{order:2}.map{height:300px}.with-map .cards,.cards{grid-template-columns:1fr;gap:25px}.listing-card,.with-map .listing-card{display:flex;padding:0}.listing-visual,.with-map .listing-visual{height:auto;aspect-ratio:1.7}.listing-visual figcaption>span:first-child{font-size:20px}.listing-visual figcaption>span:last-child{font-size:8px;max-width:130px}.card-content{padding:21px 22px 0}.card-title h3{font-size:32px}.card-description{font-size:13px}.location,.card-services,.card-practical{font-size:12px}.card-products span{font-size:11px}.card-bottom{font-size:12px;padding:19px 0}.card-practical{padding:16px 0}.card-online-note{font-size:11px}.results-note{font-size:11px}.detail-page{padding:25px 6% 55px}.business-hero{grid-template-columns:1fr;gap:24px}.detail-heading{padding:7px 0}.detail-heading h1{font-size:47px;margin-bottom:20px}.detail-heading .eyebrow{font-size:8px;margin-bottom:20px}.detail-heading .business-lead{font-size:14px;margin-top:21px}.business-actions{margin-top:25px;gap:10px}.business-actions .button{font-size:11px;padding:15px 14px}.detail-visual{aspect-ratio:1.5}.detail-visual figcaption{padding:25px 17px 14px}.detail-visual figcaption>span:first-child{font-size:23px}.business-nav{margin-top:30px;flex-wrap:nowrap;overflow-x:auto;gap:26px;padding:18px 0;font-size:11px}.business-nav a{white-space:nowrap}.business-columns{grid-template-columns:1fr;gap:35px;margin-top:30px}.business-contact{grid-row:1;position:static;padding:25px}.business-contact h2{font-size:31px}.contact-links{margin:21px 0}.contact-links a{font-size:14px}.contact-date{margin-top:20px}.business-section{padding-bottom:32px;margin-bottom:32px}.business-section .eyebrow{font-size:8px}.business-section h2{font-size:35px;margin-bottom:20px}.business-section p{font-size:13px}.object-list{gap:8px;margin:21px 0}.object-list li{font-size:12px;padding:8px 12px}.service-grid p,.practical-grid p,.online-checks p{font-size:13px}.business-source p,.business-section .business-note{font-size:11px}.practical-grid{gap:24px}.hours-list{font-size:12px}.detail-map{height:260px}.detail-cards{margin-top:45px}.related-heading{display:block}.related-heading h2{font-size:35px}.related-heading .text-link{margin-top:18px}.related-heading .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.listing-visual img{transition:none}}
.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.toolbar-actions select{font-size:11px}.form-grid small{font-size:11px;font-weight:400;color:var(--muted)}
@media(max-width:760px){.toolbar-actions{justify-content:space-between}.toolbar-actions label{flex:1;min-width:0}.toolbar-actions select{max-width:100%;width:100%}.toolbar-actions .view-toggle{flex-basis:100%;justify-content:flex-end}.results-layout:has(.map-column:not([hidden])) .view-toggle{display:flex}}
.card-description{flex:0 0 auto;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;overflow:visible}
@media(max-width:760px){.map-column{order:-1}.results-layout:has(.map-column:not([hidden])) .view-toggle{display:flex}}
.visual-pending{display:flex;flex-direction:column;justify-content:center;padding:25px;color:#615e53;background:#e8e4da;gap:15px}.visual-pending .eyebrow{font-size:8px;margin:0;letter-spacing:1.4px}.visual-pending-title{font:29px/1.2 var(--serif);max-width:380px}.visual-pending small{font-size:9px}.detail-visual.visual-pending{padding:38px}.detail-visual .visual-pending-title{font-size:43px}
.detail-visual{aspect-ratio:1.5}.detail-visual img{object-position:center}.listing-visual img{object-position:center}
@media(max-width:1150px) and (min-width:951px){.with-map .listing-card{display:flex}.with-map .listing-visual{height:auto;aspect-ratio:1.65}.with-map .listing-visual figcaption{display:flex}.with-map .listing-visual figcaption>span:last-child{text-align:right}}
@media(max-width:760px){.map-column{width:100%}}
.search-feedback{margin:15px 0 8px;border:1px solid #d8d4c9;background:#f0eee7;padding:17px 20px}.search-feedback .search-message{background:none;border:0;padding:0;margin:0;font-size:12px;line-height:1.7}.location-help{padding-top:8px;max-width:850px;font-size:12px;line-height:1.8;color:var(--muted)}.location-help-actions{display:flex;gap:12px 24px;flex-wrap:wrap;margin:15px 0}.location-help-actions button{display:inline-flex;align-items:center;gap:10px;font-size:12px;padding:9px 0;border-bottom:1px solid #959382;color:var(--ink)}.location-help summary{font-size:11px;cursor:pointer}.location-help details p{margin-top:10px;font-size:11px}.locate[aria-busy=true] svg{animation:locating 1.5s linear infinite}.locate[aria-busy=true]{opacity:.7}
@keyframes locating{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.locate[aria-busy=true] svg{animation:none}}
@media(max-width:760px){.search-feedback{padding:15px}.location-help-actions{gap:10px 20px}}
