/* Premium business pages: identity, service decisions, and the work itself. */
.premium-page{--header-height:64px;--section-nav-height:0px;background:#f8f3ea}
.premium-page .header{height:var(--header-height)}
.premium-page .brand img{height:50px}
.pp-backbar{min-height:47px;padding:8px 22px;gap:14px;background:transparent}
.pp-backbar>a{font-size:13px;min-height:32px}.pp-backbar>span{font-size:12px;letter-spacing:.055em}
.pp-hero{display:flex;flex-direction:column;margin:0;padding:0;background:#28211e;gap:0}
.pp-cover{height:260px;min-height:0;order:0;border-radius:0;position:relative;overflow:hidden;background:#28211e}
.pp-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--profile-crop,center)}
.pp-cover:after{inset:65% 0 0;background:linear-gradient(transparent,#1c1713aa)}
.pp-cover-open{position:absolute;inset:0;z-index:2;display:flex;justify-content:flex-end;align-items:flex-end;padding:18px;color:#fffaf3}
.pp-cover-open>span{display:flex;align-items:center;gap:16px;background:#241d19f0;border:1px solid #d7bea0;padding:10px 14px;border-radius:30px;font-size:13px;line-height:1.4;min-height:44px}
.pp-cover-open b{font-size:22px;line-height:1;font-weight:400}
.pp-cover-index{display:none}
.pp-identity{order:1;margin:0;padding:26px 24px 28px;border:0;border-radius:0;background:#28211e;color:#fff5e8;box-shadow:none;display:block}
.pp-brandline{display:flex;align-items:center;gap:17px;min-width:0}
.pp-brandline>div:last-child{min-width:0}
.pp-business-logo{width:66px;height:66px;flex-shrink:0;background:transparent;border-radius:7px;margin:0}
.pp-business-logo.is-wordmark{width:125px;height:57px}
.pp-business-logo>img{object-fit:contain;width:100%;height:100%;transform:none!important}
.pp-location{font-size:13px;color:#ecd6bd;gap:9px;flex-wrap:wrap}
.pp-location>span{border-color:#93765b;padding-left:9px;margin:0}
.pp-hero-specialty{font-size:12px;line-height:1.5;color:#ecd6bd;margin-top:6px!important;max-width:320px}
.pp-identity h1{font-size:clamp(43px,12vw,60px);line-height:1.02;letter-spacing:-.04em;margin:23px 0 17px;overflow-wrap:normal}
.pp-identity h1 em{color:#edc69b}
.pp-person{font-size:16px;line-height:1.6;color:#fff5e8;margin-top:0!important}
.pp-person strong{color:#fff5e8;font-weight:500}
.pp-dek{color:#e3d4c3;font-size:16px;line-height:1.7;max-width:380px;margin-top:11px}
.pp-status{font-size:14px;line-height:1.6;background:#f1e5d3;color:#493527;border-left:3px solid #d5a574;margin-top:18px!important}
.pp-social-mini{display:flex;align-items:center;gap:9px;margin-top:22px;flex-wrap:wrap}
.pp-social-mini>span{font-size:13px;line-height:1.5;color:#e3d4c3;margin-right:5px}
.pp-social-mini>a,.pp-social-mini>button{display:grid;place-items:center;width:44px;height:44px;background:#f0d4b2;color:#38281f;border:1px solid #f0d4b2;border-radius:12px;flex-shrink:0;cursor:pointer}
.pp-social-mini svg{width:23px;height:23px}
.pp-social-mini :is(a,button):focus-visible,.pp-cover-open:focus-visible{outline:3px solid #f0c597;outline-offset:4px}
.pp-desktop-actions{display:none}
.pp-section-nav{position:relative;top:auto;margin:0;padding:0 22px;background:#f8f3ea;backdrop-filter:none}
.pp-section-nav>div{justify-content:space-between;gap:12px;max-width:1250px}
.pp-section-nav a{font-size:14px;min-height:53px;padding:5px 0;color:#66503e;white-space:nowrap}
.premium-page section[id],.premium-page aside[id],.premium-page #portfolio,.premium-page #overview{scroll-margin-top:calc(var(--header-height) + var(--section-nav-height) + 16px)}
.pp-layout{display:block;max-width:1320px;padding:0 22px;margin:auto}
.pp-about{padding:32px 0 28px;border-bottom:1px solid #d7c4ad;display:grid;gap:17px}
.pp-about .eyebrow,.pp-section-heading .eyebrow{font-size:12px;color:#6a503b;letter-spacing:.1em}
.pp-about h2{font-size:32px;line-height:1.12;letter-spacing:-.03em;margin:10px 0 0}
.pp-about>p{font-size:16px!important;line-height:1.8!important;color:#594839!important;margin:0!important;max-width:660px}
.pp-featured-services{padding:30px 0 32px;border-bottom:1px solid #d7c4ad}
.pp-section-heading{align-items:end;gap:16px;margin-bottom:22px}
.pp-section-heading h2{font-size:35px;line-height:1.12;letter-spacing:-.035em;max-width:540px;margin-top:10px}
.pp-section-heading h2 em{color:#80512f}
.pp-gallery-total{font-size:12px;line-height:1.6;color:#6a503b;letter-spacing:.1em;white-space:nowrap;padding-bottom:3px}
.pp-menu-link{font-size:14px;min-height:44px;display:flex;align-items:center;white-space:nowrap;text-decoration:underline;text-underline-offset:5px;color:#704729}
.pp-featured-grid{display:grid;gap:0;border-top:1px solid #c4aa8d}
.pp-featured-service{display:grid;grid-template-columns:26px minmax(0,1fr);gap:5px 14px;padding:18px 0;border-bottom:1px solid #c4aa8d;min-width:0}
.pp-featured-number{grid-column:1;grid-row:1/4;font:italic 19px/1.4 var(--serif);color:#79563b;padding-top:2px}
.pp-featured-service h3{font:500 17px/1.45 var(--sans);letter-spacing:-.01em;margin:0;color:#35251f}
.pp-featured-service>p{font-size:14px;line-height:1.6;color:#654b36;display:flex;gap:10px;flex-wrap:wrap;margin:0}
.pp-featured-service>p>span{border-left:1px solid #a88a6c;padding-left:10px}
.pp-featured-action{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:#6a503b;line-height:1.5;margin-top:2px}
.pp-featured-action>span{font-size:20px;line-height:1}
.pp-portfolio{padding:32px 0;border-bottom:1px solid #d7c4ad}
.pp-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
.pp-work-grid>figure{margin:0;min-width:0;display:flex;flex-direction:column;gap:9px}
.pp-work-grid>figure:first-child{grid-column:1/-1}
.pp-work-grid .pp-gallery-image{border:0;border-radius:10px;height:190px;background:#ede2d2}
.pp-work-grid>figure:first-child .pp-gallery-image{height:330px}
.pp-work-grid img{width:100%;height:100%;object-fit:contain}
.pp-work-grid figcaption{font-size:13px;line-height:1.5;color:#654b36}
.pp-work-count-2>figure:first-child{grid-column:auto}
.pp-work-count-2>figure:first-child .pp-gallery-image{height:260px}
.pp-work-count-2 .pp-gallery-image{height:260px}
.pp-work-count-1{grid-template-columns:1fr}.pp-work-count-1 .pp-gallery-image{height:360px}
.pp-expand{width:36px;height:36px;right:9px;bottom:9px;background:#fffaf3;color:#684426;backdrop-filter:none;border:1px solid #b3926d}
.pp-services{padding:32px 0 26px}
.pp-services .pp-section-heading{margin-bottom:16px}
.pp-menu-intro{font-size:16px;line-height:1.7;color:#594839;margin-bottom:20px}
.pp-service-tools{gap:14px;margin-bottom:13px}
.pp-service-tools input{font-size:16px;min-height:50px;border-radius:9px;border-color:#8a725b}
.pp-service-tools button{font-size:13px;color:#68462c}
.pp-service-count{font-size:12px;color:#6a503b;margin-bottom:17px}
.pp-service-group{border:0;border-bottom:1px solid #c4aa8d;border-radius:0;margin:0;background:transparent;overflow:visible}
.pp-service-group:first-child{border-top:1px solid #c4aa8d}
.pp-service-group summary{padding:18px 0;min-height:63px;gap:15px;color:#493527}
.pp-service-group summary>span:first-child{font-size:16px;line-height:1.5}
.pp-group-count{font-size:12px;color:#6a503b}
.pp-service-group[open] summary{background:transparent;border-bottom:1px solid #d7c4ad}
.pp-service-group ul{padding:0 12px;background:#fffaf3;border-radius:0 0 8px 8px}
.pp-service-group li{padding:18px 0;gap:18px;border-color:#dfcfbc;scroll-margin-top:calc(var(--header-height) + var(--section-nav-height) + 16px)}
.pp-service-group h3{font-size:15px;line-height:1.6;color:#443529;scroll-margin-top:calc(var(--header-height) + var(--section-nav-height) + 16px)}
.pp-price{font-size:14px;max-width:100px;color:#754a29}
.pp-duration{font-size:13px;color:#6a503b;margin-top:5px}
.pp-service-group li.is-featured-service{background:#f2e1c8;box-shadow:12px 0 #f2e1c8,-12px 0 #f2e1c8}
.pp-service-group h3:focus-visible{outline:2px solid #83582d;outline-offset:5px}
.pp-menu-note{font-size:13px;color:#6a503b;line-height:1.7;margin-top:18px}
.pp-booking-aside{display:none}
.pp-social{margin:8px 0 30px;padding:25px 20px;border-radius:12px}
.pp-social-heading h2{font-size:31px;line-height:1.12;margin:10px 0 11px}
.pp-social-heading>p:last-child{font-size:14px;line-height:1.7}
.pp-social-accounts{margin-top:20px;gap:9px}
.pp-social-account{padding:12px;min-height:76px;gap:13px;border-radius:9px}
.pp-social-icon{width:46px;height:46px;border-radius:13px}
.pp-social-icon svg{width:25px;height:25px}
.pp-social-account-copy strong{font-size:15px}.pp-social-account-copy>span{font-size:13px}
.pp-social-posts{margin-top:20px;padding-top:20px}
.pp-social-post{padding:20px;border-radius:9px}
.pp-social-post h3{font-size:29px}
.pp-social-demo-note{font-size:13px}
.pp-visit{display:grid;gap:22px;padding:30px 0 35px;border-top:1px solid #c4aa8d;margin:0}
.pp-visit .eyebrow{font-size:12px;letter-spacing:.1em;color:#6a503b}
.pp-visit h2{font-size:34px;line-height:1.1;letter-spacing:-.035em;margin:10px 0 0}
.pp-visit-location{font-size:15px;line-height:1.6;color:#493527;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.pp-visit-location>svg{width:18px;height:21px;flex-shrink:0}
.pp-visit-location>span{font-size:13px;border:1px solid #b89974;border-radius:20px;padding:3px 10px;background:#ede0cc}
.pp-visit address{font-size:15px;line-height:1.8;color:#594839;margin-top:12px;max-width:450px}
.pp-visit-links{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;margin-top:18px}
.pp-directions{display:inline-flex;gap:22px;min-height:47px;margin:0;border-color:#ac8c67;font-size:14px;background:#fffaf3}
.pp-location-link{font-size:14px;line-height:1.5;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;color:#704729}
.pp-visit-contact{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:10px}
.pp-visit-contact>a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;line-height:1.6;color:#704729}
.pp-visit-contact svg{width:18px;height:18px;flex-shrink:0}
.pp-arrival{font-size:14px;line-height:1.7;color:#594839;margin-top:17px}
.pp-hours{margin-top:18px}.pp-hours summary{font-size:14px}.pp-hours p,.pp-hours dl{font-size:14px;color:#594839}
.pp-more{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;padding:26px 22px 31px;margin:0 auto;border-top:1px solid #d7c4ad;max-width:1272px}
.pp-more>p{font-size:15px;line-height:1.7;color:#594839}
.pp-more .text-link{font-size:15px;min-height:44px;margin:0;color:#704729}
.pp-booking-bar{padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));gap:10px}
.pp-booking-bar .pp-book,.pp-booking-bar .pp-call{font-size:14px;min-height:50px}
.pp-booking-bar .pp-book{padding-inline:18px}.pp-booking-bar .pp-call{min-width:73px}
@media(min-width:700px){
 .pp-backbar{padding-inline:32px}.pp-layout{padding-inline:32px}
 .pp-cover{height:390px}.pp-identity{padding:35px 36px}.pp-identity h1{font-size:64px}
 .pp-section-nav{padding-inline:32px}.pp-section-nav>div{justify-content:flex-start;gap:40px}
 .pp-about{grid-template-columns:.75fr 1.25fr;gap:30px;padding:40px 0}
 .pp-about h2{font-size:35px}.pp-section-heading h2{font-size:40px}
 .pp-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0}
 .pp-featured-grid:has(>a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
 .pp-featured-service{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border:1px solid #c4aa8d;padding:20px;border-radius:10px;background:#f0e4d3}
 .pp-featured-number{font-size:23px}.pp-featured-service h3{font-size:16px;flex:1}.pp-featured-service>p{font-size:13px}.pp-featured-action{width:100%;margin-top:7px;padding-top:13px;border-top:1px solid #c4aa8d}
 .pp-featured-services,.pp-portfolio,.pp-services{padding-block:38px}
 .pp-work-grid{grid-template-columns:1.15fr 1fr;gap:18px}
 .pp-work-count-3>figure:first-child{grid-column:1;grid-row:1/3}.pp-work-count-3>figure:first-child .pp-gallery-image{height:100%;min-height:435px}
 .pp-work-count-3>figure:not(:first-child) .pp-gallery-image{height:195px}
 .pp-work-count-2 .pp-gallery-image,.pp-work-count-2>figure:first-child .pp-gallery-image{height:360px}
 .pp-work-count-1 .pp-gallery-image,.pp-work-count-1>figure:first-child .pp-gallery-image{height:400px}
 .pp-social{padding:29px}.pp-social-links-only .pp-social-accounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .pp-social-links-only .pp-social-account{display:flex;flex-direction:column;align-items:flex-start;padding:16px;position:relative}
 .pp-social-links-only .pp-social-open{position:absolute;right:14px;top:19px}
 .pp-social-links-only .pp-social-account-copy{width:100%}
 .pp-social-accounts:has(>a:only-child){grid-template-columns:1fr}
 .pp-social-links-only .pp-social-accounts:has(>a:only-child) .pp-social-account{flex-direction:row;align-items:center}
 .pp-social-links-only .pp-social-accounts:has(>a:only-child) .pp-social-open{position:static}
 .pp-visit{grid-template-columns:.75fr 1.25fr;gap:30px;padding-block:36px}
 .pp-more{flex-direction:row;justify-content:space-between;align-items:center;padding-inline:32px}
}
@media(min-width:960px){
 .premium-page{--header-height:96px;--section-nav-height:59px;padding-bottom:0}
 .premium-page .brand img{height:72px}
 .pp-backbar{max-width:1320px;margin:auto;padding-inline:24px;min-height:55px}
 .pp-hero{display:grid;grid-template-columns:1fr 1.1fr;max-width:1320px;margin:0 auto 24px;padding:0 24px;background:transparent;align-items:stretch}
 .pp-identity{order:0;min-height:620px;padding:40px 38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-radius:16px 0 0 16px}
 .pp-brandline{gap:18px}.pp-business-logo{height:80px;width:80px}.pp-business-logo.is-wordmark{width:150px;height:68px}
 .pp-hero-specialty{font-size:13px}.pp-location{font-size:14px}
 .pp-identity h1{font-size:clamp(53px,5.1vw,76px);margin:28px 0 19px;line-height:1.03;letter-spacing:-.04em}
 .pp-person{font-size:17px}.pp-dek{font-size:17px;line-height:1.7;margin-top:12px}
 .pp-cover{order:1;height:auto;min-height:620px;border-radius:0 16px 16px 0}
 .pp-cover-open{padding:22px}
 .pp-cover-index{display:block;position:absolute;top:23px;left:23px;z-index:1;font-size:12px;letter-spacing:.12em;line-height:1.5;color:white;background:#241d19e8;padding:9px 12px;border-radius:30px}
 .pp-desktop-actions{display:flex;gap:10px;margin-top:27px;width:100%}.pp-desktop-actions .pp-book{flex:1;font-size:15px;padding-inline:20px}.pp-desktop-actions .pp-call{font-size:14px;min-width:78px}
 .pp-social-mini{margin-top:23px}
 .pp-section-nav{position:sticky;top:var(--header-height);padding-inline:32px;background:#f8f3eaf7;backdrop-filter:blur(12px)}
 .pp-section-nav>div{gap:45px}.pp-section-nav a{font-size:15px;min-height:59px}
 .pp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;padding-inline:24px}
 .pp-about{grid-template-columns:1fr;gap:17px;padding-top:43px}.pp-about h2{font-size:39px}.pp-about>p{font-size:16px!important}
 .pp-booking-aside{display:block;padding-top:43px;min-width:0}
 .pp-booking-card{position:sticky;top:calc(var(--header-height) + var(--section-nav-height) + 24px);padding:27px 24px;border:1px solid #bda17e;border-radius:12px;background:#eadbc5}
 .pp-booking-card .eyebrow{font-size:12px;letter-spacing:.1em;color:#624b36}
 .pp-booking-card h2{font-size:35px;line-height:1.12;letter-spacing:-.035em;margin:17px 0 23px}.pp-booking-card h2 em{color:#80512f}
 .pp-booking-card .pp-book{font-size:14px;min-height:54px;width:100%;padding-inline:16px}
 .pp-booking-direct{font-size:12px;line-height:1.7;color:#594839;margin-top:12px}
 .pp-booking-facts{border-block:1px solid #bba17f;margin-top:23px;padding:15px 0;display:grid;gap:13px}
 .pp-booking-facts>p{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.6;margin:0;color:#493527}
 .pp-booking-facts svg{width:19px;height:21px;flex-shrink:0}.pp-booking-facts strong{display:block;font-size:12px;font-weight:400;color:#594839}
 .pp-booking-links{display:grid;gap:0;margin-top:13px}.pp-booking-links>a{font-size:13px;line-height:1.6;min-height:42px;display:flex;align-items:center;justify-content:space-between;color:#624327;padding-block:5px}
 .pp-visit{grid-template-columns:1fr;gap:20px}
 .pp-more{margin-inline:auto;padding-inline:24px}.pp-booking-bar{display:none}
}
@media(min-width:1200px){.pp-layout{gap:52px;grid-template-columns:minmax(0,1fr) 310px}.pp-identity{padding:44px}.pp-about{grid-template-columns:.8fr 1.2fr;gap:30px}.pp-about h2{font-size:36px}.pp-visit{grid-template-columns:.75fr 1.25fr}}
@media(max-width:360px){
 .pp-backbar{padding-inline:18px}.pp-backbar>span{font-size:12px}.pp-backbar>a{font-size:12px}
 .pp-identity{padding:23px 20px}.pp-identity h1{font-size:43px}.pp-brandline{gap:12px}.pp-business-logo{width:56px;height:56px}.pp-business-logo.is-wordmark{width:100px;height:50px}
 .pp-location{font-size:12px}.pp-hero-specialty{font-size:12px}.pp-cover{height:235px}
 .pp-section-nav{padding-inline:18px}.pp-section-nav a{font-size:13px}.pp-section-nav>div{gap:10px}
 .pp-layout{padding-inline:18px}.pp-section-heading h2{font-size:31px}.pp-gallery-total{font-size:12px}.pp-about h2{font-size:29px}
 .pp-social{padding:22px 17px}.pp-social-account{gap:10px;padding:12px}.pp-social-icon{width:44px;height:44px}
 .pp-work-grid .pp-gallery-image{height:155px}.pp-work-grid>figure:first-child .pp-gallery-image{height:285px}.pp-work-count-2 .pp-gallery-image,.pp-work-count-2>figure:first-child .pp-gallery-image{height:220px}
 .pp-service-tools{gap:10px}.pp-service-tools button{font-size:12px}.pp-price{max-width:83px}.pp-booking-bar .pp-call{min-width:66px}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
 .pp-featured-service{transition:background .25s ease,border-color .25s ease}
 .pp-featured-service:hover{background:#e8d5b9;border-color:#a17b53}
 .pp-social-mini>a,.pp-social-mini>button{transition:transform .25s ease,background .25s ease}
 .pp-social-mini>a:hover,.pp-social-mini>button:hover{transform:translateY(-3px);background:#fff1da}
}

/* V57.1 surgical correction — tier marker and shared-suite note */
.pp-tier{margin:6px 0 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.pp-tier>span{font-weight:600}
.pp-tier>em{font-style:normal;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0;font-size:12px}
.pp-tier-pro>span{color:var(--pd-highlight,#edc69b)}
.pp-tier-pro>em{color:var(--muted)}
.pp-tier-included>span{color:var(--pd-light,#fff5e8)}
.pp-tier-included>em{color:var(--muted)}
.pp-suite-shared{margin:6px 0 0;font-size:13px;color:var(--ink);font-style:italic;opacity:.8}
.pp-services-honest .pp-menu-intro{font-size:15px;color:var(--ink)}
.pp-services-honest .pp-menu-action{margin:14px 0 0}


/* Phones: the cover gives way to the screen height, so the business name sits above the fixed
   Call/Book bar on first load on every phone; tall phones keep the full cover. */
@media(max-width:699px){
 body.premium-page .pp-hero .pp-cover{height:clamp(150px,calc(100svh - 455px),260px)}
 body.premium-page[data-profile-layout="portfolio"] .pp-hero .pp-cover{height:clamp(150px,calc(100svh - 455px),min(87vw,380px))}
 body.premium-page:has(.pl-profile-switch) .pp-hero .pp-cover{height:clamp(140px,calc(100svh - 515px),260px)}
}
/* A short cover has no room for the corner photo, so it is left out rather than cut off. */
@media(max-width:699px) and (max-height:760px){body.premium-page[data-profile-layout] .pp-hero .pp-cover-companion{display:none}}
@media(max-width:699px) and (max-height:700px){
 body.premium-page .pl-profile-switch{padding-top:0;padding-bottom:10px}
 body.premium-page .pl-profile-switch a{min-height:40px}
}
