/*
Theme Name: Sharmè Atelier
Theme URI: https://www.sharmeparrucchieri.it/
Author: GV Consulting
Description: Tema custom editoriale, multipagina e SEO-first per Sharmè Parrucchieri.
Version: 1.0.3
Text Domain: sharme-atelier
*/
:root{
  --ink:#171513;
  --ink-soft:#26211d;
  --paper:#f6f2ec;
  --paper2:#ece5dc;
  --paper3:#fbf9f6;
  --white:#fff;
  --muted:#746d65;
  --line:rgba(23,21,19,.13);
  --line-dark:rgba(255,255,255,.16);
  --wine:#7d2832;
  --max:1500px;
  --pad:clamp(20px,4.2vw,72px);
  --serif:"Bodoni 72","Didot","Bodoni MT","Times New Roman",serif;
  --sans:"Avenir Next","Helvetica Neue","Segoe UI",Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--ink);color:var(--paper)}
.wrap{width:min(100%,var(--max));margin:0 auto;padding-inline:var(--pad)}
.narrow{max-width:900px}
.kicker{font-size:10px;line-height:1.2;letter-spacing:.19em;text-transform:uppercase;font-weight:720}
.display{font-family:var(--serif);font-weight:400;letter-spacing:-.052em;line-height:.91;margin:0}
.display em{font-weight:400;color:var(--wine)}
.medium-title{font-size:clamp(50px,6vw,94px)}
.lead-small{font-family:var(--serif);font-size:clamp(27px,3vw,42px);line-height:1.05;letter-spacing:-.035em}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;border:1px solid var(--ink);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.045em;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.button.dark{background:var(--ink);color:var(--paper)}
.button.dark:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.button.ghost{background:transparent}
.text-link{display:inline-flex;gap:9px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid currentColor;padding-bottom:5px;transition:opacity .2s}
.text-link:hover{opacity:.58}
.text-button{border:0;background:transparent;padding:0;border-bottom:1px solid currentColor;text-transform:uppercase;letter-spacing:.13em;font-size:10px;cursor:pointer}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:80;background:rgba(246,242,236,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid transparent;transition:background .25s,border-color .25s,box-shadow .25s}
.site-header.is-scrolled{background:rgba(246,242,236,.96);border-bottom-color:var(--line);box-shadow:0 8px 30px rgba(31,25,20,.04)}
body.admin-bar .site-header{top:32px}
.header-inner{height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
.brand{justify-self:start;display:flex;align-items:center;position:relative;z-index:2}
.brand img{width:132px;max-height:62px;object-fit:contain}
.custom-logo-link{display:block}
.custom-logo{width:132px!important;height:auto!important}
.desktop-nav{display:flex;align-items:center;gap:34px;font-size:10px;font-weight:720;letter-spacing:.135em;text-transform:uppercase}
.desktop-nav a{position:relative;padding:10px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .28s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav .current-menu-item a:after{right:0}
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}
.header-book{font-size:10px;text-transform:uppercase;letter-spacing:.13em;padding:11px 18px;border:1px solid rgba(23,21,19,.55);border-radius:999px;transition:.2s}
.header-book:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.menu-toggle{display:none;width:44px;height:44px;background:transparent;border:0;padding:10px}
.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:.25s}
.mobile-menu{position:fixed;inset:0;z-index:70;background:var(--ink);color:var(--paper);display:grid;align-content:center;padding:110px var(--pad) 50px;transform:translateY(-105%);transition:transform .48s cubic-bezier(.76,0,.24,1)}
body.menu-open .mobile-menu{transform:none}
.mobile-menu nav{display:grid;gap:10px}
.mobile-menu a{font-family:var(--serif);font-size:clamp(42px,11vw,76px);line-height:.94;letter-spacing:-.04em}
.mobile-meta{margin-top:44px;color:#bdb6ad;font-size:12px;display:grid;gap:8px}

/* Home hero */
.hero-v3{padding-top:86px;border-bottom:1px solid var(--line);background:var(--paper)}
.hero-shell{min-height:calc(100svh - 86px);display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);gap:clamp(18px,2vw,34px);padding-top:clamp(18px,2vw,28px);padding-bottom:clamp(18px,2vw,28px)}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4.5vw,70px) clamp(8px,1.5vw,20px) clamp(20px,3vw,42px) 0}
.hero-topline{display:flex;justify-content:space-between;gap:20px;max-width:580px;font-size:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:720;color:#645e57}
.hero-v3 h1{font-size:clamp(60px,6.25vw,112px);max-width:9.5ch;margin:clamp(32px,6vh,82px) 0 44px}
.hero-v3 h1 em{display:inline-block;margin-top:.08em}
.hero-bottom{max-width:590px}
.hero-sub{max-width:540px;margin:0 0 30px;color:#575048;font-size:15px;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-art{margin:0;position:relative;overflow:hidden;background:#d9d4ce;border-radius:var(--radius);min-height:680px;box-shadow:0 24px 70px rgba(42,34,28,.08)}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform 1.2s var(--ease)}
.hero-art:hover img{transform:scale(1.018)}
.hero-art:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(12,10,9,.44));pointer-events:none}
.hero-art-label{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:end;color:#fff;border-top:1px solid rgba(255,255,255,.42);padding-top:14px}
.hero-art-label span,.hero-art-label b{font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.hero-art-label strong{font-family:var(--serif);font-size:clamp(25px,2.2vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1}
.hero-signature{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#777068}

/* Home intro */
.home-intro-v3{padding:clamp(90px,10vw,165px) 0;background:var(--paper3)}
.intro-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(54px,9vw,140px);align-items:center}
.intro-team{margin:0;position:relative}
.intro-team img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:20px;filter:saturate(.86) contrast(1.02)}
.intro-team figcaption{padding-top:12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.intro-copy{max-width:720px}
.intro-copy h2{margin:18px 0 42px}
.intro-copy .lead-small{margin:0 0 22px;max-width:17ch}
.intro-copy>p:not(.lead-small){max-width:560px;color:var(--muted);margin:0 0 32px;font-size:15px;line-height:1.75}

/* Shared section head */
.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:52px}
.section-head>p,.head-aside{max-width:450px;color:var(--muted);margin:0}
.head-aside{display:grid;gap:22px;justify-items:start}
.head-aside p{margin:0;font-size:14px;line-height:1.7}
.dark-section{background:var(--ink);color:var(--paper)}
.dark-section .display em{color:#c97f88}

/* Collections */
.home-collections-v3{padding:clamp(95px,10vw,160px) 0}
.home-collections-v3 .text-link{color:#d9d1c8}
.home-collections-v3 .head-aside{color:#a9a198}
.collection-feature-grid{display:grid;grid-template-columns:1.38fr .62fr;grid-template-rows:1fr 1fr;gap:14px;min-height:790px}
.feature-card{position:relative;overflow:hidden;background:#2b2723;border-radius:18px;min-height:0}
.feature-card-main{grid-row:1/3}
.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .75s var(--ease)}
.feature-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.feature-card:hover img{transform:scale(1.025);filter:saturate(.88)}
.feature-card-copy{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}
.feature-card-copy span{grid-column:1/-1;font-size:9px;text-transform:uppercase;letter-spacing:.17em}
.feature-card-copy h3{font-family:var(--serif);font-size:clamp(34px,3.5vw,62px);font-weight:400;line-height:.92;margin:0;letter-spacing:-.04em}
.feature-card:not(.feature-card-main) .feature-card-copy h3{font-size:clamp(29px,2.6vw,46px)}
.feature-card-copy b{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;white-space:nowrap}

/* Service paths */
.home-paths-v3{padding:clamp(95px,10vw,160px) 0}
.path-grid-v3{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.path-card{padding:34px 28px 38px;border-right:1px solid var(--line);min-height:330px;display:flex;flex-direction:column;transition:background .25s var(--ease),transform .25s var(--ease)}
.path-card:last-child{border-right:0}
.path-card:hover{background:var(--paper3)}
.path-card>span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.path-card h3{font-family:var(--serif);font-size:clamp(35px,3vw,48px);font-weight:400;margin:58px 0 12px;letter-spacing:-.035em;line-height:.95}
.path-card p{color:var(--muted);font-size:13px;margin:0 0 32px;max-width:30ch}
.path-card b,.path-card .text-button{margin-top:auto;align-self:flex-start;font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.advisor-home{background:var(--paper2)}
.advisor-home:hover{background:#e2d8cc}

/* Wedding */
.home-wedding-v3{padding:clamp(95px,10vw,160px) 0;background:var(--paper3)}
.wedding-teaser{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(50px,9vw,140px);align-items:center}
.wedding-teaser figure{margin:0}
.wedding-teaser img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.wedding-teaser figcaption{padding-top:12px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.wedding-copy{max-width:580px}
.wedding-copy h2{margin:17px 0 30px}
.wedding-copy p{max-width:470px;color:var(--muted);margin:0 0 32px;line-height:1.75;font-size:15px}

/* Brands */
.home-brands{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brands-strip{min-height:170px;display:grid;grid-template-columns:220px 1fr;gap:50px;align-items:center}
.brands-names{display:grid;grid-template-columns:repeat(3,1fr);align-items:center}
.brands-names span{font-family:var(--serif);font-size:clamp(27px,2.7vw,43px);letter-spacing:-.035em;text-align:center;padding:15px;border-left:1px solid var(--line)}

/* Reviews */
.home-reviews-v3{padding:clamp(95px,10vw,160px) 0}
.review-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:55px}
.review-rating{justify-self:end;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:end;min-width:270px}
.review-rating strong{font-family:var(--serif);font-size:90px;font-weight:400;line-height:.72;letter-spacing:-.06em;grid-row:1/4}
.review-rating .stars{font-size:12px;letter-spacing:.12em}
.review-rating small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.review-rating .text-link{margin-top:10px;grid-column:1/-1}
.review-cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.review-cards blockquote{font-family:var(--serif);font-size:clamp(26px,2.8vw,42px);line-height:1.08;letter-spacing:-.035em;margin:0;padding:44px 45px 50px 0}
.review-cards blockquote+blockquote{border-left:1px solid var(--line);padding-left:45px;padding-right:0}

/* Visit */
.visit-v3{padding:clamp(90px,9vw,145px) 0}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.visit-note{color:#aaa39a;font-size:14px;margin:28px 0 0}
.visit-links{border-top:1px solid var(--line-dark)}
.visit-links a,.visit-links div{padding:20px 0;border-bottom:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:25px;font-size:13px}
.visit-links span{color:#aaa39a}
.visit-links strong{font-weight:560}

/* Inner pages */
.inner-hero{padding-top:86px;min-height:88svh;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);gap:clamp(18px,2vw,30px);padding-left:var(--pad);padding-right:var(--pad);padding-bottom:clamp(18px,2vw,28px);border-bottom:1px solid var(--line)}
.inner-hero-copy{padding:clamp(65px,7vw,110px) clamp(25px,4vw,65px) clamp(55px,6vw,90px) 0;display:flex;flex-direction:column;justify-content:center}
.inner-hero h1{font-size:clamp(58px,6.7vw,110px);margin:18px 0 30px;max-width:10ch}
.inner-hero-copy>p{max-width:560px;color:var(--muted);font-size:15px;line-height:1.75}
.inner-hero-image{margin:24px 0 0;overflow:hidden;border-radius:var(--radius);background:#ddd3c9;box-shadow:0 22px 70px rgba(36,29,24,.07)}
.inner-hero-image img{width:100%;height:100%;object-fit:contain;background:#ddd3c9}
.inner-main{overflow:hidden}
.collection-index{padding:clamp(90px,9vw,145px) 0}
.collection-index-list{display:grid;gap:16px}
.collection-index-card{display:grid;grid-template-columns:90px 1fr 38%;min-height:420px;border:1px solid var(--line);align-items:stretch;border-radius:18px;overflow:hidden;background:var(--paper3);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.collection-index-card:hover{transform:translateY(-3px);box-shadow:0 20px 60px rgba(38,30,24,.07)}
.collection-index-card>span{padding:28px 10px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);border-right:1px solid var(--line)}
.collection-index-card>div{padding:48px;display:flex;flex-direction:column;justify-content:center}
.collection-index-card h2{font-family:var(--serif);font-size:clamp(45px,5vw,76px);font-weight:400;line-height:.93;margin:0 0 18px;letter-spacing:-.045em}
.collection-index-card p{max-width:500px;color:var(--muted);line-height:1.7}
.collection-index-card img{width:100%;height:100%;object-fit:cover}
.seo-copy{padding:clamp(90px,10vw,155px) 0}
.seo-copy h2{font-family:var(--serif);font-size:clamp(42px,5vw,74px);font-weight:400;line-height:.96;letter-spacing:-.045em;margin:0 0 30px}
.seo-copy h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:48px 0 14px;letter-spacing:-.025em}
.seo-copy p{font-size:17px;color:#514b45;line-height:1.8}
.seo-copy .button{margin-top:22px}
.collection-story,.about-block{padding:clamp(90px,10vw,155px) 0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,8vw,125px);align-items:start}
.story-grid h2{font-family:var(--serif);font-size:clamp(46px,6vw,90px);line-height:.92;font-weight:400;letter-spacing:-.05em;margin:18px 0 0}
.story-grid>p,.story-grid>div:last-child{font-size:17px;color:var(--muted);max-width:580px;line-height:1.8}
.editorial-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:clamp(95px,10vw,155px)}
.editorial-gallery figure{margin:0;overflow:hidden;border-radius:14px;background:#ddd}
.editorial-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.editorial-gallery figure:hover img{transform:scale(1.015)}
.editorial-gallery .g1{grid-row:span 2}.editorial-gallery .g1 img{aspect-ratio:3/5}.editorial-gallery .g2 img{aspect-ratio:4/3}.editorial-gallery .g3 img{aspect-ratio:4/5}.editorial-gallery .g4{grid-column:1/-1}.editorial-gallery .g4 img{aspect-ratio:16/9}.editorial-gallery .g5 img{aspect-ratio:3/4}
.next-collection{padding:72px 0}.next-collection span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#aaa39a}.next-collection a{margin-top:18px;display:flex;align-items:end;justify-content:space-between;gap:30px}.next-collection strong{font-family:var(--serif);font-size:clamp(46px,6vw,92px);font-weight:400;letter-spacing:-.045em}.next-collection b{font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:clamp(95px,10vw,150px)}
.look-grid figure{margin:0}
.look-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px}
.look-grid figcaption{padding-top:10px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wedding-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:clamp(95px,10vw,150px);align-items:start}
.wedding-page-grid figure{margin:0;overflow:hidden;border-radius:14px}
.wedding-page-grid img{width:100%;object-fit:cover}
.wedding-page-grid figure:nth-child(1){grid-column:1/-1}.wedding-page-grid figure:nth-child(1) img{aspect-ratio:16/9}.wedding-page-grid figure:nth-child(n+2) img{aspect-ratio:3/4}.wedding-page-grid figure:nth-child(3){margin-top:70px}
.cta-band{padding:76px 0;border-top:1px solid var(--line);background:var(--paper2)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:end;gap:40px}
.cta-band h2{font-family:var(--serif);font-size:clamp(40px,5vw,68px);font-weight:400;line-height:.96;margin:10px 0 0;letter-spacing:-.045em}
.brands-page{padding:85px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brand-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px}
.brand-row div{text-align:center;padding:38px 20px;border-right:1px solid var(--line);font-family:var(--serif);font-size:clamp(26px,3vw,44px);letter-spacing:-.035em}
.brand-row div:last-child{border-right:0}.brand-row small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.contact-choice{padding:clamp(90px,10vw,145px) 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-card{padding:50px 42px;border-right:1px solid var(--line);transition:background .2s}
.contact-card:hover{background:var(--paper3)}
.contact-card:last-child{border-right:0}.contact-card>span,.contact-card>b{font-size:9px;text-transform:uppercase;letter-spacing:.15em}.contact-card h2{font-family:var(--serif);font-size:clamp(36px,4vw,60px);font-weight:400;line-height:.95;margin:55px 0;letter-spacing:-.04em}

/* Footer */
.site-footer{background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,.15);padding:44px 0 98px}
.footer-inner{display:flex;justify-content:space-between;gap:40px;font-size:10px;color:#aaa39a;line-height:1.8}
.footer-logo{font-family:var(--serif);font-size:34px;color:var(--paper);letter-spacing:-.04em}
.mobile-cta{display:none;position:fixed;z-index:65;bottom:12px;left:12px;right:12px;background:rgba(23,21,19,.94);color:#fff;border-radius:999px;padding:7px;box-shadow:0 10px 38px rgba(0,0,0,.2);backdrop-filter:blur(15px)}
.mobile-cta a{height:48px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase}

/* Motion: content is always readable even if JS is slow */
.reveal{opacity:1;transform:none}

/* Hair Advisor */
.advisor-modal{position:fixed;inset:0;z-index:120;background:rgba(16,14,13,.78);backdrop-filter:blur(16px);display:none;align-items:center;justify-content:center;padding:20px}
.advisor-modal.is-open{display:flex}.advisor-panel{width:min(760px,100%);max-height:92svh;overflow:auto;background:var(--paper);padding:clamp(30px,5vw,62px);position:relative;border-radius:24px}.advisor-close{position:absolute;right:22px;top:18px;border:0;background:transparent;font-size:28px}.advisor-progress{display:flex;gap:5px;margin:28px 0}.advisor-progress span{height:2px;flex:1;background:#d7d0c7}.advisor-progress span.active{background:var(--ink)}.advisor-step{display:none}.advisor-step.active{display:block}.advisor-step h3,.advisor-result h3{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,60px);line-height:.96;margin:0 0 30px;letter-spacing:-.045em}.advisor-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.advisor-option{border:1px solid var(--line);background:transparent;padding:20px;text-align:left;border-radius:12px;transition:.2s}.advisor-option:hover,.advisor-option.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.advisor-result{display:none}.advisor-result.active{display:block}.advisor-result p{font-size:17px;max-width:55ch}
.page-shell{padding:160px var(--pad) 110px;max-width:1000px;margin:auto;min-height:70svh}.page-shell h1{font-family:var(--serif);font-size:clamp(56px,8vw,100px);font-weight:400;line-height:.92;letter-spacing:-.05em}.page-shell .entry-content{font-size:18px}

@media(max-width:1100px){
  .desktop-nav{display:none}.menu-toggle{display:block}.header-book{display:none}.header-inner{grid-template-columns:1fr auto}.header-actions{grid-column:2}
  .hero-shell{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:560px;padding-right:0}.hero-topline{max-width:none}.hero-v3 h1{font-size:clamp(66px,10vw,106px);max-width:10ch}.hero-art{height:72svh;min-height:620px}.hero-signature{overflow:auto;justify-content:flex-start}.hero-signature span{white-space:nowrap;margin-right:36px}
  .intro-layout,.wedding-teaser,.visit-grid,.story-grid{grid-template-columns:1fr}.intro-team{max-width:760px}.intro-copy{max-width:800px}.collection-feature-grid{min-height:700px}.path-grid-v3{grid-template-columns:1fr 1fr}.path-card:nth-child(2){border-right:0}.path-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .review-heading{grid-template-columns:1fr}.review-rating{justify-self:start}.brands-strip{grid-template-columns:1fr;gap:22px;padding-top:35px;padding-bottom:35px}.brands-names span:first-child{border-left:0}
  .inner-hero{grid-template-columns:1fr;min-height:auto;padding-top:86px}.inner-hero-copy{min-height:520px;padding-right:0}.inner-hero-image{height:68svh;margin:0}.collection-index-card{grid-template-columns:70px 1fr 40%}.look-grid{grid-template-columns:1fr 1fr}.visit-grid{gap:50px}
}

@media(max-width:720px){
  .home-treatments-video{padding:76px 0}.treatments-video-media{border-radius:14px}.treatments-video-copy p{font-size:15px}
  :root{--pad:20px;--radius:18px}
  body.admin-bar .site-header{top:46px}.header-inner{height:70px}.brand img,.custom-logo{width:108px!important}.hero-v3{padding-top:70px}.hero-shell{padding-top:12px;padding-bottom:14px;gap:14px}.hero-copy{min-height:auto;padding:38px 0 28px}.hero-topline span:last-child{display:none}.hero-v3 h1{font-size:clamp(50px,15vw,72px);margin:34px 0 26px;max-width:9.2ch}.hero-sub{font-size:14px;line-height:1.65}.hero-actions{display:grid}.hero-art{height:61svh;min-height:480px;border-radius:18px}.hero-art img{object-position:center 35%}.hero-art-label{left:16px;right:16px;bottom:15px;grid-template-columns:1fr auto}.hero-art-label span{grid-column:1/-1}.hero-art-label strong{font-size:27px}.hero-signature{min-height:48px;font-size:8px}
  .home-intro-v3,.home-paths-v3,.home-reviews-v3,.home-wedding-v3{padding:82px 0}.intro-layout{gap:50px}.intro-team img{aspect-ratio:4/5}.medium-title{font-size:clamp(48px,14vw,70px)}.intro-copy h2{margin-bottom:32px}.section-head{display:block;margin-bottom:34px}.section-head .text-link,.section-head>p,.head-aside{margin-top:24px}.head-aside{gap:18px}
  .home-collections-v3{padding:82px 0}.collection-feature-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;min-height:0;gap:10px}.feature-card,.feature-card-main{grid-row:auto;min-height:510px}.feature-card:not(.feature-card-main){min-height:420px}.feature-card-copy{left:18px;right:18px;bottom:18px}.feature-card-copy h3,.feature-card:not(.feature-card-main) .feature-card-copy h3{font-size:39px}.feature-card-copy b{display:none}
  .path-grid-v3{grid-template-columns:1fr}.path-card{border-right:0;border-bottom:1px solid var(--line);min-height:245px;padding:28px 20px 30px}.path-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.path-card:last-child{border-bottom:0}.path-card h3{margin-top:38px}
  .wedding-teaser{gap:45px}.wedding-teaser img{border-radius:14px}.brands-strip{min-height:auto}.brands-names{grid-template-columns:1fr}.brands-names span{border-left:0;border-top:1px solid var(--line);padding:22px 0;text-align:left}.review-heading{gap:38px}.review-rating strong{font-size:76px}.review-cards{grid-template-columns:1fr}.review-cards blockquote{padding:30px 0}.review-cards blockquote+blockquote{border-left:0;border-top:1px solid var(--line);padding:30px 0}.visit-grid{gap:44px}
  .inner-hero{padding-top:70px;padding-left:var(--pad);padding-right:var(--pad);padding-bottom:14px}.inner-hero-copy{min-height:auto;padding:58px 0 42px}.inner-hero h1{font-size:clamp(50px,15vw,74px)}.inner-hero-image{height:58svh;border-radius:18px}.collection-index-card{grid-template-columns:44px 1fr}.collection-index-card>span{grid-row:1/3}.collection-index-card>div{padding:30px 22px}.collection-index-card img{grid-column:2;aspect-ratio:4/5}.collection-index-card h2{font-size:42px}.editorial-gallery{grid-template-columns:1fr;gap:8px}.editorial-gallery .g1,.editorial-gallery .g4{grid-row:auto;grid-column:auto}.editorial-gallery .g1 img,.editorial-gallery .g2 img,.editorial-gallery .g3 img,.editorial-gallery .g4 img,.editorial-gallery .g5 img{aspect-ratio:3/4}.look-grid{grid-template-columns:1fr 1fr;gap:8px}.wedding-page-grid{gap:8px}.wedding-page-grid figure:nth-child(3){margin-top:35px}.cta-band .wrap{display:grid}.brand-row{grid-template-columns:1fr}.brand-row div{border-right:0;border-bottom:1px solid var(--line)}.brand-row div:last-child{border-bottom:0}.contact-grid{grid-template-columns:1fr}.contact-card{border-right:0;border-bottom:1px solid var(--line);padding:36px 0}.contact-card:last-child{border-bottom:0}.footer-inner{display:grid}.mobile-cta{display:block}.site-footer{padding-bottom:108px}.advisor-options{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}

/* =========================================================
   SHARMÈ ATELIER 0.4 — visual system, SEO pages & utilities
   ========================================================= */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.modal-open{overflow:hidden}
.desktop-nav a.current:after{right:0}
.ai-mini-button{width:38px;height:38px;border:1px solid rgba(23,21,19,.28);background:transparent;border-radius:50%;font-size:9px;font-weight:800;letter-spacing:.08em;cursor:pointer;transition:.2s}
.ai-mini-button:hover{background:var(--wine);border-color:var(--wine);color:#fff;transform:translateY(-1px)}
.mobile-ai-link{margin-top:30px;justify-self:start;border:0;border-bottom:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:0 0 5px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}

/* Home V4: text occupies the available space without disappearing below fold */
.hero-v4{padding-top:86px;border-bottom:1px solid var(--line);background:var(--paper)}
.hero-v4 .hero-shell{min-height:calc(100svh - 86px);display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:clamp(18px,2vw,34px);padding-top:clamp(18px,2vw,28px);padding-bottom:clamp(18px,2vw,28px)}
.hero-v4 .hero-copy{min-height:680px;display:grid;grid-template-rows:auto 1fr auto;align-items:start;padding:clamp(25px,3.2vw,46px) clamp(10px,1.6vw,22px) clamp(22px,2.6vw,38px) 0}
.hero-copy-center{align-self:start;padding:6px 0 24px}
.hero-v4 h1{font-size:clamp(58px,5.7vw,98px);max-width:10.4ch;margin:0 0 30px}
.hero-v4 h1 em{display:inline;color:var(--wine)}
.hero-v4 .hero-sub{font-size:15px;max-width:540px;margin-bottom:28px}
.hero-bottom-note{align-self:end}
.home-intro-v4{padding:clamp(88px,9vw,145px) 0;background:var(--paper3)}
.home-services-v4{padding:clamp(90px,9vw,145px) 0;background:var(--paper)}
.service-feature-list{border-top:1px solid var(--line)}
.service-feature-list a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .25s var(--ease),background .25s}
.service-feature-list a:hover{padding-left:14px;padding-right:14px;background:var(--paper3)}
.service-feature-list span,.service-feature-list b{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--muted)}
.service-feature-list strong{font-family:var(--serif);font-size:clamp(27px,3vw,46px);font-weight:400;letter-spacing:-.04em}
.home-treatments-video{padding:clamp(88px,9vw,145px) 0;background:var(--paper3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.treatments-video-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(42px,7vw,110px);align-items:center}
.treatments-video-copy{max-width:560px}
.treatments-video-copy p{font-size:16px;line-height:1.8;color:var(--muted);margin:26px 0 30px}
.treatments-video-media{border-radius:20px;overflow:hidden;background:#171412;box-shadow:0 24px 70px rgba(36,29,24,.12)}
.treatments-video-media video{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#171412}
.home-collections-v4{padding:clamp(92px,9vw,145px) 0}
.home-identity-paths{padding:clamp(95px,10vw,160px) 0;background:var(--paper3)}
.identity-paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,78px)}
.identity-path{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(240px,.95fr);gap:28px;align-items:end}
.identity-path figure{margin:0;overflow:hidden;border-radius:18px;background:#ddd}
.identity-path img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s var(--ease)}
.identity-path:hover img{transform:scale(1.018)}
.identity-path span,.identity-path b{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.identity-path h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.3vw,65px);line-height:.94;letter-spacing:-.045em;margin:22px 0 18px}
.identity-path p{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 27px}
.ai-experience-section{padding:clamp(90px,9vw,140px) 0;background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ai-experience{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,9vw,145px);align-items:center}
.ai-experience>div:last-child{max-width:560px}
.ai-experience p{font-size:17px;color:var(--muted);line-height:1.8;margin:0 0 30px}
.ai-experience small{display:block;margin-top:18px;color:var(--muted);font-size:11px;line-height:1.6}
.home-reviews-v4{padding:clamp(95px,10vw,155px) 0}
.reviews-fallback{border-top:1px solid var(--line);padding-top:32px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.reviews-fallback p{max-width:720px;color:var(--muted);line-height:1.7;margin:0;font-size:14px}
.live-review-cards{grid-template-columns:repeat(3,1fr)}
.live-review-cards article{padding:36px;border-right:1px solid var(--line)}
.live-review-cards article:last-child{border-right:0}
.review-author{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:11px;margin-bottom:26px}.review-author span{letter-spacing:.08em;font-size:10px}.live-review-cards blockquote{border:0!important;padding:0!important;font-family:var(--serif);font-size:clamp(23px,2vw,32px);line-height:1.14}.live-review-cards article>small{display:block;margin-top:20px;color:var(--muted)}
.visit-v4{padding:clamp(88px,9vw,135px) 0}

/* Partner logos */
.brands-strip{grid-template-columns:minmax(220px,.75fr) minmax(0,2.25fr);padding-top:42px;padding-bottom:42px;min-height:190px}
.brands-strip>div:first-child p{font-size:12px;color:var(--muted);max-width:260px;margin:16px 0 0}
.brand-logos{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}
.brand-logos figure{margin:0;min-height:110px;padding:24px 30px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);background:rgba(255,255,255,.2)}
.brand-logos figure:last-child{border-right:0}
.brand-logos img{max-width:190px;max-height:62px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.brand-logos figure:nth-child(3) img{max-width:245px}
.brand-logos-page{margin-top:42px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper3)}

/* Inner pages: reduce empty copy zone and keep the whole heading readable */
.inner-hero{padding-top:86px;min-height:760px;height:min(86svh,880px);grid-template-columns:minmax(0,44%) minmax(0,56%);align-items:stretch}
.inner-hero-copy{padding:clamp(42px,4.8vw,74px) clamp(22px,3vw,45px) clamp(42px,4.8vw,74px) 0;justify-content:center;align-self:stretch}
.inner-hero h1{font-size:clamp(55px,5.5vw,92px);margin:18px 0 27px;max-width:11.5ch}
.inner-hero-copy>p{max-width:520px;font-size:15px;line-height:1.7;margin:0}
.inner-hero-image{margin:20px 0;min-height:0;padding:18px}
.inner-hero-image img{object-position:center 35%}

/* Services */
.services-index{padding:clamp(90px,9vw,145px) 0}
.services-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:end;margin-bottom:55px}
.services-intro h2{font-family:var(--serif);font-size:clamp(48px,5vw,78px);font-weight:400;line-height:.94;letter-spacing:-.045em;margin:14px 0 0}
.services-intro p{font-size:16px;color:var(--muted);line-height:1.75;max-width:670px;margin:0}
.services-editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-editorial{min-height:330px;padding:36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.28s var(--ease)}
.service-editorial:hover{background:var(--ink);color:var(--paper)}
.service-editorial>span,.service-editorial>b{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.service-editorial:hover>span,.service-editorial:hover>b,.service-editorial:hover p{color:#bdb5ac}
.service-editorial h3{font-family:var(--serif);font-size:clamp(34px,3.6vw,54px);font-weight:400;line-height:.94;letter-spacing:-.045em;margin:58px 0 18px}
.service-editorial p{max-width:480px;color:var(--muted);line-height:1.7;margin:0 0 28px}.service-editorial b{margin-top:auto}
.services-special{padding:clamp(88px,9vw,135px) 0}.special-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.special-links{border-top:1px solid var(--line-dark)}.special-links a,.special-links button{width:100%;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:22px 0;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:inherit;text-align:left;cursor:pointer}.special-links span{font-family:var(--serif);font-size:32px}.special-links b{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#aaa39a}
.inline-service-links{display:flex;gap:10px;margin:30px 0}.inline-service-links a{padding:12px 18px;border:1px solid var(--line);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.related-services{padding:65px 0}.related-services .wrap{display:flex;gap:35px;align-items:center;flex-wrap:wrap}.related-services span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#aaa39a}.related-services a{font-family:var(--serif);font-size:30px}

/* About */
.about-values{padding:0 0 clamp(90px,9vw,145px)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.values-grid article{padding:38px;border-right:1px solid var(--line)}.values-grid article:last-child{border-right:0}.values-grid span{font-size:9px;letter-spacing:.15em}.values-grid h3{font-family:var(--serif);font-size:43px;font-weight:400;margin:45px 0 16px}.values-grid p{color:var(--muted);line-height:1.7;font-size:14px}

/* Collection long-form source copy */
.collection-source-copy{padding:clamp(92px,10vw,155px) 0;background:var(--paper3)}
.source-copy-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,9vw,150px);align-items:start}
.source-copy-grid h2{font-family:var(--serif);font-size:clamp(55px,6vw,95px);line-height:.91;font-weight:400;letter-spacing:-.05em;margin:18px 0 0}.source-copy-grid h2 em{color:var(--wine);font-weight:400}
.source-copy-text{max-width:780px}.source-copy-text p{font-size:16px;line-height:1.85;color:#514b45;margin:0 0 24px}.source-copy-text p:first-child{font-family:var(--serif);font-size:27px;line-height:1.25;color:var(--ink)}
.collection-trends{padding:0 0 clamp(90px,9vw,145px);background:var(--paper3)}.trend-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.trend-grid article{padding:35px;border-right:1px solid var(--line)}.trend-grid article:last-child{border-right:0}.trend-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.trend-grid h3{font-family:var(--serif);font-size:35px;font-weight:400;line-height:1;margin:35px 0 16px}.trend-grid p{color:var(--muted);font-size:14px;line-height:1.7}
.collection-personas{padding:clamp(95px,10vw,150px) 0}.persona-list{border-top:1px solid var(--line)}.persona-list article{display:grid;grid-template-columns:220px 1fr;gap:60px;padding:44px 0;border-bottom:1px solid var(--line)}.persona-list article>span{font-size:10px;letter-spacing:.16em;font-weight:750;color:var(--wine)}.persona-list h3{font-family:var(--serif);font-size:clamp(38px,4vw,60px);font-weight:400;letter-spacing:-.04em;margin:0 0 18px}.persona-list p{max-width:830px;color:var(--muted);font-size:16px;line-height:1.8;margin:0}.persona-list small{display:block;margin-top:16px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.collection-quote{padding:clamp(80px,8vw,120px) 0;border-bottom:1px solid var(--line-dark)}.collection-quote blockquote{font-family:var(--serif);font-size:clamp(36px,5vw,72px);line-height:1.03;letter-spacing:-.04em;max-width:1200px;margin:0 0 60px}.collection-credits{display:flex;flex-wrap:wrap;gap:10px 30px;color:#aaa39a;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.hair-acronym{display:grid;gap:5px;margin-top:35px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.16em}

/* Booking and deposit */
.booking-section{padding:clamp(90px,9vw,145px) 0}.booking-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,8vw,120px);align-items:start}.booking-intro{position:sticky;top:120px}.booking-intro h2{font-family:var(--serif);font-size:clamp(45px,5vw,72px);font-weight:400;line-height:.96;letter-spacing:-.045em;margin:18px 0 28px}.booking-intro p{color:var(--muted);line-height:1.8;max-width:500px;margin-bottom:28px}.booking-card{background:var(--paper3);border:1px solid var(--line);border-radius:20px;padding:clamp(28px,4vw,52px);box-shadow:0 20px 60px rgba(37,30,25,.05)}.form-grid{display:grid;gap:18px}.form-grid.two{grid-template-columns:1fr 1fr}.booking-card label{display:grid;gap:8px;margin-bottom:18px}.booking-card label>span:first-child{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.booking-card input,.booking-card select,.booking-card textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:14px 15px;color:var(--ink);outline:none}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(125,40,50,.08)}.privacy-check{grid-template-columns:20px 1fr!important;align-items:start}.privacy-check input{width:auto;margin-top:3px}.privacy-check span{font-size:11px!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important;color:var(--muted);line-height:1.5}.privacy-check a{text-decoration:underline}.booking-submit{width:100%;margin-top:8px}.form-note{display:block;margin-top:14px;color:var(--muted);font-size:10px;line-height:1.5}.deposit-message{display:none;margin:8px 0 20px;padding:18px;border:1px solid rgba(125,40,50,.25);background:rgba(125,40,50,.055);border-radius:12px}.deposit-message.is-visible{display:block}.deposit-message strong{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.deposit-message p{font-size:12px;color:var(--muted);margin:8px 0}.booking-deposit-info{padding:clamp(82px,8vw,125px) 0}.deposit-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.deposit-info-grid p{color:#b7afa6;line-height:1.75}.deposit-info-grid strong{color:#fff}

/* Location / legal */
.location-section{padding:clamp(90px,9vw,145px) 0}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.location-grid h2{font-family:var(--serif);font-size:clamp(45px,5vw,74px);font-weight:400;line-height:.97;letter-spacing:-.045em;margin:20px 0 25px}.location-grid p{color:var(--muted);line-height:1.8}.location-actions{display:grid;gap:10px}.contact-grid{grid-template-columns:repeat(2,1fr)}.contact-card:nth-child(2n){border-right:0}.contact-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact-card h2{overflow-wrap:anywhere}
.legal-page section{padding:clamp(80px,8vw,125px) 0}.legal-content{max-width:940px}.legal-updated{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:50px}.legal-content h2{font-family:var(--serif);font-size:clamp(30px,3vw,45px);font-weight:400;letter-spacing:-.035em;margin:52px 0 14px}.legal-content p{font-size:15px;line-height:1.85;color:#514b45}.legal-content a{text-decoration:underline;text-underline-offset:3px}

/* New footer */
.site-footer{padding:0;background:var(--ink);color:var(--paper)}
.footer-top{display:grid;grid-template-columns:1.3fr .65fr .9fr 1.15fr;gap:clamp(35px,5vw,80px);padding-top:75px;padding-bottom:70px}
.footer-brand-logo{width:135px;filter:brightness(0) invert(1);opacity:.96}.footer-brand-block p{max-width:300px;color:#aaa39a;font-size:12px;line-height:1.7;margin:24px 0}.footer-book-link{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid #fff;padding-bottom:5px}
.footer-nav-column{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#c4bdb4}.footer-nav-column>span{font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:#77716a;margin-bottom:15px}.footer-nav-column a:hover{color:#fff}.footer-business strong{font-weight:600;color:#fff;line-height:1.5}.footer-business p{margin:0;line-height:1.55;color:#aaa39a}
.footer-bottom{border-top:1px solid var(--line-dark);min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;color:#817b74;font-size:9px;letter-spacing:.04em}.footer-legal-links{display:flex;gap:18px}.footer-legal-links button{border:0;background:none;color:inherit;padding:0;cursor:pointer}.footer-credit{text-align:right}.footer-credit a{color:#c7c0b8}.footer-credit a:hover{color:#fff}
.mobile-cta{grid-template-columns:1fr 1fr;padding:4px}.mobile-cta button,.mobile-cta a{border:0;background:transparent;color:#fff;height:46px;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.mobile-cta button{border-right:1px solid rgba(255,255,255,.17)}

/* Advisor V4 */
.advisor-panel{width:min(820px,100%);border:1px solid rgba(255,255,255,.08)}.advisor-question-no{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted);margin-bottom:15px}.advisor-result-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(125,40,50,.1);color:var(--wine);font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:22px}.advisor-result-meta{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0}.advisor-result-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);border-radius:999px;padding:8px 10px}.advisor-result-actions{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 18px}.advisor-result>small{display:block;color:var(--muted);line-height:1.55}.advisor-option{cursor:pointer;font-weight:600}.advisor-option:focus-visible,.button:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--wine);outline-offset:3px}

/* Consent manager */
.cookie-banner{position:fixed;z-index:150;left:20px;right:20px;bottom:20px;display:none}.cookie-banner.is-visible{display:block}.cookie-banner-inner{width:min(1120px,100%);margin:auto;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 80px rgba(20,16,14,.22);border-radius:20px;padding:25px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end}.cookie-copy h2{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-.035em;margin:10px 0 8px}.cookie-copy p{max-width:700px;color:var(--muted);font-size:12px;line-height:1.6;margin:0}.cookie-links{display:flex;gap:15px;margin-top:12px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.cookie-links a{text-decoration:underline}.cookie-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.cookie-actions .button{min-height:43px}.cookie-customize-link{border:0;background:none;text-decoration:underline;font-size:10px;cursor:pointer;padding:10px}
.cookie-preferences{position:fixed;z-index:160;inset:0;background:rgba(17,14,12,.7);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:20px}.cookie-preferences.is-visible{display:flex}.cookie-preferences-panel{position:relative;width:min(650px,100%);max-height:90svh;overflow:auto;background:var(--paper);padding:clamp(28px,5vw,52px);border-radius:20px}.cookie-preferences-panel h2{font-family:var(--serif);font-size:clamp(38px,5vw,55px);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:14px 0 32px}.cookie-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:27px;cursor:pointer}.cookie-toggle-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.cookie-toggle-row strong{font-size:13px}.cookie-toggle-row p{font-size:11px;color:var(--muted);line-height:1.55;margin:5px 0 0}.always-on{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.cookie-toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{width:46px;height:25px;border-radius:999px;background:#cfc8c0;position:relative;transition:.2s}.toggle-ui:after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.15)}.cookie-toggle-row input:checked+.toggle-ui{background:var(--wine)}.cookie-toggle-row input:checked+.toggle-ui:after{transform:translateX(21px)}.cookie-save{width:100%;margin-top:25px}

@media(max-width:1100px){
  .hero-v4 .hero-shell{grid-template-columns:1fr}.hero-v4 .hero-copy{min-height:auto;padding:60px 0}.hero-v4 h1{font-size:clamp(66px,9vw,96px);max-width:12ch}.hero-v4 .hero-art{height:70svh;min-height:620px}.identity-paths-grid{grid-template-columns:1fr}.identity-path{grid-template-columns:.8fr 1.2fr}.ai-experience,.source-copy-grid,.booking-layout,.deposit-info-grid,.location-grid{grid-template-columns:1fr}.booking-intro{position:static}.source-copy-text{max-width:none}.brand-logos{border-left:0}.footer-top{grid-template-columns:1.2fr 1fr 1fr}.footer-business{grid-column:1/-1}.footer-bottom{grid-template-columns:1fr auto}.footer-credit{grid-column:1/-1;text-align:left;padding-bottom:20px}.services-intro{grid-template-columns:1fr;gap:25px}.special-service-grid{grid-template-columns:1fr;gap:40px}.trend-grid{grid-template-columns:1fr}.trend-grid article{border-right:0;border-bottom:1px solid var(--line)}.trend-grid article:last-child{border-bottom:0}.persona-list article{grid-template-columns:170px 1fr}
}

@media(max-width:720px){
  /* Mobile header intentionally scrolls away with the page: no sticky/fixed obstruction. */
  .site-header{position:absolute;top:0;left:0;right:0;background:rgba(246,242,236,.96);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-bottom:1px solid rgba(23,21,19,.06)}
  .site-header.is-scrolled{background:rgba(246,242,236,.96);box-shadow:none;border-bottom-color:rgba(23,21,19,.06)}
  body.admin-bar .site-header{top:46px}
  .header-inner{height:72px}.ai-mini-button{display:none}.menu-toggle{display:block}.mobile-menu{z-index:75;padding-top:112px}.mobile-menu a{font-size:clamp(40px,10vw,60px)}
  .hero-v4{padding-top:72px}.hero-v4 .hero-shell{display:block;padding-top:12px}.hero-v4 .hero-copy{padding:38px 0 30px;display:block}.hero-v4 .hero-topline{margin-bottom:32px}.hero-v4 h1{font-size:clamp(48px,13.2vw,68px);max-width:none;line-height:.92;margin-bottom:24px}.hero-v4 .hero-sub{font-size:14px}.hero-v4 .hero-actions{display:grid;grid-template-columns:1fr}.hero-bottom-note{margin-top:28px}.hero-v4 .hero-art{height:61svh;min-height:480px;border-radius:16px}.hero-signature{margin-top:0}
  .home-intro-v4,.home-services-v4,.home-collections-v4,.home-identity-paths,.ai-experience-section,.home-reviews-v4{padding:78px 0}.service-feature-list a{grid-template-columns:38px 1fr;padding:19px 0}.service-feature-list b{display:none}.service-feature-list strong{font-size:31px}.identity-path{grid-template-columns:1fr;gap:18px}.identity-path figure{border-radius:14px}.identity-path h2{font-size:45px;margin:15px 0 10px}.ai-experience{gap:35px}.ai-experience p{font-size:15px}.reviews-fallback{display:grid;gap:22px}.live-review-cards{grid-template-columns:1fr}.live-review-cards article{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.live-review-cards article:last-child{border-bottom:0}.brand-logos{grid-template-columns:1fr}.brands-strip{grid-template-columns:1fr;padding:35px 20px}.brand-logos figure{border-right:0;border-bottom:1px solid var(--line);min-height:100px}.brand-logos figure:last-child{border-bottom:0}.brand-logos img{max-width:180px}.brand-logos figure:nth-child(3) img{max-width:240px}
  .inner-hero{padding-top:72px;height:auto;min-height:0;display:block}.inner-hero-copy{padding:55px 0 38px}.inner-hero h1{font-size:clamp(46px,13vw,65px);max-width:none;margin:15px 0 22px}.inner-hero-copy>p{font-size:14px}.inner-hero-image{height:58svh;margin:0 0 14px;border-radius:16px;padding:10px}.inner-hero-image img{object-position:center}
  .services-editorial-grid{grid-template-columns:1fr}.service-editorial{min-height:255px;padding:28px 20px}.service-editorial h3{margin-top:42px;font-size:43px}.special-links span{font-size:27px}.special-links b{display:none}.values-grid{grid-template-columns:1fr}.values-grid article{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.values-grid article:last-child{border-bottom:0}.values-grid h3{margin-top:25px}.source-copy-grid{gap:35px}.source-copy-grid h2{font-size:58px}.source-copy-text p{font-size:15px}.source-copy-text p:first-child{font-size:23px}.persona-list article{grid-template-columns:1fr;gap:18px;padding:34px 0}.persona-list h3{font-size:40px}.collection-quote blockquote{font-size:38px}.collection-credits{display:grid;gap:7px}.form-grid.two{grid-template-columns:1fr}.booking-card{padding:24px 18px}.deposit-info-grid{gap:35px}.contact-grid{grid-template-columns:1fr}.contact-card{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:32px 0}.footer-top{grid-template-columns:1fr 1fr;gap:42px 24px;padding-top:58px}.footer-brand-block{grid-column:1/-1}.footer-business{grid-column:1/-1}.footer-bottom{display:grid;grid-template-columns:1fr;gap:14px;padding-top:25px;padding-bottom:105px}.footer-legal-links{flex-wrap:wrap}.footer-credit{padding-bottom:0}.mobile-cta{display:grid}.cookie-banner{left:10px;right:10px;bottom:76px}.cookie-banner-inner{grid-template-columns:1fr;gap:20px;padding:20px 17px;border-radius:16px}.cookie-actions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.cookie-customize-link{grid-column:1/-1}.cookie-copy h2{font-size:28px}.advisor-panel{border-radius:16px;padding:35px 20px}.advisor-result-actions{display:grid}.advisor-result-actions .button{width:100%}
}

/* Sharmè v0.5 — public deposit request */
.deposit-public-page{background:var(--paper3);min-height:80vh;padding:clamp(120px,11vw,180px) var(--pad) clamp(80px,8vw,130px)}
.deposit-public-shell{max-width:940px;margin:0 auto}
.deposit-public-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,5vw,64px);box-shadow:0 30px 90px rgba(40,29,20,.07)}
.deposit-public-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;padding-bottom:34px;border-bottom:1px solid var(--line)}
.deposit-public-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,78px);line-height:.93;letter-spacing:-.05em;margin:14px 0 0;max-width:10ch}
.deposit-public-status{display:inline-flex;padding:8px 12px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;white-space:nowrap}
.deposit-public-status.pending{background:#f5ead6;color:#75500e}.deposit-public-status.paid{background:#e2efe5;color:#245f3a}.deposit-public-status.cancelled,.deposit-public-status.expired{background:#ebe6e1;color:#625b55}
.deposit-customer{padding:28px 0;display:grid;gap:5px}.deposit-customer span,.deposit-details span,.deposit-money span,.deposit-policy>span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700}.deposit-customer strong{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.035em}
.deposit-details{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.deposit-details>div{padding:22px 22px 22px 0;display:grid;gap:7px}.deposit-details>div+div{border-left:1px solid var(--line);padding-left:22px}.deposit-details strong{font-size:15px;font-weight:560}
.deposit-money{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;padding:34px 0}.deposit-money>div{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:7px}.deposit-money strong{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.03em}.deposit-money .deposit-money-focus{background:var(--ink);color:#fff;border-color:var(--ink)}.deposit-money-focus span{color:#cfc6bc}.deposit-money-focus strong{font-size:36px}
.deposit-paybox{background:var(--paper2);border-radius:16px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:24px}.deposit-paybox p{margin:0;max-width:480px;color:var(--muted);font-size:12px;line-height:1.55}.deposit-demo-pay[disabled]{opacity:.78;cursor:not-allowed}
.deposit-success,.deposit-alert{border-radius:16px;padding:22px;display:flex;gap:15px;align-items:flex-start}.deposit-success{background:#e6f2e9;color:#245f3a}.deposit-success>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#2f7a4d;color:#fff}.deposit-success strong,.deposit-alert strong{font-size:16px}.deposit-success p,.deposit-alert p{margin:4px 0 0;font-size:13px}.deposit-alert{background:#f1eae4;color:#5d5149;display:block}
.deposit-policy{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.deposit-policy p{color:var(--muted);font-size:12px;line-height:1.65;max-width:700px;margin:8px 0 0}.deposit-public-footer{display:flex;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.deposit-public-footer a{text-decoration:underline;text-underline-offset:4px}.deposit-not-found{text-align:center}.deposit-not-found h1{font-family:var(--serif);font-size:60px;font-weight:400;margin:16px 0}.deposit-not-found p{color:var(--muted);margin:0 auto 25px;max-width:500px}
@media(max-width:700px){.deposit-public-page{padding-top:105px}.deposit-public-head{display:grid}.deposit-details,.deposit-money{grid-template-columns:1fr}.deposit-details>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.deposit-paybox{display:grid}.deposit-public-footer{display:grid}.deposit-public-head h1{font-size:48px}.deposit-customer strong{font-size:27px}}
/* v0.6 — Stripe deposit checkout */
.deposit-paybox form{margin:0;flex:0 0 auto}.deposit-paybox form .button{border:0;cursor:pointer}.deposit-public-card .deposit-alert+ .deposit-paybox{margin-top:0}


/* v0.9.0 — richer collections, legacy Cambio Look, Wedding full gallery */
@media(min-width:1101px){
  .desktop-nav{gap:24px;font-size:9.5px;letter-spacing:.12em}
}

.sharme-color-techniques{padding:clamp(90px,9vw,145px) 0}
.technique-feature-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);margin-top:48px}
.technique-feature{min-height:360px;padding:42px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);display:flex;flex-direction:column;color:var(--paper);transition:.25s var(--ease)}
.technique-feature:hover{background:rgba(255,255,255,.06)}
.technique-feature>span,.technique-feature>b{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#aaa39a}
.technique-feature h3{font-family:var(--serif);font-size:clamp(46px,5vw,76px);font-weight:400;letter-spacing:-.045em;line-height:.92;margin:68px 0 20px}
.technique-feature p{color:#bdb5ac;line-height:1.75;max-width:520px;margin:0 0 30px}
.technique-feature b{margin-top:auto}

.catalog-story-section{padding:clamp(88px,9vw,145px) 0;border-top:1px solid var(--line)}
.catalog-story-section.alt{background:var(--paper3)}
.catalog-story{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,7vw,110px);align-items:start}
.catalog-story-copy{position:sticky;top:125px}
.catalog-hash{display:block;font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--wine);margin-bottom:22px}
.catalog-story-copy h2{font-family:var(--serif);font-size:clamp(48px,5.8vw,86px);font-weight:400;letter-spacing:-.05em;line-height:.92;margin:0 0 25px}
.catalog-story-copy p{font-size:16px;line-height:1.82;color:var(--muted);margin:0}
.catalog-story-copy small{display:block;margin-top:20px;font-size:10px;line-height:1.7;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.catalog-photo-grid{columns:2;column-gap:14px}
.catalog-photo-link{display:block;break-inside:avoid;margin:0 0 14px;background:#e8e2da;border-radius:14px;overflow:hidden;position:relative}
.catalog-photo-link:after{content:"↗";position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:999px;background:rgba(246,242,236,.9);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px;opacity:0;transform:translateY(4px);transition:.2s}
.catalog-photo-link:hover:after{opacity:1;transform:none}
.catalog-photo-link img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .45s var(--ease)}
.catalog-photo-link:hover img{transform:scale(1.008)}

.before-after-gallery{padding-bottom:clamp(90px,9vw,145px);display:grid;gap:clamp(45px,6vw,85px)}
.before-after-card{border-top:1px solid var(--line);padding-top:24px}
.before-after-head{display:flex;justify-content:space-between;gap:30px;margin-bottom:20px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.before-after-head strong{color:var(--ink)}
.before-after-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.before-after-images figure{margin:0}
.before-after-images a{display:block;background:#e9e3dc;border-radius:14px;overflow:hidden}
.before-after-images img{display:block;width:100%;height:auto;object-fit:contain}
.before-after-images figcaption{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:10px}

.wedding-full-gallery{padding-bottom:clamp(95px,10vw,155px)}
.wedding-full-gallery .catalog-photo-grid{columns:3}

.sharme-lightbox{position:fixed;inset:0;z-index:220;background:rgba(12,10,9,.94);display:none;align-items:center;justify-content:center;padding:clamp(18px,4vw,55px);backdrop-filter:blur(8px)}
.sharme-lightbox.is-open{display:flex}
.sharme-lightbox img{display:block;max-width:min(1200px,94vw);max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.35)}
.sharme-lightbox-close{position:fixed;right:22px;top:18px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:26px;line-height:1;cursor:pointer}
body.lightbox-open{overflow:hidden}

@media(max-width:900px){
  .treatments-video-grid{grid-template-columns:1fr;gap:34px}.treatments-video-copy{max-width:720px}
  .catalog-story{grid-template-columns:1fr;gap:38px}
  .catalog-story-copy{position:static;max-width:720px}
  .wedding-full-gallery .catalog-photo-grid{columns:2}
}
@media(max-width:720px){
  .technique-feature-grid{grid-template-columns:1fr}
  .technique-feature{min-height:290px;padding:30px 20px}
  .technique-feature h3{margin-top:45px;font-size:48px}
  .catalog-story-section{padding:76px 0}
  .catalog-photo-grid,.wedding-full-gallery .catalog-photo-grid{columns:1}
  .catalog-photo-link{border-radius:12px;margin-bottom:12px}
  .catalog-photo-link:after{opacity:1;transform:none;width:30px;height:30px}
  .before-after-images{grid-template-columns:1fr 1fr;gap:8px}
  .before-after-images a{border-radius:10px}
  .before-after-head{margin-bottom:14px}
}

.collection-cover-full{padding-top:0;padding-bottom:clamp(70px,8vw,120px)}
.catalog-cover-link{max-width:900px;margin:0 auto}
.catalog-cover-link img{width:100%;height:auto}
.collection-finale-photo{padding-bottom:clamp(80px,8vw,125px)}

/* v0.10.3 — Cambio Look mode + condizioni acconto */
.before-after-gallery.is-single-gallery{display:block}
.cambio-look-single-gallery{margin-top:0}
.deposit-terms-box{margin:26px 0 16px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.deposit-terms-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:14px}
.deposit-terms-head>span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--ink)}
.deposit-terms-head small{font-size:11px;color:var(--muted)}
.deposit-terms-box ul{margin:0;padding-left:20px;display:grid;gap:10px}
.deposit-terms-box li{font-size:13px;line-height:1.65;color:var(--muted);padding-left:3px}
.deposit-checkout-form{display:grid;gap:14px;min-width:min(100%,330px)}
.deposit-terms-consent{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-size:12px;line-height:1.45;color:var(--ink);cursor:pointer;max-width:360px}
.deposit-terms-consent input{margin-top:2px;width:17px;height:17px}
.deposit-pay-button[disabled]{opacity:.45;cursor:not-allowed!important}
@media(max-width:700px){.deposit-terms-head{display:grid;gap:5px}.deposit-paybox{gap:18px}.deposit-checkout-form{min-width:0;width:100%}.deposit-pay-button{width:100%}}
