/* Shared studio contact layouts, intentionally updated on desktop too. */
.studio-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.studio-visit .prose{max-width:none}.studio-info-grid h3,.contact-subtitle{font-size:24px;font-weight:400;margin-bottom:20px}.studio-info-grid address{font-style:normal}.studio-buttons{display:flex;gap:14px;margin-top:24px}.studio-visit .studio-buttons .btn{text-decoration:none;background:var(--brown);color:var(--cream);padding:16px 28px}.studio-note{margin-top:32px!important}.studio-hours{margin-top:24px;max-width:480px}.studio-hours>div{display:flex;justify-content:space-between;gap:24px;padding:10px 0}.studio-hours dd{margin:0;white-space:nowrap}.contact-inline{display:flex;flex-wrap:wrap;gap:14px 28px;font-size:clamp(15px,1.15vw,22px)}.contact-layout .contact-subtitle{margin-top:28px;margin-bottom:12px}.contact-layout address{font-size:clamp(15px,1.15vw,22px)}.contact-layout .contact-card{display:flex;flex-direction:column;justify-content:center}
@media(max-width:767px){
 body.menu-open .site-header .header-book{visibility:hidden;pointer-events:none}
 .mobile-menu .mm-sub{display:none}
 .footer-bottom{display:flex!important;flex-direction:column;gap:20px;align-items:stretch}
 .footer-bottom .footer-legal{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}
 .footer-contact-col{grid-column:1/-1}.footer-contact-col a[href^="mailto:"]{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:14px}
 .footer-cols .footer-contact-col .footer-cta .btn,.footer-cols .footer-hours-col .footer-cta .btn{width:100%}
 .about-page .about{background:var(--cream);color:var(--brown)}
 .about-page .about-text .btn{background:var(--brown);color:var(--cream);border:1px solid var(--brown);text-decoration:none;padding:16px 24px}
 .about-page .about-logo{display:none}
 .price-table .t-head,.pricing .price-table .t-head{background:var(--tan);color:var(--brown)}
 .price-table .t-head img{filter:none}
 .mobile-heading-line{display:block}
 #t-title .mobile-heading-line{font-size:clamp(23px,6vw,32px)}
 .options>.eyebrow,.options>#options-title{text-align:center}
 .opt-chips{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:stretch;justify-content:center}
 .opt-chips .opt-chip{flex:1 1 0;min-width:0;min-height:52px;height:auto;padding:12px 8px;border:1px solid var(--brown);font-size:13px;line-height:1.25;text-align:center;justify-content:center;text-decoration:none;background:var(--cream);color:var(--brown)}
 .opt-chips .opt-chip img{width:18px;flex:none}
 .service-page:not(.article-page) .svc-hero{min-height:calc(100svh - 64px);grid-template-rows:auto 1fr}
 .service-page:not(.article-page) .svc-hero .photo{height:clamp(280px,38svh,420px);min-height:0;aspect-ratio:auto}
 .service-page:not(.article-page) .svc-hero .photo img{object-position:50% 30%}
 .services-page .svc-hero .photo{aspect-ratio:auto;height:auto}
 .services-page .svc-hero .photo img{position:static;width:100%;height:auto;object-fit:contain;transform:none}
 .studio-info-grid{grid-template-columns:1fr;gap:32px}.studio-hours{width:100%;font-size:16px}
 .contact-inline{flex-direction:column;gap:12px;font-size:16px}.contact-inline a{overflow-wrap:anywhere}.contact-layout address{font-size:16px;line-height:1.5}
 .contact-layout .contact-card{padding-block:32px}.studio-buttons{flex-wrap:wrap}.studio-info-grid address{line-height:1.5}
}
/* About: the same working-hours treatment as Contact. */
.studio-visit .studio-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px)}
.studio-visit .studio-buttons .btn{width:100%;min-height:52px;justify-content:center;text-align:center}
.studio-visit .studio-hours{margin-top:24px;max-width:480px}
.studio-visit .studio-hours>div{border-top:1px solid var(--tan);padding:14px 0}
.studio-visit .studio-info-grid>.h2{margin:0}
.studio-visit .studio-info-grid{align-items:start}
.studio-visit .studio-info-grid>div>.h2{margin:0 0 24px;line-height:1.1}
.studio-visit .studio-info-grid>div>.studio-hours{margin-top:0}
.aio-mobile-title{display:none}
@media(max-width:767px){
 .requested .req-stage{height:260px;margin-top:16px}
 .requested .req-tags li{white-space:nowrap;font-size:11px}
 .requested .req-tags li:nth-child(1){left:7%!important;top:15%!important}
 .requested .req-tags li:nth-child(2){left:auto!important;right:5%;top:24%!important}
 .requested .req-tags li:nth-child(3){left:20%!important;top:43%!important}
 .requested .req-tags li:nth-child(4){left:auto!important;right:8%;top:62%!important}
 .requested .req-tags li:nth-child(5){left:4%!important;top:77%!important}
 .requested .req-tags li:nth-child(6){left:auto!important;right:0;top:88%!important}
 .all-in-one h2 .aio-desktop-title{display:none}
 .all-in-one h2 .aio-mobile-title{display:block;font-size:clamp(18px,5.3vw,32px);line-height:1.25;text-align:center}
 .aio-mobile-title>span{display:block;white-space:nowrap}
 .all-in-one h2{margin-block:14px 20px}
}
/* One mobile viewport for the complete treatment introduction. */
@media(max-width:767px){
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero{height:calc(100svh - 50px);min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:0}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .photo{grid-row:1;order:0;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .text{grid-row:2;padding:18px 16px 20px;min-height:0}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero h1{font-size:clamp(23px,6.3vw,29px);line-height:1.08;margin:0}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .kicker{font-size:10px;line-height:1.3;margin-bottom:10px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .facts{margin-top:12px;gap:6px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .facts li{font-size:12px;padding:4px 9px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .intro{font-size:15px;line-height:1.3;margin-top:12px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .eyebrow{font-size:10px;margin-top:14px;margin-bottom:10px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .hero-actions{margin-top:16px;gap:10px 16px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .hero-actions .btn{font-size:12px;min-height:40px;padding:10px 14px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero .hero-actions .jump{font-size:12px;margin:0}
}

@media(max-width:767px){.contact-page .svc-hero .directory-lead{font-size:15px;line-height:1.3;margin-top:12px;margin-bottom:0}}

/* Stable mobile viewport: browser toolbar changes must not resize the hero. */
@media(max-width:767px){
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero{height:calc(100svh - 50px);grid-template-rows:minmax(0,1fr) auto 0px}
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero::after{content:"";display:block;grid-row:3;background:inherit}
 .services-page .svc-hero .directory-lead{font-size:15px;line-height:1.3;margin:16px 0 0}
 .services-page .svc-hero .photo img{object-position:50% 65%}
}

/* Extra mobile background below the CTA, without resizing image or content. */
@media(max-width:767px){
 :is(.service-page:not(.article-page),.private-studio-session-page,.contact-page,.consultation-page,.services-page) .svc-hero{height:calc(100svh - 50px + 90px);grid-template-rows:minmax(0,1fr) auto 90px}
}

@media(max-width:767px){
 .footer-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px}
 .footer-contact-col{grid-column:auto}
 .footer-cols li,.footer-contact-col a[href^="mailto:"]{font-size:12px}
 .footer-contact-col a[href^="mailto:"]{font-size:clamp(10px,2.8vw,12px)}
 .gift-page a[href^="tel:"]{white-space:nowrap;overflow-wrap:normal;word-break:normal}
}
.mobile-menu .mm-services{border:0;padding:0;margin:0}
.mobile-menu .mm-services>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:12px 0;font-size:18px;border-bottom:1px solid rgba(242,241,233,.12)}
.mobile-menu .mm-services>summary::-webkit-details-marker{display:none}
.mobile-menu .mm-services>summary::after{display:none}
.mobile-menu .mm-services>summary img{width:18px;height:18px}
.mobile-menu .mm-services[open]>summary img{transform:rotate(180deg)}
.mobile-menu .mm-services[open] .mm-sub{display:block}
.mobile-menu .mm-services .mm-sub a{padding-left:14px;font-size:15px}
/* Compact blog introduction and a footer-colored browser canvas. */
@media(max-width:767px){
 .journal-page .blog-hero{height:clamp(330px,46svh,390px);min-height:0;align-items:flex-end}
 .journal-page .blog-hero-photo{object-position:50% 100%}
 .journal-page .blog-hero::after{background:linear-gradient(to bottom,rgba(34,20,12,.02) 10%,rgba(34,20,12,.3) 40%,rgba(34,20,12,.86) 100%)}
 .journal-page .blog-hero-copy{padding:16px var(--gutter) 20px}
 .journal-page .blog-hero h1{font-size:26px;margin-top:10px;line-height:1.08}
 .journal-page .blog-hero h1 .serif{display:block}
 .journal-page .blog-hero .lead{font-size:13px;line-height:1.35;margin-top:12px}
 .journal-page .blog-hero .eyebrow{font-size:10px}
 .journal-page .blog-articles{padding-top:20px}
 .journal-page #list-title{font-size:26px;margin:0}
 .journal-page .blog-filters{margin:16px 0 12px;gap:6px}
 .journal-page .blog-filters button{font-size:12px;padding:8px 10px}
 .journal-page .blog-count{font-size:12px;margin-bottom:16px}
 html{background:#b8b0a2 url('/assets/img/footer-bg.webp') center bottom / cover fixed no-repeat}
 .site-footer{margin-bottom:0}
}

@media(max-width:767px){
 .options .opt-chips{margin-left:10px;margin-right:10px;gap:10px}
 .options .opt-chips .opt-chip{padding:10px 5px;font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.35;height:auto;min-height:56px;gap:0}
 .options .opt-chips .opt-chip img{display:none}
}

@media(max-width:767px){
 .opt-chips .opt-chip{white-space:normal;overflow-wrap:anywhere;line-height:1.35;height:auto}
 .btn,.header-book,.chip,.blog-filters button{white-space:normal;height:auto;overflow-wrap:anywhere;line-height:1.35}
 .options .opt-chips .opt-chip{padding:12px 8px}
}
@media(max-width:767px){
 .options .opt-chips:has(> :nth-child(3)) .opt-chip{font-size:11px;padding-inline:4px;overflow-wrap:normal}
}
/* Finish the mobile document on the footer photo, including Safari's bottom inset. */
@media(max-width:767px){
 html,body{overscroll-behavior-y:none;background-color:#b8b0a2;background-image:url('/assets/img/footer-bg.webp');background-position:center bottom;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
 body>main{background:var(--sand)}
 .site-footer{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));margin-bottom:0;background-clip:border-box}
}
