/* @source 00-company-profile.css */
.halo-profile-v2{
    --hp-bg:#100c08;
    --hp-surface:#18100c;
    --hp-surface-strong:#20160f;
    --hp-surface-soft:rgba(255,247,235,.045);
    --hp-line:rgba(230,178,98,.24);
    --hp-line-strong:rgba(240,191,113,.486);
    --hp-text:#fff8ee;
    --hp-muted:rgba(255,240,220,.67);
    --hp-muted-soft:rgba(255,240,220,.48);
    --hp-accent:#e8b46c;
    --hp-accent-strong:#f6d4a0;
    --hp-dark:#1a110b;
    --hp-success:#8fd8ad;
    --hp-radius:22px;
    --hp-radius-sm:15px;
    --hp-shadow:0 24px 70px rgba(0,0,0,.26);
    position:relative;
    overflow:clip;
    padding:clamp(28px,4vw,58px) 0 96px;
    color:var(--hp-text);
    background:
        radial-gradient(circle at 14% 4%,rgba(220,156,74,.124),transparent 30%),
        radial-gradient(circle at 88% 16%,rgba(148,88,35,.111),transparent 28%),
        var(--hp-bg);
}
.halo-profile-v2::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.48),transparent 55%);
}
.hpv2-shell{position:relative;z-index:1;width:min(1440px,calc(100% - 40px));margin:0 auto;}
.halo-profile-v2 a{color:inherit;text-decoration:none;}
.halo-profile-v2 button,.halo-profile-v2 input,.halo-profile-v2 select,.halo-profile-v2 textarea{font:inherit;}
.halo-profile-v2 button{color:inherit;}
.halo-profile-v2 :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:3px;}
.halo-profile-v2 h1,.halo-profile-v2 h2,.halo-profile-v2 h3,.halo-profile-v2 p{margin-top:0;}

.hpv2-hero{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(380px,.84fr);gap:22px;align-items:stretch;}
.hpv2-hero-media,.hpv2-identity-card{min-width:0;border:1px solid var(--hp-line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.012)),rgba(20,13,9,.88);box-shadow:var(--hp-shadow);}
.hpv2-hero-media{position:relative;overflow:hidden;min-height:580px;}
.hpv2-cover-main{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#170f0b;cursor:zoom-in;}
.hpv2-cover-main img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s ease;}
.hpv2-cover-main:hover img{transform:scale(1.018);filter:saturate(1.04);}
.hpv2-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(8,5,4,.58));pointer-events:none;}
.hpv2-gallery-pill{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:10px;min-height:38px;padding:0 13px;border:1px solid rgba(255,239,211,.263);border-radius:999px;background:rgba(14,9,7,.68);backdrop-filter:blur(12px);color:#fff3df;font-size:.78rem;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.25);}
.hpv2-gallery-pill b{color:var(--hp-accent-strong);}
.hpv2-cover-thumbs{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:8px;}
.hpv2-cover-thumb{position:relative;width:56px;height:56px;overflow:hidden;padding:0;border:1px solid rgba(255,241,214,.294);border-radius:13px;background:#170f0b;box-shadow:0 10px 24px rgba(0,0,0,.24);cursor:pointer;transition:transform .18s ease,border-color .18s ease;}
.hpv2-cover-thumb:hover,.hpv2-cover-thumb.is-active{transform:translateY(-2px);border-color:var(--hp-accent-strong);}
.hpv2-cover-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.hpv2-cover-thumb span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(12,8,6,.65);color:#fff7e7;font-weight:900;}
.hpv2-cover-placeholder{display:grid;place-items:center;align-content:center;width:100%;height:100%;min-height:580px;gap:10px;background:radial-gradient(circle at 50% 42%,rgba(233,178,100,.211),transparent 34%),linear-gradient(145deg,#20160f,#120c09);}
.hpv2-cover-placeholder span{display:grid;place-items:center;width:150px;height:150px;border:1px solid var(--hp-line-strong);border-radius:42px;background:rgba(255,255,255,.035);color:var(--hp-accent-strong);font-family:Georgia,"Times New Roman",serif;font-size:4rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.hpv2-cover-placeholder small{color:var(--hp-muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase;}

.hpv2-identity-card{display:flex;flex-direction:column;padding:clamp(24px,3vw,42px);}
.hpv2-identity-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;}
.hpv2-identity-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;}
.hpv2-identity-badges>span{color:var(--hp-accent-strong);font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;}
.hpv2-identity-badges>small{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border:1px solid rgba(232,180,108,.185);border-radius:999px;background:rgba(255,255,255,.025);color:var(--hp-muted);font-size:.62rem;font-weight:850;}
.hpv2-identity-badges>small[data-state="open"]{border-color:rgba(143,216,173,.24);background:rgba(143,216,173,.06);color:var(--hp-success);}
.hpv2-hero-tools{display:flex;align-items:center;gap:9px;}
.hpv2-icon-action,.hpv2-favorite-action{display:grid;place-items:center;width:42px;height:42px;min-height:42px;margin:0;padding:0;border:1px solid var(--hp-line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--hp-text);cursor:pointer;box-shadow:none;}
.hpv2-icon-action:hover,.hpv2-favorite-action:hover{border-color:var(--hp-line-strong);background:rgba(232,180,108,.124);transform:translateY(-1px);}
.hpv2-favorite-action .halo-client-favorite__label{display:none;}
.hpv2-favorite-action .halo-client-favorite__icon{font-size:1.25rem;}
.hpv2-identity-main{display:flex;align-items:center;gap:18px;min-width:0;}
.hpv2-logo-showcase,.hpv2-logo-monogram{display:grid;place-items:center;flex:0 0 auto;width:104px;height:104px;overflow:hidden;border:1px solid var(--hp-line);border-radius:26px;background:#fffaf3;box-shadow:0 16px 38px rgba(0,0,0,.22);}
.hpv2-logo-showcase img{display:block;width:100%;height:100%;object-fit:contain;padding:9px;}
.hpv2-logo-showcase--horizontal{width:150px;height:88px;}
.hpv2-logo-showcase--vertical{width:84px;height:122px;}
.hpv2-logo-monogram{background:linear-gradient(145deg,rgba(232,180,108,.211),rgba(255,255,255,.035));color:var(--hp-accent-strong);font-family:Georgia,"Times New Roman",serif;font-size:2.7rem;}
.hpv2-identity-copy{min-width:0;}
.hpv2-identity-copy>p{margin-bottom:7px;color:var(--hp-muted);font-size:.79rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.hpv2-identity-copy h1{margin-bottom:12px;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.15rem,3.2vw,4rem);font-weight:500;line-height:.98;letter-spacing:-.025em;text-wrap:balance;}
.hpv2-rating-row{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;cursor:pointer;}
.hpv2-rating-row strong{font-size:1rem;}
.hpv2-rating-row span{color:#f4c562;letter-spacing:.08em;}
.hpv2-rating-row small{color:var(--hp-muted);font-size:.82rem;}
.hpv2-hero-description{margin:26px 0 0;max-width:660px;color:var(--hp-muted);font-size:1rem;line-height:1.7;}
.hpv2-hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:25px;}
.hpv2-hero-facts div{display:grid;gap:5px;min-width:0;padding:13px 14px;border:1px solid rgba(232,180,108,.172);border-radius:15px;background:rgba(255,255,255,.025);}
.hpv2-hero-facts span{color:var(--hp-muted-soft);font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;}
.hpv2-hero-facts strong{overflow:hidden;color:var(--hp-text);font-size:.89rem;line-height:1.35;text-overflow:ellipsis;}
.hpv2-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.hpv2-tag-row span{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid rgba(232,180,108,.225);border-radius:999px;background:rgba(232,180,108,.076);color:var(--hp-accent-strong);font-size:.72rem;font-weight:800;}
.hpv2-action-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:auto;padding-top:28px;}
.hpv2-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 20px;border-radius:15px;font-size:.84rem;font-weight:900;letter-spacing:.035em;transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.hpv2-primary-action{border:1px solid #eec07f;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;box-shadow:0 16px 34px rgba(172,99,32,.278);}

.hpv2-primary-action:hover{transform:translateY(-2px);}
.hpv2-utility-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.hpv2-utility-actions :is(a,button){display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:0;background:transparent;color:var(--hp-muted);font-size:.78rem;font-weight:750;cursor:pointer;}
.hpv2-utility-actions :is(a,button):hover{color:var(--hp-accent-strong);}

.hpv2-profile-nav{position:sticky;top:72px;z-index:20;display:flex;align-items:stretch;gap:4px;margin:22px 0;padding:6px;border:1px solid var(--hp-line);border-radius:18px;background:rgba(16,12,8,.88);box-shadow:0 16px 42px rgba(0,0,0,.22);backdrop-filter:blur(18px);}
.hpv2-profile-nav a{display:grid;gap:2px;flex:1;min-width:0;padding:10px 12px;border-radius:12px;color:var(--hp-muted);text-align:center;transition:background .18s ease,color .18s ease;}
.hpv2-profile-nav a strong{font-size:.82rem;}
.hpv2-profile-nav a span{overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap;}
.hpv2-profile-nav a:hover,.hpv2-profile-nav a.is-active{background:rgba(232,180,108,.138);color:var(--hp-accent-strong);}

/* Single compact contact + map entry near the beginning of every salon profile. */
.hpv2-intro-contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:stretch;margin:0;}
.hpv2-intro-contact-grid .hpv2-contact-card{display:flex;flex-direction:column;padding:20px;}
.hpv2-intro-contact-grid .hpv2-contact-head{margin-bottom:14px;}
.hpv2-intro-contact-grid .hpv2-contact-head h2{margin:0;font-size:clamp(1.35rem,2vw,1.85rem);}
.hpv2-intro-contact-grid .hpv2-contact-layout{flex:1;grid-template-columns:minmax(0,1fr);gap:14px;align-content:space-between;}
.hpv2-intro-contact-grid .hpv2-contact-intro{gap:12px;}
.hpv2-intro-contact-grid .hpv2-contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.hpv2-intro-contact-grid .hpv2-contact-links a{min-height:52px;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:8px 10px;}
.hpv2-intro-contact-grid .hpv2-contact-links a>i{width:30px;height:34px;}
.hpv2-intro-contact-grid .hpv2-contact-links a>b{display:none;}
.hpv2-intro-contact-grid .hpv2-contact-links strong{font-size:.76rem;overflow-wrap:anywhere;}
.hpv2-intro-contact-grid .hpv2-contact-links>a:last-child:nth-child(odd){grid-column:1/-1;}
.hpv2-intro-contact-grid .hpv2-location-card{display:flex;flex-direction:column;}
.hpv2-intro-contact-grid .hpv2-location-map{flex:1 1 auto;height:200px;min-height:190px;}
.hpv2-intro-contact-grid .hpv2-location-copy{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding:16px 18px;}
.hpv2-intro-contact-grid .hpv2-location-copy>div:first-child,.hpv2-intro-contact-grid .hpv2-location-copy>strong{grid-column:1/-1;}
.hpv2-intro-contact-grid .hpv2-location-copy>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:2px;padding:8px 10px;border:1px solid var(--hp-line);border-radius:10px;background:rgba(232,180,108,.045);font-size:.73rem;line-height:1.3;text-align:center;}
.hpv2-intro-contact-grid .hpv2-location-copy>a:only-of-type{grid-column:1/-1;}
@media(max-width:600px){.hpv2-intro-contact-grid .hpv2-location-copy{grid-template-columns:minmax(0,1fr);}}
.hpv2-contact-form-disclosure{min-width:0;border:1px solid var(--hp-line);border-radius:13px;background:rgba(232,180,108,.035);}
.hpv2-contact-form-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 14px;cursor:pointer;list-style:none;color:var(--hp-accent-strong);font-size:.85rem;font-weight:800;}
.hpv2-contact-form-disclosure>summary::-webkit-details-marker{display:none;}
.hpv2-contact-form-disclosure>summary span{font-size:1.25rem;font-weight:500;line-height:1;}
.hpv2-contact-form-disclosure[open]>summary span{transform:rotate(45deg);}
.hpv2-contact-form-disclosure .hpv2-contact-form-wrap{margin:0 10px 10px;padding:12px;}
.hpv2-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start;}
.hpv2-main-col{display:grid;gap:22px;min-width:0;}
.hpv2-side-col{min-width:0;}
.hpv2-side-sticky{position:sticky;top:150px;display:grid;gap:16px;}
.hpv2-section,.hpv2-booking-card,.hpv2-location-card{min-width:0;border:1px solid var(--hp-line);border-radius:var(--hp-radius);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),rgba(22,14,10,.82);box-shadow:0 18px 50px rgba(0,0,0,.18);}
.hpv2-section{padding:clamp(20px,2.5vw,32px);scroll-margin-top:150px;}
.hpv2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;}
.hpv2-section-head>div{max-width:760px;}
.hpv2-section-head>div>span,.hpv2-booking-head>span,.hpv2-contact-intro>span,.hpv2-rating-summary>span,.hpv2-location-copy>span{display:block;margin-bottom:7px;color:var(--hp-accent);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.hpv2-section-head h2,.hpv2-booking-head h2,.hpv2-contact-intro h2{margin-bottom:7px;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,2.5vw,2.75rem);font-weight:500;line-height:1.05;text-wrap:balance;}
.hpv2-section-head p,.hpv2-booking-head p,.hpv2-contact-intro p{margin-bottom:0;color:var(--hp-muted);line-height:1.55;}
.hpv2-section-head>a,.hpv2-section-link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:40px;padding:0 13px;border:1px solid var(--hp-line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--hp-accent-strong);font-size:.76rem;font-weight:850;cursor:pointer;}
.hpv2-section-head>a span{display:inline;margin:0;color:inherit;font-size:inherit;letter-spacing:0;text-transform:none;}
.hpv2-section-link span{display:inline-grid;place-items:center;min-width:23px;height:23px;margin:0;border-radius:999px;background:rgba(232,180,108,.138);font-size:.68rem;}
.hpv2-section-head--compact{align-items:center;margin-bottom:14px;}
.hpv2-section-head--compact h2{font-size:1.55rem;}
/* Compact contextual help for public service offers, native keyboard/touch disclosure. */
.hpv2-services-card{position:relative;}
.hpv2-services-card:has(.hpv2-services-help[open]){z-index:15;}
.hpv2-services-help{position:absolute;top:clamp(18px,2.5vw,32px);right:clamp(18px,2.5vw,32px);z-index:6;}
.hpv2-services-help>summary{
    display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;
    padding:0;border:1px solid rgba(232,180,108,.38);border-radius:50%;
    background:rgba(232,180,108,.07);color:var(--hp-accent-strong);
    cursor:pointer;list-style:none;font-size:1.09rem;font-weight:800;line-height:1;
    transition:border-color .18s ease,background .18s ease;
}
.hpv2-services-help>summary::-webkit-details-marker{display:none;}
.hpv2-services-help>summary:hover,.hpv2-services-help[open]>summary{
    border-color:rgba(232,180,108,.78);background:rgba(232,180,108,.18);
}
.hpv2-services-help>summary:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:3px;}
.hpv2-services-help__panel{
    position:absolute;top:calc(100% + 10px);right:0;z-index:7;
    box-sizing:border-box;width:min(320px,calc(100vw - 66px));padding:17px 18px;
    border:1px solid rgba(232,180,108,.48);border-radius:16px;
    background:#241913;color:var(--hp-text);box-shadow:0 18px 48px rgba(0,0,0,.48);
    font-size:.83rem;line-height:1.55;
}
.hpv2-services-help__panel strong{
    display:block;margin:0 0 8px;color:var(--hp-accent-strong);
    font-size:.86rem;font-weight:850;
}
.hpv2-services-help__panel p{margin:0;color:var(--hp-text);line-height:1.57;}



.hpv2-service-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px;}
.hpv2-service-filters button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid rgba(232,180,108,.185);border-radius:999px;background:rgba(255,255,255,.02);color:var(--hp-muted);font-size:.8rem;font-weight:850;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease;}
.hpv2-service-filters button:hover,.hpv2-service-filters button.is-active{border-color:var(--hp-line-strong);background:rgba(232,180,108,.124);color:var(--hp-accent-strong);}
.hpv2-service-filters button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(232,180,108,.138);color:inherit;font-size:.66rem;}
.hpv2-service-list{display:grid;gap:10px;}
.hpv2-service-row{display:grid;grid-template-columns:126px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid rgba(232,180,108,.172);border-radius:17px;background:rgba(255,255,255,.022);transition:border-color .18s ease,background .18s ease,transform .18s ease;}
.hpv2-service-row[hidden]{display:none;}
.hpv2-service-row.has-no-media{grid-template-columns:1fr;}
.hpv2-service-row:hover{transform:translateY(-1px);border-color:rgba(232,180,108,.366);background:rgba(232,180,108,.066);}
.hpv2-service-row__media{display:block;width:126px;height:100%;min-height:116px;padding:0;border:0;background:#170f0b;cursor:zoom-in;}
.hpv2-service-row__media img{display:block;width:100%;height:100%;object-fit:cover;}
.hpv2-service-row__body{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-width:0;padding:15px 16px;}
.hpv2-service-row__copy{min-width:0;}
.hpv2-service-row__copy h3{margin-bottom:5px;color:var(--hp-text);font-size:1.02rem;font-weight:850;}
.hpv2-service-row__copy p{display:-webkit-box;overflow:hidden;margin-bottom:0;color:var(--hp-muted);font-size:.84rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.hpv2-service-row__meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:156px;white-space:nowrap;}
.hpv2-service-row__meta span{color:var(--hp-muted);font-size:.75rem;}
.hpv2-service-row__meta strong{color:var(--hp-accent-strong);font-size:.92rem;}
.hpv2-service-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;}
.hpv2-service-details,.hpv2-service-pick,.hpv2-service-inquiry{min-height:40px;padding:0 13px;border-radius:12px;font-size:.75rem;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.hpv2-service-details{border:1px solid rgba(232,180,108,.198);background:rgba(255,255,255,.018);color:var(--hp-muted);}
.hpv2-service-details:hover{border-color:var(--hp-line-strong);color:var(--hp-accent-strong);}
.hpv2-service-pick,.hpv2-service-inquiry{min-width:88px;border:1px solid var(--hp-line-strong);background:transparent;color:var(--hp-accent-strong);}
.hpv2-service-pick:hover,.hpv2-service-pick.is-selected,.hpv2-service-inquiry:hover{background:linear-gradient(135deg,#eec684,#c47831);color:#201309;}
.hpv2-service-more-button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:50px;margin-top:12px;padding:0 15px;border:1px solid rgba(232,180,108,.185);border-radius:15px;background:rgba(255,255,255,.018);color:var(--hp-text);font-weight:850;cursor:pointer;}
.hpv2-service-more-button:hover{border-color:var(--hp-line-strong);background:rgba(232,180,108,.066);}
.hpv2-service-more-button small{color:var(--hp-muted);font-size:.72rem;font-weight:750;}
.hpv2-service-empty{margin:14px 0 0;padding:16px;border:1px dashed rgba(232,180,108,.227);border-radius:14px;color:var(--hp-muted);font-size:.82rem;}
.hpv2-service-empty[hidden]{display:none;}

/* Full service catalog: the profile itself contains only three highlighted services. */
.hpv2-services-modal{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:16px;background:rgba(5,3,2,.8);backdrop-filter:blur(14px);}
.hpv2-services-modal[hidden]{display:none;}
.hpv2-services-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;}
.hpv2-services-modal__dialog{position:relative;z-index:1;display:flex;flex-direction:column;gap:13px;width:min(900px,100%);max-height:min(92dvh,920px);min-height:0;overflow:hidden;padding:23px;border:1px solid var(--hp-line-strong);border-radius:22px;background:#170f0b;box-shadow:0 34px 100px rgba(0,0,0,.6);}
.hpv2-services-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.hpv2-services-modal__header span{color:var(--hp-accent);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;}
.hpv2-services-modal__header h2{margin:5px 0 3px;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3.5vw,2.3rem);font-weight:500;}
.hpv2-services-modal__header p{margin:0;color:var(--hp-muted);font-size:.78rem;}
.hpv2-services-modal__close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--hp-line);border-radius:50%;background:rgba(255,255,255,.04);font-size:1.5rem;cursor:pointer;}
.hpv2-services-modal__search{display:grid;gap:6px;}
.hpv2-services-modal__search label{font-size:.73rem;color:var(--hp-muted);font-weight:800;}
.hpv2-services-modal__search input{box-sizing:border-box;display:block;width:100%;height:46px;padding:0 14px;border:1px solid var(--hp-line);border-radius:12px;background:#231810;color:var(--hp-text);font-size:.93rem;}
.hpv2-services-modal__search input:focus-visible{border-color:var(--hp-accent-strong);outline:2px solid var(--hp-accent-strong);outline-offset:2px;}
.hpv2-services-modal__filters{flex:0 0 auto;flex-wrap:nowrap;overflow-x:auto;margin:0;padding-bottom:4px;scrollbar-width:thin;}
.hpv2-services-modal__filters button{flex:0 0 auto;}
.hpv2-services-modal__count{margin:0;color:var(--hp-muted);font-size:.72rem;}
.hpv2-services-modal__list{min-height:0;flex:1 1 auto;grid-auto-rows:max-content;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 6px 0;scrollbar-width:thin;}
html.halo-services-modal-open{overflow:hidden;}
html.halo-services-modal-open .hpv2-shell,html.halo-service-modal-open .hpv2-shell,html.halo-gallery-open .hpv2-shell{z-index:1400;}
@media (max-width:760px){
    .hpv2-services-modal{padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));}
    .hpv2-services-modal__dialog{width:100%;max-height:calc(100dvh - 16px - env(safe-area-inset-bottom));padding:15px 12px;border-radius:18px;gap:10px;}
    .hpv2-services-modal__list{padding-right:2px;}
    .hpv2-services-modal__list .hpv2-service-row__body{padding:11px;}
    .hpv2-services-modal__list .hpv2-service-row__copy p{display:none;}
}
.hpv2-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-5px 0 17px;}
.hpv2-gallery-filters{display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
.hpv2-gallery-filters button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid rgba(232,180,108,.185);border-radius:999px;background:rgba(255,255,255,.02);color:var(--hp-muted);font-size:.73rem;font-weight:850;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease;}
.hpv2-gallery-filters button:hover,.hpv2-gallery-filters button.is-active{border-color:var(--hp-line-strong);background:rgba(232,180,108,.124);color:var(--hp-accent-strong);}
.hpv2-gallery-filters button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(232,180,108,.138);color:inherit;font-size:.66rem;}
.hpv2-gallery-status{flex:0 0 auto;margin:0;color:var(--hp-muted-soft);font-size:.7rem;font-weight:750;white-space:nowrap;}
.hpv2-section-link[data-halo-gallery-more] i{font-style:normal;}
.hpv2-section-link[data-halo-gallery-more] b{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:rgba(232,180,108,.138);font-size:.68rem;}
.hpv2-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:84px;gap:9px;}
.hpv2-gallery-tile{grid-column:span 3;grid-row:span 2;min-width:0;margin:0;overflow:hidden;border:1px solid rgba(232,180,108,.138);border-radius:16px;background:#170f0b;box-shadow:0 12px 30px rgba(0,0,0,.13);}
.hpv2-gallery-tile[hidden]{display:none;}
.hpv2-gallery-tile.is-featured{grid-column:span 6;grid-row:span 4;}
.hpv2-gallery-tile.is-wide{grid-column:span 6;grid-row:span 2;}
.hpv2-gallery-tile.is-single{grid-column:1/-1;grid-row:span 5;}
.hpv2-gallery-tile button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;}
.hpv2-gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .42s ease,filter .25s ease;}
.hpv2-gallery-tile button::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(8,5,4,.78));pointer-events:none;}
.hpv2-gallery-tile button:hover img{transform:scale(1.035);filter:saturate(1.06);}
.hpv2-gallery-tile figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;color:#fff5e4;font-size:.72rem;font-weight:850;}
.hpv2-gallery-tile figcaption b{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,244,224,.22);border-radius:999px;background:rgba(10,6,4,.36);font-size:.82rem;backdrop-filter:blur(8px);}
.hpv2-gallery-empty{margin:14px 0 0;padding:17px;border:1px dashed rgba(232,180,108,.227);border-radius:14px;color:var(--hp-muted);font-size:.82rem;}
.hpv2-gallery-empty[hidden]{display:none;}

/* Reviews: five rating buckets remain visible for every review count. */
.hpv2-reviews-card{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 92% 0%,rgba(235,178,98,.09),transparent 43%),linear-gradient(150deg,#241913,#1b1310 85%);box-shadow:inset 0 1px rgba(247,215,158,.07),0 22px 68px rgba(0,0,0,.12);}
.hpv2-reviews-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,rgba(255,229,173,.05),transparent 35%,transparent 68%,rgba(192,120,56,.035));}
.hpv2-reviews-overview{display:grid;grid-template-columns:minmax(248px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start;}
.hpv2-rating-summary{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:22px;border:1px solid rgba(239,194,126,.3);border-radius:21px;background:radial-gradient(circle at 5% 0%,rgba(245,196,123,.14),transparent 54%),linear-gradient(145deg,#33261d,#241914);box-shadow:inset 0 1px rgba(255,231,184,.11),0 16px 35px rgba(10,5,3,.16);}
.hpv2-rating-summary::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,213,151,.85),transparent);pointer-events:none;}
.hpv2-rating-summary>.hpv2-rating-kicker{display:block;margin:0 0 12px;color:#e9bd80;font-size:.63rem;font-weight:850;letter-spacing:.145em;text-transform:uppercase;}
.hpv2-rating-score{display:flex;align-items:center;gap:15px;min-width:0;padding-bottom:19px;border-bottom:1px solid rgba(239,194,126,.2);}
.hpv2-rating-score>strong{flex:0 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.9rem,5.2vw,5rem);font-weight:400;line-height:1;letter-spacing:-.062em;color:#fff0d9;text-shadow:0 5px 26px rgba(239,185,109,.1);}
.hpv2-rating-score>div{display:grid;gap:6px;min-width:0;}
.hpv2-rating-score b{color:#f9c972;font-size:clamp(.74rem,1.12vw,.87rem);font-weight:750;letter-spacing:.065em;white-space:nowrap;text-shadow:0 0 18px rgba(239,172,69,.15);}
.hpv2-rating-score small{color:#c7b8ab;font-size:.8rem;line-height:1.35;}
.hpv2-rating-bars{display:grid;gap:10px;margin-top:20px;}
.hpv2-rating-bar{display:grid;grid-template-columns:33px minmax(0,1fr) 26px;align-items:center;gap:10px;}
.hpv2-rating-bar>span,.hpv2-rating-bar>small{color:#afa096;font-size:.69rem;font-weight:750;font-variant-numeric:tabular-nums;}
.hpv2-rating-bar>small{text-align:right;}
.hpv2-rating-bar:first-child>span,.hpv2-rating-bar:first-child>small{color:#edc38b;}
.hpv2-rating-bar>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:rgba(245,224,194,.085);box-shadow:inset 0 1px 2px rgba(0,0,0,.18);}
.hpv2-rating-bar>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#bc783a,#e4ac60 55%,#ffe0a0);box-shadow:0 0 14px rgba(237,180,92,.32);}
.hpv2-rating-verified{display:flex;align-items:center;gap:9px;margin:20px 0 0;padding-top:15px;border-top:1px solid rgba(239,194,126,.14);color:#9adcb0;font-size:.73rem;font-weight:750;line-height:1.4;}
/* Google reviews are linked externally; never fetched or billed by this profile. */
.hpv2-rating-google-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding:15px 0 2px;border-top:1px solid rgba(239,194,126,.24);color:#dfbd8a;font-size:.78rem;font-weight:750;text-decoration:none;}
.hpv2-rating-google-link:hover,.hpv2-rating-google-link:focus-visible{color:#fff0d8;text-decoration:underline;text-underline-offset:3px;}
.hpv2-rating-google-link>span{font-size:.9rem;}
.hpv2-rating-verified span{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;border:1px solid rgba(143,216,173,.34);border-radius:50%;background:rgba(143,216,173,.09);font-size:.8rem;}
.hpv2-rating-summary>button{min-height:45px;margin-top:20px;padding:0 13px;border:1px solid rgba(237,190,118,.6);border-radius:12px;background:linear-gradient(100deg,rgba(231,170,89,.13),rgba(221,141,60,.05));color:#f5d4a3;font-size:.8rem;font-weight:850;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.hpv2-rating-summary>button:hover,.hpv2-rating-summary>button:focus-visible{border-color:#f1c787;background:rgba(238,180,102,.18);}
.hpv2-reviews-content{min-width:0;}
.hpv2-review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr));gap:12px;align-items:stretch;}
/* Reviews: five most recent full cards as one native touch-swipe carousel. */
.hpv2-rating-summary>.hpv2-reviews-all-button{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;}
.hpv2-reviews-all-button>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border:1px solid rgba(238,190,118,.32);border-radius:999px;background:rgba(237,184,106,.14);font-size:.72rem;font-variant-numeric:tabular-nums;}
.hpv2-rating-summary>.hpv2-reviews-all-button+button[data-halo-review-open]{margin-top:9px;background:rgba(255,255,255,.025);border-color:rgba(237,190,118,.29);color:#ddc8b0;}
.hpv2-reviews-content>.hpv2-review-list{
    display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;min-width:0;max-width:100%;
    overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
}
.hpv2-reviews-content>.hpv2-review-list::-webkit-scrollbar{display:none;}
.hpv2-reviews-content>.hpv2-review-list:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:3px;}
.hpv2-reviews-content>.hpv2-review-list>.hpv2-review-card--preview{
    flex:0 0 100%;width:100%;min-width:100%;max-width:100%;
    box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;
}
.hpv2-reviews-content>.hpv2-review-list>.hpv2-review-card--preview>p{display:block;overflow:visible;max-width:none;-webkit-line-clamp:unset;white-space:pre-line;}
/* Three latest reviews with stable card heights: touch-swipe without layout jumps. */
.hpv2-reviews-content>.hpv2-review-list--preview{
    display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;min-width:0;max-width:100%;
    overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
}
.hpv2-reviews-content>.hpv2-review-list--preview::-webkit-scrollbar{display:none;}
.hpv2-reviews-content>.hpv2-review-list--preview:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:3px;}
.hpv2-reviews-content>.hpv2-review-list--preview>.hpv2-review-card--preview{
    flex:0 0 100%;width:100%;min-width:100%;max-width:100%;height:314px;min-height:0;
    box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;
}
.hpv2-reviews-content>.hpv2-review-list--preview>.hpv2-review-card--preview>h3{
    display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
    max-width:100%;flex-shrink:0;
}
.hpv2-reviews-content>.hpv2-review-list--preview>.hpv2-review-card--preview>p{
    display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;
    line-clamp:4;max-width:none;max-height:6.32em;white-space:pre-line;overflow-wrap:anywhere;
    flex-shrink:1;
}
.hpv2-reviews-content>.hpv2-review-list--preview .hpv2-review-verified{margin-top:11px;}
.hpv2-review-preview-footer{display:flex;align-items:flex-end;justify-content:flex-end;flex:0 0 44px;margin-top:auto;}
.hpv2-review-preview-footer>[hidden]{display:none;}
.hpv2-review-preview-footer button{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-width:102px;min-height:44px;padding:0 13px;border:1px solid rgba(232,180,108,.38);
    border-radius:12px;background:rgba(232,180,108,.085);color:#f5d4a3;
    font-size:.79rem;font-weight:850;cursor:pointer;
}
.hpv2-review-preview-footer button:hover,.hpv2-review-preview-footer button:focus-visible{
    border-color:#f1c787;background:rgba(238,180,102,.18);
}
.hpv2-review-preview-footer button>span{font-size:1.15rem;line-height:1;}
.hpv2-review-preview-controls{
    display:flex;align-items:center;justify-content:center;gap:16px;min-height:48px;margin-top:9px;
}
.hpv2-review-preview-controls>span{color:#d6bfa6;font-size:.78rem;white-space:nowrap;font-variant-numeric:tabular-nums;}
.hpv2-review-preview-controls>button{
    display:grid;place-items:center;width:44px;height:44px;
    border:1px solid rgba(232,180,108,.32);border-radius:50%;
    background:rgba(232,180,108,.06);color:#f5d4a3;cursor:pointer;
}
.hpv2-review-preview-controls>button>span{font-size:1.55rem;line-height:1;}
.hpv2-review-preview-controls>button:disabled{opacity:.32;cursor:not-allowed;}
.hpv2-review-preview-controls>button:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:3px;}
/* Reuse HALO's public modal look, with only the requested opinion in view. */
.hpv2-review-detail-modal{
    position:fixed;inset:0;z-index:1200;display:grid;place-items:center;
    padding:clamp(10px,3vw,24px);background:rgba(5,3,2,.78);backdrop-filter:blur(16px);
}
.hpv2-review-detail-modal[hidden],.hpv2-review-detail-modal__content>[hidden]{display:none;}
.hpv2-review-detail-modal__backdrop{position:absolute;inset:0;width:100%;border:0;background:transparent;}
.hpv2-review-detail-modal__dialog{
    position:relative;z-index:1;box-sizing:border-box;width:min(650px,100%);
    max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;
    padding:clamp(16px,4vw,26px);overscroll-behavior:contain;
    border:1px solid var(--hp-line-strong);border-radius:22px;
    background:#170f0b;color:var(--hp-text);box-shadow:0 34px 100px rgba(0,0,0,.55);
}
.hpv2-review-detail-modal__head{padding-right:56px;}
.hpv2-review-detail-modal__head>span{color:var(--hp-accent);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.hpv2-review-detail-modal__head h2{margin:7px 0 0;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3vw,2rem);font-weight:500;}
.hpv2-review-detail-modal__close{
    position:absolute;top:14px;right:14px;display:grid;place-items:center;
    width:44px;height:44px;border:1px solid var(--hp-line);
    border-radius:50%;background:rgba(255,255,255,.035);color:var(--hp-text);
    font-size:1.5rem;cursor:pointer;
}
.hpv2-review-detail-modal__content{margin-top:18px;}
.hpv2-review-detail-modal__content .hpv2-review-card--modal{min-height:0;padding:18px;box-shadow:none;}
.hpv2-review-detail-modal__content .hpv2-review-card--modal>p{
    display:block;overflow:visible;max-width:none;-webkit-line-clamp:unset;line-clamp:unset;
    white-space:pre-line;overflow-wrap:anywhere;
}
.hpv2-review-detail-modal__content .hpv2-review-reply span{overflow-wrap:anywhere;}
.hpv2-review-detail-modal__all{
    display:block;width:100%;min-height:46px;margin-top:16px;padding:10px;
    border:1px solid rgba(237,190,118,.45);border-radius:12px;
    background:rgba(232,180,108,.085);color:#f5d4a3;font-size:.82rem;font-weight:850;cursor:pointer;
}
.hpv2-review-detail-modal__all:focus-visible,.hpv2-review-detail-modal__close:focus-visible{
    outline:2px solid var(--hp-accent-strong);outline-offset:3px;
}
html.halo-review-detail-modal-open{overflow:hidden;}
@media(max-width:760px){
    .hpv2-reviews-content>.hpv2-review-list--preview>.hpv2-review-card--preview{height:314px;}
}
.hpv2-review-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:188px;overflow:hidden;padding:21px;border:1px solid rgba(232,185,118,.245);border-radius:20px;background:radial-gradient(circle at 100% 0%,rgba(207,142,75,.09),transparent 48%),linear-gradient(145deg,rgba(55,38,27,.53),rgba(32,22,17,.86));box-shadow:inset 0 1px rgba(255,220,156,.055),0 12px 30px rgba(0,0,0,.1);}
.hpv2-review-card::before{content:"";position:absolute;top:0;left:22px;width:65px;height:2px;background:linear-gradient(90deg,rgba(255,217,152,.85),transparent);pointer-events:none;}
.hpv2-review-card::after{content:"\201D";position:absolute;right:15px;bottom:-30px;z-index:-1;color:rgba(255,213,147,.065);font-family:Georgia,"Times New Roman",serif;font-size:9rem;line-height:1;pointer-events:none;}
.hpv2-review-card[hidden]{display:none;}
.hpv2-review-card__author{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;}
.hpv2-review-avatar{display:grid;place-items:center;width:43px;height:43px;overflow:hidden;border:1px solid rgba(237,190,118,.3);border-radius:50%;background:linear-gradient(145deg,rgba(232,180,108,.24),rgba(181,113,53,.17));color:#f4ce99;font-size:.88rem;font-weight:850;}
.hpv2-review-avatar img{display:block;width:100%;height:100%;object-fit:cover;}
.hpv2-review-avatar i{font-style:normal;}
.hpv2-review-author-text{display:grid;gap:2px;min-width:0;}
.hpv2-review-author-text strong{overflow:hidden;color:#fff2e2;font-size:.91rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}
.hpv2-review-author-text small{color:#a99c90;font-size:.7rem;}
.hpv2-review-stars{color:#f6c46a;font-size:.8rem;letter-spacing:.045em;white-space:nowrap;}
.hpv2-review-verified{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;min-height:27px;margin-top:16px;padding:2px 10px;border:1px solid rgba(143,216,173,.27);border-radius:999px;background:rgba(143,216,173,.075);color:#9adcb0;font-size:.68rem;font-weight:750;}
.hpv2-review-card h3{margin:16px 0 5px;color:#fff0dd;font-size:1rem;}
.hpv2-review-card>p{display:-webkit-box;overflow:hidden;margin:13px 0 0;max-width:65ch;color:#e1d0be;font-size:.87rem;line-height:1.58;-webkit-box-orient:vertical;-webkit-line-clamp:6;}
.hpv2-review-reply{display:grid;gap:5px;margin-top:17px;padding:13px 0 0;border-top:1px solid rgba(232,180,108,.165);}
.hpv2-review-reply strong{color:#f3c88b;font-size:.71rem;}
.hpv2-review-reply span{color:#d0bbab;font-size:.79rem;line-height:1.48;}
@media (prefers-reduced-motion:reduce){.hpv2-rating-summary>button{transition:none;}}
.hpv2-empty-state{display:grid;gap:8px;padding:24px;border:1px dashed rgba(232,180,108,.253);border-radius:16px;color:var(--hp-muted);}
.hpv2-empty-state strong{color:var(--hp-text);}
.hpv2-empty-state button{justify-self:start;min-height:39px;margin-top:4px;padding:0 12px;border:1px solid var(--hp-line-strong);border-radius:11px;background:transparent;color:var(--hp-accent-strong);font-size:.75rem;font-weight:850;cursor:pointer;}

.hpv2-section-count{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:36px;padding:0 12px;border:1px solid rgba(232,180,108,.198);border-radius:999px;background:rgba(232,180,108,.076);color:var(--hp-accent-strong);font-size:.72rem;font-weight:850;}
.hpv2-specialist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.hpv2-specialist-card{display:grid;grid-template-columns:110px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid rgba(232,180,108,.172);border-radius:17px;background:rgba(255,255,255,.022);}
.hpv2-specialist-media{min-height:132px;background:#170f0b;}
.hpv2-specialist-media img,.hpv2-specialist-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:132px;overflow:hidden;background:radial-gradient(circle at 50% 34%,rgba(232,180,108,.211),transparent 46%),#170f0b;color:var(--hp-accent-strong);font-size:1.45rem;font-weight:900;object-fit:cover;}
.hpv2-specialist-placeholder span{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(232,180,108,.253);border-radius:20px;background:rgba(255,255,255,.025);}
.hpv2-specialist-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:16px;}
.hpv2-specialist-copy small{display:block;margin-bottom:5px;color:var(--hp-accent);font-size:.67rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;}
.hpv2-specialist-copy strong{display:block;font-size:1rem;}
.hpv2-specialist-copy p{display:-webkit-box;overflow:hidden;margin:8px 0 0;color:var(--hp-muted);font-size:.79rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3;}

.hpv2-information-layout{display:grid;grid-template-columns:minmax(260px,.76fr) minmax(0,1.24fr);gap:14px;align-items:start;}
.hpv2-information-layout.has-no-hours{grid-template-columns:1fr;}
.hpv2-hours-panel,.hpv2-info-panel{min-width:0;padding:19px;border:1px solid rgba(232,180,108,.172);border-radius:18px;background:rgba(255,255,255,.02);}
.hpv2-hours-panel>header,.hpv2-info-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px;}
.hpv2-hours-panel>header>div>span,.hpv2-info-panel>header>span{display:block;margin-bottom:5px;color:var(--hp-accent);font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.hpv2-hours-panel h3,.hpv2-info-panel h3{margin:0;font-size:1rem;}
.hpv2-hours-panel>header>p{display:grid;gap:2px;flex:0 0 auto;margin:0;padding:8px 10px;border:1px solid rgba(232,180,108,.211);border-radius:12px;background:rgba(232,180,108,.076);text-align:right;}
.hpv2-hours-panel>header>p span{color:var(--hp-muted-soft);font-size:.6rem;font-weight:850;text-transform:uppercase;}
.hpv2-hours-panel>header>p strong{color:var(--hp-accent-strong);font-size:.73rem;}
.hpv2-hours-status[data-state="open"]{border-color:rgba(143,216,173,.24);background:rgba(143,216,173,.055);}
.hpv2-hours-status[data-state="open"] span,.hpv2-hours-status[data-state="open"] strong{color:var(--hp-success);}
.hpv2-hours-list{display:grid;gap:0;margin:0;}
.hpv2-hours-list div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid rgba(232,180,108,.124);}
.hpv2-hours-list div:last-child{border-bottom:0;}
.hpv2-hours-list div.is-today{margin:0 -9px;padding:9px;border-bottom-color:transparent;border-radius:10px;background:rgba(232,180,108,.103);}
.hpv2-hours-list dt{display:flex;align-items:center;gap:7px;color:var(--hp-muted);font-size:.8rem;}
.hpv2-hours-list dt small{padding:3px 5px;border-radius:999px;background:rgba(232,180,108,.146);color:var(--hp-accent-strong);font-size:.55rem;font-weight:900;text-transform:uppercase;}
.hpv2-hours-list dd{margin:0;color:var(--hp-text);font-size:.8rem;font-weight:800;text-align:right;}
.hpv2-information-stack{display:grid;gap:14px;min-width:0;}
.hpv2-faq-list,.hpv2-documents-list{display:grid;gap:8px;}
.hpv2-faq-list details,.hpv2-documents-list details{border:1px solid rgba(232,180,108,.159);border-radius:13px;background:rgba(0,0,0,.12);}
.hpv2-faq-list summary,.hpv2-documents-list summary{position:relative;padding:13px 42px 13px 14px;cursor:pointer;list-style:none;color:var(--hp-text);font-size:.82rem;font-weight:800;}
.hpv2-faq-list summary::-webkit-details-marker,.hpv2-documents-list summary::-webkit-details-marker{display:none;}
.hpv2-faq-list summary::after,.hpv2-documents-list summary::after{content:"+";position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--hp-accent);font-size:1.1rem;}
.hpv2-faq-list details[open] summary::after,.hpv2-documents-list details[open] summary::after{content:"−";}
.hpv2-faq-list details>div,.hpv2-documents-list details>div{padding:0 14px 14px;color:var(--hp-muted);font-size:.81rem;line-height:1.58;}
.hpv2-faq-list details>div p:last-child,.hpv2-documents-list details>div p:last-child{margin-bottom:0;}
.hpv2-documents-panel{background:linear-gradient(145deg,rgba(232,180,108,.066),rgba(255,255,255,.012));}

.hpv2-contact-head{align-items:center;}
.hpv2-open-status{display:flex;align-items:center;gap:9px;flex:0 0 auto;min-height:46px;padding:8px 12px;border:1px solid rgba(232,180,108,.211);border-radius:14px;background:rgba(255,255,255,.02);}
.hpv2-open-status>i{display:block;width:9px;height:9px;border-radius:999px;background:var(--hp-muted-soft);box-shadow:0 0 0 5px rgba(255,255,255,.025);}
.hpv2-open-status>span{display:grid;gap:2px;}
.hpv2-open-status strong{font-size:.75rem;}
.hpv2-open-status small{color:var(--hp-muted);font-size:.65rem;}
.hpv2-open-status[data-state="open"]{border-color:rgba(143,216,173,.24);background:rgba(143,216,173,.055);}
.hpv2-open-status[data-state="open"]>i{background:var(--hp-success);box-shadow:0 0 0 5px rgba(143,216,173,.08);}
.hpv2-open-status[data-state="later"]>i{background:var(--hp-accent);box-shadow:0 0 0 5px rgba(232,180,108,.111);}
.hpv2-contact-layout{display:grid;grid-template-columns:minmax(270px,.42fr) minmax(0,.58fr);gap:22px;align-items:start;}
.hpv2-contact-intro{display:grid;gap:14px;min-width:0;}
.hpv2-contact-address{display:grid;gap:6px;padding:18px;border:1px solid rgba(232,180,108,.198);border-radius:17px;background:linear-gradient(145deg,rgba(232,180,108,.083),rgba(255,255,255,.015));}
.hpv2-contact-address>span{color:var(--hp-accent);font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.hpv2-contact-address>strong{font-size:.92rem;line-height:1.5;}
.hpv2-contact-address>a{display:inline-flex;align-items:center;gap:8px;justify-self:start;margin-top:4px;color:var(--hp-accent-strong);font-size:.75rem;font-weight:850;}
.hpv2-contact-links{display:grid;gap:8px;}
.hpv2-contact-links a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border:1px solid rgba(232,180,108,.159);border-radius:14px;background:rgba(255,255,255,.018);transition:border-color .18s ease,background .18s ease,transform .18s ease;}
.hpv2-contact-links a:hover{border-color:var(--hp-line-strong);background:rgba(232,180,108,.076);transform:translateY(-1px);}
.hpv2-contact-links a>i{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(232,180,108,.211);border-radius:11px;background:rgba(232,180,108,.076);color:var(--hp-accent-strong);font-style:normal;font-weight:900;}
.hpv2-contact-links a>span{display:grid;gap:2px;min-width:0;}
.hpv2-contact-links small{color:var(--hp-muted-soft);font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;}
.hpv2-contact-links strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;overflow-wrap:anywhere;}
.hpv2-contact-links a>b{color:var(--hp-accent);font-size:.85rem;}
.hpv2-hero-social{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:auto;}
.hpv2-hero-social>div{display:flex;align-items:center;gap:8px;}
.hpv2-hero-social a{display:grid;place-items:center;width:40px;height:40px;min-height:40px;border:1px solid var(--hp-line);border-radius:12px;background:rgba(232,180,108,.05);color:var(--hp-accent-strong);transition:border-color .2s ease,background .2s ease;}
.hpv2-hero-social a svg{width:19px;height:19px;display:block;}
.hpv2-hero-social a:hover,.hpv2-hero-social a:focus-visible{border-color:var(--hp-line-strong);background:rgba(232,180,108,.12);}
.hpv2-hero-social a:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:2px;}
/* The same social links live on the photo; profiles without a photo keep the card row. */
.hpv2-hero-media>.hpv2-hero-social{
    position:absolute;z-index:6;top:18px;left:18px;
    display:flex;align-items:center;justify-content:flex-start;
    width:auto;max-width:calc(100% - 36px);margin:0;padding:0;pointer-events:none;
}
.hpv2-hero-media>.hpv2-hero-social>div{
    display:flex;align-items:center;flex-wrap:wrap;width:auto;gap:8px;pointer-events:auto;
}
.hpv2-hero-media>.hpv2-hero-social a{
    display:grid;grid-template-columns:1fr;place-items:center;
    box-sizing:border-box;flex:0 0 auto;gap:0;
    width:46px;height:46px;min-height:46px;padding:0;
    border:1px solid rgba(247,207,145,.52);border-radius:15px;
    background:rgba(20,13,10,.76);color:#ffe0ac;
    box-shadow:0 9px 26px rgba(0,0,0,.3);
    backdrop-filter:blur(14px);
}
.hpv2-hero-media>.hpv2-hero-social a:where(:hover,:focus-visible){
    border-color:rgba(255,225,174,.9);background:rgba(31,19,12,.94);
}
.hpv2-hero-media>.hpv2-hero-social a svg{width:21px;height:21px;}
.hpv2-hero-media>.hpv2-hero-social .hpv2-hero-social__name{display:none;}
.hpv2-hero-media>.hpv2-hero-social a::after{content:none;display:none;}
@media(max-width:760px){
    .hpv2-hero-media>.hpv2-hero-social{
        top:12px;left:12px;max-width:calc(100% - 132px);padding:0;
    }
    .hpv2-hero-media>.hpv2-hero-social a{width:44px;height:44px;min-height:44px;border-radius:14px;}
}

@media(max-width:600px){.hpv2-hero-social{margin-left:0;width:100%;justify-content:flex-start;padding-top:4px;}}
.hpv2-contact-form-wrap{min-width:0;padding:20px;border:1px solid rgba(232,180,108,.172);border-radius:18px;background:rgba(0,0,0,.11);}
.hpv2-contact-form-head{margin-bottom:17px;}
.hpv2-contact-form-head>span{display:block;margin-bottom:5px;color:var(--hp-accent);font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.hpv2-contact-form-head h3{margin:0 0 6px;font-size:1rem;}
.hpv2-contact-form-head p{margin:0;color:var(--hp-muted);font-size:.76rem;line-height:1.5;}
.hpv2-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hpv2-form label{display:grid;gap:6px;color:var(--hp-muted);font-size:.76rem;font-weight:800;}
.hpv2-form label>small{font-size:.62rem;font-weight:700;opacity:.72;}
.hpv2-form .is-wide{grid-column:1/-1;}
.hpv2-form :is(input,select,textarea){width:100%;border:1px solid rgba(232,180,108,.225);border-radius:12px;background:rgba(0,0,0,.17);color:var(--hp-text);}
.hpv2-form :is(input,select){height:45px;padding:0 12px;}
.hpv2-form textarea{min-height:128px;padding:12px;resize:vertical;}
.hpv2-form :is(input,select,textarea):focus{border-color:var(--hp-line-strong);background:rgba(0,0,0,.23);outline:0;box-shadow:0 0 0 3px rgba(232,180,108,.111);}
.hpv2-form select option{background:#1a110c;color:#fff8ee;}
.hpv2-form>button{min-height:48px;border:1px solid #eec07f;border-radius:13px;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;font-weight:900;cursor:pointer;}
.hpv2-quote-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.hpv2-quote-fields[hidden]{display:none;}
.hpv2-contact-form-wrap .notice{margin-bottom:12px;}

.hpv2-booking-layer{display:contents;}
.hpv2-booking-layer__backdrop,.hpv2-booking-card__close{display:none;}
.hpv2-booking-card{position:relative;padding:22px;}
.hpv2-booking-head h2{font-size:1.75rem;}
.hpv2-booking-head p{min-height:1.45em;}
.hpv2-booking-field{display:grid;gap:7px;margin-top:17px;color:var(--hp-muted);font-size:.8rem;font-weight:850;}
.hpv2-booking-field select{width:100%;height:44px;padding:0 11px;border:1px solid rgba(232,180,108,.227);border-radius:12px;background:#170f0b;color:var(--hp-text);}
.hpv2-booking-field>strong{display:flex;align-items:center;min-height:44px;padding:0 11px;border:1px solid rgba(232,180,108,.185);border-radius:12px;background:#170f0b;color:var(--hp-text);}
.hpv2-booking-summary{display:grid;gap:0;margin:12px 0;}
.hpv2-booking-summary div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(232,180,108,.124);}
.hpv2-booking-summary span{color:var(--hp-muted);font-size:.8rem;}
.hpv2-booking-summary strong{font-size:.78rem;text-align:right;}
.hpv2-booking-availability{display:grid;gap:10px;margin:14px 0;padding:13px;border:1px solid rgba(232,180,108,.198);border-radius:15px;background:rgba(0,0,0,.13);}
.hpv2-booking-availability[data-state="general"]{border-color:rgba(240,191,113,.342);background:rgba(232,180,108,.076);}
.hpv2-booking-availability[data-state="none"],.hpv2-booking-availability[data-state="not_supported"],.hpv2-booking-availability[data-state="error"]{border-style:dashed;}
.hpv2-booking-availability__head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hpv2-booking-availability__head strong{font-size:.82rem;}
.hpv2-booking-availability__head span{color:var(--hp-accent);font-size:.7rem;font-weight:800;}
.hpv2-booking-availability>p{margin:0;color:var(--hp-muted);font-size:.72rem;line-height:1.45;}
.hpv2-slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.hpv2-slot-list:empty{display:none;}
.hpv2-slot-button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:48px;padding:7px 9px;border:1px solid rgba(232,180,108,.185);border-radius:11px;background:rgba(255,255,255,.018);color:var(--hp-text);text-align:left;cursor:pointer;}
.hpv2-slot-button:hover,.hpv2-slot-button.is-selected{border-color:var(--hp-line-strong);background:rgba(232,180,108,.146);}
.hpv2-slot-button span{display:grid;min-width:0;font-size:.7rem;font-weight:850;line-height:1.25;}
.hpv2-slot-button small{overflow:hidden;color:var(--hp-muted-soft);font-size:.61rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap;}
.hpv2-slot-button strong{flex:0 0 auto;color:var(--hp-accent-strong);font-size:.83rem;}
.hpv2-next-slot{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:5px;margin:13px 0;padding:12px 13px;border:1px solid rgba(232,180,108,.225);border-radius:14px;background:linear-gradient(135deg,rgba(232,180,108,.124),rgba(255,255,255,.02));}
.hpv2-next-slot[hidden]{display:none;}
.hpv2-next-slot span{color:var(--hp-muted-soft);font-size:.65rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;}
.hpv2-next-slot strong{display:block;min-width:0;color:var(--hp-accent-strong);font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:500;line-height:1.1;}
.hpv2-next-slot small{display:block;min-width:0;overflow-wrap:anywhere;white-space:normal;color:var(--hp-muted);font-size:.68rem;line-height:1.45;text-align:left;}
.hpv2-booking-cta{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 16px;border:1px solid #eec07f;border-radius:14px;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;font-size:.82rem;font-weight:900;box-shadow:0 14px 30px rgba(170,96,29,.253);}
.hpv2-booking-cta[aria-disabled="true"]{pointer-events:none;filter:saturate(.4);opacity:.58;}
.hpv2-booking-secondary{display:grid;gap:6px;margin-top:14px;}
.hpv2-booking-secondary p,.hpv2-booking-secondary small{margin:0;color:var(--hp-muted);font-size:.73rem;line-height:1.45;}
.hpv2-booking-secondary a{color:var(--hp-accent-strong);font-size:.8rem;font-weight:850;}

.hpv2-location-card{overflow:hidden;}
.hpv2-location-map{position:relative;height:190px;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(232,180,108,.159),transparent 44%),#170f0b;}
.hpv2-location-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.78) contrast(.94) brightness(.83);}
.hpv2-location-map iframe[hidden]{display:none;}
.hpv2-location-map__preview{display:grid;place-items:center;align-content:center;gap:8px;width:100%;height:100%;padding:20px;text-align:center;}
.hpv2-location-map__preview>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(232,180,108,.253);border-radius:15px;background:rgba(232,180,108,.09);color:var(--hp-accent-strong);font-size:1.2rem;}
.hpv2-location-map__preview>strong{max-width:240px;font-size:.78rem;line-height:1.4;}
.hpv2-location-map__preview>button{min-height:36px;padding:0 12px;border:1px solid var(--hp-line-strong);border-radius:11px;background:rgba(232,180,108,.111);color:var(--hp-accent-strong);font-size:.72rem;font-weight:850;cursor:pointer;}
.hpv2-location-map.is-loaded .hpv2-location-map__preview{display:none;}
.hpv2-location-copy{display:grid;gap:7px;padding:18px;}
.hpv2-location-copy>div{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.hpv2-location-copy>div>span{color:var(--hp-accent);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.hpv2-location-copy>div>small{color:var(--hp-muted);font-size:.62rem;font-weight:800;text-align:right;}
.hpv2-location-copy>div>small[data-state="open"]{color:var(--hp-success);}
.hpv2-location-copy strong{font-size:.86rem;line-height:1.45;}
.hpv2-location-copy a{display:inline-flex;align-items:center;gap:8px;margin-top:5px;color:var(--hp-accent-strong);font-size:.78rem;font-weight:850;}

.hpv2-gallery-lightbox,.hpv2-review-modal,.hpv2-reviews-modal,.hpv2-portfolio-modal,.hpv2-service-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(5,3,2,.78);backdrop-filter:blur(16px);}
.hpv2-gallery-lightbox[hidden],.hpv2-review-modal[hidden],.hpv2-reviews-modal[hidden],.hpv2-portfolio-modal[hidden],.hpv2-service-modal[hidden]{display:none;}
.hpv2-gallery-lightbox figure{position:relative;width:min(1180px,calc(100vw - 140px));height:min(78vh,820px);margin:0;overflow:hidden;border:1px solid rgba(255,239,211,.252);border-radius:22px;background:#0c0806;box-shadow:0 34px 100px rgba(0,0,0,.55);}
.hpv2-gallery-lightbox figure img{display:block;width:100%;height:100%;object-fit:contain;background:#0b0806;}
.hpv2-gallery-lightbox figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:18px;padding:16px 20px;background:linear-gradient(180deg,transparent,rgba(7,4,3,.88));color:#fff4df;font-size:.82rem;}
.hpv2-gallery-lightbox__close,.hpv2-gallery-lightbox__nav{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,239,211,.315);border-radius:999px;background:rgba(14,10,6,.72);color:#fff5e5;cursor:pointer;}
.hpv2-gallery-lightbox__close{top:22px;right:22px;width:46px;height:46px;font-size:1.55rem;}
.hpv2-gallery-lightbox__nav{top:50%;width:48px;height:62px;transform:translateY(-50%);font-size:2rem;}
.hpv2-gallery-lightbox__nav--prev{left:24px;}.hpv2-gallery-lightbox__nav--next{right:24px;}
.hpv2-gallery-lightbox .hpv2-gallery-lightbox__nav[hidden]{display:none;}

.hpv2-review-modal__backdrop,.hpv2-reviews-modal__backdrop,.hpv2-portfolio-modal__backdrop,.hpv2-service-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;}
.hpv2-review-modal__dialog,.hpv2-reviews-modal__dialog,.hpv2-portfolio-modal__dialog,.hpv2-service-modal__dialog{position:relative;z-index:1;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:26px;border:1px solid var(--hp-line-strong);border-radius:24px;background:#170f0b;color:var(--hp-text);box-shadow:0 34px 100px rgba(0,0,0,.55);}
.hpv2-reviews-modal__dialog,.hpv2-portfolio-modal__dialog{width:min(1180px,100%);}
.hpv2-review-modal__close,.hpv2-reviews-modal__close,.hpv2-portfolio-modal__close,.hpv2-service-modal__close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--hp-line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--hp-text);font-size:1.35rem;cursor:pointer;}
.hpv2-review-modal__head,.hpv2-reviews-modal__head,.hpv2-portfolio-modal__head{padding-right:58px;}
.hpv2-review-modal__head>span,.hpv2-reviews-modal__head span,.hpv2-portfolio-modal__head span{color:var(--hp-accent);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.hpv2-review-modal__head h2,.hpv2-reviews-modal__head h2,.hpv2-portfolio-modal__head h2{margin:7px 0;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:500;}
.hpv2-review-modal__head p,.hpv2-reviews-modal__head p,.hpv2-portfolio-modal__head p{color:var(--hp-muted);}
.hpv2-review-modal__body{margin-top:18px;}
.hpv2-review-modal__actions{display:flex;gap:10px;grid-column:1/-1;}
.hpv2-review-modal__actions button{min-height:44px;padding:0 15px;border-radius:12px;font-weight:850;cursor:pointer;}
.hpv2-review-modal__actions button[type=submit]{border:1px solid #eec07f;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;}
.hpv2-review-modal__secondary{border:1px solid var(--hp-line);background:transparent;color:var(--hp-muted);}
.hpv2-reviews-modal__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
/* Service details: compact content layout, with side-by-side media only when present. */
.hpv2-service-modal .hpv2-service-modal__dialog{display:block;width:min(620px,100%);max-height:calc(100dvh - 48px);padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.hpv2-service-modal__dialog:has(> .hpv2-service-modal__media:not([hidden])){display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:min(920px,100%);}
.hpv2-service-modal__media{display:block;width:100%;padding:0;border:0;min-width:0;min-height:300px;max-height:690px;overflow:hidden;background:#0c0806;cursor:zoom-in;}
.hpv2-service-modal__media[hidden]{display:none;}
.hpv2-service-modal__media img{display:block;width:100%;height:100%;max-height:690px;object-fit:cover;}
.hpv2-service-modal__copy{display:flex;flex-direction:column;min-width:0;padding:28px 30px 27px;}
.hpv2-service-modal__copy>span{color:var(--hp-accent);font-size:.69rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;}
.hpv2-service-modal__copy h2{margin:10px 47px 17px 0;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,2.5vw,2.05rem);font-weight:500;line-height:1.19;overflow-wrap:break-word;}
.hpv2-service-modal__meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin:0 0 17px;padding:12px 0;border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line);}
.hpv2-service-modal__meta strong{color:var(--hp-accent-strong);font-size:1.15rem;line-height:1.3;}
.hpv2-service-modal__meta small{color:var(--hp-muted);font-size:.85rem;line-height:1.3;}
.hpv2-service-modal__copy>p{margin:0;color:var(--hp-muted);font-size:.93rem;line-height:1.58;white-space:pre-line;overflow-wrap:anywhere;}
.hpv2-service-modal__actions{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:10px;margin-top:22px;padding-top:0;}
.hpv2-service-modal__actions button{min-width:0;min-height:46px;padding:10px 11px;border-radius:12px;font-size:.86rem;font-weight:850;line-height:1.25;cursor:pointer;}
.hpv2-service-modal__actions button:first-child{border:1px solid #eec07f;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;}
.hpv2-service-modal__secondary{border:1px solid var(--hp-line);background:transparent;color:var(--hp-text);}
.hpv2-service-modal__actions button:focus-visible,.hpv2-service-modal__close:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:3px;}
.hpv2-service-modal .hpv2-service-modal__close{z-index:2;top:14px;right:14px;width:38px;height:38px;font-size:1.16rem;}
@media (max-width:720px){
    .hpv2-service-modal{padding:12px;}
    .hpv2-service-modal .hpv2-service-modal__dialog,.hpv2-service-modal__dialog:has(> .hpv2-service-modal__media:not([hidden])){display:block;width:min(560px,100%);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));padding:0;border-radius:18px;}
    .hpv2-service-modal__media{min-height:0;max-height:210px;aspect-ratio:16/9;}
    .hpv2-service-modal__media img{max-height:210px;}
    .hpv2-service-modal__copy{padding:21px 20px 23px;}
    .hpv2-service-modal__copy h2{margin:9px 45px 14px 0;font-size:clamp(1.36rem,5.5vw,1.78rem);line-height:1.2;}
    .hpv2-service-modal__meta{margin-bottom:15px;padding:10px 0;}
    .hpv2-service-modal__actions{gap:8px;margin-top:20px;}
    .hpv2-service-modal__actions button{font-size:.81rem;padding:9px 7px;}
}
@media (max-width:350px){
    .hpv2-service-modal__copy{padding:19px 16px 20px;}
    .hpv2-service-modal__actions{grid-template-columns:1fr;}
}

.hpv2-reviews-filter,.hpv2-portfolio-modal__filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.hpv2-reviews-filter button,.hpv2-portfolio-modal__filters button{min-height:36px;padding:0 11px;border:1px solid var(--hp-line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--hp-muted);font-size:.8rem;font-weight:800;cursor:pointer;}
.hpv2-reviews-filter button.is-active,.hpv2-portfolio-modal__filters button.is-active{border-color:var(--hp-line-strong);background:rgba(232,180,108,.138);color:var(--hp-accent-strong);}
.hpv2-reviews-filter button:disabled,.hpv2-portfolio-modal__filters button:disabled{opacity:.35;cursor:not-allowed;}
.hpv2-reviews-modal__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.hpv2-review-card--modal>p{-webkit-line-clamp:unset;}
.hpv2-reviews-modal__note,.hpv2-reviews-modal__empty,.hpv2-portfolio-modal__empty{color:var(--hp-muted);}
.hpv2-portfolio-modal__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.hpv2-portfolio-modal__item{margin:0;overflow:hidden;border-radius:15px;background:#0c0806;}
.hpv2-portfolio-modal__item button{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:transparent;cursor:zoom-in;}
.hpv2-portfolio-modal__item img{display:block;width:100%;height:100%;object-fit:cover;}
.hpv2-portfolio-modal__item figcaption{position:absolute;left:8px;bottom:8px;padding:6px 8px;border-radius:999px;background:rgba(12,8,6,.7);color:#fff3df;font-size:.68rem;font-weight:800;backdrop-filter:blur(8px);}
html.halo-gallery-open,html.halo-review-modal-open,html.halo-reviews-modal-open,html.halo-portfolio-modal-open,html.halo-service-modal-open,html.halo-booking-modal-open,html.halo-modal-open{overflow:hidden;}
html.halo-booking-modal-open .halo-profile-v2{overflow:visible;}
html.halo-booking-modal-open .hpv2-shell{z-index:1400;} 
/* A profile modal must own the viewport and never compete with the persistent booking CTA. */
html.halo-modal-open .halo-profile-v2{overflow:visible;}
html.halo-modal-open .hpv2-shell{z-index:1400;}
html.halo-modal-open .hpv2-mobile-cta{display:none;}

.hpv2-mobile-cta{--hp-text:#fff8ee;--hp-accent-strong:#f6d4a0;display:none;}

@media (max-width:1180px){
    .hpv2-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);}
    .hpv2-hero-media{min-height:520px;}
    .hpv2-cover-placeholder{min-height:520px;}
    .hpv2-content-layout{grid-template-columns:minmax(0,1fr) 330px;}
    .hpv2-review-list{grid-template-columns:repeat(2,minmax(0,1fr));}
    .hpv2-review-card>p{-webkit-line-clamp:4;}
    .hpv2-gallery-grid{grid-auto-rows:76px;}
}

@media (max-width:980px){
    .hpv2-shell{width:min(100% - 28px,900px);}
    .hpv2-hero{grid-template-columns:1fr;}
    .hpv2-hero-media{min-height:0;aspect-ratio:16/10;}
    .hpv2-hero.has-no-cover-image .hpv2-hero-media{display:none;}
    .hpv2-cover-placeholder{min-height:0;height:100%;}
    .hpv2-identity-card{min-height:0;}
    .hpv2-action-bar{margin-top:0;}
    .hpv2-profile-nav{top:66px;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;}
    .hpv2-profile-nav::-webkit-scrollbar{display:none;}
    .hpv2-profile-nav a{flex:0 0 128px;}
    .hpv2-intro-contact-grid{grid-template-columns:1fr;gap:12px;margin:0;}
    .hpv2-content-layout{grid-template-columns:1fr;}
    .hpv2-side-col{grid-row:1;}
    .hpv2-side-sticky{position:static;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);}
    .hpv2-location-card{display:grid;grid-template-rows:1fr auto;}
    .hpv2-location-map{height:auto;min-height:180px;}
    .hpv2-reviews-overview{grid-template-columns:230px minmax(0,1fr);}
    .hpv2-portfolio-modal__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:760px){
    .halo-profile-v2{padding-top:18px;padding-bottom:112px;}
    .hpv2-shell{width:min(100% - 20px,680px);}
    .hpv2-intro-contact-grid .hpv2-contact-card{padding:16px;}
    .hpv2-intro-contact-grid .hpv2-contact-links{grid-template-columns:1fr;}
    .hpv2-hero{gap:12px;}
    .hpv2-hero-media{aspect-ratio:1/1;min-height:0;border-radius:22px;}
    .hpv2-identity-card{padding:20px;border-radius:22px;}
    .hpv2-cover-thumbs{right:10px;bottom:10px;gap:5px;}
    .hpv2-cover-thumb{width:43px;height:43px;border-radius:10px;}
    .hpv2-gallery-pill{left:10px;bottom:10px;min-height:33px;padding-inline:10px;}
    .hpv2-identity-topline{margin-bottom:18px;}
    .hpv2-identity-main{align-items:flex-start;}
    .hpv2-logo-showcase,.hpv2-logo-monogram{width:78px;height:78px;border-radius:20px;}
    .hpv2-logo-showcase--horizontal{width:108px;height:68px;}
    .hpv2-logo-showcase--vertical{width:66px;height:88px;}
    .hpv2-identity-copy h1{font-size:clamp(2rem,10vw,3.05rem);}
    .hpv2-hero-description{margin-top:20px;font-size:.93rem;line-height:1.58;}
    .hpv2-hero-facts{grid-template-columns:1fr;gap:7px;margin-top:18px;}
    .hpv2-hero-facts div{grid-template-columns:112px minmax(0,1fr);align-items:center;padding:10px 11px;}
    .hpv2-hero-facts strong{text-align:right;}
    .hpv2-action-bar{grid-template-columns:1fr;margin-top:0;padding-top:20px;}
    .hpv2-primary-action{min-height:48px;}
    .hpv2-utility-actions{display:grid;grid-template-columns:1fr 1fr;}
    .hpv2-utility-actions :is(a,button){justify-content:center;}
    .hpv2-profile-nav{top:58px;margin:12px 0;padding:5px;border-radius:15px;}
    .hpv2-profile-nav a{flex-basis:112px;padding:8px 9px;}
    .hpv2-main-col{gap:12px;}
    .hpv2-section{padding:18px;border-radius:19px;scroll-margin-top:128px;}
    .hpv2-section-head{align-items:flex-start;margin-bottom:16px;}
    .hpv2-section-head h2,.hpv2-contact-intro h2{font-size:1.7rem;}
    .hpv2-section-head p{font-size:.86rem;}
    .hpv2-section-head>a,.hpv2-section-link{min-height:36px;padding:0 10px;}
    .hpv2-side-sticky{grid-template-columns:1fr;gap:12px;}
    .hpv2-booking-layer{display:none;}
    .hpv2-booking-layer.is-open{position:fixed;inset:0;z-index:1250;display:grid;align-items:end;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));}
    .hpv2-booking-layer__backdrop{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:rgba(5,3,2,.72);backdrop-filter:blur(10px);}
    .hpv2-booking-card{position:relative;z-index:1;width:min(100%,680px);max-height:min(92vh,820px);margin:0 auto;overflow:auto;padding:20px;border-radius:22px;box-shadow:0 34px 100px rgba(0,0,0,.58);overscroll-behavior:contain;}
    .hpv2-booking-card__close{position:absolute;top:13px;right:13px;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--hp-line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--hp-text);font-size:1.35rem;cursor:pointer;}
    .hpv2-booking-head{padding-right:46px;}
    .hpv2-booking-field{margin-top:14px;}
    .hpv2-location-card{display:block;border-radius:19px;}
    .hpv2-location-map{height:210px;}
    .hpv2-service-row{grid-template-columns:92px minmax(0,1fr);}
    .hpv2-service-row__media{width:92px;min-height:108px;}
    .hpv2-service-row__body{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;}
    .hpv2-service-row__copy{grid-column:1/-1;}
    .hpv2-service-row__meta{grid-column:1/-1;min-width:0;width:100%;}
    .hpv2-service-row__actions{grid-column:1/-1;justify-content:flex-end;}
    .hpv2-service-details,.hpv2-service-pick,.hpv2-service-inquiry{min-width:0;padding:0 10px;}
    .hpv2-gallery-toolbar{display:grid;gap:10px;}
    .hpv2-gallery-status{justify-self:start;}
    .hpv2-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:78px;gap:7px;}
    .hpv2-gallery-tile{grid-column:span 2;grid-row:span 2;}
    .hpv2-gallery-tile.is-featured{grid-column:span 4;grid-row:span 4;}
    .hpv2-gallery-tile.is-wide{grid-column:span 4;grid-row:span 2;}
    .hpv2-gallery-tile.is-single{grid-column:1/-1;grid-row:span 4;}
    .hpv2-reviews-overview{grid-template-columns:1fr;gap:14px;}
    .hpv2-rating-summary{padding:18px;}
    .hpv2-rating-score{justify-content:flex-start;}
    .hpv2-review-list{grid-template-columns:1fr;}
    .hpv2-specialist-grid,.hpv2-information-layout,.hpv2-contact-layout{grid-template-columns:1fr;}
    .hpv2-contact-head{align-items:flex-start;}
    .hpv2-open-status{justify-self:start;}
    .hpv2-contact-layout{gap:16px;}
    .hpv2-contact-form-wrap{padding:17px;}
    .hpv2-form{grid-template-columns:1fr;}
    .hpv2-form .is-wide{grid-column:1;}
    .hpv2-quote-fields{grid-template-columns:1fr;}
    .hpv2-review-modal,.hpv2-reviews-modal,.hpv2-portfolio-modal,.hpv2-service-modal,.hpv2-gallery-lightbox{padding:10px;}
    .hpv2-review-modal__dialog,.hpv2-reviews-modal__dialog,.hpv2-portfolio-modal__dialog,.hpv2-service-modal__dialog{max-height:calc(100vh - 20px);padding:20px;border-radius:19px;}
    .hpv2-review-modal__dialog{max-height:calc(100dvh - 20px - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;}
    .hpv2-review-modal__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
    .hpv2-review-modal__actions button{min-width:0;padding:9px 8px;font-size:.82rem;}
    .hpv2-reviews-modal__head{display:block;}
    .hpv2-reviews-modal__head .hpv2-section-link{margin-top:10px;}
    .hpv2-reviews-modal__list{grid-template-columns:1fr;}
    .hpv2-portfolio-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .hpv2-gallery-lightbox{padding:calc(72px + env(safe-area-inset-top,0px)) 12px calc(32px + env(safe-area-inset-bottom,0px));overflow:hidden;overscroll-behavior:contain;}
    .hpv2-gallery-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:auto;max-height:calc(100dvh - 120px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;touch-action:pan-y;}
    .hpv2-gallery-lightbox figure img{flex:0 1 auto;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 196px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));object-fit:contain;border-radius:12px;background:transparent;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
    .hpv2-gallery-lightbox figcaption{position:static;display:flex;align-items:flex-start;box-sizing:border-box;width:100%;gap:12px;padding:0 3px;background:none;font-size:.82rem;line-height:1.5;}
    .hpv2-gallery-lightbox figcaption span{flex:1;min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
    .hpv2-gallery-lightbox figcaption b{flex:none;min-width:54px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;}
    .hpv2-gallery-lightbox__close{top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:44px;height:44px;}
    .hpv2-gallery-lightbox__nav{display:none;}
    .hpv2-mobile-cta{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:900;display:grid;grid-template-columns:64px 64px minmax(0,1fr);align-items:center;gap:7px;min-height:56px;padding:5px;border:1px solid rgba(236,188,114,.366);border-radius:16px;background:rgba(16,12,8,.92);box-shadow:0 15px 36px rgba(0,0,0,.36);backdrop-filter:blur(18px);}
    .hpv2-mobile-cta__contact,.hpv2-mobile-cta__favorite{display:grid;place-items:center;align-content:center;gap:2px;width:100%;height:44px;min-height:44px;margin:0;padding:0;border:1px solid rgba(232,180,108,.185);border-radius:11px;background:rgba(255,255,255,.025);color:var(--hp-text);box-shadow:none;}
    .hpv2-mobile-cta__contact span{font-size:1rem;}.hpv2-mobile-cta__contact small{font-size:.63rem;font-weight:800;}
    .hpv2-mobile-cta__favorite .halo-client-favorite__icon{font-size:1.22rem;}
    .hpv2-mobile-cta__booking{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;height:44px;min-height:44px;padding:0 12px;border:1px solid #eec07f;border-radius:11px;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;font-size:.9rem;font-weight:900;text-align:center;touch-action:manipulation;cursor:pointer;}
    .hpv2-mobile-cta__booking:focus-visible{outline:2px solid #fff8ee;outline-offset:2px;}
}

@media (max-width:520px){
    .hpv2-shell{width:calc(100% - 14px);}
    .hpv2-cover-thumbs .hpv2-cover-thumb:nth-child(n+4){display:none;}
    .hpv2-identity-card{padding:17px;}
    .hpv2-identity-main{gap:12px;}
    .hpv2-logo-showcase,.hpv2-logo-monogram{width:66px;height:66px;border-radius:17px;}
    .hpv2-logo-showcase--horizontal{width:92px;height:58px;}
    .hpv2-logo-showcase--vertical{width:58px;height:76px;}
    .hpv2-rating-row{flex-wrap:wrap;gap:5px;}
    .hpv2-tag-row{display:none;}
    .hpv2-utility-actions{grid-template-columns:1fr;}
    .hpv2-utility-actions :is(a,button){min-height:38px;border:1px solid rgba(232,180,108,.138);border-radius:11px;background:rgba(255,255,255,.018);}
    .hpv2-section-head{display:grid;}
    .hpv2-section-head>a,.hpv2-section-link,.hpv2-section-count{justify-self:start;}
    .hpv2-service-row{grid-template-columns:78px minmax(0,1fr);}
    .hpv2-service-row__media{width:78px;}
    .hpv2-service-row__body{padding:10px;}
    .hpv2-service-row__copy p{display:none;}
    .hpv2-service-row__meta{font-size:.72rem;}
    .hpv2-service-row__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;}
    .hpv2-service-details,.hpv2-service-pick,.hpv2-service-inquiry{min-height:36px;padding:0 9px;}
    .hpv2-slot-list{grid-template-columns:1fr;}
    .hpv2-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:116px;}
    .hpv2-gallery-tile{grid-column:span 1;grid-row:span 1;}
    .hpv2-gallery-tile.is-featured{grid-column:1/-1;grid-row:span 2;}
    .hpv2-gallery-tile.is-wide{grid-column:1/-1;grid-row:span 1;}
    .hpv2-gallery-tile.is-single{grid-column:1/-1;grid-row:span 2;}
    .hpv2-gallery-tile figcaption{padding:9px 10px;}
    .hpv2-specialist-card{grid-template-columns:82px minmax(0,1fr);}
    .hpv2-specialist-media,.hpv2-specialist-media img,.hpv2-specialist-placeholder{min-height:108px;}
    .hpv2-specialist-copy{padding:12px;}
    .hpv2-contact-links a{grid-template-columns:34px minmax(0,1fr) auto;padding-inline:10px;}
    .hpv2-contact-links a>i{width:34px;height:34px;}
    .hpv2-location-copy>div{align-items:flex-start;}
    .hpv2-location-copy>div>small{max-width:52%;}
    .hpv2-portfolio-modal__grid{grid-template-columns:1fr 1fr;gap:6px;}
    .hpv2-review-card__author{grid-template-columns:36px minmax(0,1fr);}
    .hpv2-review-stars{grid-column:2;}
    .hpv2-review-avatar{width:36px;height:36px;grid-row:1/3;}
}

@media (prefers-reduced-motion:reduce){
    .halo-profile-v2 *{scroll-behavior:auto;}
    .hpv2-profile-nav a,.hpv2-contact-links a{transition:none;}
}

/* v123 — warstwa zaufania i aktualności danych */
.hpv2-trust-strip{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(232,180,108,.211);border-radius:16px;background:linear-gradient(145deg,rgba(232,180,108,.076),rgba(255,255,255,.018));}
.hpv2-trust-strip__head{text-align:center;}
.hpv2-trust-strip__head h2{margin:0;color:var(--hp-accent);font-size:.69rem;font-weight:900;letter-spacing:.1em;line-height:1.4;text-transform:uppercase;}
.hpv2-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.hpv2-trust-item{appearance:none;display:grid;align-content:center;justify-items:center;gap:7px;min-width:0;min-height:84px;padding:10px 5px;border:1px solid rgba(232,180,108,.146);border-radius:12px;background:rgba(9,6,4,.24);color:var(--hp-text);font:inherit;text-align:center;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;}
.hpv2-trust-item:where(:hover,:focus-visible){border-color:var(--hp-line-strong);background:rgba(232,180,108,.085);}
.hpv2-trust-item:active{transform:scale(.98);}
.hpv2-trust-item:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:2px;}
.hpv2-trust-item__icon{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--hp-line);border-radius:50%;background:rgba(255,255,255,.025);color:var(--hp-accent-strong);}
.hpv2-trust-item__icon svg{display:block;width:21px;height:21px;}
.hpv2-trust-item__label{display:block;min-width:0;max-width:100%;color:var(--hp-text);font-size:.68rem;font-weight:750;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hpv2-trust-item--success{border-color:rgba(143,216,173,.18);background:rgba(143,216,173,.045);}
.hpv2-trust-item--success .hpv2-trust-item__icon{border-color:rgba(143,216,173,.28);color:var(--hp-success);}
.hpv2-trust-item--warning{border-color:rgba(238,171,80,.249);background:rgba(238,171,80,.057);}
.hpv2-trust-item--warning .hpv2-trust-item__icon{border-color:rgba(238,171,80,.332);color:#f2bb6d;}
.hpv2-trust-item--accent .hpv2-trust-item__icon{border-color:var(--hp-line-strong);color:var(--hp-accent-strong);}
@media (max-width:390px){.hpv2-trust-grid{gap:6px}.hpv2-trust-item{min-height:78px;padding:9px 3px}.hpv2-trust-item__label{font-size:.63rem}}
@media (prefers-reduced-motion:reduce){.hpv2-trust-item{transition:none}}
.hpv2-trust-notice{margin:0;}

.hpv2-trust-report-modal{position:fixed;inset:0;z-index:1220;display:grid;place-items:center;padding:24px;background:rgba(5,3,2,.8);backdrop-filter:blur(16px);}
.hpv2-trust-report-modal[hidden]{display:none;}
.hpv2-trust-report-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;}
.hpv2-trust-report-modal__dialog{position:relative;z-index:1;width:min(780px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;border:1px solid var(--hp-line-strong);border-radius:24px;background:linear-gradient(145deg,#1c130e,#120c09);color:var(--hp-text);box-shadow:0 34px 100px rgba(0,0,0,.58);}
.hpv2-trust-report-modal__close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--hp-line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--hp-text);font-size:1.35rem;cursor:pointer;}
.hpv2-trust-report-modal__head{padding-right:58px;}
.hpv2-trust-report-modal__head>span{color:var(--hp-accent);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.hpv2-trust-report-modal__head h2{margin:7px 0;color:var(--hp-text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3vw,2.55rem);font-weight:500;}
.hpv2-trust-report-modal__head p{max-width:620px;margin-bottom:0;color:var(--hp-muted);line-height:1.6;}
.hpv2-trust-report-modal__body{margin-top:20px;}
.hpv2-trust-report-form{grid-template-columns:repeat(2,minmax(0,1fr));}
.hpv2-trust-report-modal__actions{display:flex;gap:10px;grid-column:1/-1;}
.hpv2-trust-report-modal__actions button{min-height:44px;padding:0 15px;border-radius:12px;font-weight:850;cursor:pointer;}
.hpv2-trust-report-modal__actions button[type=submit]{border:1px solid #eec07f;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;}
.hpv2-trust-report-modal__secondary{border:1px solid var(--hp-line);background:transparent;color:var(--hp-muted);}
html.halo-trust-report-modal-open{overflow:hidden;}
.hpv2-trust-info-modal__dialog{width:min(420px,100%);padding:25px 22px 22px;text-align:center;}
.hpv2-trust-info-modal__icon{display:grid;place-items:center;margin:0 auto 16px;}
.hpv2-trust-info-modal__icon .hpv2-trust-item__icon{width:50px;height:50px;}
.hpv2-trust-info-modal__icon .hpv2-trust-item__icon svg{width:27px;height:27px;}
.hpv2-trust-info-modal__head{padding-right:0;}
.hpv2-trust-info-modal__head h2{margin:10px 0;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1.2;}
.hpv2-trust-info-modal__head p{margin:0;color:var(--hp-muted);font-size:.9rem;line-height:1.6;overflow-wrap:anywhere;}
.hpv2-trust-info-modal__done{min-height:44px;margin-top:22px;padding:0 28px;border:1px solid #eec07f;border-radius:12px;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;font:inherit;font-weight:800;cursor:pointer;}
.hpv2-trust-info-modal__done:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:4px;}
html.halo-trust-info-modal-open{overflow:hidden;}


@media (max-width:980px){

    .hpv2-trust-report-modal{padding:10px;}
    .hpv2-trust-report-modal__dialog{max-height:calc(100vh - 20px);padding:20px;border-radius:19px;}
}
@media (max-width:620px){



    .hpv2-trust-report-form{grid-template-columns:1fr;}
    .hpv2-trust-report-form .is-wide{grid-column:1;}
    .hpv2-trust-report-modal__actions{display:grid;grid-template-columns:1fr;}
}

/* TaskLine Beauty package catalog */
.hpv2-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hpv2-package-card{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid rgba(24,28,38,.09);border-radius:18px;background:var(--surface,#fff);box-shadow:0 10px 28px rgba(25,28,38,.05)}
.hpv2-package-card__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.hpv2-package-card__head span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.62}.hpv2-package-card__head h3{margin:4px 0 0;font-size:1.05rem}.hpv2-package-card__head strong{white-space:nowrap;font-size:1.05rem}
.hpv2-package-card>p{margin:0;opacity:.78;line-height:1.55}.hpv2-package-card ul{margin:0;padding-left:18px;display:grid;gap:5px}.hpv2-package-card__meta{display:flex;flex-wrap:wrap;gap:8px}.hpv2-package-card__meta span{padding:6px 9px;border-radius:999px;background:rgba(24,28,38,.055);font-size:.78rem}.hpv2-package-card__cta{margin-top:auto;border:0;border-radius:12px;padding:11px 13px;font:inherit;font-weight:700;cursor:pointer;background:rgba(24,28,38,.07);color:inherit;text-align:left;display:flex;justify-content:space-between;gap:10px}
@media(max-width:760px){.hpv2-package-grid{grid-template-columns:1fr}.hpv2-package-card{padding:15px}}

/* iOS keyboard-safe profile forms: prevent Safari text-field auto-zoom. */
.halo-profile-v2 .hpv2-form :is(input:not([type="hidden"]),select,textarea){
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
    font-size:16px;
    line-height:1.35;
}
@media (max-width:760px){
    .hpv2-review-modal,.hpv2-trust-report-modal{
        top:var(--hpv2-keyboard-viewport-top,0px);
        bottom:auto;
        height:var(--hpv2-keyboard-viewport-height,100dvh);
        min-height:0;
        max-height:none;
        padding:10px;
        overflow:hidden;
        align-items:center;
    }
    .hpv2-review-modal__dialog,.hpv2-trust-report-modal__dialog{
        box-sizing:border-box;
        min-height:0;
        max-height:100%;
        max-width:100%;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        scroll-padding-block:20px;
    }
    .hpv2-review-modal .hpv2-form,.hpv2-trust-report-modal .hpv2-form{
        min-width:0;
        grid-template-columns:minmax(0,1fr);
    }
    .hpv2-review-modal .hpv2-form label,.hpv2-trust-report-modal .hpv2-form label{
        min-width:0;
    }
}

/* Premium visual language for the explicit Pink Studio comparison preview.
   The mockup never activates subscription or quality awards. */
.hpv2-recognition-preview{
    display:grid;
    gap:12px;
    margin:16px 0 19px;
    padding:15px;
    border:1px solid rgba(201,144,72,.66);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(248,224,178,.2),rgba(154,80,107,.12) 90%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 13px 29px rgba(62,33,32,.1);
}
.hpv2-recognition-preview__note{
    margin:0;
    color:#754b27;
    font-size:.72rem;
    line-height:1.42;
    letter-spacing:.065em;
    font-weight:900;
}
.hpv2-recognition-preview__badges{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:8px;
    min-width:0;
}
.hpv2-recognition-preview__badges .halo-featured-card__recognition{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    min-width:0;
    min-height:45px;
    padding:9px 8px;
    border-radius:12px;
    box-sizing:border-box;
    font-size:.8rem;
    font-weight:900;
    letter-spacing:0;
    line-height:1.2;
    text-align:center;
    white-space:normal;
    text-wrap:balance;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 16px rgba(54,22,17,.13);
}
.hpv2-recognition-preview__badges .halo-featured-card__recognition svg{
    flex:none;width:17px;height:17px;
    fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;
}
.hpv2-recognition-preview__badges .hpv2-preview-badge--best{
    color:#38240f;
    background:linear-gradient(135deg,#ffedbd,#eabc77 56%,#ce9140);
    border:1px solid #e2ad60;
}
.hpv2-recognition-preview__badges .hpv2-preview-badge--rated{
    color:#fff2de;
    background:linear-gradient(115deg,#795431,#53321f);
    border:1px solid #b98d5f;
}
.hpv2-recognition-preview__badges .hpv2-preview-badge--premium{
    grid-column:1/-1;
    color:#fff4f8;
    background:linear-gradient(120deg,#8f3a63,#662743 58%,#442037);
    border:1px solid #d786aa;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.21),0 7px 17px rgba(106,28,60,.22);
    letter-spacing:.07em;
    text-transform:uppercase;
}
@media(min-width:760px){
    .hpv2-recognition-preview__badges{grid-template-columns:repeat(3,minmax(0,1fr))}
    .hpv2-recognition-preview__badges .hpv2-preview-badge--premium{grid-column:auto}
}
@media(max-width:420px){
    .hpv2-recognition-preview{padding:12px}
    .hpv2-recognition-preview__badges{gap:7px}
    .hpv2-recognition-preview__badges .halo-featured-card__recognition{font-size:.77rem;min-height:44px;padding:8px 5px}
}

/* DSA: report a specific photograph from the public gallery. */
.hpv2-portfolio-modal__report{
  display:inline-flex;align-items:center;min-height:34px;margin:4px 9px 9px;
  padding:4px 6px;font-size:.72rem;font-weight:700;line-height:1.3;
  color:var(--hp-muted);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;border-radius:6px;
}
.hpv2-portfolio-modal__report:hover,.hpv2-portfolio-modal__report:focus-visible{
  color:var(--hp-accent-strong);outline-offset:2px;
}

/* Compact portfolio preview: one feature image and four supporting photos. */
.hpv2-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:clamp(145px,18vw,200px);gap:10px;}
.hpv2-gallery-grid>.hpv2-gallery-tile{grid-column:span 1;grid-row:span 1;}
.hpv2-gallery-grid>.hpv2-gallery-tile.is-featured{grid-column:1/-1;grid-row:span 2;}
.hpv2-gallery-grid>.hpv2-gallery-tile figcaption span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;}
.hpv2-gallery-full-cta{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:12px;width:100%;min-height:62px;margin-top:14px;padding:11px 15px;border:1px solid rgba(232,180,108,.38);border-radius:17px;background:linear-gradient(115deg,rgba(220,169,107,.19),rgba(65,42,28,.88));color:var(--hp-text);text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.hpv2-gallery-full-cta:hover,.hpv2-gallery-full-cta:focus-visible{border-color:var(--hp-accent);background:linear-gradient(115deg,rgba(220,169,107,.27),rgba(75,48,30,.96));}
.hpv2-gallery-full-cta>span:first-child{font-size:.94rem;font-weight:850;letter-spacing:.01em;}
.hpv2-gallery-full-cta strong{color:var(--hp-accent-strong);font-size:.76rem;font-weight:800;white-space:nowrap;}
.hpv2-gallery-full-cta__arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(239,200,149,.25);border-radius:50%;font-size:1.05rem;}
.hpv2-portfolio-modal__filters{position:sticky;top:-20px;z-index:3;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:10px 0;margin:8px 0 4px;background:#170f0b;scrollbar-width:thin;overscroll-behavior-inline:contain;}
.hpv2-portfolio-modal__filters button{flex:none;white-space:nowrap;}
.hpv2-portfolio-modal__status{margin:0 0 11px;color:var(--hp-muted);font-size:.74rem;}
.hpv2-portfolio-modal__item figcaption{max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html.halo-gallery-open .hpv2-gallery-lightbox{z-index:1600;}
@media(max-width:520px){
  .hpv2-gallery-grid{grid-auto-rows:clamp(110px,31vw,148px);gap:9px;}
  .hpv2-gallery-full-cta{gap:8px;min-height:58px;padding:10px 11px;}
  .hpv2-gallery-full-cta>span:first-child{font-size:.88rem;}
  .hpv2-gallery-full-cta strong{font-size:.71rem;}
  .hpv2-portfolio-modal__filters{top:-20px;}
}


/* Throttle media endpoint requests in the full portfolio; avoid exposing broken-image alt text. */
.hpv2-portfolio-modal__item{position:relative;}
.hpv2-portfolio-modal__item button[data-halo-gallery-open]{background:linear-gradient(125deg,#211711,#38271d,#211711);}
.hpv2-portfolio-modal__item img[data-halo-portfolio-image]{opacity:0;transition:opacity .22s ease;}
.hpv2-portfolio-modal__item img[data-halo-portfolio-image].is-loaded{opacity:1;}
.hpv2-portfolio-modal__retry{display:block;width:calc(100% - 18px);min-height:38px;margin:7px 9px 0;padding:7px;border:1px solid rgba(232,180,108,.48);border-radius:9px;background:rgba(232,180,108,.13);color:var(--hp-text);font-size:.73rem;font-weight:750;cursor:pointer;}
.hpv2-portfolio-modal__retry[hidden]{display:none;}


/* Public salon UX: readable identity, compact cover and location on phones.
   Keep the original media and use object-fit:contain for every logo. */
.hpv2-logo-showcase{
  border-color:rgba(239,200,149,.48);
  background:linear-gradient(145deg,#fffdf9,#f2e8df);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),0 12px 30px rgba(0,0,0,.27);
}
@media(max-width:760px){
  .hpv2-hero.has-cover-image .hpv2-hero-media{aspect-ratio:4/3;}
  .hpv2-cover-thumbs .hpv2-cover-thumb:nth-child(n+4){display:none;}
  .hpv2-location-card{display:flex;flex-direction:column;}
  .hpv2-location-copy{order:0;gap:6px;padding:14px 16px 10px;}
  .hpv2-location-copy strong{font-size:.88rem;}
  .hpv2-location-map,
  .hpv2-intro-contact-grid .hpv2-location-map{order:1;height:88px;min-height:0;}
  .hpv2-location-map.is-loaded,
  .hpv2-intro-contact-grid .hpv2-location-map.is-loaded{height:218px;}
  .hpv2-location-map__preview{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    place-items:center stretch;
    gap:9px;
    padding:10px 14px;
    text-align:left;
  }
  .hpv2-location-map__preview>span{width:32px;height:32px;border-radius:10px;}
  .hpv2-location-map__preview>strong{min-width:0;max-width:none;font-size:.72rem;line-height:1.25;overflow-wrap:anywhere;}
  .hpv2-location-map__preview>button{min-height:40px;margin:0;padding:0 10px;white-space:nowrap;}
}
@media(max-width:360px){
  .hpv2-location-map__preview{grid-template-columns:minmax(0,1fr) auto;}
  .hpv2-location-map__preview>span{display:none;}
}


/* Keep original portrait/landscape composition in public salon photo surfaces. */
.hpv2-cover-main{isolation:isolate;background:#120c0a;}
.hpv2-cover-main [data-halo-cover-backdrop]{
    position:absolute;inset:-32px;z-index:0;
    display:block;width:calc(100% + 64px);height:calc(100% + 64px);
    object-fit:cover;filter:blur(28px) brightness(.44) saturate(.83);
    transform:scale(1.04);pointer-events:none;
}
.hpv2-cover-main [data-halo-cover-image]{
    position:relative;z-index:1;display:block;width:100%;height:100%;
    object-fit:contain;transform:none;
}
.hpv2-cover-main:hover [data-halo-cover-image]{transform:none;filter:saturate(1.05);}
.hpv2-cover-main:hover [data-halo-cover-backdrop]{transform:scale(1.04);filter:blur(28px) brightness(.44) saturate(.83);}
.hpv2-cover-main .hpv2-cover-shade{z-index:2;}
.hpv2-cover-main .hpv2-gallery-pill{z-index:3;}
.hpv2-cover-thumb img{object-fit:contain;}

/* A two-column photographic flow lets each inline image retain its intrinsic ratio. */
.hpv2-gallery-grid{display:block;columns:2;column-gap:10px;}
.hpv2-gallery-grid>.hpv2-gallery-tile,
.hpv2-gallery-grid>.hpv2-gallery-tile.is-featured{
    display:block;width:100%;height:auto;margin:0 0 10px;
    break-inside:avoid;grid-column:auto;grid-row:auto;
}
.hpv2-gallery-grid>.hpv2-gallery-tile[hidden]{display:none;}
.hpv2-gallery-grid>.hpv2-gallery-tile button{height:auto;}
.hpv2-gallery-grid>.hpv2-gallery-tile img{width:100%;height:auto;object-fit:contain;}
.hpv2-gallery-grid>.hpv2-gallery-tile button:hover img{transform:none;filter:saturate(1.06);}
.hpv2-gallery-grid>.hpv2-gallery-tile.is-featured{border-color:rgba(232,180,108,.36);}

/* The complete portfolio is a masonry-like photographic layout, not fixed 4:3 crops. */
.hpv2-portfolio-modal__grid{display:block;columns:4;column-gap:10px;}
.hpv2-portfolio-modal__item{break-inside:avoid;margin:0 0 10px;}
.hpv2-portfolio-modal__item button[data-halo-gallery-open]{height:auto;aspect-ratio:auto;}
.hpv2-portfolio-modal__item img[data-halo-portfolio-image]{
    display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
}
@media(max-width:980px){
    .hpv2-portfolio-modal__grid{columns:3;}
    .hpv2-hero.has-cover-image .hpv2-hero-media[data-halo-image-orientation="portrait"]{aspect-ratio:4/5;max-height:750px;}
}
@media(max-width:760px){
    .hpv2-portfolio-modal__grid{columns:2;}
    .hpv2-hero.has-cover-image .hpv2-hero-media[data-halo-image-orientation="portrait"]{aspect-ratio:4/5;max-height:min(78dvh,660px);}
    .hpv2-hero.has-cover-image .hpv2-hero-media[data-halo-image-orientation="landscape"]{aspect-ratio:16/10;}
}
@media(max-width:400px){
    .hpv2-portfolio-modal__grid{columns:2;column-gap:7px;}
    .hpv2-portfolio-modal__item{margin-bottom:7px;}
    .hpv2-gallery-grid{column-gap:7px;}
    .hpv2-gallery-grid>.hpv2-gallery-tile{margin-bottom:7px;}
}

/* Mobile salon profile: premium reading hierarchy and unobstructed actions. */
.hpv2-fact-icon,.hpv2-hero-social__name{display:none;}
.hpv2-action-icon{display:block;flex:0 0 auto;width:20px;height:20px;}
.hpv2-utility-actions svg{display:block;flex:0 0 auto;width:17px;height:17px;}

@media (max-width:760px){
    .halo-profile-v2{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px));}
    .hpv2-shell{width:min(calc(100% - 22px),680px);}
    .hpv2-hero{position:relative;gap:12px;}
    .hpv2-hero.has-cover-image .hpv2-hero-media:not([data-halo-image-orientation="portrait"]):not([data-halo-image-orientation="landscape"]){aspect-ratio:3/2;}
    .hpv2-hero-media{border-radius:22px;box-shadow:0 16px 36px rgba(0,0,0,.22);}
    .hpv2-hero-media .hpv2-cover-shade{background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 35%,transparent 70%,rgba(10,6,4,.36));}
    .hpv2-cover-thumbs{left:0;right:0;bottom:12px;justify-content:center;gap:8px;}
    .hpv2-cover-thumbs .hpv2-cover-thumb{width:9px;height:9px;border:0;border-radius:999px;background:rgba(255,244,229,.55);box-shadow:0 1px 6px rgba(0,0,0,.25);transform:none;}
    .hpv2-cover-thumbs .hpv2-cover-thumb.is-active{width:34px;background:#eabe76;}
    .hpv2-cover-thumbs .hpv2-cover-thumb img,.hpv2-cover-thumbs .hpv2-cover-thumb span{opacity:0;}
    .hpv2-hero-media:has(.hpv2-cover-thumbs) .hpv2-gallery-pill{display:none;}
    .hpv2-identity-card{padding:24px 18px 18px;border-radius:22px;background:linear-gradient(160deg,#241b15,#170f0d 82%);}
    .hpv2-identity-topline{position:absolute;z-index:5;top:14px;right:14px;width:auto;margin:0;pointer-events:none;}
    .hpv2-identity-badges{display:none;}
    .hpv2-hero.has-no-cover-image .hpv2-identity-topline{position:static;z-index:auto;align-self:stretch;justify-content:space-between;width:auto;margin-bottom:16px;pointer-events:auto;}
    .hpv2-hero.has-no-cover-image .hpv2-identity-badges{display:flex;}
    .hpv2-hero-tools{gap:9px;pointer-events:auto;}
    .hpv2-icon-action,.hpv2-favorite-action{width:44px;height:44px;min-height:44px;border-color:rgba(245,203,138,.48);background:rgba(22,13,10,.64);color:#ffe2b5;backdrop-filter:blur(10px);}
    .hpv2-identity-main{align-items:center;gap:14px;}
    .hpv2-logo-showcase,.hpv2-logo-monogram{width:78px;height:78px;border-radius:20px;}
    .hpv2-logo-showcase--horizontal{width:100px;height:65px;}
    .hpv2-logo-showcase--vertical{width:65px;height:88px;}
    .hpv2-identity-copy>p{margin:0 0 6px;color:#cfbaa0;font-size:.69rem;line-height:1.35;letter-spacing:.095em;}
    .hpv2-identity-copy h1{margin:0 0 9px;font-size:clamp(1.9rem,7.6vw,2.65rem);line-height:1.07;letter-spacing:-.035em;overflow-wrap:normal;}
    .hpv2-rating-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
    .hpv2-rating-row strong{font-size:.92rem;}
    .hpv2-rating-row span{letter-spacing:0;font-size:1rem;}
    .hpv2-rating-row small{font-size:.76rem;}
    .hpv2-hero-description{margin:21px 0 0;color:#d6c7b9;font-size:.91rem;line-height:1.61;}
    .hpv2-hero-facts{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:20px;}
    .hpv2-hero-facts .hpv2-fact{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:11px 13px;border:1px solid rgba(233,188,118,.28);border-radius:16px;background:linear-gradient(130deg,rgba(255,255,255,.025),rgba(255,255,255,.008));}
    .hpv2-fact-icon{display:grid;place-items:center;color:#e9b76a;}
    .hpv2-fact-icon svg{width:25px;height:25px;}
    .hpv2-hero-facts .hpv2-fact-label{max-width:154px;color:#c1ac96;font-size:.68rem;font-weight:850;line-height:1.4;letter-spacing:.07em;}
    .hpv2-hero-facts .hpv2-fact strong{max-width:164px;min-width:0;overflow:visible;font-size:.9rem;font-weight:900;line-height:1.4;text-align:right;overflow-wrap:anywhere;}
    .hpv2-action-bar{display:grid;grid-template-columns:1fr;gap:10px;padding-top:20px;}
    .hpv2-primary-action{min-height:54px;border-radius:15px;font-size:.89rem;line-height:1.35;}
    .hpv2-primary-action{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:10px;padding:10px 15px;box-shadow:0 12px 24px rgba(168,102,42,.17);text-align:center;}
    
    .hpv2-utility-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px;}
    .hpv2-utility-actions>button{display:flex;justify-content:center;gap:7px;min-height:48px;padding:8px 9px;border:1px solid rgba(233,188,118,.27);border-radius:13px;background:rgba(255,255,255,.014);font-size:.77rem;font-weight:750;}
    .hpv2-utility-actions>button svg{width:19px;height:19px;color:#e9b76a;}
    .hpv2-hero-social{grid-column:1/-1;width:100%;margin:0;padding:0;}
    .hpv2-hero-social>div{display:grid;width:100%;gap:8px;}
    .hpv2-hero-social a{box-sizing:border-box;display:grid;grid-template-columns:22px minmax(0,1fr) auto;place-items:center start;gap:11px;width:100%;min-height:48px;height:auto;padding:9px 14px;border-radius:13px;background:rgba(255,255,255,.014);}
    .hpv2-hero-social a svg{width:19px;height:19px;}
    .hpv2-hero-social__name{display:block;color:#e4d5c5;font-size:.83rem;font-weight:700;}
    .hpv2-hero-social a::after{content:"›";justify-self:end;color:#e9b76a;font-size:1.35rem;line-height:1;}
    .hpv2-trust-strip{gap:12px;margin-top:13px;padding:14px 12px;border-radius:19px;background:linear-gradient(160deg,rgba(234,185,115,.065),rgba(255,255,255,.008));}
    .hpv2-trust-strip__head h2{font-family:Georgia,"Times New Roman",serif;font-size:.88rem;font-weight:700;letter-spacing:.075em;}
    .hpv2-trust-grid{gap:0;overflow:hidden;border:1px solid rgba(170,187,151,.22);border-radius:15px;background:rgba(11,16,11,.22);}
    .hpv2-trust-item{position:relative;min-height:96px;gap:8px;padding:12px 5px;border:0;border-radius:0;background:transparent;}
    .hpv2-trust-item+.hpv2-trust-item::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:rgba(235,208,168,.18);}
    .hpv2-trust-item__icon{width:39px;height:39px;}
    .hpv2-trust-item__label{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;font-size:.71rem;line-height:1.3;}
    .hpv2-mobile-cta{left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom,0px));grid-template-columns:52px minmax(0,1fr);min-height:62px;gap:9px;padding:7px;border-radius:19px;background:rgba(18,12,9,.95);}
    .hpv2-mobile-cta__favorite{width:52px;height:50px;min-height:50px;border-color:rgba(232,180,108,.31);border-radius:14px;}
    .hpv2-mobile-cta__booking{height:auto;min-height:50px;gap:10px;border-radius:13px;font-size:.88rem;line-height:1.3;padding:9px 12px;}
}
@media(max-width:380px){
    .hpv2-identity-card{padding:21px 15px 17px;}
    .hpv2-identity-main{gap:10px;}
    .hpv2-logo-showcase,.hpv2-logo-monogram{width:66px;height:66px;border-radius:16px;}
    .hpv2-logo-showcase--horizontal{width:92px;height:58px;}
    .hpv2-logo-showcase--vertical{width:58px;height:76px;}
    .hpv2-identity-copy h1{font-size:clamp(1.75rem,7.8vw,2.1rem);}
    .hpv2-hero-facts .hpv2-fact{grid-template-columns:28px minmax(0,1fr) auto;gap:7px;padding:10px;}
    .hpv2-hero-facts .hpv2-fact-label{font-size:.64rem;}
    .hpv2-hero-facts .hpv2-fact strong{font-size:.84rem;max-width:118px;}
    .hpv2-utility-actions>button{font-size:.7rem;padding-inline:5px;}
}
/* Mobile salon profile: a single booking action in the persistent bottom bar. */
@media (max-width: 760px) {
    .hpv2-action-bar { display: none; }

}

/* Profile social actions: on the photo on desktop, opposite share/favorite on mobile. */
.hpv2-hero{position:relative;}
.hpv2-hero-quicklinks{
    position:absolute;z-index:6;top:18px;left:18px;
    display:flex;align-items:center;max-width:calc(100% - 36px);
    pointer-events:none;
}
.hpv2-hero-quicklinks>.hpv2-hero-social{
    display:flex;position:static;z-index:auto;width:auto;max-width:100%;
    margin:0;padding:0;pointer-events:auto;
}
.hpv2-hero-quicklinks>.hpv2-hero-social>div{
    display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:auto;
}
.hpv2-hero-quicklinks>.hpv2-hero-social a{
    box-sizing:border-box;display:grid;grid-template-columns:1fr;
    place-items:center;flex:0 0 auto;gap:0;
    width:46px;height:46px;min-height:46px;padding:0;
    border:1px solid rgba(247,207,145,.52);border-radius:15px;
    background:rgba(20,13,10,.76);color:#ffe0ac;
    box-shadow:0 9px 26px rgba(0,0,0,.3);
    backdrop-filter:blur(14px);
}
.hpv2-hero-quicklinks>.hpv2-hero-social a:is(:hover,:focus-visible){
    border-color:rgba(255,225,174,.9);background:rgba(31,19,12,.94);
}
.hpv2-hero-quicklinks>.hpv2-hero-social a svg{width:21px;height:21px;}
.hpv2-hero-quicklinks>.hpv2-hero-social .hpv2-hero-social__name{display:none;}
.hpv2-hero-quicklinks>.hpv2-hero-social a::after{content:none;display:none;}
.hpv2-hero.has-no-cover-image .hpv2-hero-quicklinks{
    position:static;z-index:auto;max-width:100%;margin:0;pointer-events:auto;
}
@media(max-width:760px){
    .hpv2-hero.has-cover-image>.hpv2-hero-media{display:none!important;}
    .hpv2-hero .hpv2-identity-topline,
    .hpv2-hero.has-no-cover-image .hpv2-identity-topline{
        position:static;z-index:auto;display:flex;align-items:center;
        justify-content:space-between;gap:8px;
        width:100%;margin:0 0 17px;pointer-events:auto;
    }
    .hpv2-hero .hpv2-identity-badges{display:flex;}
    .hpv2-hero .hpv2-identity-topline:has(.hpv2-hero-quicklinks) .hpv2-identity-badges{
        display:none;
    }
    .hpv2-hero .hpv2-hero-quicklinks{
        position:static;z-index:auto;flex:0 1 auto;min-width:0;
        margin:0;padding:0;max-width:100%;pointer-events:auto;
    }
    .hpv2-hero .hpv2-hero-quicklinks>.hpv2-hero-social a{
        width:44px;height:44px;min-height:44px;border-radius:13px;
        background:rgba(235,183,105,.075);
        box-shadow:none;backdrop-filter:none;
    }
    .hpv2-hero .hpv2-hero-tools{
        flex:0 0 auto;min-width:0;margin-left:auto;pointer-events:auto;
    }
}
/* Guest reservation method selection — reuses canonical booking entry points. */
.hpv2-booking-choice-modal{
    position:fixed;inset:0;z-index:1270;display:grid;place-items:center;
    padding:16px;background:rgba(5,3,2,.84);backdrop-filter:blur(12px);
}
.hpv2-booking-choice-modal[hidden]{display:none!important}
.hpv2-booking-choice-modal__backdrop{
    position:absolute;inset:0;border:0;background:transparent;cursor:pointer;
}
.hpv2-booking-choice-modal__dialog{
    position:relative;z-index:1;box-sizing:border-box;width:min(490px,100%);
    max-height:calc(100dvh - 32px);overflow:auto;padding:31px;
    border:1px solid var(--hp-line-strong);border-radius:22px;
    background:#1a100b;color:var(--hp-text);box-shadow:0 28px 85px rgba(0,0,0,.58);
}
.hpv2-booking-choice-modal__close{
    position:absolute;top:13px;right:13px;display:grid;place-items:center;
    width:44px;height:44px;padding:0;border:1px solid var(--hp-line);
    border-radius:50%;background:rgba(255,255,255,.04);color:var(--hp-text);
    font:inherit;font-size:1.65rem;cursor:pointer;
}
.hpv2-booking-choice-modal__eyebrow{
    display:block;padding-right:48px;color:var(--hp-accent);
    font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:850;
}
.hpv2-booking-choice-modal__dialog h2{
    margin:13px 30px 10px 0;color:var(--hp-text);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.65rem,4vw,2.15rem);line-height:1.2;
}
.hpv2-booking-choice-modal__dialog p{
    margin:0;color:var(--hp-muted);font-size:.92rem;line-height:1.6;
}
.hpv2-booking-choice-modal__actions{
    display:grid;grid-template-columns:1fr;gap:12px;margin-top:25px;
}
.hpv2-booking-choice-modal__action{
    display:flex;align-items:center;justify-content:center;text-align:center;
    box-sizing:border-box;min-height:50px;padding:12px 16px;
    border:1px solid var(--hp-line-strong);border-radius:13px;
    text-decoration:none;font-weight:850;font-size:.96rem;
}
.hpv2-booking-choice-modal__action--primary{
    background:linear-gradient(135deg,#f0cb8e,#d69b50);color:#251507;
}
.hpv2-booking-choice-modal__action--secondary{
    background:rgba(248,222,182,.065);color:#f6d19d;
}
.hpv2-booking-choice-modal__action:hover{filter:brightness(1.12)}
.hpv2-booking-choice-modal__action:focus-visible,
.hpv2-booking-choice-modal__close:focus-visible{outline:3px solid #f1c782;outline-offset:3px}
@media(max-width:620px){
    .hpv2-booking-choice-modal{padding:10px}
    .hpv2-booking-choice-modal__dialog{
        padding:27px 20px 23px;border-radius:18px;
        max-height:calc(100dvh - 20px - env(safe-area-inset-bottom,0px));
    }
}

/* Desktop portfolio preview: compact cards; preserve the mobile photographic flow. */
@media (min-width:761px){
  .hpv2-gallery-grid{
    display:grid;
    columns:auto;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-flow:dense;
    grid-auto-rows:clamp(116px,10vw,154px);
    gap:10px;
  }
  .hpv2-gallery-grid>.hpv2-gallery-tile{
    display:block;width:auto;height:auto;margin:0;
    grid-column:span 1;grid-row:span 1;
  }
  .hpv2-gallery-grid>.hpv2-gallery-tile.is-featured{
    grid-column:span 2;grid-row:span 2;
  }
  .hpv2-gallery-grid>.hpv2-gallery-tile.is-wide{
    grid-column:span 2;grid-row:span 1;
  }
  .hpv2-gallery-grid>.hpv2-gallery-tile.is-single{
    grid-column:span 2;grid-row:span 2;
  }
  .hpv2-gallery-grid>.hpv2-gallery-tile button{height:100%}
  .hpv2-gallery-grid>.hpv2-gallery-tile img{
    width:100%;height:100%;object-fit:cover;
  }
}
@media (min-width:761px) and (max-width:1100px){
  .hpv2-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-rows:124px;
  }
}
/* Social links replace the generic profile label in the desktop hero card. */
@media (min-width:761px){
    .hpv2-hero .hpv2-hero-quicklinks{
        position:static;inset:auto;flex:0 1 auto;min-width:0;
        max-width:100%;margin:0;pointer-events:auto;
    }
    .hpv2-hero .hpv2-hero-quicklinks>.hpv2-hero-social a{
        width:42px;height:42px;min-height:42px;
        border:1px solid var(--hp-line);border-radius:50%;
        background:rgba(255,255,255,.035);color:var(--hp-accent-strong);
        box-shadow:none;backdrop-filter:none;
    }
    .hpv2-hero .hpv2-hero-tools{margin-left:auto}
}

/* Desktop salon profile: two independent, gap-free content columns. */
@media (min-width:981px){
  .hpv2-content-layout.has-desktop-location-sidebar{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,360px);
    gap:22px;
    align-items:start;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-main-col{
    display:flex;flex-direction:column;gap:22px;min-width:0;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-intro-contact-grid{
    display:contents;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-intro-contact-grid>.hpv2-gallery-card{
    min-width:0;margin:0;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-main-col>.hpv2-reviews-card{
    min-width:0;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-col{
    min-width:0;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky{
    position:static;top:auto;display:grid;gap:22px;align-content:start;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-booking-layer{display:contents;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-booking-card{
    width:100%;max-height:none;margin:0;overflow:visible;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-contact-card{
    display:flex;flex-direction:column;padding:20px;min-width:0;margin:0;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-contact-card .hpv2-contact-layout{
    grid-template-columns:minmax(0,1fr);gap:14px;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-contact-card .hpv2-contact-links{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-contact-card .hpv2-contact-links>a:last-child:nth-child(odd){
    grid-column:1/-1;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-contact-card .hpv2-contact-links strong{
    overflow-wrap:anywhere;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-location-card{
    display:flex;flex-direction:column;min-width:0;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-location-card .hpv2-location-map{
    height:270px;min-height:270px;flex:none;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-location-card .hpv2-location-copy{
    grid-template-columns:minmax(0,1fr);
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-location-card .hpv2-location-copy>a{
    grid-column:1/-1;
  }
}
@media (min-width:761px) and (max-width:980px) {
  .hpv2-intro-contact-grid>.hpv2-gallery-card{margin-top:10px;}
}

/* Desktop salon profile: place opening hours below the map; keep FAQ compact. */
@media (min-width:981px){
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-information-card{
    min-width:0;margin:0;padding:0;border:0;background:none;box-shadow:none;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-information-card>.hpv2-section-head{display:none;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-information-layout{display:block;min-width:0;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-information-stack{display:grid;gap:22px;min-width:0;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-information-stack>.hpv2-info-panel{
    padding:24px;border-radius:24px;background:rgba(35,23,17,.8);
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-hours-panel{
    min-width:0;padding:20px;border-radius:24px;background:rgba(35,23,17,.8);
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-hours-panel>header{flex-wrap:wrap;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-side-sticky>.hpv2-hours-panel .hpv2-hours-list div{gap:9px;}
}

/* Desktop: compact group of public salon documents, without hiding any document. */
@media (min-width:981px){
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-panel{padding:22px;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-panel>header{margin-bottom:14px;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure>summary{
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;min-height:46px;padding:13px 15px;
    border:1px solid rgba(232,180,108,.22);border-radius:13px;
    background:rgba(232,180,108,.065);cursor:pointer;
    list-style:none;font-size:.83rem;font-weight:800;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure>summary::-webkit-details-marker{display:none;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-toggle__open{display:none;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure[open] .hpv2-documents-toggle__open{display:inline;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure[open] .hpv2-documents-toggle__closed{display:none;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-toggle__count{
    margin-left:auto;color:var(--hp-muted);font-size:.73rem;font-weight:700;white-space:nowrap;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-toggle__arrow{
    color:var(--hp-accent);font-size:1rem;transition:transform .2s ease;
  }
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure[open] .hpv2-documents-toggle__arrow{transform:rotate(180deg);}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure>.hpv2-documents-list{margin-top:12px;}
  .hpv2-content-layout.has-desktop-location-sidebar .hpv2-documents-disclosure>summary:focus-visible{
    outline:2px solid var(--hp-accent);outline-offset:3px;
  }
}
@media (max-width:980px){
  .hpv2-documents-panel .hpv2-documents-disclosure>summary{display:none;}
}

/* Public salon legal documents: compact entry point and full-height accessible reader. */
.hpv2-documents-panel .hpv2-documents-intro{margin:0 0 15px;color:var(--hp-muted);font-size:.81rem;line-height:1.6;}
.hpv2-documents-open{display:flex;align-items:center;width:100%;min-height:52px;gap:12px;padding:13px 15px;
  border:1px solid rgba(232,180,108,.28);border-radius:13px;background:rgba(232,180,108,.085);color:var(--hp-text);
  font-size:.85rem;font-weight:800;text-align:left;cursor:pointer;}
.hpv2-documents-open small{margin-left:auto;color:var(--hp-muted);font-weight:650;font-size:.75rem;white-space:nowrap;}
.hpv2-documents-open__arrow{color:var(--hp-accent);font-size:1.25rem;}
.hpv2-documents-open:hover{background:rgba(232,180,108,.15);}
.hpv2-documents-open:focus-visible{outline:2px solid var(--hp-accent);outline-offset:3px;}
.hpv2-documents-fallback{display:grid;gap:8px;}
.hpv2-documents-fallback a{color:var(--hp-accent);}
.hpv2-documents-modal{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;
  padding:18px;background:rgba(5,3,2,.86);backdrop-filter:blur(14px);}
.hpv2-documents-modal[hidden]{display:none;}
.hpv2-documents-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;}
.hpv2-documents-modal__dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(780px,100%);
  max-height:min(92dvh,920px);min-height:0;overflow:hidden;border:1px solid var(--hp-line-strong);
  border-radius:24px;background:#180f0b;color:var(--hp-text);box-shadow:0 32px 120px rgba(0,0,0,.55);}
.hpv2-documents-modal__head{display:flex;align-items:flex-start;gap:16px;justify-content:space-between;padding:24px 26px 16px;
  border-bottom:1px solid rgba(232,180,108,.16);}
.hpv2-documents-modal__head>div{min-width:0;}
.hpv2-documents-modal__head span{color:var(--hp-accent);font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;}
.hpv2-documents-modal__head h2{margin:6px 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,2.7vw,2.15rem);line-height:1.18;}
.hpv2-documents-modal__head p{margin:4px 0 0;color:var(--hp-muted);font-size:.79rem;line-height:1.5;}
.hpv2-documents-modal__close{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--hp-line);
  border-radius:50%;background:rgba(255,255,255,.04);color:var(--hp-text);font-size:1.5rem;cursor:pointer;}
.hpv2-documents-modal__main{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 26px;}
.hpv2-documents-modal__list{display:grid;gap:8px;align-content:start;}
.hpv2-documents-modal__list[hidden],.hpv2-documents-modal__reader[hidden]{display:none;}
.hpv2-documents-modal__list-top{display:flex;align-items:center;gap:12px;justify-content:space-between;
  padding:0 0 9px;font-size:.79rem;}
.hpv2-documents-modal__list-top span{color:var(--hp-muted);font-weight:650;white-space:nowrap;}
.hpv2-documents-modal__item button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  min-height:50px;padding:13px 16px;border:1px solid rgba(232,180,108,.19);border-radius:13px;
  background:rgba(255,255,255,.026);color:var(--hp-text);font-size:.82rem;font-weight:750;text-align:left;cursor:pointer;}
.hpv2-documents-modal__item button:hover{background:rgba(232,180,108,.085);}
.hpv2-documents-modal__item button span:last-child{color:var(--hp-accent);font-size:1.15rem;}
.hpv2-documents-modal__item button:focus-visible,.hpv2-documents-modal__close:focus-visible,
.hpv2-documents-modal__back:focus-visible{outline:2px solid var(--hp-accent);outline-offset:2px;}
.hpv2-documents-modal__reader{min-height:0;}
.hpv2-documents-modal__back{min-height:44px;margin:0 0 12px;padding:0 13px;border:1px solid var(--hp-line);
  border-radius:10px;background:rgba(232,180,108,.075);color:var(--hp-accent-strong);font-weight:800;cursor:pointer;}
.hpv2-documents-modal__reader h3{margin:8px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,2.5vw,1.9rem);}
.hpv2-documents-modal__content{padding:20px;border:1px solid rgba(232,180,108,.17);border-radius:14px;
  background:rgba(0,0,0,.19);font-size:.87rem;line-height:1.8;overflow-wrap:anywhere;white-space:normal;}
.hpv2-documents-modal__content p{margin:0 0 1em;white-space:pre-wrap;}
.hpv2-documents-modal__content p:last-child{margin-bottom:0;}
.hpv2-documents-modal__content a{color:var(--hp-accent-strong);text-decoration:underline;}
.hpv2-documents-modal__footer{padding:14px 26px 20px;border-top:1px solid rgba(232,180,108,.14);
  color:var(--hp-muted);font-size:.72rem;line-height:1.55;}
html.halo-documents-modal-open{overflow:hidden;}
@media(max-width:760px){
  .hpv2-documents-modal{padding:0;}
  .hpv2-documents-modal__dialog{height:100dvh;max-height:100dvh;width:100%;border-radius:0;border:0;}
  .hpv2-documents-modal__head{padding:18px 16px 14px;}
  .hpv2-documents-modal__main{padding:14px 16px;}
  .hpv2-documents-modal__footer{padding:12px 16px max(16px,env(safe-area-inset-bottom));}
  .hpv2-documents-modal__list-top{flex-wrap:wrap;}
}

/* The save control is independently clickable and visible on Portfolio previews. */
.hpv2-gallery-tile{position:relative}
.hpv2-gallery-tile__save,.hpv2-gallery-tile__save-link{position:absolute;z-index:3;top:10px;right:10px;max-width:calc(100% - 20px);margin:0}
.hpv2-gallery-tile .hpv2-gallery-tile__save button,.hpv2-gallery-tile .hpv2-gallery-tile__save-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;height:44px;min-height:44px;padding:0 13px;border:1px solid rgba(255,235,210,.65);border-radius:999px;background:rgba(27,18,14,.91);color:#fff5eb;font:inherit;font-size:.78rem;font-weight:800;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.hpv2-gallery-tile .hpv2-gallery-tile__save button::after{content:none}
.hpv2-gallery-tile .hpv2-gallery-tile__save button:hover,.hpv2-gallery-tile .hpv2-gallery-tile__save button:focus-visible,.hpv2-gallery-tile .hpv2-gallery-tile__save-link:hover,.hpv2-gallery-tile .hpv2-gallery-tile__save-link:focus-visible{border-color:#f6ca98;background:#593025;color:#fff;outline-offset:2px}
.hpv2-gallery-tile .hpv2-gallery-tile__save svg,.hpv2-gallery-tile .hpv2-gallery-tile__save-link svg{display:block;flex:0 0 17px;width:17px;height:17px;pointer-events:none}

/* Modal gallery: reserve photo space before media arrives; keep the save action
   on the photo instead of creating a second, blank card below it. */
.hpv2-portfolio-modal__item button[data-halo-gallery-open]{display:block;width:100%}
.hpv2-portfolio-modal__item img[data-halo-portfolio-image]:not(.is-loaded){
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  background:linear-gradient(120deg,#241914,#39261e 50%,#241914);
}
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save,
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link{
  position:absolute;top:10px;right:10px;z-index:4;margin:0;
  max-width:calc(100% - 20px);
}
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save button,
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  width:auto;height:44px;min-height:44px;aspect-ratio:auto;padding:0 12px;
  border:1px solid rgba(255,240,220,.65);border-radius:999px;
  background:rgba(25,17,15,.91);color:#fff7ef;text-decoration:none;
  font:inherit;font-size:.77rem;font-weight:800;line-height:1.2;
  cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.27);
  backdrop-filter:blur(8px);
}
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save button:hover,
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save button:focus-visible,
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link:hover,
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link:focus-visible{
  background:#5b3032;border-color:#ffe0bb;color:#fff;outline-offset:2px;
}
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save svg,
.hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link svg{
  flex:0 0 17px;width:17px;height:17px;
}
@media(max-width:520px){
  .hpv2-portfolio-modal__item .hpv2-portfolio-modal__save,
  .hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link{
    top:7px;right:7px;max-width:calc(100% - 14px);
  }
  .hpv2-portfolio-modal__item .hpv2-portfolio-modal__save button,
  .hpv2-portfolio-modal__item .hpv2-portfolio-modal__save-link{
    min-height:44px;height:44px;padding:0 9px;font-size:.71rem;
  }
}

/* Swipe reviews: do not stretch a short opinion to a taller off-screen slide.
   JavaScript adjusts only the mobile carousel viewport to the active card. */
@media (max-width:760px){
  .hpv2-reviews-content>.hpv2-review-list.is-adaptive-height{
    align-items:flex-start;
    transition:height .2s ease;
  }
  .hpv2-reviews-content>.hpv2-review-list.is-adaptive-height>.hpv2-review-card--preview{
    align-self:flex-start;
    height:auto;
  }
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .hpv2-reviews-content>.hpv2-review-list.is-adaptive-height{transition:none;}
}
/* Public company profile: show only amenities expressly declared by this salon. */
.hpv2-amenities{margin-top:16px;padding-top:14px;border-top:1px solid rgba(130,142,157,.22)}
.hpv2-amenities h3{font-size:1rem;font-weight:700;margin:0 0 10px;color:inherit}
.hpv2-amenities__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.hpv2-amenities__list li{font-size:.88rem;line-height:1.4;padding:7px 10px;border-radius:999px;border:1px solid rgba(130,142,157,.3);background:rgba(130,142,157,.08);color:inherit}


/* HALO tablet profile: all section tabs remain visible without clipping. */
@media (min-width:761px) and (max-width:980px){
    .hpv2-profile-nav{
        gap:3px;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x proximity;
        touch-action:pan-x pan-y;
    }
    .hpv2-profile-nav>a{
        flex:1 1 0;
        min-width:0;
        min-height:68px;
        padding:10px 5px;
        scroll-snap-align:start;
    }
    .hpv2-profile-nav>a strong{
        font-size:clamp(.73rem,1.1vw,.82rem);
    }
    .hpv2-profile-nav>a span{
        font-size:.63rem;
    }
}


/* Manual booking inquiry: only on salons without a booking system. */
.hpv2-inquiry-modal{position:fixed;inset:0;z-index:1450;display:grid;place-items:center;padding:18px;background:rgba(5,4,7,.76);backdrop-filter:blur(12px);height:var(--hpv2-keyboard-viewport-height,100dvh);top:var(--hpv2-keyboard-viewport-top,0px);}
.hpv2-inquiry-modal[hidden]{display:none;}
.hpv2-inquiry-modal__backdrop{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:default;}
.hpv2-inquiry-modal__dialog{position:relative;z-index:1;width:min(580px,100%);max-height:calc(100% - 4px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--hp-line-strong);border-radius:22px;background:var(--hp-surface,#18100c);color:var(--hp-text,#fff8ee);box-shadow:0 30px 100px rgba(0,0,0,.52);}
.hpv2-inquiry-modal__close{position:absolute;z-index:2;right:17px;top:17px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--hp-line);border-radius:50%;background:var(--hp-surface-strong,#20160f);color:var(--hp-text);font-size:1.45rem;cursor:pointer;}
.hpv2-inquiry-modal__header{padding:26px 76px 17px 27px;border-bottom:1px solid var(--hp-line);}
.hpv2-inquiry-modal__header>span{color:var(--hp-accent-strong);font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;}
.hpv2-inquiry-modal__header h2{margin:6px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,3vw,2rem);font-weight:500;line-height:1.2;}
.hpv2-inquiry-modal__header p{margin:0;color:var(--hp-muted);font-size:.9rem;line-height:1.5;}
.hpv2-inquiry-modal__body{padding:21px 27px 27px;}
.hpv2-inquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.hpv2-inquiry-form label{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--hp-text);font-size:.81rem;font-weight:800;}
.hpv2-inquiry-form label small{display:inline;color:var(--hp-muted);font-weight:500;}
.hpv2-inquiry-form__wide,.hpv2-inquiry-form__note,.hpv2-inquiry-form__submit{grid-column:1/-1;}
.hpv2-inquiry-form input,.hpv2-inquiry-form select,.hpv2-inquiry-form textarea{display:block;width:100%;min-width:0;min-height:45px;padding:10px 12px;border:1px solid var(--hp-line);border-radius:11px;background:var(--hp-surface-strong);color:var(--hp-text);font:inherit;font-size:.91rem;font-weight:500;line-height:1.4;color-scheme:dark;}
.hpv2-inquiry-form textarea{min-height:68px;resize:vertical;}
.hpv2-inquiry-form input:focus-visible,.hpv2-inquiry-form select:focus-visible,.hpv2-inquiry-form textarea:focus-visible,.hpv2-inquiry-modal__close:focus-visible,.hpv2-inquiry-form__submit:focus-visible{outline:2px solid var(--hp-accent-strong);outline-offset:2px;}
.hpv2-inquiry-form__note{margin:0;color:var(--hp-muted);font-size:.79rem;line-height:1.55;}
.hpv2-inquiry-form__submit{min-height:48px;padding:11px 18px;border:1px solid #eec07f;border-radius:12px;background:linear-gradient(135deg,#f1d2a0,#c87f35);color:#201309;font-size:.94rem;font-weight:850;cursor:pointer;}
.hpv2-inquiry-modal .notice{margin:0 0 14px;}
@media(max-width:600px){
  .hpv2-inquiry-modal{padding:8px;}
  .hpv2-inquiry-modal__dialog{max-height:calc(100% - 6px);border-radius:17px;}
  .hpv2-inquiry-modal__header{padding:20px 62px 15px 19px;}
  .hpv2-inquiry-modal__close{top:12px;right:12px;}
  .hpv2-inquiry-modal__body{padding:17px 19px calc(19px + env(safe-area-inset-bottom,0px));}
  .hpv2-inquiry-form{gap:11px;}
  .hpv2-inquiry-form label{font-size:.78rem;}
}
@media(max-width:380px){.hpv2-inquiry-form{grid-template-columns:minmax(0,1fr);}}
