:root{
  --sdm-black:#0D0D0D;
  --sdm-black-2:#171511;
  --sdm-gold:#B69A62;
  --sdm-gold-dark:#927746;
  --sdm-ivory:#F6F2E9;
  --sdm-warm:#FCFBF8;
  --sdm-white:#FFFFFF;
  --sdm-text:#242321;
  --sdm-sub:#706B63;
  --sdm-border:#DDD6C9;
  --sdm-green:#1FAF63;
  --sdm-serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",Georgia,serif;
  --sdm-sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --sdm-en:Georgia,"Times New Roman",serif;
  --sdm-container:min(1240px,calc(100vw - 64px));
  --sdm-shadow:0 18px 60px rgba(10,9,7,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sdm-warm);color:var(--sdm-text);font-family:var(--sdm-sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-menu-open{overflow:hidden}
body.is-menu-open .sdm-header{background:rgba(252,251,248,.98);color:var(--sdm-black);box-shadow:0 1px 0 rgba(19,17,14,.12)}
body.is-menu-open .sdm-mobile-fixed-cta{display:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:rgba(182,154,98,.28)}
.sdm-container{width:var(--sdm-container);margin-inline:auto}
.sdm-main{overflow:hidden}
.sdm-skip-link{position:fixed;left:16px;top:-100px;z-index:99999;background:#fff;color:#000;padding:10px 16px;border:2px solid #000}
.sdm-skip-link:focus{top:16px}
.sdm-section{position:relative;padding:clamp(86px,9vw,144px) 0}
.sdm-section--white{background:var(--sdm-white)}
.sdm-section--ivory{background:var(--sdm-ivory)}
.sdm-section--black{background:var(--sdm-black);color:var(--sdm-white)}
.sdm-eyebrow{margin:0 0 14px;color:var(--sdm-gold-dark);font:600 12px/1.2 var(--sdm-sans);letter-spacing:.22em;text-transform:uppercase}
.sdm-eyebrow--light{color:#D3BD8F}
.sdm-section-head{max-width:760px;margin:0 auto clamp(44px,5vw,72px);text-align:center}
.sdm-section-head--left{margin-inline:0;text-align:left}
.sdm-section-head h2,.sdm-why h2,.sdm-philosophy h2,.sdm-peeling h2,.sdm-homecare h2,.sdm-brand h2,.sdm-producer h2,.sdm-final-cta h2{margin:0 0 24px;font-family:var(--sdm-serif);font-size:clamp(30px,3.5vw,48px);font-weight:500;line-height:1.42;letter-spacing:.01em;text-wrap:balance}
.sdm-section-head p,.sdm-why p,.sdm-philosophy p,.sdm-peeling p,.sdm-homecare p,.sdm-brand p,.sdm-producer p,.sdm-final-cta p{margin:0;color:var(--sdm-sub);font-size:15.5px;line-height:2}
.sdm-section--black p,.sdm-final-cta p{color:rgba(255,255,255,.76)}
.sdm-large-copy{font-family:var(--sdm-serif);font-size:clamp(20px,2vw,28px)!important;line-height:1.7!important;color:var(--sdm-text)!important;margin-bottom:20px!important}
.sdm-center-cta{display:flex;justify-content:center;margin-top:46px}
.sdm-dual-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.sdm-dual-cta--left{justify-content:flex-start}
.sdm-btn{min-height:52px;padding:0 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid transparent;font-size:13px;font-weight:700;letter-spacing:.04em;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.sdm-btn:hover{transform:translateY(-2px)}
.sdm-btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--sdm-gold);outline-offset:4px}
.sdm-btn--gold{background:var(--sdm-gold);color:#15130f;border-color:var(--sdm-gold)}
.sdm-btn--gold:hover{background:#C4AA74;border-color:#C4AA74}
.sdm-btn--outline{background:transparent;border-color:var(--sdm-gold-dark);color:var(--sdm-text)}
.sdm-btn--outline:hover{background:var(--sdm-black);border-color:var(--sdm-black);color:#fff}
.sdm-btn--outline-light{background:rgba(0,0,0,.12);border-color:rgba(214,190,142,.74);color:#fff;backdrop-filter:blur(8px)}
.sdm-btn--outline-light:hover{background:rgba(182,154,98,.18)}
.sdm-btn--line{background:var(--sdm-green);border-color:var(--sdm-green);color:#fff}
.sdm-btn--line:hover{filter:brightness(.96)}

/* Header */
.sdm-header{position:fixed;inset:0 0 auto;z-index:1000;color:#fff;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}
.sdm-header.is-scrolled{background:rgba(252,251,248,.95);color:var(--sdm-black);box-shadow:0 1px 0 rgba(19,17,14,.12);backdrop-filter:blur(12px)}
.sdm-header__inner{width:min(1360px,calc(100vw - 28px));height:76px;margin:auto;display:flex;align-items:center;gap:22px}
.sdm-header__brand{flex:0 0 auto}
.sdm-brand-link{display:flex;align-items:center;gap:9px;min-width:174px}
.sdm-brand-link__crest{width:36px;height:36px;object-fit:contain;filter:sepia(.3) saturate(.7) brightness(1.4)}
.sdm-header.is-scrolled .sdm-brand-link__crest{filter:none}
.sdm-brand-link__text{display:flex;flex-direction:column;font-family:var(--sdm-en);line-height:1.05;letter-spacing:.05em}
.sdm-brand-link__text strong{font-size:13px;font-weight:500}
.sdm-brand-link__text small{font-size:8px;color:var(--sdm-gold)}
.custom-logo-link img{max-height:52px;width:auto}
.sdm-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.4vw,24px);flex:1;font-size:11px;white-space:nowrap}
.sdm-nav>a,.sdm-nav-more__button{position:relative;padding:27px 0;background:none;border:0;cursor:pointer}
.sdm-nav>a:after,.sdm-nav-more__button:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:1px;background:var(--sdm-gold);transition:right .25s ease}
.sdm-nav>a:hover:after,.sdm-nav-more__button:hover:after{right:0}
.sdm-nav-more{position:relative}
.sdm-nav-more__button{font-size:11px}
.sdm-mega-menu{position:absolute;right:-260px;top:64px;width:620px;padding:20px;background:rgba(252,251,248,.985);color:var(--sdm-black);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid rgba(182,154,98,.35);box-shadow:var(--sdm-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s ease}
.sdm-nav-more.is-open .sdm-mega-menu{opacity:1;visibility:visible;transform:none}
.sdm-mega-menu a{padding:20px;background:#fff;border:1px solid #ece7de;font-size:12px;line-height:1.5}
.sdm-mega-menu a:hover{background:var(--sdm-ivory)}
.sdm-mega-menu span{display:block;margin-bottom:4px;color:var(--sdm-gold-dark);font:11px/1 var(--sdm-en);letter-spacing:.12em}
.sdm-header__actions{display:flex;gap:8px;flex:0 0 auto}
.sdm-header-cta{padding:10px 14px;font-size:10px;font-weight:700;border:1px solid rgba(255,255,255,.3)}
.sdm-header-cta--line{background:var(--sdm-green);border-color:var(--sdm-green)}
.sdm-header-cta--booking{background:var(--sdm-gold);border-color:var(--sdm-gold);color:#16130d}
.sdm-header.is-scrolled .sdm-header-cta--booking{color:#16130d}
.sdm-menu-toggle,.sdm-mobile-drawer,.sdm-mobile-fixed-cta{display:none}

/* Hero */
.sdm-hero{position:relative;min-height:100svh;background-image:var(--sdm-hero-image);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.sdm-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.92) 0%,rgba(4,4,4,.70) 38%,rgba(4,4,4,.18) 72%,rgba(4,4,4,.25) 100%)}
.sdm-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.28))}
.sdm-hero__content{position:relative;z-index:2;padding-top:74px;display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.sdm-hero__copy{max-width:700px;padding-block:80px 42px}
.sdm-hero__brandline{display:flex;flex-direction:column;gap:6px;margin:0 0 26px;font-family:var(--sdm-serif)}
.sdm-hero__brandline em{font-family:var(--sdm-en);color:#D9C39B;font-size:clamp(20px,2.1vw,32px)}
.sdm-hero__brandline span{font-size:13px;letter-spacing:.12em}
.sdm-hero h1{margin:0 0 22px;font-family:var(--sdm-serif);font-weight:500;font-size:clamp(40px,5vw,70px);line-height:1.34;letter-spacing:.01em;text-shadow:0 2px 24px rgba(0,0,0,.3);text-wrap:balance}
.sdm-hero__lead{margin:0;color:rgba(255,255,255,.82);font-size:13px;letter-spacing:.04em}
.sdm-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.sdm-trust-strip{display:flex;gap:0;list-style:none;padding:0;margin:24px 0 0;font-size:12px;color:rgba(255,255,255,.86)}
.sdm-trust-strip li{padding:0 16px;border-right:1px solid rgba(255,255,255,.3)}
.sdm-trust-strip li:first-child{padding-left:0}
.sdm-trust-strip li:last-child{border-right:0}
.sdm-hero__signature{margin-bottom:64px;display:flex;flex-direction:column;text-align:right;font-family:var(--sdm-serif);font-size:24px;color:rgba(255,255,255,.8);text-shadow:0 2px 20px rgba(0,0,0,.4)}
.sdm-hero__signature strong{font-size:28px;font-weight:500}
.sdm-hero__signature small{margin-top:32px;font:10px/1.3 var(--sdm-en);letter-spacing:.13em}

/* Concerns */
.sdm-concern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sdm-concern-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e5dccd;overflow:hidden;box-shadow:0 8px 24px rgba(25,20,12,.035);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.sdm-concern-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(22,18,12,.10);border-color:#c8af7a}
.sdm-concern-card figure{margin:0;aspect-ratio:16/7.2;overflow:hidden;background:#eee}
.sdm-concern-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.sdm-concern-card:hover img{transform:scale(1.035)}
.sdm-concern-card__body{display:flex;flex:1;flex-direction:column;padding:24px 24px 22px;min-height:312px}
.sdm-concern-card__meta{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.sdm-concern-card__num{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 9px;background:var(--sdm-black);color:#fff;font:11px/1 var(--sdm-en);letter-spacing:.08em}
.sdm-concern-card__eyebrow{color:var(--sdm-gold-dark);font:10px/1 var(--sdm-en);letter-spacing:.14em}
.sdm-concern-card__title{position:relative;margin:0;padding:0 0 0 15px;border-left:3px solid var(--sdm-gold);font-family:var(--sdm-serif);font-size:clamp(21px,1.35vw,27px);line-height:1.45;font-weight:600;color:var(--sdm-black);letter-spacing:.015em}
.sdm-concern-card__lead{margin:10px 0 0;color:var(--sdm-gold-dark);font-size:13px;line-height:1.65;font-weight:700;letter-spacing:.025em}
.sdm-concern-card__desc{margin:14px 0 22px;color:var(--sdm-text-light);font-size:13.5px;line-height:1.85}
.sdm-concern-card__cta{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding:14px 16px;background:var(--sdm-black);border:1px solid var(--sdm-black);border-radius:2px;color:#fff;font-size:13px;line-height:1.45;font-weight:700;letter-spacing:.025em;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.sdm-concern-card__cta b{position:static;flex:0 0 auto;margin-left:12px;color:var(--sdm-gold);font-size:17px;font-weight:400}
.sdm-concern-card__cta:hover,.sdm-concern-card__cta:focus-visible{background:var(--sdm-gold);border-color:var(--sdm-gold);color:#16130d;transform:translateY(-1px)}
.sdm-concern-card__cta:hover b,.sdm-concern-card__cta:focus-visible b{color:#16130d}

/* Why diagram */
.sdm-why__grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(500px,1.06fr);gap:clamp(50px,7vw,110px);align-items:center}
.sdm-why__copy{max-width:620px}
.sdm-skin-map{position:relative;min-height:520px;border-radius:50%;background:radial-gradient(circle at center,rgba(182,154,98,.12),transparent 47%)}
.sdm-skin-map:before,.sdm-skin-map:after{content:"";position:absolute;left:50%;top:50%;background:#cbb992;opacity:.72;transform:translate(-50%,-50%)}
.sdm-skin-map:before{width:78%;height:1px}
.sdm-skin-map:after{height:78%;width:1px}
.sdm-skin-map__center{position:absolute;left:50%;top:50%;width:148px;height:148px;border:1px solid var(--sdm-gold);border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:rgba(252,251,248,.88);font-family:var(--sdm-serif);font-size:24px;z-index:2;box-shadow:0 0 0 9px rgba(182,154,98,.08)}
.sdm-skin-map__item{position:absolute;width:170px;font-family:var(--sdm-serif);font-size:18px;text-align:center;z-index:2}
.sdm-skin-map__item small{display:block;margin-top:4px;font-family:var(--sdm-sans);font-size:11px;color:var(--sdm-sub)}
.sdm-skin-map .item-1{left:50%;top:4%;transform:translateX(-50%)}
.sdm-skin-map .item-2{right:0;top:22%}
.sdm-skin-map .item-3{right:0;bottom:20%}
.sdm-skin-map .item-4{left:50%;bottom:2%;transform:translateX(-50%)}
.sdm-skin-map .item-5{left:0;bottom:20%}
.sdm-skin-map .item-6{left:0;top:22%}

/* Philosophy */
.sdm-philosophy__top{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,7vw,100px);align-items:center}
.sdm-philosophy__image{margin:0;min-height:420px;overflow:hidden}
.sdm-philosophy__image img{width:100%;height:100%;object-fit:cover}
.sdm-step-grid{list-style:none;margin:72px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border)}
.sdm-step-grid li{position:relative;min-height:154px;padding:26px 20px;border-right:1px solid var(--sdm-border)}
.sdm-step-grid li:last-child{border-right:0}
.sdm-step-grid span{display:block;color:var(--sdm-gold-dark);font:16px/1 var(--sdm-en);margin-bottom:20px}
.sdm-step-grid strong{font-family:var(--sdm-serif);font-size:15px;line-height:1.7;font-weight:600}
.sdm-philosophy__statement{margin:48px 0 0!important;font-family:var(--sdm-serif);font-size:clamp(28px,3.3vw,46px)!important;line-height:1.55!important;color:var(--sdm-text)!important;letter-spacing:.02em}

/* Reasons */
.sdm-reasons{padding-top:40px}
.sdm-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--sdm-border);border-left:1px solid var(--sdm-border)}
.sdm-reason-card{position:relative;min-height:250px;padding:34px 30px;border-right:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border);background:#fff}
.sdm-reason-card span{color:var(--sdm-gold-dark);font:24px/1 var(--sdm-en)}
.sdm-reason-card h3{margin:30px 0 15px;font-family:var(--sdm-serif);font-size:21px;line-height:1.55;font-weight:600}
.sdm-reason-card p{margin:0;color:var(--sdm-sub);font-size:13px;line-height:1.9}

/* First */
.sdm-first__intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.sdm-assurance-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sdm-assurance-grid li{min-height:76px;padding:20px;border:1px solid #dfd4c2;background:rgba(255,255,255,.62);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--sdm-serif);font-size:14px}
.sdm-flow-wrap{margin-top:64px;padding:40px 42px;background:#fff;border:1px solid #e3d9c8}
.sdm-flow-wrap h3{margin:0 0 28px;font-family:var(--sdm-serif);font-size:23px;font-weight:500}
.sdm-flow-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e7dfd3;border:1px solid #e7dfd3}
.sdm-flow-list li{min-height:88px;padding:17px 18px;background:#fff;display:flex;gap:12px;align-items:flex-start}
.sdm-flow-list span{font:14px/1.5 var(--sdm-en);color:var(--sdm-gold-dark)}
.sdm-flow-list b{font-size:12.5px;line-height:1.65;font-weight:600}

/* Treatment menu */
.sdm-treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sdm-treatment-card{border:1px solid #e5ded2;background:#fff}
.sdm-treatment-card figure{margin:0;aspect-ratio:4/2.6;overflow:hidden;background:#eee}
.sdm-treatment-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.sdm-treatment-card:hover img{transform:scale(1.03)}
.sdm-treatment-card>div{padding:25px}
.sdm-treatment-card__type{margin:0;color:var(--sdm-sub);font-size:12px}
.sdm-treatment-card h3{margin:7px 0 15px;font-family:var(--sdm-serif);font-size:25px;font-weight:500}
.sdm-price{display:flex;align-items:baseline;gap:12px;margin:0 0 18px}
.sdm-price del{font-size:12px;color:#888}
.sdm-price strong{font-family:var(--sdm-en);font-size:24px;color:var(--sdm-gold-dark);font-weight:500}
.sdm-treatment-card>div>a{display:inline-flex;gap:12px;align-items:center;font-size:12px;border-bottom:1px solid var(--sdm-gold-dark);padding-bottom:4px}
.sdm-menu-feature__foot{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:46px}
.sdm-menu-feature__foot p{margin:0;font-family:var(--sdm-serif);font-size:17px}

/* Peeling */
.sdm-peeling{min-height:610px;background-image:linear-gradient(90deg,rgba(9,9,9,.96) 0%,rgba(9,9,9,.82) 45%,rgba(9,9,9,.30) 80%),var(--sdm-peeling-image);background-size:cover;background-position:center}
.sdm-peeling__content{display:flex;align-items:center;min-height:410px}
.sdm-peeling__copy{max-width:720px}
.sdm-tag-list{list-style:none;padding:0;margin:28px 0 34px;display:flex;gap:8px;flex-wrap:wrap}
.sdm-tag-list li{padding:8px 13px;border:1px solid rgba(200,174,122,.48);color:#e9dfca;font-size:11px}

/* Homecare */
.sdm-homecare__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sdm-homecare__image{margin:0;min-height:520px;overflow:hidden}
.sdm-homecare__image img{width:100%;height:100%;object-fit:cover}
.sdm-check-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}
.sdm-check-list li{position:relative;padding-left:25px;font-size:13px}
.sdm-check-list li:before{content:"✓";position:absolute;left:0;color:var(--sdm-gold-dark)}

/* Cases */
.sdm-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sdm-case-card{border:1px solid #e5ded2;background:#fff}
.sdm-case-card__image{display:block;aspect-ratio:1.25/1;overflow:hidden;background:#eee}
.sdm-case-card__image img{width:100%;height:100%;object-fit:cover}
.sdm-case-card__body{padding:25px}
.sdm-case-card__meta{margin:0;color:var(--sdm-gold-dark);font:12px/1 var(--sdm-en);letter-spacing:.16em}
.sdm-case-card h3{margin:12px 0;font-family:var(--sdm-serif);font-size:21px}
.sdm-case-card p{font-size:13px;color:var(--sdm-sub)}
.sdm-case-card__body>a{font-size:12px;border-bottom:1px solid var(--sdm-gold-dark)}
.sdm-case-empty{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sdm-case-empty>div{padding:30px;border:1px solid var(--sdm-border);background:var(--sdm-warm);min-height:210px}
.sdm-case-empty span{font:24px/1 var(--sdm-en);color:var(--sdm-gold-dark)}
.sdm-case-empty strong{display:block;margin:24px 0 10px;font-family:var(--sdm-serif);font-size:19px}
.sdm-case-empty p{margin:0;font-size:13px;color:var(--sdm-sub)}

/* Brand */
.sdm-brand{min-height:720px;background-image:var(--sdm-brand-image);background-size:cover;background-position:center;display:flex;align-items:center;text-align:center}
.sdm-brand__veil{position:absolute;inset:0;background:rgba(5,5,5,.84)}
.sdm-brand__inner{position:relative;z-index:2;max-width:820px}
.sdm-brand__crest{width:120px;height:120px;object-fit:contain;margin:0 auto 18px;opacity:.82;filter:sepia(.65) saturate(.72) brightness(1.18)}
.sdm-brand__name{font:24px/1.2 var(--sdm-en)!important;letter-spacing:.12em;color:#fff!important}
.sdm-brand__fabulous{font:italic 24px/1.2 var(--sdm-en)!important;color:#cfb57e!important;margin:8px 0 30px!important}
.sdm-brand h2{font-size:clamp(32px,4vw,54px);margin-bottom:24px}
.sdm-brand .sdm-btn{margin-top:34px}

/* Producer */
.sdm-producer{padding-top:0}
.sdm-producer__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.sdm-producer__image{margin:0;min-height:620px;align-self:stretch;overflow:hidden;background:#111}
.sdm-producer__image img{width:100%;height:100%;object-fit:cover;object-position:center}
.sdm-producer__copy{max-width:620px;padding:80px 0}
.sdm-producer h2{font-family:var(--sdm-en);font-size:clamp(46px,6vw,82px);line-height:1;margin-bottom:12px}
.sdm-producer__title{color:#d5c4a4!important;font-size:12px!important;letter-spacing:.1em;text-transform:uppercase}
.sdm-producer__quote{margin:46px 0 22px!important;font-family:var(--sdm-serif)!important;font-size:clamp(23px,2.7vw,36px)!important;line-height:1.7!important;color:#fff!important}
.sdm-producer .sdm-btn{margin-top:32px}

/* Staff */
.sdm-staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sdm-staff-card{background:#fff;border:1px solid #e6ded2}
.sdm-staff-card>a{display:block;aspect-ratio:4/5;overflow:hidden}
.sdm-staff-card img{width:100%;height:100%;object-fit:cover}
.sdm-staff-card>div{padding:18px}
.sdm-staff-card h3{margin:0 0 8px;font-family:var(--sdm-en);font-size:20px;letter-spacing:.04em}
.sdm-staff-card p{margin:0;color:var(--sdm-sub);font-size:12px;line-height:1.8}
.sdm-staff__visual{margin:0;max-height:430px;overflow:hidden;border:1px solid #e0d6c7}
.sdm-staff__visual img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Price */
.sdm-price-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--sdm-border)}
.sdm-price-grid>div{padding:34px 28px;border-right:1px solid var(--sdm-border);text-align:center;min-height:170px;background:#fff}
.sdm-price-grid>div:last-child{border-right:0}
.sdm-price-grid span{display:block;margin-bottom:18px;color:var(--sdm-gold-dark);font-size:11px;letter-spacing:.08em}
.sdm-price-grid strong{font-family:var(--sdm-serif);font-size:20px;line-height:1.65;font-weight:500}
.sdm-price-grid em{color:var(--sdm-gold-dark);font:normal 32px/1.2 var(--sdm-en)}

/* Products */
.sdm-products__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sdm-products__image{margin:0;min-height:480px;overflow:hidden}
.sdm-products__image img{width:100%;height:100%;object-fit:cover}
.sdm-product-links{margin-top:30px;border-top:1px solid var(--sdm-border)}
.sdm-product-links a{display:flex;gap:18px;padding:17px 4px;border-bottom:1px solid var(--sdm-border);font-family:var(--sdm-serif);font-size:15px;transition:padding-left .2s ease}
.sdm-product-links a:hover{padding-left:10px}
.sdm-product-links span{font-family:var(--sdm-en);color:var(--sdm-gold-dark)}

/* Column */
.sdm-column-categories{display:flex;gap:8px;flex-wrap:wrap;margin:-22px 0 44px}
.sdm-column-categories a{padding:8px 14px;border:1px solid var(--sdm-border);font-size:11px;background:#fff}
.sdm-column-categories a:hover{border-color:var(--sdm-gold-dark);background:var(--sdm-ivory)}
.sdm-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sdm-article-card{border-top:1px solid var(--sdm-border);padding-top:16px}
.sdm-article-card__image{display:block;aspect-ratio:16/9;overflow:hidden;background:#efeae2}
.sdm-article-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.sdm-article-card:hover img{transform:scale(1.025)}
.sdm-article-card__placeholder{height:100%;display:grid;place-items:center;font:16px/1 var(--sdm-en);color:var(--sdm-gold-dark);letter-spacing:.08em}
.sdm-article-card>div{padding:18px 0}
.sdm-article-card time{font:11px/1 var(--sdm-en);color:var(--sdm-sub)}
.sdm-article-card h3{margin:10px 0 16px;font-family:var(--sdm-serif);font-size:18px;line-height:1.65}
.sdm-article-card>div>a{font-size:11px;border-bottom:1px solid var(--sdm-gold-dark)}

/* FAQ */
.sdm-faq__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start}
.sdm-faq-list{border-top:1px solid var(--sdm-border)}
.sdm-faq-item{border-bottom:1px solid var(--sdm-border);background:transparent}
.sdm-faq-item summary{position:relative;list-style:none;cursor:pointer;padding:21px 48px 21px 0;font-family:var(--sdm-serif);font-size:16px}
.sdm-faq-item summary::-webkit-details-marker{display:none}
.sdm-faq-item summary:before{content:"Q.";color:var(--sdm-gold-dark);font-family:var(--sdm-en);margin-right:12px}
.sdm-faq-item summary:after{content:"+";position:absolute;right:6px;top:19px;color:var(--sdm-gold-dark);font-size:22px;font-weight:300}
.sdm-faq-item[open] summary:after{content:"−"}
.sdm-faq-item div{padding:0 45px 22px 30px}
.sdm-faq-item p{margin:0;color:var(--sdm-sub);font-size:13px;line-height:1.9}
.sdm-faq>.sdm-center-cta{margin-bottom:0}

/* Access */
.sdm-access__grid{display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:center}
.sdm-access__image{margin:0;min-height:350px;border:1px solid #e0d9cf;overflow:hidden}
.sdm-access__image img{width:100%;height:100%;object-fit:cover}
.sdm-access__info{padding:10px 0}
.sdm-access__name{font-family:var(--sdm-en);font-size:20px;letter-spacing:.08em}
.sdm-access address{font-style:normal;font-size:14px;line-height:1.8}
.sdm-access ul{padding:0;list-style:none;margin:20px 0}
.sdm-access li{padding:6px 0;border-bottom:1px solid #eee8df;font-size:13px}
.sdm-access__info>p{font-size:13px;color:var(--sdm-sub)}

/* Final CTA */
.sdm-final-cta{position:relative;min-height:540px;padding:105px 0;background-image:var(--sdm-final-image);background-size:cover;background-position:center;color:#fff;text-align:center;display:flex;align-items:center}
.sdm-final-cta__overlay{position:absolute;inset:0;background:rgba(5,5,5,.73)}
.sdm-final-cta__inner{position:relative;z-index:2;max-width:800px}
.sdm-final-cta h2{font-size:clamp(34px,4.5vw,58px)}
.sdm-final-cta__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:32px}
.sdm-trust-strip--center{justify-content:center}

/* Footer */
.sdm-footer{padding:80px 0 28px;background:#080808;color:rgba(255,255,255,.78);border-top:1px solid rgba(182,154,98,.22)}
.sdm-footer__grid{display:grid;grid-template-columns:1fr 1.5fr .7fr 1fr;gap:48px}
.sdm-footer__brand img{filter:sepia(.6) saturate(.7) brightness(1.16);opacity:.86}
.sdm-footer__logo{margin:18px 0 0;font:19px/1.2 var(--sdm-en);letter-spacing:.08em;color:#fff}
.sdm-footer__logo span{display:block;margin-top:5px;font-size:9px;color:var(--sdm-gold)}
.sdm-footer__tagline{margin-top:28px;font:italic 22px/1.2 var(--sdm-en);color:var(--sdm-gold)}
.sdm-footer h2{margin:0 0 20px;font:12px/1 var(--sdm-en);letter-spacing:.12em;color:#d4be91}
.sdm-footer__link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px}
.sdm-footer__links a,.sdm-footer__social a{font-size:11px;color:rgba(255,255,255,.72)}
.sdm-footer__links a:hover,.sdm-footer__social a:hover{color:#fff}
.sdm-footer__social{display:flex;flex-direction:column;gap:7px}
.sdm-footer__social h2{margin-bottom:13px}
.sdm-footer__info p{font-size:11px;line-height:1.75;margin:0 0 5px}
.sdm-footer__info .sdm-btn{margin-top:20px;min-height:44px}
.sdm-footer__bottom{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:30px;font-size:9px}
.sdm-footer__bottom p{margin:0}
.sdm-footer__bottom div{display:flex;gap:16px}

/* Generic content templates */
.sdm-content-hero{padding:150px 0 72px;background:var(--sdm-black);color:#fff}
.sdm-content-hero h1{margin:0;font-family:var(--sdm-serif);font-size:clamp(38px,5vw,64px);font-weight:500}
.sdm-content-hero p{max-width:760px;color:rgba(255,255,255,.7)}
.sdm-content{padding:80px 0 120px;background:#fff}
.sdm-prose{max-width:780px;margin:auto}
.sdm-prose h2,.sdm-prose h3{font-family:var(--sdm-serif);font-weight:500;line-height:1.5}
.sdm-prose h2{margin-top:3em;font-size:32px}
.sdm-prose h3{margin-top:2.4em;font-size:24px}
.sdm-prose p,.sdm-prose li{font-size:16px;line-height:1.95}
.sdm-prose a{text-decoration:underline;text-decoration-color:var(--sdm-gold)}
.sdm-prose img{margin:40px auto}
.sdm-breadcrumbs{font-size:11px;color:var(--sdm-sub);margin-bottom:22px}
.sdm-post-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--sdm-sub);margin:20px 0 36px}
.sdm-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sdm-pagination{margin-top:50px}
.sdm-pagination .nav-links{display:flex;gap:8px;justify-content:center}
.sdm-pagination a,.sdm-pagination span{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--sdm-border);font-size:12px}
.sdm-pagination .current{background:var(--sdm-black);color:#fff;border-color:var(--sdm-black)}

@media (max-width:1180px){
  .sdm-nav{gap:12px}.sdm-nav>a,.sdm-nav-more__button{font-size:10px}.sdm-header__actions{display:none}
  .sdm-concern-grid{grid-template-columns:repeat(2,1fr)}
  .sdm-step-grid{grid-template-columns:repeat(3,1fr)}
  .sdm-step-grid li:nth-child(3){border-right:0}.sdm-step-grid li:nth-child(-n+3){border-bottom:1px solid var(--sdm-border)}
  .sdm-footer__grid{grid-template-columns:1fr 1.6fr 1fr}.sdm-footer__info{grid-column:1/-1}
}

@media (max-width:920px){
  :root{--sdm-container:min(calc(100% - 36px),760px)}
  .sdm-header__inner{height:66px;width:calc(100vw - 24px)}
  .sdm-nav,.sdm-header__actions{display:none}
  .sdm-brand-link{min-width:0}.sdm-brand-link__crest{width:32px;height:32px}
  .sdm-menu-toggle{margin-left:auto;display:grid;grid-template-columns:22px auto;column-gap:8px;align-items:center;background:none;border:0;padding:8px 0;cursor:pointer}
  .sdm-menu-toggle span{grid-column:1;width:22px;height:1px;background:currentColor;display:block;margin:2px 0;transition:.25s ease}
  .sdm-menu-toggle b{grid-column:2;grid-row:1/4;font:9px/1 var(--sdm-sans);letter-spacing:.12em}
  .sdm-mobile-drawer{display:block;position:fixed;inset:0;z-index:950;background:rgba(246,242,233,.985);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:92px 22px 100px;overflow:auto;color:var(--sdm-black)}
  .sdm-mobile-drawer.is-open{transform:none}
  .sdm-mobile-drawer__inner{max-width:620px;margin:auto}
  .sdm-mobile-drawer nav{display:grid;border-top:1px solid #d9cfbf}
  .sdm-mobile-drawer nav a{padding:16px 4px;border-bottom:1px solid #d9cfbf;font-family:var(--sdm-serif);font-size:16px}
  .sdm-mobile-drawer__priority{color:var(--sdm-gold-dark);font-weight:700}
  .sdm-mobile-drawer__brand{margin-top:40px;font:20px/1.2 var(--sdm-en);letter-spacing:.08em}.sdm-mobile-drawer__brand span{display:block;font-size:10px;color:var(--sdm-gold-dark)}
  .sdm-mobile-fixed-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1050;height:56px;padding-bottom:env(safe-area-inset-bottom)}
  .sdm-mobile-fixed-cta a{flex:1;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}.sdm-mobile-fixed-cta__line{background:var(--sdm-green)}.sdm-mobile-fixed-cta__booking{background:var(--sdm-gold);color:#15130f!important}

  .sdm-hero{min-height:820px;background-position:61% center}
  .sdm-hero:before{background:linear-gradient(180deg,rgba(5,5,5,.42) 0%,rgba(5,5,5,.38) 30%,rgba(5,5,5,.88) 75%,rgba(5,5,5,.94) 100%)}
  .sdm-hero__content{padding-top:76px;align-items:flex-end}.sdm-hero__copy{padding-bottom:76px}.sdm-hero__signature{display:none}
  .sdm-hero h1{font-size:clamp(36px,8.5vw,52px)}
  .sdm-hero__actions{display:grid;grid-template-columns:1fr 1fr}.sdm-hero__actions .sdm-btn{padding:0 16px;gap:12px}
  .sdm-why__grid,.sdm-philosophy__top,.sdm-first__intro,.sdm-homecare__grid,.sdm-products__grid,.sdm-faq__grid,.sdm-access__grid,.sdm-producer__grid{grid-template-columns:1fr;gap:50px}
  .sdm-skin-map{min-height:500px}
  .sdm-philosophy__image{min-height:360px}.sdm-reason-grid{grid-template-columns:repeat(2,1fr)}
  .sdm-treatment-grid,.sdm-case-grid,.sdm-case-empty,.sdm-article-grid{grid-template-columns:1fr 1fr}.sdm-treatment-card:last-child,.sdm-case-card:last-child,.sdm-case-empty>div:last-child,.sdm-article-card:last-child{grid-column:1/-1}
  .sdm-flow-list{grid-template-columns:repeat(2,1fr)}
  .sdm-peeling{background-position:65% center}.sdm-peeling__copy{max-width:580px}
  .sdm-homecare__image,.sdm-products__image{min-height:400px}
  .sdm-producer__image{min-height:520px;max-height:700px}.sdm-producer__copy{padding:0 0 60px}
  .sdm-staff-grid{grid-template-columns:repeat(2,1fr)}
  .sdm-price-grid{grid-template-columns:repeat(2,1fr)}.sdm-price-grid>div:nth-child(2){border-right:0}.sdm-price-grid>div:nth-child(-n+2){border-bottom:1px solid var(--sdm-border)}
  .sdm-faq__grid{gap:20px}.sdm-access__image{min-height:300px}
  .sdm-footer{padding-bottom:90px}.sdm-footer__grid{grid-template-columns:1fr 1fr}.sdm-footer__brand,.sdm-footer__info{grid-column:auto}.sdm-footer__bottom{flex-direction:column}
}

@media (max-width:640px){
  :root{--sdm-container:calc(100vw - 32px)}
  body{font-size:15px}.sdm-section{padding:76px 0}
  .sdm-section-head{margin-bottom:38px}.sdm-section-head h2,.sdm-why h2,.sdm-philosophy h2,.sdm-peeling h2,.sdm-homecare h2,.sdm-brand h2,.sdm-final-cta h2{font-size:clamp(28px,8vw,36px);line-height:1.48}
  .sdm-section-head p,.sdm-why p,.sdm-philosophy p,.sdm-peeling p,.sdm-homecare p{font-size:14px;line-height:1.9}
  .sdm-btn{width:100%;min-height:54px;padding:0 18px}
  .sdm-dual-cta{display:grid;grid-template-columns:1fr;width:100%}.sdm-dual-cta--left{justify-content:stretch}
  .sdm-header__brand .custom-logo-link img{max-width:190px;max-height:42px}
  .sdm-brand-link__text strong{font-size:12px}
  .sdm-hero{min-height:760px;background-position:65% center}
  .sdm-hero__copy{padding-bottom:66px}
  .sdm-hero__brandline em{font-size:22px}.sdm-hero__brandline span{font-size:11px}.sdm-hero__lead{font-size:11px;line-height:1.9}
  .sdm-hero__actions{grid-template-columns:1fr;gap:9px;margin-top:26px}.sdm-trust-strip{font-size:10px;justify-content:flex-start;flex-wrap:wrap;row-gap:8px}.sdm-trust-strip li{padding:0 10px}
  .sdm-concern-grid{grid-template-columns:1fr;gap:14px}.sdm-concern-card{display:flex}.sdm-concern-card figure{aspect-ratio:16/7.5;height:auto;min-height:0}.sdm-concern-card__body{min-height:0;padding:20px 18px 18px}.sdm-concern-card__title{font-size:21px;line-height:1.5}.sdm-concern-card__lead{font-size:12px}.sdm-concern-card__desc{margin:12px 0 18px;font-size:12.5px;line-height:1.8}.sdm-concern-card__cta{padding:13px 14px;font-size:12px}
  .sdm-skin-map{min-height:440px;transform:scale(.88);margin:-20px -20px}.sdm-skin-map__center{width:120px;height:120px;font-size:20px}.sdm-skin-map__item{width:130px;font-size:15px}.sdm-skin-map__item small{font-size:9px}
  .sdm-philosophy__image{min-height:280px}.sdm-step-grid{grid-template-columns:repeat(2,1fr);margin-top:44px}.sdm-step-grid li{min-height:134px;padding:21px 15px}.sdm-step-grid li:nth-child(3){border-right:1px solid var(--sdm-border)}.sdm-step-grid li:nth-child(even){border-right:0}.sdm-step-grid li:nth-child(-n+4){border-bottom:1px solid var(--sdm-border)}.sdm-step-grid strong{font-size:13px}.sdm-philosophy__statement{font-size:27px!important;margin-top:36px!important}
  .sdm-reasons{padding-top:10px}.sdm-reason-grid{grid-template-columns:1fr}.sdm-reason-card{min-height:0;padding:26px 22px}.sdm-reason-card h3{margin-top:20px;font-size:19px}
  .sdm-first__intro{gap:20px}.sdm-assurance-grid{grid-template-columns:1fr 1fr;gap:7px}.sdm-assurance-grid li{min-height:70px;padding:13px 8px;font-size:12px}.sdm-flow-wrap{padding:25px 16px;margin-top:36px}.sdm-flow-list{grid-template-columns:1fr}.sdm-flow-list li{min-height:64px}
  .sdm-treatment-grid,.sdm-case-grid,.sdm-case-empty,.sdm-article-grid{grid-template-columns:1fr}.sdm-treatment-card:last-child,.sdm-case-card:last-child,.sdm-case-empty>div:last-child,.sdm-article-card:last-child{grid-column:auto}.sdm-treatment-card h3{font-size:22px}
  .sdm-peeling{min-height:610px;background-image:linear-gradient(180deg,rgba(9,9,9,.38),rgba(9,9,9,.93) 61%),var(--sdm-peeling-image);background-position:center}.sdm-peeling__content{align-items:flex-end}.sdm-peeling__copy{padding-top:200px}
  .sdm-check-list{grid-template-columns:1fr}.sdm-homecare__image,.sdm-products__image{min-height:300px}
  .sdm-brand{min-height:650px}.sdm-brand__crest{width:96px;height:96px}.sdm-brand__name{font-size:20px!important}
  .sdm-producer__image{min-height:460px}.sdm-producer__copy{padding-bottom:30px}.sdm-producer h2{font-size:52px}.sdm-producer__quote{margin-top:30px!important}
  .sdm-staff-grid{grid-template-columns:1fr 1fr;gap:8px}.sdm-staff-card>div{padding:13px}.sdm-staff-card h3{font-size:17px}.sdm-staff-card p{font-size:11px}
  .sdm-price-grid{grid-template-columns:1fr 1fr}.sdm-price-grid>div{padding:24px 12px;min-height:142px}.sdm-price-grid strong{font-size:16px}.sdm-price-grid em{font-size:26px}
  .sdm-column-categories{margin-top:-10px}.sdm-column-categories a{font-size:10px}
  .sdm-faq-item summary{font-size:14px;padding-right:36px}.sdm-faq-item div{padding-left:24px;padding-right:24px}
  .sdm-access__image{min-height:220px}.sdm-final-cta{min-height:560px;padding:90px 0 110px}.sdm-final-cta__actions{display:grid;grid-template-columns:1fr;width:100%}
  .sdm-footer__grid{grid-template-columns:1fr}.sdm-footer__link-grid{grid-template-columns:1fr 1fr}.sdm-footer__brand,.sdm-footer__info{grid-column:auto}.sdm-footer__bottom div{flex-direction:column;gap:6px}
  .sdm-content-hero{padding:120px 0 60px}.sdm-content{padding:60px 0 100px}.sdm-prose h2{font-size:27px}.sdm-prose h3{font-size:21px}.sdm-prose p,.sdm-prose li{font-size:15px}.sdm-archive-grid{grid-template-columns:1fr}
}

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

/* =========================================================
   Strategic subpages v1.1.0
   Each visual block = one sibling section element.
========================================================= */
.sdm-subhero{position:relative;min-height:700px;padding:146px 0 92px;display:flex;align-items:flex-end;background-image:var(--sdm-subhero-image);background-size:cover;background-position:center;color:#fff;isolation:isolate}
.sdm-subhero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.68) 38%,rgba(8,8,8,.26) 72%,rgba(8,8,8,.42) 100%)}
.sdm-subhero__inner{position:relative;max-width:1240px}
.sdm-subpage-breadcrumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 46px;font-size:10px;line-height:1.5;letter-spacing:.04em;color:rgba(255,255,255,.7)}
.sdm-subpage-breadcrumbs a{color:inherit}.sdm-subpage-breadcrumbs a:hover{color:#fff}
.sdm-subhero h1{max-width:820px;margin:0;font-family:var(--sdm-serif);font-size:clamp(40px,5.2vw,68px);font-weight:500;line-height:1.35;letter-spacing:.01em;text-wrap:balance}
.sdm-subhero__lead{max-width:720px;margin:24px 0 0;font-family:var(--sdm-serif);font-size:clamp(18px,2vw,27px);line-height:1.75;color:rgba(255,255,255,.92)}
.sdm-ai-answer{max-width:790px;margin:24px 0 0;padding:17px 20px;border-left:2px solid var(--sdm-gold);background:rgba(0,0,0,.26);font-size:13px;line-height:1.9;color:rgba(255,255,255,.78);backdrop-filter:blur(6px)}
.sdm-subhero__trust,.sdm-subfinal__trust{list-style:none;margin:28px 0 0;padding:0;display:flex;gap:0;flex-wrap:wrap}
.sdm-subhero__trust li,.sdm-subfinal__trust li{position:relative;padding:0 16px;font-size:11px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.82)}
.sdm-subhero__trust li:first-child,.sdm-subfinal__trust li:first-child{padding-left:0}
.sdm-subhero__trust li+li:before,.sdm-subfinal__trust li+li:before{content:"";position:absolute;left:0;top:50%;width:1px;height:12px;transform:translateY(-50%);background:rgba(182,154,98,.65)}

.sdm-subsection{overflow:hidden}
.sdm-subsection .sdm-section-head{max-width:860px}
.sdm-subsection .sdm-section-head--left{max-width:820px}
.sdm-subsection .sdm-section-head h2,.sdm-subsplit h2{margin:0 0 22px;font-family:var(--sdm-serif);font-size:clamp(30px,3.4vw,48px);font-weight:500;line-height:1.45;letter-spacing:.01em;text-wrap:balance}
.sdm-section--black .sdm-section-head h2,.sdm-section--black .sdm-subsplit h2{color:#fff}
.sdm-section--black .sdm-section-head p,.sdm-section--black .sdm-subsplit p{color:rgba(255,255,255,.72)}
.sdm-section--black .sdm-eyebrow{color:#d2bc8e}
.sdm-section-note{max-width:820px;margin:38px auto 0;text-align:center;color:var(--sdm-sub);font-size:13px;line-height:1.9}
.sdm-section--black .sdm-section-note{color:rgba(255,255,255,.68)}

.sdm-subcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sdm-subcard{position:relative;display:flex;flex-direction:column;min-height:100%;background:#fff;border:1px solid #e8e0d5;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
a.sdm-subcard:hover{transform:translateY(-4px);border-color:#cbb88f;box-shadow:0 18px 42px rgba(20,16,10,.08)}
.sdm-section--ivory .sdm-subcard{background:rgba(255,255,255,.84)}
.sdm-section--black .sdm-subcard{background:#151515;border-color:rgba(182,154,98,.26)}
.sdm-subcard figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#ece8e1}
.sdm-subcard figure img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
a.sdm-subcard:hover figure img{transform:scale(1.025)}
.sdm-subcard__body{position:relative;padding:28px 28px 30px;flex:1}
.sdm-subcard__num{display:block;margin-bottom:18px;font:15px/1 var(--sdm-en);color:var(--sdm-gold-dark)}
.sdm-subcard h3{margin:0;font-family:var(--sdm-serif);font-size:20px;font-weight:500;line-height:1.55}
.sdm-subcard p{margin:12px 0 0;color:var(--sdm-sub);font-size:13px;line-height:1.85}
.sdm-section--black .sdm-subcard p{color:rgba(255,255,255,.65)}
.sdm-subcard__arrow{position:absolute;right:24px;bottom:22px;color:var(--sdm-gold-dark)}

.sdm-substeps{list-style:none;margin:0;padding:0;border-top:1px solid var(--sdm-border)}
.sdm-substeps li{display:grid;grid-template-columns:90px 1fr;gap:30px;align-items:start;padding:30px 0;border-bottom:1px solid var(--sdm-border)}
.sdm-substeps li>span{font:24px/1.2 var(--sdm-en);color:var(--sdm-gold-dark);letter-spacing:.04em}
.sdm-substeps h3{margin:0;font-family:var(--sdm-serif);font-size:22px;font-weight:500;line-height:1.5}
.sdm-substeps p{margin:8px 0 0;color:var(--sdm-sub);font-size:13.5px;line-height:1.9}
.sdm-section--black .sdm-substeps{border-color:rgba(255,255,255,.16)}
.sdm-section--black .sdm-substeps li{border-color:rgba(255,255,255,.16)}
.sdm-section--black .sdm-substeps p{color:rgba(255,255,255,.64)}

.sdm-subsplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(48px,7vw,100px);align-items:center}
.sdm-subsplit__copy{max-width:650px}
.sdm-subsplit__lead{margin:0 0 22px;color:var(--sdm-sub);font-size:15px;line-height:2}
.sdm-subcopy{color:var(--sdm-sub);font-size:15px;line-height:2}
.sdm-subcopy p{margin:0 0 1.3em}
.sdm-subsplit__image{margin:0;min-height:420px;align-self:stretch;overflow:hidden;background:#e9e4dc}
.sdm-subsplit__image img{width:100%;height:100%;object-fit:cover;min-height:420px}
.sdm-section--black .sdm-subcopy{color:rgba(255,255,255,.72)}

.sdm-premium-list{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--sdm-border);border:1px solid var(--sdm-border)}
.sdm-premium-list li{position:relative;padding:18px 20px 18px 44px;background:#fff;font-size:13px;line-height:1.7}
.sdm-premium-list li:before{content:"";position:absolute;left:20px;top:25px;width:9px;height:9px;border:1px solid var(--sdm-gold-dark);transform:rotate(45deg)}
.sdm-section--black .sdm-premium-list{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12)}
.sdm-section--black .sdm-premium-list li{background:#151515;color:#fff}

.sdm-choice-map{position:relative;max-width:1180px;min-height:760px;margin:32px auto 0;padding:86px 42px 118px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(170px,auto) 250px minmax(170px,auto);gap:38px 50px;align-items:center;isolation:isolate;background:
radial-gradient(circle at 50% 48%,rgba(198,161,91,.09),transparent 27%),
linear-gradient(135deg,rgba(255,255,255,.72),rgba(246,241,230,.48));border:1px solid rgba(198,161,91,.16);box-shadow:inset 0 0 80px rgba(120,92,42,.035)}
.sdm-choice-map:before,.sdm-choice-map:after{content:"";position:absolute;pointer-events:none;z-index:0;opacity:.5}
.sdm-choice-map:before{inset:18px;border:1px solid rgba(198,161,91,.09)}
.sdm-choice-map:after{width:190px;height:220px;right:-20px;bottom:-36px;background:radial-gradient(ellipse at center,rgba(198,161,91,.08),transparent 66%);filter:blur(2px)}
.sdm-choice-map__brand{position:absolute;top:27px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;color:var(--sdm-gold-dark);font:600 10px/1 var(--sdm-en);letter-spacing:.34em;white-space:nowrap;z-index:3}
.sdm-choice-map__brand span{display:block;width:88px;height:1px;background:linear-gradient(90deg,transparent,rgba(146,119,70,.7))}.sdm-choice-map__brand span:last-child{transform:scaleX(-1)}
.sdm-choice-map__lines{position:absolute;inset:108px 56px 132px;z-index:0;pointer-events:none}
.sdm-choice-map__lines i{position:absolute;left:50%;top:50%;height:1px;background:rgba(157,124,58,.62);transform-origin:center}
.sdm-choice-map__lines .line-h{width:96%;transform:translate(-50%,-50%)}
.sdm-choice-map__lines .line-v{width:58%;transform:translate(-50%,-50%) rotate(90deg)}
.sdm-choice-map__lines .line-d1{width:72%;transform:translate(-50%,-50%) rotate(33deg)}
.sdm-choice-map__lines .line-d2{width:72%;transform:translate(-50%,-50%) rotate(-33deg)}
.sdm-choice-map__center{position:relative;z-index:4;grid-column:2;grid-row:2;width:214px;height:214px;margin:auto;border:1px solid rgba(146,119,70,.88);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(252,249,241,.96);box-shadow:0 0 0 8px rgba(252,249,241,.95),0 0 0 9px rgba(198,161,91,.28),0 18px 45px rgba(90,66,24,.07)}
.sdm-choice-map__center:before,.sdm-choice-map__center:after{content:"";position:absolute;left:50%;width:30px;height:1px;background:rgba(146,119,70,.62);transform:translateX(-50%)}
.sdm-choice-map__center:before{top:143px}.sdm-choice-map__center:after{top:143px;margin-left:45px}
.sdm-choice-map__center strong{font-family:var(--sdm-serif);font-size:clamp(26px,2.5vw,38px);font-weight:500;line-height:1.25;letter-spacing:.04em;text-align:center}
.sdm-choice-map__center span{margin-top:26px;color:var(--sdm-gold-dark);font:600 9px/1 var(--sdm-en);letter-spacing:.32em}
.sdm-choice-map__item{position:relative;z-index:3;width:100%;max-width:330px;min-height:150px;padding:22px 26px;display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:center;background:rgba(255,253,248,.96);border:1px solid rgba(163,128,61,.62);box-shadow:0 14px 30px rgba(68,50,20,.045)}
.sdm-choice-map__item:before,.sdm-choice-map__item:after{content:"";position:absolute;width:12px;height:12px;border-color:rgba(163,128,61,.72);pointer-events:none}.sdm-choice-map__item:before{left:5px;top:5px;border-left:1px solid;border-top:1px solid}.sdm-choice-map__item:after{right:5px;bottom:5px;border-right:1px solid;border-bottom:1px solid}
.sdm-choice-map__icon{display:grid;place-items:center;color:#B18B3D}.sdm-choice-map__icon svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.sdm-choice-map__item-copy strong{display:block;font-family:var(--sdm-serif);font-size:clamp(18px,1.7vw,25px);font-weight:500;line-height:1.35;letter-spacing:.04em}.sdm-choice-map__item-copy i{display:block;width:100%;max-width:120px;height:1px;margin:10px 0;background:linear-gradient(90deg,rgba(177,139,61,.7),transparent)}.sdm-choice-map__item-copy small{display:block;color:var(--sdm-sub);font-size:12px;line-height:1.55;letter-spacing:.02em}
.sdm-choice-map__item.is-pos-1{grid-column:1;grid-row:1;justify-self:end}.sdm-choice-map__item.is-pos-2{grid-column:2;grid-row:1;justify-self:center}.sdm-choice-map__item.is-pos-3{grid-column:3;grid-row:1;justify-self:start}.sdm-choice-map__item.is-pos-4{grid-column:1;grid-row:3;justify-self:end}.sdm-choice-map__item.is-pos-5{grid-column:2;grid-row:3;justify-self:center}.sdm-choice-map__item.is-pos-6{grid-column:3;grid-row:3;justify-self:start}
.sdm-choice-map--count-5 .is-pos-4{grid-column:1;grid-row:3}.sdm-choice-map--count-5 .is-pos-5{grid-column:3;grid-row:3}.sdm-choice-map--count-4 .is-pos-1{grid-column:1;grid-row:1}.sdm-choice-map--count-4 .is-pos-2{grid-column:3;grid-row:1}.sdm-choice-map--count-4 .is-pos-3{grid-column:1;grid-row:3}.sdm-choice-map--count-4 .is-pos-4{grid-column:3;grid-row:3}
.sdm-choice-map__note{position:absolute;left:50%;bottom:34px;width:min(900px,calc(100% - 100px));margin:0!important;transform:translateX(-50%);text-align:center!important;color:var(--sdm-sub);font-family:var(--sdm-serif);font-size:13px;line-height:1.9;letter-spacing:.02em}
.sdm-choice-map__note:before,.sdm-choice-map__note:after{content:"";display:inline-block;width:56px;height:1px;margin:0 16px 4px;background:rgba(146,119,70,.52)}

.sdm-subtreatments{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.sdm-subtreatment{display:grid;grid-template-columns:42% 58%;min-height:250px;background:#fff;border:1px solid #e4ddd3;overflow:hidden}
.sdm-section--ivory .sdm-subtreatment{background:rgba(255,255,255,.88)}
.sdm-subtreatment figure{margin:0;min-height:100%;background:#eee;overflow:hidden}.sdm-subtreatment figure img{width:100%;height:100%;object-fit:cover}
.sdm-subtreatment>div{padding:28px}
.sdm-subtreatment h3{margin:0;font-family:var(--sdm-serif);font-size:21px;font-weight:500;line-height:1.5}
.sdm-subtreatment p{margin:10px 0;color:var(--sdm-sub);font-size:12.5px;line-height:1.85}
.sdm-subtreatment__price{color:var(--sdm-gold-dark)!important;font-family:var(--sdm-serif);font-size:15px!important}
.sdm-subtreatment a{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;border-bottom:1px solid var(--sdm-gold)}

.sdm-subfaq-list{max-width:940px;margin:0 auto}
.sdm-subfaq-list .sdm-faq-item summary{font-size:17px;padding-block:23px}
.sdm-subfaq-list .sdm-faq-item div{max-width:800px}

.sdm-evidence-panel{max-width:880px;margin:auto;padding:48px;border:1px solid #dfd5c6;background:#fff;text-align:center}
.sdm-evidence-panel p{margin:0;color:var(--sdm-sub);font-size:14px;line-height:2}.sdm-evidence-panel a{display:inline-block;margin-top:22px;color:var(--sdm-gold-dark);font-size:13px;font-weight:700}

.sdm-season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sdm-border);border:1px solid var(--sdm-border)}
.sdm-season-grid article{min-height:210px;padding:30px 26px;background:#fff}.sdm-season-grid span{font:11px/1 var(--sdm-en);letter-spacing:.14em;color:var(--sdm-gold-dark)}.sdm-season-grid h3{margin:18px 0 10px;font-family:var(--sdm-serif);font-size:23px;font-weight:500}.sdm-season-grid p{margin:0;color:var(--sdm-sub);font-size:12px;line-height:1.8}

.sdm-subfinal{position:relative;min-height:580px;padding:110px 0;display:flex;align-items:center;justify-content:center;background-image:var(--sdm-subfinal-image);background-size:cover;background-position:center;color:#fff;isolation:isolate;text-align:center}
.sdm-subfinal__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.72),rgba(5,5,5,.84))}
.sdm-subfinal__inner{max-width:900px}.sdm-subfinal h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(32px,4.3vw,56px);font-weight:500;line-height:1.45;text-wrap:balance}.sdm-subfinal p{max-width:720px;margin:22px auto 0;color:rgba(255,255,255,.78);font-size:15px;line-height:2}.sdm-subfinal__trust{justify-content:center}

@media (max-width:920px){
  .sdm-subhero{min-height:660px;padding:118px 0 74px;background-position:58% center}.sdm-subhero__overlay{background:linear-gradient(180deg,rgba(8,8,8,.35) 0%,rgba(8,8,8,.42) 28%,rgba(8,8,8,.88) 73%,rgba(8,8,8,.95) 100%)}
  .sdm-subpage-breadcrumbs{margin-bottom:100px}.sdm-subhero h1{font-size:clamp(38px,7.4vw,56px)}
  .sdm-subcard-grid{grid-template-columns:repeat(2,1fr)}
  .sdm-subsplit{grid-template-columns:1fr;gap:40px}.sdm-subsplit__image{min-height:360px}.sdm-subsplit__copy{max-width:none}
  .sdm-subtreatments{grid-template-columns:1fr}.sdm-season-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:640px){
  .sdm-subhero{min-height:620px;padding:100px 0 62px;background-position:62% center}.sdm-subpage-breadcrumbs{margin-bottom:86px;font-size:9px}.sdm-subhero h1{font-size:clamp(34px,9vw,45px);line-height:1.42}.sdm-subhero__lead{font-size:18px;line-height:1.8}.sdm-ai-answer{font-size:12px;padding:14px 15px}.sdm-subhero__trust{gap:8px 0}.sdm-subhero__trust li{font-size:9px;padding:0 9px}
  .sdm-subsection .sdm-section-head h2,.sdm-subsplit h2{font-size:clamp(28px,7.5vw,35px);line-height:1.5}
  .sdm-subcard-grid{grid-template-columns:1fr;gap:9px}.sdm-subcard{display:grid;grid-template-columns:32% 68%;min-height:126px}.sdm-subcard:not(:has(figure)){display:block;min-height:0}.sdm-subcard figure{aspect-ratio:auto;height:100%;min-height:126px}.sdm-subcard__body{padding:19px 18px}.sdm-subcard h3{font-size:17px}.sdm-subcard p{font-size:11.5px;line-height:1.7}.sdm-subcard__num{margin-bottom:9px;font-size:12px}.sdm-subcard__arrow{right:15px;bottom:12px}
  .sdm-substeps li{grid-template-columns:55px 1fr;gap:12px;padding:22px 0}.sdm-substeps li>span{font-size:18px}.sdm-substeps h3{font-size:18px}.sdm-substeps p{font-size:12px}
  .sdm-subsplit__image,.sdm-subsplit__image img{min-height:280px}.sdm-premium-list{grid-template-columns:1fr}.sdm-check-list{grid-template-columns:1fr}
  .sdm-choice-map{min-height:auto;padding:68px 14px 74px;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(246,241,230,.52))}.sdm-choice-map__brand{top:25px;font-size:8px;gap:8px;letter-spacing:.25em}.sdm-choice-map__brand span{width:34px}.sdm-choice-map__lines{display:none}.sdm-choice-map__center{grid-column:1/-1;grid-row:auto;width:150px;height:150px;margin:0 auto 14px}.sdm-choice-map__center strong{font-size:24px}.sdm-choice-map__center span{margin-top:20px;font-size:7px}.sdm-choice-map__center:before,.sdm-choice-map__center:after{top:99px;width:20px}.sdm-choice-map__center:after{margin-left:31px}.sdm-choice-map__item,.sdm-choice-map__item.is-pos-1,.sdm-choice-map__item.is-pos-2,.sdm-choice-map__item.is-pos-3,.sdm-choice-map__item.is-pos-4,.sdm-choice-map__item.is-pos-5,.sdm-choice-map__item.is-pos-6{grid-column:auto;grid-row:auto;justify-self:stretch;max-width:none;min-height:126px;padding:14px 12px;grid-template-columns:38px 1fr;gap:10px}.sdm-choice-map__icon svg{width:32px;height:32px}.sdm-choice-map__item-copy strong{font-size:15px}.sdm-choice-map__item-copy small{font-size:9px;line-height:1.5}.sdm-choice-map__item-copy i{margin:7px 0}.sdm-choice-map__note{position:relative;left:auto;bottom:auto;grid-column:1/-1;width:auto;margin:14px 6px 0!important;transform:none;font-size:11px;line-height:1.8}.sdm-choice-map__note:before,.sdm-choice-map__note:after{display:none}
  .sdm-subtreatment{grid-template-columns:38% 62%;min-height:190px}.sdm-subtreatment>div{padding:18px 16px}.sdm-subtreatment h3{font-size:17px}.sdm-subtreatment p{font-size:11px;line-height:1.7}.sdm-subtreatment a{font-size:10px}
  .sdm-evidence-panel{padding:30px 20px}.sdm-season-grid{grid-template-columns:1fr 1fr}.sdm-season-grid article{min-height:170px;padding:22px 18px}.sdm-season-grid h3{font-size:20px}
  .sdm-subfinal{min-height:520px;padding:90px 0 110px}.sdm-subfinal h2{font-size:clamp(30px,8vw,38px)}.sdm-subfinal p{font-size:13px}.sdm-subfinal__trust li{font-size:9px;padding:0 9px}
}

/* v1.2.0: transparent price / NAP components for menu, price and about pages */
.sdm-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sdm-price-card{background:#fff;border:1px solid #e5ddd1;min-height:100%}
.sdm-section--ivory .sdm-price-card{background:rgba(255,255,255,.88)}
.sdm-section--black .sdm-price-card{background:#151515;border-color:rgba(182,154,98,.28)}
.sdm-price-card__body{padding:30px}
.sdm-price-card h3{margin:0;font-family:var(--sdm-serif);font-size:22px;font-weight:500;line-height:1.5}
.sdm-price-card__text{margin:10px 0 18px;color:var(--sdm-sub);font-size:13px;line-height:1.85}
.sdm-price-card__prices{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--sdm-border)}
.sdm-price-card__normal{font-size:12px;color:var(--sdm-sub);text-decoration:none}
.sdm-price-card__first{font-family:var(--sdm-serif);font-size:22px;font-weight:500;color:var(--sdm-gold-dark)}
.sdm-price-card__link{display:inline-block;margin-top:20px;font-size:12px;font-weight:700;border-bottom:1px solid var(--sdm-gold)}
.sdm-section--black .sdm-price-card h3,.sdm-section--black .sdm-price-card__first{color:#fff}
.sdm-section--black .sdm-price-card__text,.sdm-section--black .sdm-price-card__normal{color:rgba(255,255,255,.65)}
.sdm-salon-info{margin:0;border-top:1px solid var(--sdm-border)}
.sdm-salon-info>div{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--sdm-border)}
.sdm-salon-info dt{font:11px/1.4 var(--sdm-en);letter-spacing:.12em;color:var(--sdm-gold-dark)}
.sdm-salon-info dd{margin:0;font-size:14px;line-height:1.8}
@media (max-width:780px){.sdm-price-grid{grid-template-columns:1fr}.sdm-salon-info>div{grid-template-columns:1fr;gap:7px}.sdm-price-card__body{padding:22px}.sdm-price-card__first{font-size:20px}}

/* v1.3.0: brand, homecare, products, proof, column, access and contact */
.sdm-staff-grid,.sdm-product-grid,.sdm-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sdm-staff-card,.sdm-product-card,.sdm-post-card{background:#fff;border:1px solid #e5ddd1;overflow:hidden;min-width:0}
.sdm-section--ivory .sdm-staff-card,.sdm-section--ivory .sdm-product-card,.sdm-section--ivory .sdm-post-card{background:rgba(255,255,255,.92)}
.sdm-staff-card figure,.sdm-product-card>a,.sdm-post-card>a{display:block;margin:0;overflow:hidden;background:#eee}
.sdm-staff-card figure{aspect-ratio:4/5}.sdm-product-card>a,.sdm-post-card>a{aspect-ratio:3/2}
.sdm-staff-card img,.sdm-product-card img,.sdm-post-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.sdm-staff-card:hover img,.sdm-product-card:hover img,.sdm-post-card:hover img{transform:scale(1.025)}
.sdm-staff-card>div,.sdm-product-card>div,.sdm-post-card>div{padding:24px}
.sdm-staff-card h3,.sdm-product-card h3,.sdm-post-card h3{margin:0;font-family:var(--sdm-serif);font-size:20px;font-weight:500;line-height:1.55}
.sdm-staff-card p,.sdm-product-card p,.sdm-post-card p{margin:10px 0 0;color:var(--sdm-sub);font-size:12px;line-height:1.8}
.sdm-staff-card a,.sdm-product-card a,.sdm-post-card h3 a{transition:color .2s ease}.sdm-staff-card a:hover,.sdm-product-card a:hover,.sdm-post-card h3 a:hover{color:var(--sdm-gold-dark)}
.sdm-staff-card>div>a{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;border-bottom:1px solid var(--sdm-gold)}
.sdm-post-card__meta{font:10px/1.4 var(--sdm-en)!important;letter-spacing:.12em;color:var(--sdm-gold-dark)!important}

.sdm-filter-chips{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.sdm-filter-chip{display:inline-flex;align-items:center;min-height:42px;padding:8px 18px;border:1px solid var(--sdm-border);background:#fff;font-size:12px;transition:.2s ease}
.sdm-filter-chip:hover{border-color:var(--sdm-gold);background:var(--sdm-black);color:#fff}

.sdm-column-search{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr auto;border:1px solid var(--sdm-border);background:#fff}
.sdm-column-search input{min-width:0;border:0;background:transparent;padding:18px 20px;color:var(--sdm-text);outline:none}
.sdm-column-search input:focus{box-shadow:inset 0 0 0 2px var(--sdm-gold)}
.sdm-column-search button{border:0;background:var(--sdm-black);color:#fff;padding:0 28px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.04em}

.sdm-map-frame{position:relative;aspect-ratio:16/7;border:1px solid var(--sdm-border);overflow:hidden;background:#ece9e2}
.sdm-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sdm-route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sdm-border);border:1px solid var(--sdm-border)}
.sdm-route-grid article{background:#fff;padding:28px 24px;min-height:190px}
.sdm-route-grid span{font:12px/1 var(--sdm-en);color:var(--sdm-gold-dark);letter-spacing:.1em}
.sdm-route-grid h3{margin:16px 0 8px;font-family:var(--sdm-serif);font-size:18px;font-weight:500;line-height:1.5}
.sdm-route-grid p{margin:0;color:var(--sdm-sub);font-size:11px;line-height:1.8}

.sdm-contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sdm-contact-options>a{position:relative;display:block;padding:34px 30px 30px;border:1px solid var(--sdm-border);background:#fff;transition:.25s ease}
.sdm-contact-options>a:hover{transform:translateY(-3px);border-color:var(--sdm-gold);box-shadow:var(--sdm-shadow)}
.sdm-contact-options span{font:12px/1 var(--sdm-en);letter-spacing:.12em;color:var(--sdm-gold-dark)}
.sdm-contact-options h3{margin:18px 0 8px;font-family:var(--sdm-serif);font-size:22px;font-weight:500}
.sdm-contact-options p{margin:0 0 20px;color:var(--sdm-sub);font-size:12px;line-height:1.8}
.sdm-contact-options strong{font-size:12px;border-bottom:1px solid var(--sdm-gold)}
.sdm-contact-form{max-width:820px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.sdm-contact-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}
.sdm-contact-form label:nth-of-type(4),.sdm-contact-form label:nth-of-type(5),.sdm-contact-form .sdm-consent,.sdm-contact-form button{grid-column:1/-1}
.sdm-contact-form input,.sdm-contact-form select,.sdm-contact-form textarea{width:100%;border:1px solid var(--sdm-border);border-radius:0;background:#fff;color:var(--sdm-text);padding:14px 15px;outline:none}
.sdm-contact-form input:focus,.sdm-contact-form select:focus,.sdm-contact-form textarea:focus{border-color:var(--sdm-gold);box-shadow:0 0 0 2px rgba(182,154,98,.15)}
.sdm-contact-form .sdm-consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400}.sdm-contact-form .sdm-consent input{width:auto;margin-top:6px}
.sdm-contact-form button{justify-self:start;cursor:pointer}
.sdm-hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sdm-form-notice{max-width:820px;margin:0 auto 28px;padding:16px 18px;border:1px solid var(--sdm-border);font-size:13px}.sdm-form-notice--success{background:#f0f8f2;border-color:#8eb79a}.sdm-form-notice--error{background:#fff3f1;border-color:#c9958b}

@media (max-width:920px){
  .sdm-staff-grid,.sdm-product-grid,.sdm-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sdm-route-grid{grid-template-columns:repeat(2,1fr)}
  .sdm-contact-options{grid-template-columns:1fr}
}
@media (max-width:640px){
  .sdm-staff-grid,.sdm-product-grid,.sdm-post-grid{grid-template-columns:1fr}
  .sdm-route-grid{grid-template-columns:1fr}.sdm-route-grid article{min-height:0}
  .sdm-map-frame{aspect-ratio:4/5}
  .sdm-column-search{grid-template-columns:1fr}.sdm-column-search button{min-height:50px}
  .sdm-contact-form{grid-template-columns:1fr}.sdm-contact-form label,.sdm-contact-form label:nth-of-type(n),.sdm-contact-form .sdm-consent,.sdm-contact-form button{grid-column:1}
  .sdm-contact-form button{width:100%}
}
.screen-reader-text{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}

/* =========================================================
   Navigation + automatic managed-page visibility v1.3.1
   All 36 strategic pages are exposed in grouped navigation.
========================================================= */
.sdm-mega-menu--full{
  right:-360px;
  width:min(1040px,calc(100vw - 40px));
  max-height:min(76vh,760px);
  overflow:auto;
  padding:22px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.sdm-mega-menu__group{
  padding:16px 16px 12px;
  background:#fff;
  border:1px solid #ece7de;
}
.sdm-mega-menu__group>strong{
  display:block;
  margin:0 0 10px;
  color:var(--sdm-gold-dark);
  font:12px/1.4 var(--sdm-serif);
  letter-spacing:.04em;
}
.sdm-mega-menu__group>a{
  display:block;
  padding:7px 0;
  background:transparent;
  border:0;
  border-top:1px solid #f0ebe3;
  font-size:11px;
  line-height:1.55;
}
.sdm-mega-menu__group>a:first-of-type{border-top:0}
.sdm-mega-menu__group>a:hover{background:transparent;color:var(--sdm-gold-dark)}

.sdm-footer__grid{
  grid-template-columns:.8fr 3fr .65fr 1fr;
  gap:44px;
}
.sdm-footer-sitemap-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 24px;
}
.sdm-footer-sitemap-group{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-width:0;
}
.sdm-footer-sitemap-group>strong{
  margin-bottom:5px;
  color:#d4be91;
  font:12px/1.45 var(--sdm-serif);
  letter-spacing:.03em;
}
.sdm-footer-sitemap-group>a{
  font-size:10.5px;
  line-height:1.55;
}

@media (max-width:1180px){
  .sdm-mega-menu--full{right:-230px;width:min(900px,calc(100vw - 30px));grid-template-columns:repeat(3,minmax(0,1fr))}
  .sdm-footer__grid{grid-template-columns:1fr 2.7fr 1fr}.sdm-footer__info{grid-column:1/-1}
}
@media (max-width:920px){
  .sdm-footer__grid{grid-template-columns:1fr 2fr}.sdm-footer__links--full{grid-column:1/-1}.sdm-footer-sitemap-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .sdm-footer-sitemap-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
}
@media (max-width:420px){
  .sdm-footer-sitemap-groups{grid-template-columns:1fr}
}

@media (max-width:920px){
  .sdm-mobile-site-map{display:block!important;border-top:1px solid #d9cfbf!important}
  .sdm-mobile-site-map>details{border-bottom:1px solid #d9cfbf}
  .sdm-mobile-site-map>details>summary{position:relative;list-style:none;padding:16px 32px 16px 4px;font-family:var(--sdm-serif);font-size:16px;cursor:pointer}
  .sdm-mobile-site-map>details>summary::-webkit-details-marker{display:none}
  .sdm-mobile-site-map>details>summary:after{content:"+";position:absolute;right:6px;top:15px;color:var(--sdm-gold-dark);font-size:20px}
  .sdm-mobile-site-map>details[open]>summary:after{content:"−"}
  .sdm-mobile-site-map>details>a{display:block!important;padding:12px 8px 12px 18px!important;border-top:1px solid #e7dfd2!important;border-bottom:0!important;font-family:var(--sdm-sans)!important;font-size:13px!important}
  .sdm-mobile-site-map>.sdm-mobile-drawer__priority{display:block;padding:16px 4px;border-bottom:1px solid #d9cfbf;font-family:var(--sdm-serif);font-size:16px}
}

/* =========================================================
   Hierarchical desktop dropdown navigation v1.3.2
   Exact SALON DE MEDICI sitemap hierarchy.
========================================================= */
@media (min-width:1321px){
  .sdm-header__inner{
    width:min(1740px,calc(100vw - 24px));
    gap:14px;
  }
  .sdm-header__brand{margin-right:2px}
  .sdm-brand-link{min-width:154px}
  .sdm-brand-link__crest{width:36px;height:36px}
  .sdm-brand-link__text strong{font-size:11px;letter-spacing:.08em}
  .sdm-brand-link__text small{font-size:7px}

  .sdm-nav--hierarchy{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    justify-content:center;
    font-size:9.5px;
  }
  .sdm-nav-list{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:clamp(4px,.55vw,10px);
    width:100%;
    margin:0;
    padding:0;
    list-style:none;
  }
  .sdm-nav-item{
    position:relative;
    display:flex;
    align-items:stretch;
    min-width:0;
  }
  .sdm-nav-item>a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:76px;
    padding:0 2px;
    color:inherit;
    font-size:9.5px;
    line-height:1.25;
    letter-spacing:.015em;
    white-space:nowrap;
    text-decoration:none;
  }
  .sdm-nav-item>a:before{
    content:"";
    position:absolute;
    left:2px;
    right:100%;
    bottom:18px;
    height:1px;
    background:var(--sdm-gold);
    transition:right .22s ease;
  }
  .sdm-nav-item:hover>a:before,
  .sdm-nav-item:focus-within>a:before{right:2px}

  .sdm-nav-item--has-children>a{
    padding-right:12px;
  }
  .sdm-nav-item--has-children>a:after{
    content:"";
    position:absolute;
    right:1px;
    top:50%;
    width:5px;
    height:5px;
    margin-top:-4px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:rotate(45deg);
    opacity:.7;
    transition:transform .2s ease,margin-top .2s ease;
  }
  .sdm-nav-item--has-children:hover>a:after,
  .sdm-nav-item--has-children:focus-within>a:after{
    transform:rotate(225deg);
    margin-top:0;
  }

  .sdm-submenu{
    position:absolute;
    z-index:1100;
    top:calc(100% - 1px);
    left:50%;
    width:258px;
    margin:0;
    padding:9px 0;
    list-style:none;
    background:rgba(252,251,248,.992);
    color:var(--sdm-black);
    border:1px solid rgba(182,154,98,.36);
    box-shadow:0 18px 46px rgba(17,15,12,.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,9px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .sdm-submenu--wide{width:284px}
  .sdm-submenu--note{width:230px}
  .sdm-nav-item--has-children:hover>.sdm-submenu,
  .sdm-nav-item--has-children:focus-within>.sdm-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
  }
  .sdm-nav-item:nth-last-child(-n+3)>.sdm-submenu{
    left:auto;
    right:0;
    transform:translateY(9px);
  }
  .sdm-nav-item:nth-last-child(-n+3):hover>.sdm-submenu,
  .sdm-nav-item:nth-last-child(-n+3):focus-within>.sdm-submenu{
    transform:translateY(0);
  }
  .sdm-submenu:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-10px;
    height:10px;
  }
  .sdm-submenu li{margin:0;padding:0}
  .sdm-submenu>li>a,
  .sdm-submenu>li>span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:42px;
    padding:10px 17px;
    color:var(--sdm-black);
    border-bottom:1px solid #ece7de;
    font-size:11.5px;
    line-height:1.55;
    white-space:normal;
    text-decoration:none;
  }
  .sdm-submenu>li:last-child>a,
  .sdm-submenu>li:last-child>span{border-bottom:0}
  .sdm-submenu>li>a:hover,
  .sdm-submenu>li>a:focus-visible{
    color:var(--sdm-gold-dark);
    background:#f6f2e9;
    outline:none;
  }
  .sdm-submenu-parent>a:first-child{font-weight:600}
  .sdm-submenu .sdm-submenu-nested-link{
    min-height:34px;
    padding:8px 17px 8px 31px;
    font-size:10.5px;
    color:var(--sdm-gold-dark);
    background:#f8f5ef;
  }
  .sdm-submenu .sdm-submenu-nested-link:before{
    content:"└";
    margin-right:7px;
    opacity:.65;
  }
  .sdm-submenu .sdm-submenu-nested-link.is-disabled{
    color:#9a948b;
    cursor:default;
  }
  .sdm-submenu-note{
    color:var(--sdm-sub)!important;
    font-size:10.5px!important;
    background:#f8f5ef;
  }

  .sdm-menu-toggle,.sdm-mobile-drawer{display:none!important}
}

@media (max-width:1540px) and (min-width:1321px){
  .sdm-header__actions{display:none}
  .sdm-header__inner{width:calc(100vw - 20px)}
  .sdm-nav-list{gap:5px}
  .sdm-nav-item>a{font-size:9px}
}

/* Switch only the header navigation to the drawer before labels become cramped. */
@media (max-width:1320px) and (min-width:921px){
  .sdm-header__inner{height:70px;width:calc(100vw - 28px)}
  .sdm-nav,.sdm-header__actions{display:none!important}
  .sdm-menu-toggle{
    margin-left:auto;
    display:grid;
    grid-template-columns:22px auto;
    column-gap:8px;
    align-items:center;
    background:none;
    border:0;
    padding:8px 0;
    color:inherit;
    cursor:pointer;
  }
  .sdm-menu-toggle span{grid-column:1;width:22px;height:1px;background:currentColor;display:block;margin:2px 0;transition:.25s ease}
  .sdm-menu-toggle b{grid-column:2;grid-row:1/4;font:9px/1 var(--sdm-sans);letter-spacing:.12em}
  .sdm-mobile-drawer{
    display:block;
    position:fixed;
    inset:0;
    z-index:950;
    background:rgba(246,242,233,.992);
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.4,0,.2,1);
    padding:96px 28px 70px;
    overflow:auto;
    color:var(--sdm-black);
  }
  .sdm-mobile-drawer.is-open{transform:none}
  .sdm-mobile-drawer__inner{max-width:720px;margin:auto}
  .sdm-mobile-site-map{display:block!important;border-top:1px solid #d9cfbf!important}
  .sdm-mobile-site-map>a{display:block;padding:15px 4px;border-bottom:1px solid #d9cfbf;font-family:var(--sdm-serif);font-size:15px}
  .sdm-mobile-site-map>details{border-bottom:1px solid #d9cfbf}
  .sdm-mobile-site-map>details>summary{position:relative;list-style:none;padding:15px 32px 15px 4px;font-family:var(--sdm-serif);font-size:15px;cursor:pointer}
  .sdm-mobile-site-map>details>summary::-webkit-details-marker{display:none}
  .sdm-mobile-site-map>details>summary:after{content:"+";position:absolute;right:6px;top:13px;color:var(--sdm-gold-dark);font-size:20px}
  .sdm-mobile-site-map>details[open]>summary:after{content:"−"}
  .sdm-mobile-site-map>details>a{display:block;padding:11px 8px 11px 18px;border-top:1px solid #e7dfd2;font-family:var(--sdm-sans);font-size:13px}
  .sdm-mobile-drawer__brand{margin-top:40px;font:20px/1.2 var(--sdm-en);letter-spacing:.08em}
  .sdm-mobile-drawer__brand span{display:block;font-size:10px;color:var(--sdm-gold-dark)}
}

.sdm-mobile-disabled-link,.sdm-mobile-menu-note{
  display:block;
  padding:11px 8px 11px 26px;
  border-top:1px solid #e7dfd2;
  color:#8f887e;
  font-size:12px;
}
.sdm-mobile-nested-link{padding-left:28px!important;color:var(--sdm-gold-dark)!important}

/* =========================================================
   Header readability + booking CTAs v1.3.4
   - Larger parent navigation labels
   - Comfortable spacing between top-level items
   - LINE + Hot Pepper Beauty CTAs always visible on desktop
========================================================= */
@media (min-width:1601px){
  .sdm-header__inner{
    width:min(1880px,calc(100vw - 32px));
    height:84px;
    gap:16px;
  }
  .sdm-header__brand{margin-right:4px}
  .sdm-brand-link{min-width:160px}
  .sdm-brand-link__crest{width:40px;height:40px}
  .sdm-brand-link__text strong{font-size:12px;letter-spacing:.075em}
  .sdm-brand-link__text small{font-size:8px}

  .sdm-nav--hierarchy{
    flex:1 1 auto;
    min-width:0;
    justify-content:center;
    font-size:12.5px;
  }
  .sdm-nav-list{
    gap:clamp(10px,.72vw,16px);
  }
  .sdm-nav-item>a{
    min-height:84px;
    padding:0 4px;
    font-size:12.5px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:.01em;
  }
  .sdm-nav-item--has-children>a{padding-right:17px}
  .sdm-nav-item--has-children>a:after{right:3px;width:6px;height:6px}
  .sdm-nav-item>a:before{left:4px;bottom:20px}
  .sdm-nav-item:hover>a:before,
  .sdm-nav-item:focus-within>a:before{right:4px}

  .sdm-header__actions{
    display:flex!important;
    align-items:center;
    gap:9px;
    flex:0 0 auto;
    margin-left:2px;
  }
  .sdm-header-cta{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 15px;
    border-radius:2px;
    font-size:11.5px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:.015em;
    white-space:nowrap;
    transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
  }
  .sdm-header-cta:hover,
  .sdm-header-cta:focus-visible{
    transform:translateY(-1px);
    filter:brightness(1.03);
    box-shadow:0 7px 20px rgba(0,0,0,.14);
  }
  .sdm-header-cta--line{
    min-width:86px;
    background:#06c755;
    border-color:#06c755;
    color:#fff;
  }
  .sdm-header-cta--hotpepper{
    min-width:196px;
    background:var(--sdm-gold);
    border-color:var(--sdm-gold);
    color:#16130d;
  }
  .sdm-header.is-scrolled .sdm-header-cta--hotpepper{color:#16130d}

  .sdm-submenu{top:calc(100% - 1px)}
  .sdm-submenu>li>a,
  .sdm-submenu>li>span{font-size:12.5px;min-height:46px}
}

/* Keep the spacious desktop navigation only where all labels + CTAs fit.
   Below this width, switch to the existing drawer instead of shrinking text. */
@media (max-width:1600px) and (min-width:921px){
  .sdm-header__inner{height:74px;width:calc(100vw - 28px)}
  .sdm-nav,.sdm-header__actions{display:none!important}
  .sdm-menu-toggle{
    margin-left:auto;
    display:grid!important;
    grid-template-columns:22px auto;
    column-gap:8px;
    align-items:center;
    background:none;
    border:0;
    padding:8px 0;
    color:inherit;
    cursor:pointer;
  }
  .sdm-menu-toggle span{grid-column:1;width:22px;height:1px;background:currentColor;display:block;margin:2px 0;transition:.25s ease}
  .sdm-menu-toggle b{grid-column:2;grid-row:1/4;font:10px/1 var(--sdm-sans);letter-spacing:.12em}
  .sdm-mobile-drawer{
    display:block!important;
    position:fixed;
    inset:0;
    z-index:950;
    background:rgba(246,242,233,.992);
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.4,0,.2,1);
    padding:96px 28px 70px;
    overflow:auto;
    color:var(--sdm-black);
  }
  .sdm-mobile-drawer.is-open{transform:none}
}

/* =========================================================
   Header responsive navigation v1.3.6
   - Keep the full hierarchical navigation visible on desktop/tablet.
   - Use the drawer only on smartphone widths (<= 767px).
   - 768-1399px uses a two-row header so labels stay readable.
========================================================= */
@media (min-width:1100px) and (max-width:1600px){
  .sdm-header__inner{
    width:min(1560px,calc(100vw - 24px));
    height:auto;
    min-height:112px;
    padding:7px 0 8px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-rows:50px auto;
    align-items:center;
    column-gap:14px;
    row-gap:0;
  }
  .sdm-header__brand{grid-column:1;grid-row:1;margin:0}
  .sdm-brand-link{min-width:154px}
  .sdm-brand-link__crest{width:36px;height:36px}
  .sdm-brand-link__text strong{font-size:11px;letter-spacing:.075em}
  .sdm-brand-link__text small{font-size:7px}

  .sdm-header__actions{
    grid-column:3;
    grid-row:1;
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    margin:0;
  }
  .sdm-header-cta{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 11px;
    border-radius:2px;
    font-size:10px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
  }
  .sdm-header-cta--line{min-width:74px}
  .sdm-header-cta--hotpepper{min-width:164px}

  .sdm-nav,
  .sdm-nav--hierarchy{
    grid-column:1/-1;
    grid-row:2;
    display:flex!important;
    width:100%;
    min-width:0;
    align-items:center;
    justify-content:center;
    overflow:visible;
    font-size:11.5px;
  }
  .sdm-nav-list{
    display:flex!important;
    align-items:stretch;
    justify-content:center;
    flex-wrap:wrap;
    width:100%;
    margin:0;
    padding:0;
    gap:0 clamp(7px,.75vw,13px);
    list-style:none;
  }
  .sdm-nav-item{
    position:relative;
    display:flex;
    align-items:stretch;
    min-width:0;
  }
  .sdm-nav-item>a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 3px;
    color:inherit;
    font-size:11.5px!important;
    font-weight:500;
    line-height:1.25;
    letter-spacing:.005em;
    white-space:nowrap;
    text-decoration:none;
  }
  .sdm-nav-item>a:before{
    content:"";
    position:absolute;
    left:3px;
    right:100%;
    bottom:5px;
    height:1px;
    background:var(--sdm-gold);
    transition:right .22s ease;
  }
  .sdm-nav-item:hover>a:before,
  .sdm-nav-item:focus-within>a:before{right:3px}
  .sdm-nav-item--has-children>a{padding-right:15px}
  .sdm-nav-item--has-children>a:after{
    content:"";
    position:absolute;
    right:2px;
    top:50%;
    width:5px;
    height:5px;
    margin-top:-4px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:rotate(45deg);
    opacity:.72;
    transition:transform .2s ease,margin-top .2s ease;
  }
  .sdm-nav-item--has-children:hover>a:after,
  .sdm-nav-item--has-children:focus-within>a:after{
    transform:rotate(225deg);
    margin-top:0;
  }
  .sdm-submenu{
    position:absolute;
    z-index:1100;
    top:calc(100% - 1px);
    left:50%;
    width:258px;
    margin:0;
    padding:9px 0;
    list-style:none;
    background:rgba(252,251,248,.992);
    color:var(--sdm-black);
    border:1px solid rgba(182,154,98,.36);
    box-shadow:0 18px 46px rgba(17,15,12,.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,9px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .sdm-submenu--wide{width:284px}
  .sdm-nav-item--has-children:hover>.sdm-submenu,
  .sdm-nav-item--has-children:focus-within>.sdm-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
  }
  .sdm-nav-item:nth-last-child(-n+3)>.sdm-submenu{
    left:auto;
    right:0;
    transform:translateY(9px);
  }
  .sdm-nav-item:nth-last-child(-n+3):hover>.sdm-submenu,
  .sdm-nav-item:nth-last-child(-n+3):focus-within>.sdm-submenu{transform:translateY(0)}
  .sdm-submenu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
  .sdm-submenu li{margin:0;padding:0}
  .sdm-submenu>li>a,
  .sdm-submenu>li>span{
    display:flex;
    align-items:center;
    width:100%;
    min-height:44px;
    padding:10px 17px;
    color:var(--sdm-black);
    border-bottom:1px solid #ece7de;
    font-size:12px;
    line-height:1.55;
    white-space:normal;
    text-decoration:none;
  }
  .sdm-submenu>li:last-child>a,
  .sdm-submenu>li:last-child>span{border-bottom:0}
  .sdm-submenu>li>a:hover,
  .sdm-submenu>li>a:focus-visible{color:var(--sdm-gold-dark);background:#f6f2e9;outline:none}

  /* Never use the drawer above smartphone width. */
  .sdm-menu-toggle,
  .sdm-mobile-drawer,
  .sdm-mobile-fixed-cta{display:none!important}

  /* Account for the taller two-row header on content pages. */
  .sdm-hero__content{padding-top:118px}
  .sdm-subhero{padding-top:174px}
}

@media (min-width:1200px) and (max-width:1600px){
  .sdm-header__inner{min-height:108px}
  .sdm-nav-list{flex-wrap:nowrap;gap:0 clamp(5px,.55vw,10px)}
  .sdm-nav-item>a{font-size:11px!important;padding-left:2px;padding-right:2px}
  .sdm-nav-item--has-children>a{padding-right:13px}
  .sdm-header-cta{font-size:9.8px;padding-inline:10px}
  .sdm-header-cta--hotpepper{min-width:158px}
}

@media (min-width:1100px) and (max-width:1199px){
  .sdm-header__inner{
    min-height:128px;
    grid-template-columns:auto 1fr auto;
  }
  .sdm-nav-list{max-width:1120px;margin-inline:auto;row-gap:0}
  .sdm-nav-item>a{min-height:38px;font-size:11px!important}
  .sdm-header-cta{font-size:9.5px;min-height:34px;padding:7px 9px}
  .sdm-header-cta--hotpepper{min-width:148px}
  .sdm-hero__content{padding-top:136px}
  .sdm-subhero{padding-top:188px}
}

/* Smartphone only: consolidate navigation into the drawer. */
@media (max-width:767px){
  .sdm-header__inner{height:66px;width:calc(100vw - 24px);display:flex;padding:0}
  .sdm-nav,.sdm-header__actions{display:none!important}
  .sdm-menu-toggle{display:grid!important}
  .sdm-mobile-drawer{display:block!important}
  .sdm-mobile-fixed-cta{display:flex!important}
}


/* =========================================================
   Header vertical alignment fix v1.3.7
   - Desktop header stays on a single horizontal axis.
   - Brand, primary navigation and CTAs are vertically centered.
   - Smartphone drawer behavior remains unchanged.
========================================================= */
@media (min-width:1180px) and (max-width:1600px){
  .sdm-header__inner{
    width:min(1580px,calc(100vw - 24px));
    height:84px;
    min-height:84px;
    padding:0;
    margin-inline:auto;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-start;
    gap:clamp(8px,.7vw,14px);
  }
  .sdm-header__brand{
    grid-column:auto;
    grid-row:auto;
    flex:0 0 auto;
    margin:0;
    align-self:center;
  }
  .sdm-brand-link{
    min-width:142px;
    align-items:center;
  }
  .sdm-brand-link__crest{width:36px;height:36px}
  .sdm-brand-link__text strong{font-size:10.5px}
  .sdm-brand-link__text small{font-size:7px}

  .sdm-nav,
  .sdm-nav--hierarchy{
    grid-column:auto;
    grid-row:auto;
    display:flex!important;
    flex:1 1 auto;
    min-width:0;
    width:auto;
    height:84px;
    align-items:center;
    justify-content:center;
    overflow:visible;
    font-size:10.5px;
  }
  .sdm-nav-list{
    display:flex!important;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:center;
    width:auto;
    max-width:none;
    margin:0;
    padding:0;
    gap:0 clamp(4px,.42vw,8px);
    list-style:none;
  }
  .sdm-nav-item{
    position:relative;
    display:flex;
    align-items:stretch;
  }
  .sdm-nav-item>a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:84px;
    padding:0 2px;
    font-size:clamp(9.8px,.72vw,11.2px)!important;
    line-height:1.25;
    white-space:nowrap;
  }
  .sdm-nav-item--has-children>a{padding-right:13px}
  .sdm-nav-item>a:before{bottom:18px}

  .sdm-header__actions{
    grid-column:auto;
    grid-row:auto;
    display:flex!important;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-end;
    align-self:center;
    gap:6px;
    margin:0;
  }
  .sdm-header-cta{
    min-height:38px;
    padding:8px 10px;
    font-size:9.6px;
    line-height:1.15;
    white-space:nowrap;
  }
  .sdm-header-cta--line{min-width:72px}
  .sdm-header-cta--hotpepper{min-width:154px}

  .sdm-menu-toggle,
  .sdm-mobile-drawer,
  .sdm-mobile-fixed-cta{display:none!important}

  .sdm-hero__content{padding-top:84px}
  .sdm-subhero{padding-top:140px}
}

/* Slightly tighter desktop layout where the full menu is dense, while
   preserving a single row and readable labels. */
@media (min-width:1180px) and (max-width:1365px){
  .sdm-header__inner{gap:7px;width:calc(100vw - 18px)}
  .sdm-brand-link{min-width:126px;gap:6px}
  .sdm-brand-link__crest{width:32px;height:32px}
  .sdm-brand-link__text strong{font-size:9.4px}
  .sdm-brand-link__text small{font-size:6.5px}
  .sdm-nav-list{gap:0 3px}
  .sdm-nav-item>a{font-size:9.2px!important;padding-inline:1px}
  .sdm-nav-item--has-children>a{padding-right:11px}
  .sdm-header-cta{font-size:8.9px;padding-inline:8px}
  .sdm-header-cta--line{min-width:66px}
  .sdm-header-cta--hotpepper{min-width:138px}
}

/* =========================================================
   Section title alignment / two-line guard v1.3.8
   - Every section title is centered site-wide, except the TOP hero H1.
   - Title containers are widened and responsive type is tightened so the
     supplied Japanese headings stay within two lines on PC and smartphone.
   - JS adds a final font-size fit only when a heading still exceeds two lines.
========================================================= */
.sdm-section-head,
.sdm-section-head--left,
.sdm-subsection .sdm-section-head,
.sdm-subsection .sdm-section-head--left{
  width:100%;
  max-width:min(1080px,100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* All section headings, while intentionally excluding .sdm-hero h1. */
.sdm-section h2,
.sdm-subhero h1,
.sdm-content-hero h1{
  width:100%;
  max-width:min(1080px,100%);
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  text-wrap:balance;
  line-break:strict;
}

/* Keep split-layout headings centered inside their text column. */
.sdm-subsplit h2,
.sdm-why h2,
.sdm-philosophy h2,
.sdm-peeling h2,
.sdm-homecare h2,
.sdm-brand h2,
.sdm-producer h2,
.sdm-final-cta h2,
.sdm-subfinal h2{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Slightly more compact headings create reliable two-line compositions. */
.sdm-section h2{
  font-size:clamp(29px,3vw,46px)!important;
  line-height:1.44!important;
}
.sdm-subhero h1,
.sdm-content-hero h1{
  font-size:clamp(38px,4.6vw,62px)!important;
  line-height:1.38!important;
}

/* When a heading is in a narrow split column, use all available width. */
.sdm-subsplit__copy>h2,
.sdm-why__copy>h2,
.sdm-peeling__copy>h2,
.sdm-homecare__copy>h2,
.sdm-producer__copy>h2{
  max-width:100%;
}

@media (max-width:767px){
  .sdm-section-head,
  .sdm-section-head--left,
  .sdm-subsection .sdm-section-head,
  .sdm-subsection .sdm-section-head--left{
    max-width:calc(100vw - 36px);
  }
  .sdm-section h2{
    max-width:calc(100vw - 36px);
    font-size:clamp(25px,7.1vw,33px)!important;
    line-height:1.48!important;
  }
  .sdm-subhero h1,
  .sdm-content-hero h1{
    max-width:calc(100vw - 36px);
    font-size:clamp(30px,8.2vw,40px)!important;
    line-height:1.44!important;
  }
}


/* =========================================================
   TOP concern navigation / menu IA refinement v1.3.9
   - Six concern cards form a balanced 3 x 2 grid on desktop.
   - Concern-led navigation is grouped under the Menu dropdown.
========================================================= */
@media (min-width:1181px){
  .sdm-concern-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .sdm-concern-card__body{min-height:312px}
}


/* v1.3.10: concern-oriented Menu child labels */
@media (min-width:768px){
  .sdm-submenu--concern-links{
    width:min(390px, calc(100vw - 32px));
  }
  .sdm-submenu--concern-links>li>a{
    min-height:52px;
    padding:12px 20px;
    line-height:1.55;
  }
}


/* =========================================================
   v1.3.12 Header legibility + simplified primary nav
========================================================= */
@media (min-width:1601px){
  .sdm-header__inner{width:min(1720px,calc(100vw - 32px));gap:18px}
  .sdm-nav-list{gap:0 clamp(9px,.62vw,15px)}
  .sdm-nav-item>a{font-size:14px!important;font-weight:550;letter-spacing:.012em;padding-inline:5px}
  .sdm-brand-link{min-width:166px}
  .sdm-header-cta{font-size:12px;padding-inline:16px}
}
@media (min-width:1366px) and (max-width:1600px){
  .sdm-header__inner{width:calc(100vw - 20px);gap:10px}
  .sdm-nav-list{gap:0 clamp(5px,.42vw,9px)}
  .sdm-nav-item>a{font-size:12.8px!important;font-weight:550;letter-spacing:.005em;padding-inline:3px}
  .sdm-brand-link{min-width:134px}
  .sdm-header-cta{font-size:10.5px;padding-inline:10px}
  .sdm-header-cta--hotpepper{min-width:166px}
}
@media (min-width:1180px) and (max-width:1365px){
  .sdm-nav-list{gap:0 4px}
  .sdm-nav-item>a{font-size:11.8px!important;font-weight:550;letter-spacing:0;padding-inline:2px}
}
@media (min-width:768px) and (max-width:1179px){
  .sdm-nav-item>a{font-size:12.8px!important;font-weight:550}
  .sdm-nav-list{gap:0 5px}
}


/* =========================================================
   v1.3.14 Subpage header / FV refinement
   - Non-top pages use a bright fixed header like the reference.
   - Desktop menu spacing is opened up for easier scanning.
   - Inner-page FV height is reduced and balanced under the header.
========================================================= */
body:not(.home) .sdm-header{
  background:rgba(255,255,255,.985);
  color:var(--sdm-black);
  box-shadow:0 1px 0 rgba(27,22,17,.09);
  backdrop-filter:blur(10px);
}
body:not(.home) .sdm-header .custom-logo-link img{max-height:60px;width:auto}
body:not(.home) .sdm-brand-link__crest{filter:none}
body:not(.home) .sdm-brand-link__text small{color:var(--sdm-gold-dark)}
body:not(.home) .sdm-subhero{
  min-height:540px;
  padding:138px 0 56px;
  align-items:flex-end;
  background-position:center center;
}
body:not(.home) .sdm-subhero__overlay{
  background:linear-gradient(90deg,rgba(22,16,12,.44) 0%,rgba(22,16,12,.24) 42%,rgba(22,16,12,.10) 100%);
}
body:not(.home) .sdm-subhero__inner{width:min(1340px,calc(100vw - 40px))}
body:not(.home) .sdm-subpage-breadcrumbs{
  margin-bottom:22px;
  font-size:11px;
  color:rgba(255,255,255,.84);
}
body:not(.home) .sdm-subhero h1{
  max-width:980px;
  font-size:clamp(42px,4.3vw,78px);
  line-height:1.18;
  letter-spacing:.018em;
}
body:not(.home) .sdm-subhero__lead{
  max-width:760px;
  margin-top:16px;
  font-size:clamp(16px,1.55vw,27px);
  line-height:1.72;
}

@media (min-width:1280px){
  .sdm-header__inner{
    width:min(1760px,calc(100vw - 44px));
    height:88px;
    min-height:88px;
    gap:18px;
  }
  .sdm-brand-link{min-width:168px}
  .sdm-nav-list{gap:0 clamp(9px,.78vw,18px)}
  .sdm-nav-item>a{
    min-height:88px;
    font-size:14.8px!important;
    font-weight:560;
    padding-inline:4px;
    line-height:1.2;
  }
  .sdm-nav-item--has-children>a{padding-right:16px}
  .sdm-header__actions{gap:10px}
  .sdm-header-cta{
    min-height:44px;
    font-size:11.5px;
    padding-inline:16px;
  }
  .sdm-header-cta--hotpepper{min-width:214px}
}

@media (min-width:992px) and (max-width:1279px){
  .sdm-header__inner{
    width:calc(100vw - 28px);
    height:82px;
    min-height:82px;
    gap:12px;
  }
  .sdm-brand-link{min-width:144px}
  .sdm-nav-list{gap:0 clamp(4px,.45vw,8px)}
  .sdm-nav-item>a{
    min-height:82px;
    font-size:12.2px!important;
    padding-inline:2px;
  }
  .sdm-nav-item--has-children>a{padding-right:13px}
  body:not(.home) .sdm-subhero{
    min-height:500px;
    padding:126px 0 50px;
  }
}

@media (min-width:768px) and (max-width:991px){
  .sdm-header__inner{
    width:calc(100vw - 24px);
    min-height:78px;
    height:78px;
    gap:10px;
  }
  .sdm-nav-list{gap:0 6px}
  .sdm-nav-item>a{
    min-height:78px;
    font-size:11px!important;
    padding-inline:1px;
  }
  .sdm-header-cta{font-size:9.6px;min-height:36px;padding-inline:10px}
  .sdm-header-cta--hotpepper{min-width:160px}
  body:not(.home) .sdm-subhero{
    min-height:440px;
    padding:118px 0 44px;
  }
  body:not(.home) .sdm-subhero h1{font-size:clamp(34px,5.4vw,52px)}
  body:not(.home) .sdm-subhero__lead{font-size:clamp(15px,1.9vw,20px)}
}


/* v1.3.15 Menu / Price anchors */
#price,#concern-menu{scroll-margin-top:112px}
@media (max-width:767px){#price,#concern-menu{scroll-margin-top:78px}}

/* =========================================================
   v1.3.16 TOP FV precision + companion menu/price manager
   Reference: supplied SALON DE MEDICI desktop hero mockup.
========================================================= */
@media (min-width:1200px){
  .home .sdm-header__inner{
    width:min(1660px,calc(100vw - 48px));
    height:76px;
    min-height:76px;
    gap:16px;
  }
  .home .sdm-nav-list{gap:0 clamp(7px,.62vw,14px)}
  .home .sdm-nav-item>a{
    min-height:76px;
    font-size:13px!important;
    font-weight:560;
    letter-spacing:.008em;
  }
  .home .sdm-header-cta{min-height:42px;font-size:11px;padding-inline:15px}
  .home .sdm-header-cta--hotpepper{min-width:200px}

  .home .sdm-hero{
    min-height:620px;
    height:36vw;
    max-height:700px;
    background-position:64% center;
    overflow:hidden;
  }
  .home .sdm-hero:before{
    z-index:0;
    background:linear-gradient(90deg,rgba(3,3,3,.97) 0%,rgba(3,3,3,.92) 24%,rgba(3,3,3,.72) 42%,rgba(3,3,3,.18) 67%,rgba(3,3,3,.20) 100%);
  }
  .home .sdm-hero__overlay{
    z-index:1;
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18));
  }
  .home .sdm-hero__content{
    height:100%;
    width:min(1540px,calc(100vw - 120px));
    padding-top:76px;
    align-items:center;
    gap:54px;
  }
  .home .sdm-hero__copy{
    max-width:650px;
    padding:44px 0 22px;
  }
  .home .sdm-hero .sdm-eyebrow{
    margin-bottom:2px;
    font-size:14px;
    letter-spacing:.13em;
  }
  .home .sdm-hero__brandline{
    gap:2px;
    margin:0 0 22px;
  }
  .home .sdm-hero__brandline em{
    font-size:clamp(22px,1.8vw,30px);
    line-height:1.12;
  }
  .home .sdm-hero__brandline span{
    font-size:12px;
    letter-spacing:.10em;
  }
  .home .sdm-hero h1{
    margin-bottom:18px;
    font-size:clamp(43px,3.35vw,60px);
    line-height:1.34;
    letter-spacing:.01em;
    text-shadow:0 2px 22px rgba(0,0,0,.38);
  }
  .home .sdm-hero__lead{
    font-size:12px;
    line-height:1.8;
    letter-spacing:.025em;
  }
  .home .sdm-hero__actions{
    gap:12px;
    margin-top:28px;
  }
  .home .sdm-hero__actions .sdm-btn{
    min-width:245px;
    min-height:54px;
  }
  .home .sdm-trust-strip{
    margin-top:20px;
    font-size:11px;
  }
  .home .sdm-hero__signature{
    align-self:center;
    margin:72px 6px 0 0;
    font-size:22px;
    line-height:1.7;
  }
  .home .sdm-hero__signature strong{font-size:27px}
  .home .sdm-hero__signature small{margin-top:24px;font-size:9px}
}

@media (min-width:768px) and (max-width:1199px){
  .home .sdm-hero{min-height:690px;height:auto;background-position:66% center}
  .home .sdm-hero__content{padding-top:82px}
  .home .sdm-hero__copy{max-width:610px}
}

@media (max-width:767px){
  .home .sdm-hero{min-height:760px;background-position:68% center}
  .home .sdm-hero:before{background:linear-gradient(180deg,rgba(3,3,3,.38),rgba(3,3,3,.72) 48%,rgba(3,3,3,.94) 100%)}
}


/* =========================================================
   v1.3.17 Compact inner-page header + hero
   Reference direction: bright fixed header, generous but tidy nav,
   compact visual hero, and the hero image starts below the header.
   TOP page remains untouched.
========================================================= */
body:not(.home) .sdm-header{
  background:#fff;
  color:var(--sdm-black);
  box-shadow:0 1px 0 rgba(31,26,20,.10);
  backdrop-filter:blur(10px);
}
body:not(.home) .sdm-header__brand .custom-logo-link img{
  max-height:58px;
  width:auto;
}
body:not(.home) .sdm-brand-link__crest{filter:none}
body:not(.home) .sdm-brand-link__text strong{color:var(--sdm-black)}
body:not(.home) .sdm-brand-link__text small{color:var(--sdm-gold-dark)}

/* Desktop / wide tablet navigation: improve separation and legibility. */
@media (min-width:1366px){
  body:not(.home) .sdm-header__inner{
    width:min(1780px,calc(100vw - 44px));
    height:88px;
    min-height:88px;
    gap:18px;
  }
  body:not(.home) .sdm-brand-link{min-width:174px}
  body:not(.home) .sdm-nav-list{gap:0 clamp(10px,.75vw,18px)}
  body:not(.home) .sdm-nav-item>a{
    min-height:88px;
    font-size:14px!important;
    font-weight:560;
    letter-spacing:.01em;
    padding-inline:3px;
  }
  body:not(.home) .sdm-nav-item--has-children>a{padding-right:17px}
  body:not(.home) .sdm-header__actions{gap:10px}
  body:not(.home) .sdm-header-cta{
    min-height:44px;
    font-size:11.5px;
    padding-inline:15px;
  }
  body:not(.home) .sdm-header-cta--hotpepper{min-width:210px}
}

@media (min-width:1100px) and (max-width:1365px){
  body:not(.home) .sdm-header__inner{
    width:calc(100vw - 26px);
    height:82px;
    min-height:82px;
    gap:11px;
  }
  body:not(.home) .sdm-brand-link{min-width:145px}
  body:not(.home) .sdm-nav-list{gap:0 clamp(4px,.42vw,8px)}
  body:not(.home) .sdm-nav-item>a{
    min-height:82px;
    font-size:12.1px!important;
    font-weight:550;
    padding-inline:1px;
  }
  body:not(.home) .sdm-nav-item--has-children>a{padding-right:13px}
  body:not(.home) .sdm-header-cta{min-height:38px;font-size:9.8px;padding-inline:10px}
  body:not(.home) .sdm-header-cta--hotpepper{min-width:164px}
}

@media (min-width:768px) and (max-width:1099px){
  body:not(.home) .sdm-header__inner{
    width:calc(100vw - 20px);
    height:78px;
    min-height:78px;
    gap:8px;
  }
  body:not(.home) .sdm-brand-link{min-width:128px}
  body:not(.home) .sdm-nav-list{gap:0 3px}
  body:not(.home) .sdm-nav-item>a{
    min-height:78px;
    font-size:10.5px!important;
    font-weight:550;
    letter-spacing:0;
    padding-inline:0;
  }
  body:not(.home) .sdm-nav-item--has-children>a{padding-right:11px}
  body:not(.home) .sdm-header-cta{min-height:34px;font-size:8.8px;padding-inline:8px}
  body:not(.home) .sdm-header-cta--hotpepper{min-width:145px}
}

/* Compact inner-page hero. It no longer sits beneath the fixed header. */
@media (min-width:1366px){
  body:not(.home) .sdm-subhero{
    min-height:410px;
    margin-top:88px;
    padding:46px 0 44px;
    align-items:flex-end;
    background-position:center 48%;
  }
  body:not(.home) .sdm-subhero__inner{width:min(1380px,calc(100vw - 64px));max-width:none}
  body:not(.home) .sdm-subhero h1{
    max-width:920px;
    font-size:clamp(42px,3.75vw,64px)!important;
    line-height:1.18!important;
    letter-spacing:.016em;
  }
  body:not(.home) .sdm-subhero__lead{
    max-width:760px;
    margin-top:12px;
    font-size:clamp(16px,1.35vw,22px);
    line-height:1.65;
  }
  body:not(.home) .sdm-ai-answer{
    max-width:760px;
    margin-top:14px;
    padding:11px 15px;
    font-size:12px;
    line-height:1.65;
  }
  body:not(.home) .sdm-subhero__trust{margin-top:14px}
  body:not(.home) .sdm-dual-cta--left{margin-top:16px}
}

@media (min-width:1100px) and (max-width:1365px){
  body:not(.home) .sdm-subhero{
    min-height:390px;
    margin-top:82px;
    padding:42px 0 40px;
    background-position:center 48%;
  }
  body:not(.home) .sdm-subhero__inner{width:min(1240px,calc(100vw - 48px));max-width:none}
  body:not(.home) .sdm-subhero h1{font-size:clamp(38px,4.2vw,56px)!important;line-height:1.2!important}
  body:not(.home) .sdm-subhero__lead{margin-top:11px;font-size:clamp(15px,1.55vw,20px);line-height:1.65}
  body:not(.home) .sdm-ai-answer{margin-top:12px;padding:10px 14px;font-size:11.5px;line-height:1.6}
  body:not(.home) .sdm-subhero__trust{margin-top:12px}
  body:not(.home) .sdm-dual-cta--left{margin-top:14px}
}

@media (min-width:768px) and (max-width:1099px){
  body:not(.home) .sdm-subhero{
    min-height:360px;
    margin-top:78px;
    padding:38px 0 36px;
    background-position:center 50%;
  }
  body:not(.home) .sdm-subhero__inner{width:calc(100vw - 42px);max-width:none}
  body:not(.home) .sdm-subhero h1{font-size:clamp(33px,4.8vw,48px)!important;line-height:1.22!important}
  body:not(.home) .sdm-subhero__lead{margin-top:10px;font-size:15px;line-height:1.6}
  body:not(.home) .sdm-ai-answer{margin-top:10px;padding:9px 12px;font-size:11px;line-height:1.55}
  body:not(.home) .sdm-subhero__trust{margin-top:10px}
  body:not(.home) .sdm-dual-cta--left{margin-top:12px}
}

/* Keep image legible without making the whole FV feel heavy. */
body:not(.home) .sdm-subhero__overlay{
  background:linear-gradient(90deg,rgba(11,9,8,.62) 0%,rgba(11,9,8,.43) 36%,rgba(11,9,8,.16) 72%,rgba(11,9,8,.20) 100%);
}
body:not(.home) .sdm-subpage-breadcrumbs{
  margin-bottom:18px;
  font-size:10px;
  line-height:1.45;
  color:rgba(255,255,255,.78);
}
body:not(.home) .sdm-subhero .sdm-eyebrow{margin-bottom:8px}

@media (max-width:767px){
  body:not(.home) .sdm-subhero{
    min-height:350px;
    margin-top:66px;
    padding:36px 0 34px;
    background-position:60% center;
  }
  body:not(.home) .sdm-subhero__overlay{
    background:linear-gradient(180deg,rgba(8,8,8,.18) 0%,rgba(8,8,8,.44) 52%,rgba(8,8,8,.76) 100%);
  }
  body:not(.home) .sdm-subhero__inner{width:calc(100vw - 36px);max-width:none}
  body:not(.home) .sdm-subpage-breadcrumbs{margin-bottom:14px;font-size:9px}
  body:not(.home) .sdm-subhero h1{font-size:clamp(29px,8.2vw,40px)!important;line-height:1.3!important}
  body:not(.home) .sdm-subhero__lead{margin-top:9px;font-size:15px;line-height:1.65}
  body:not(.home) .sdm-ai-answer{margin-top:10px;padding:9px 11px;font-size:10.5px;line-height:1.55}
  body:not(.home) .sdm-subhero__trust{margin-top:10px}
  body:not(.home) .sdm-dual-cta--left{margin-top:12px}
}

/* =========================================================
   v1.3.18 Inner-page hero: page name only
   Reference direction: large English page name + Japanese page name,
   left aligned. No CTA, lead, summary or trust content inside the hero.
========================================================= */
body:not(.home) .sdm-subhero{
  display:flex;
  align-items:center;
}
body:not(.home) .sdm-subhero__inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
body:not(.home) .sdm-subhero__page-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  width:100%;
  max-width:1120px!important;
  margin:0!important;
  text-align:left!important;
  color:#fff;
}
body:not(.home) .sdm-subhero__page-title-en{
  display:block;
  font-family:var(--sdm-en);
  font-size:clamp(48px,5.3vw,82px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-wrap:balance;
}
body:not(.home) .sdm-subhero__page-title-ja{
  display:block;
  font-family:var(--sdm-serif);
  font-size:clamp(15px,1.25vw,20px);
  font-weight:500;
  line-height:1.6;
  letter-spacing:.12em;
  color:rgba(255,255,255,.96);
}
body:not(.home) .sdm-subhero__overlay{
  background:linear-gradient(90deg,rgba(13,10,8,.54) 0%,rgba(13,10,8,.34) 38%,rgba(13,10,8,.12) 72%,rgba(13,10,8,.08) 100%);
}
body:not(.home) .sdm-subhero-breadcrumb-bar{
  background:#fff;
  border-bottom:1px solid #ece7de;
}
body:not(.home) .sdm-subhero-breadcrumb-bar>.sdm-container{
  min-height:72px;
  display:flex;
  align-items:center;
}
body:not(.home) .sdm-subhero-breadcrumb-bar .sdm-subpage-breadcrumbs{
  margin:0;
  color:#7d766d;
  font-size:11px;
  line-height:1.6;
  letter-spacing:.02em;
}
body:not(.home) .sdm-subhero-breadcrumb-bar .sdm-subpage-breadcrumbs a{
  color:#7d766d;
}
body:not(.home) .sdm-subhero-breadcrumb-bar .sdm-subpage-breadcrumbs a:hover{
  color:var(--sdm-gold-dark);
}

@media (min-width:1366px){
  body:not(.home) .sdm-subhero{
    min-height:410px;
    padding:0;
  }
  body:not(.home) .sdm-subhero__inner{
    width:min(1380px,calc(100vw - 64px));
    max-width:none;
  }
}

@media (min-width:1100px) and (max-width:1365px){
  body:not(.home) .sdm-subhero{
    min-height:390px;
    padding:0;
  }
  body:not(.home) .sdm-subhero__page-title-en{font-size:clamp(46px,5.4vw,68px)}
  body:not(.home) .sdm-subhero__page-title-ja{font-size:16px}
}

@media (min-width:768px) and (max-width:1099px){
  body:not(.home) .sdm-subhero{
    min-height:360px;
    padding:0;
  }
  body:not(.home) .sdm-subhero__page-title{
    gap:10px;
  }
  body:not(.home) .sdm-subhero__page-title-en{
    font-size:clamp(38px,6vw,56px);
  }
  body:not(.home) .sdm-subhero__page-title-ja{
    font-size:14px;
  }
  body:not(.home) .sdm-subhero-breadcrumb-bar>.sdm-container{min-height:64px}
}

@media (max-width:767px){
  body:not(.home) .sdm-subhero{
    min-height:300px;
    padding:0;
  }
  body:not(.home) .sdm-subhero__inner{
    width:calc(100vw - 36px);
  }
  body:not(.home) .sdm-subhero__page-title{
    gap:9px;
    max-width:calc(100vw - 36px)!important;
  }
  body:not(.home) .sdm-subhero__page-title-en{
    font-size:clamp(34px,11vw,48px);
    line-height:1.08;
  }
  body:not(.home) .sdm-subhero__page-title-ja{
    font-size:13px;
    line-height:1.55;
    letter-spacing:.08em;
  }
  body:not(.home) .sdm-subhero__overlay{
    background:linear-gradient(90deg,rgba(12,9,8,.58) 0%,rgba(12,9,8,.30) 68%,rgba(12,9,8,.10) 100%);
  }
  body:not(.home) .sdm-subhero-breadcrumb-bar>.sdm-container{min-height:56px}
  body:not(.home) .sdm-subhero-breadcrumb-bar .sdm-subpage-breadcrumbs{font-size:9px}
}


/* =========================================================
   v1.3.20 Navigation typography
   Header and footer navigation use the same Mincho typeface
   as the main page content for a unified luxury expression.
========================================================= */
.sdm-nav-item>a,
.sdm-submenu>li>a,
.sdm-submenu>li>span,
.sdm-mobile-site-map>a,
.sdm-mobile-site-map>details>summary,
.sdm-mobile-site-map details a{
  font-family:var(--sdm-serif)!important;
}
.sdm-footer-sitemap-group>strong,
.sdm-footer-sitemap-group>a,
.sdm-footer__links a,
.sdm-footer__bottom a{
  font-family:var(--sdm-serif)!important;
}

/* =========================================================
   v1.3.21 TOP page restructuring
   - Menu & Price directly under first concern section.
   - WHY + PHILOSOPHY merged into one visual section.
   - FIRST VISIT reduced to four image-led steps.
========================================================= */
.sdm-menu-price .sdm-treatment-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.sdm-menu-price__summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:36px;
  border:1px solid var(--sdm-border);
  background:#fff;
}
.sdm-menu-price__summary>div{
  min-height:150px;
  padding:28px 22px;
  text-align:center;
  border-right:1px solid var(--sdm-border);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.sdm-menu-price__summary>div:last-child{border-right:0}
.sdm-menu-price__summary span{
  display:block;
  margin-bottom:14px;
  color:var(--sdm-gold-dark);
  font-size:11px;
  letter-spacing:.08em;
}
.sdm-menu-price__summary strong{
  font-family:var(--sdm-serif);
  font-size:18px;
  line-height:1.65;
  font-weight:500;
}
.sdm-menu-price__summary em{
  color:var(--sdm-gold-dark);
  font:normal 28px/1.2 var(--sdm-en);
}

.sdm-why-philosophy__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(44px,6vw,88px);
  align-items:start;
  margin-top:56px;
}
.sdm-why-philosophy__why>h3,
.sdm-why-philosophy__philosophy h3{
  margin:0 0 18px;
  font-family:var(--sdm-serif);
  font-size:clamp(24px,2.3vw,34px);
  line-height:1.55;
  font-weight:500;
}
.sdm-why-philosophy__why>p,
.sdm-why-philosophy__philosophy p{
  margin:0 0 16px;
  color:var(--sdm-sub);
  font-size:14px;
  line-height:1.95;
}
.sdm-why-philosophy__why .sdm-skin-map{
  min-height:420px;
  margin-top:18px;
}
.sdm-why-philosophy__philosophy{
  background:#fff;
  border:1px solid #e4dacb;
}
.sdm-why-philosophy__philosophy figure{
  margin:0;
  aspect-ratio:4/2.75;
  overflow:hidden;
  background:#eee;
}
.sdm-why-philosophy__philosophy figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sdm-why-philosophy__philosophy>div{
  padding:30px 32px 32px;
}
.sdm-step-grid--integrated{
  margin-top:46px;
  background:#fff;
}
.sdm-why-philosophy .sdm-philosophy__statement{
  text-align:center;
}

.sdm-first-assurance{
  list-style:none;
  margin:0 0 34px;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.sdm-first-assurance li{
  min-height:38px;
  padding:9px 15px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dfd4c2;
  background:rgba(255,255,255,.68);
  font-family:var(--sdm-serif);
  font-size:12px;
}
.sdm-first-flow-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.sdm-first-flow-grid>li{
  background:#fff;
  border:1px solid #e2d8ca;
  overflow:hidden;
}
.sdm-first-flow-grid figure{
  margin:0;
  aspect-ratio:4/2.75;
  overflow:hidden;
  background:#eee;
}
.sdm-first-flow-grid figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sdm-first-flow-grid>li>div{
  padding:22px 20px 24px;
}
.sdm-first-flow-grid span{
  display:block;
  color:var(--sdm-gold-dark);
  font:15px/1 var(--sdm-en);
  margin-bottom:12px;
}
.sdm-first-flow-grid h3{
  margin:0 0 10px;
  font-family:var(--sdm-serif);
  font-size:20px;
  line-height:1.45;
  font-weight:600;
}
.sdm-first-flow-grid p{
  margin:0;
  color:var(--sdm-sub);
  font-size:12.5px;
  line-height:1.85;
}
.sdm-first .sdm-dual-cta{margin-top:36px}

@media (max-width:1100px){
  .sdm-menu-price__summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sdm-menu-price__summary>div:nth-child(2){border-right:0}
  .sdm-menu-price__summary>div:nth-child(-n+2){border-bottom:1px solid var(--sdm-border)}
  .sdm-why-philosophy__grid{grid-template-columns:1fr;gap:36px}
  .sdm-why-philosophy__why .sdm-skin-map{max-width:620px;margin:20px auto 0}
  .sdm-first-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .sdm-menu-price__summary{grid-template-columns:1fr 1fr}
  .sdm-menu-price__summary>div{min-height:126px;padding:20px 12px}
  .sdm-menu-price__summary strong{font-size:15px}
  .sdm-menu-price__summary em{font-size:24px}
  .sdm-why-philosophy__grid{margin-top:38px}
  .sdm-why-philosophy__why .sdm-skin-map{min-height:410px}
  .sdm-why-philosophy__philosophy>div{padding:22px 20px 24px}
  .sdm-step-grid--integrated{margin-top:34px}
  .sdm-first-assurance{margin-bottom:24px;gap:6px}
  .sdm-first-assurance li{font-size:10px;padding:8px 10px;min-height:34px}
  .sdm-first-flow-grid{grid-template-columns:1fr;gap:10px}
  .sdm-first-flow-grid>li{display:grid;grid-template-columns:40% 60%}
  .sdm-first-flow-grid figure{height:100%;aspect-ratio:auto;min-height:150px}
  .sdm-first-flow-grid>li>div{padding:18px 16px}
  .sdm-first-flow-grid h3{font-size:18px}
  .sdm-first-flow-grid p{font-size:11.5px;line-height:1.75}
}


/* =========================================================
   v1.3.22 Recommended-for section
========================================================= */
.sdm-recommend-for__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:42px;
}
.sdm-recommend-for__card{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--sdm-border);
  box-shadow:0 10px 30px rgba(31,24,17,.035);
}
.sdm-recommend-for__card figure{
  margin:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#eee9e0;
}
.sdm-recommend-for__card figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.sdm-recommend-for__card:hover figure img{transform:scale(1.035)}
.sdm-recommend-for__card>div{
  min-height:220px;
  padding:23px 24px 26px;
}
.sdm-recommend-for__card span{
  display:block;
  margin-bottom:14px;
  color:var(--sdm-gold-dark);
  font:12px/1 var(--sdm-en);
  letter-spacing:.08em;
}
.sdm-recommend-for__card h3{
  margin:0;
  font-family:var(--sdm-serif);
  font-size:clamp(18px,1.45vw,23px);
  font-weight:500;
  line-height:1.65;
}
.sdm-recommend-for__card p{
  margin:16px 0 0;
  color:var(--sdm-text-light);
  font-size:13px;
  line-height:1.9;
}
@media (max-width:1100px){
  .sdm-recommend-for__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .sdm-recommend-for__grid{grid-template-columns:1fr;gap:10px;margin-top:30px}
  .sdm-recommend-for__card{display:grid;grid-template-columns:40% 60%}
  .sdm-recommend-for__card figure{height:100%;aspect-ratio:auto;min-height:170px}
  .sdm-recommend-for__card>div{min-height:170px;padding:16px 15px 18px}
  .sdm-recommend-for__card span{margin-bottom:9px;font-size:10px}
  .sdm-recommend-for__card h3{font-size:15px;line-height:1.6}
  .sdm-recommend-for__card p{margin-top:9px;font-size:11px;line-height:1.7}
}

/* =========================================================
   v1.3.23 Managed Before/After cases + visual reasons
========================================================= */
.sdm-managed-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sdm-managed-case-card{overflow:hidden;border:1px solid #e5ded2;background:#fff;box-shadow:0 14px 34px rgba(35,28,18,.045)}
.sdm-managed-case-card__ba{display:block;width:100%;border-bottom:1px solid #e8e1d7;background:transparent}
.sdm-managed-case-card__ba figure{display:block;position:relative;width:100%;margin:0;aspect-ratio:auto;overflow:hidden;background:transparent}
.sdm-managed-case-card__ba img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.sdm-managed-case-card__body{padding:24px 22px 25px}
.sdm-managed-case-card__label{margin:0;color:var(--sdm-gold-dark);font:11px/1 var(--sdm-en);letter-spacing:.13em}
.sdm-managed-case-card h3{margin:12px 0 14px;font-family:var(--sdm-serif);font-size:20px;line-height:1.55;font-weight:600}
.sdm-managed-case-card blockquote{margin:0 0 18px;padding:15px 16px;border-left:2px solid var(--sdm-gold);background:var(--sdm-ivory);font-family:var(--sdm-serif);font-size:14px;line-height:1.8}
.sdm-managed-case-card__meta{margin:0;display:grid;gap:7px}
.sdm-managed-case-card__meta div{display:grid;grid-template-columns:74px 1fr;gap:8px;padding-top:7px;border-top:1px solid #eee8df;font-size:12px;line-height:1.65}
.sdm-managed-case-card__meta dt{font-weight:700;color:#756449}
.sdm-managed-case-card__meta dd{margin:0;color:var(--sdm-sub)}
.sdm-managed-case-card__link{display:inline-flex;margin-top:18px;padding-bottom:3px;border-bottom:1px solid var(--sdm-gold-dark);font-size:12px;font-weight:700;color:var(--sdm-black)}
.sdm-evidence-panel--center{text-align:center}

.sdm-reason-grid--visual{border:0;gap:18px}
.sdm-reason-card--visual{padding:0;min-height:0;border:1px solid var(--sdm-border);overflow:hidden;background:#fff}
.sdm-reason-card--visual figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#eee}
.sdm-reason-card--visual figure img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}
.sdm-reason-card--visual:hover figure img{transform:scale(1.025)}
.sdm-reason-card--visual>div{padding:24px 23px 27px}
.sdm-reason-card--visual span{font-size:17px}
.sdm-reason-card--visual h3{margin:18px 0 12px;font-size:20px}
.sdm-reason-card--visual p{font-size:13px}

@media (max-width:1100px){
  .sdm-managed-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sdm-managed-case-card:last-child:nth-child(odd){grid-column:1/-1;max-width:560px;width:100%;justify-self:center}
}
@media (max-width:767px){
  .sdm-managed-case-grid{grid-template-columns:1fr;gap:14px}
  .sdm-managed-case-card:last-child:nth-child(odd){grid-column:auto;max-width:none}
  .sdm-managed-case-card__body{padding:20px 17px 22px}
  .sdm-managed-case-card h3{font-size:18px}
  .sdm-managed-case-card blockquote{font-size:13px}
  .sdm-managed-case-card__meta div{grid-template-columns:66px 1fr;font-size:11px}
  .sdm-reason-grid--visual{grid-template-columns:1fr}
  .sdm-reason-card--visual>div{padding:20px 18px 22px}
}
.sdm-single-case__inner{max-width:1040px}.sdm-single-case__ba{display:block;width:100%;gap:0;background:transparent}.sdm-single-case__ba figure{display:block;position:relative;width:100%;margin:0;aspect-ratio:auto;overflow:hidden}.sdm-single-case__ba img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}.sdm-single-case__voice{margin:36px 0 26px;padding:26px 28px;border-left:2px solid var(--sdm-gold);background:var(--sdm-ivory);font-family:var(--sdm-serif);font-size:18px;line-height:1.9}.sdm-single-case__meta{display:grid;grid-template-columns:repeat(2,1fr);margin:0 0 36px;border-top:1px solid var(--sdm-border);border-left:1px solid var(--sdm-border)}.sdm-single-case__meta div{display:grid;grid-template-columns:110px 1fr;border-right:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border);padding:14px 16px;font-size:13px}.sdm-single-case__meta dt{font-weight:700;color:var(--sdm-gold-dark)}.sdm-single-case__meta dd{margin:0}.sdm-single-case__staff{margin-top:44px;padding:28px;background:#fff;border:1px solid var(--sdm-border)}.sdm-single-case__staff h2{font-family:var(--sdm-serif);font-size:25px}.sdm-case-disclaimer{margin-top:28px;font-size:11px;color:var(--sdm-sub)}
@media(max-width:767px){.sdm-single-case__voice{font-size:15px;padding:20px}.sdm-single-case__meta{grid-template-columns:1fr}.sdm-single-case__meta div{grid-template-columns:88px 1fr}}

/* =========================================================
   v1.3.24 TOP Editorial Luxury Redesign
   Goal: replace repeated card grids with a curated, asymmetric
   luxury-brand rhythm while keeping content/CV architecture intact.
========================================================= */
.sdm-section--warm{background:#F8F5EF}
.sdm-section--beige{background:#F2ECE1}
.sdm-container--wide{width:min(1400px,calc(100vw - 80px));margin-inline:auto}
.sdm-container--narrow{width:min(900px,calc(100vw - 64px));margin-inline:auto}
.sdm-main--editorial .sdm-section{padding-block:120px}
.sdm-main--editorial .sdm-section h2{
  max-width:none;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
.sdm-main--editorial .sdm-luxury-menu .sdm-section-head,
.sdm-main--editorial .sdm-reasons-editorial .sdm-section-head{max-width:820px;margin-inline:auto;text-align:center}
.sdm-main--editorial .sdm-luxury-menu .sdm-section-head h2,
.sdm-main--editorial .sdm-reasons-editorial .sdm-section-head h2,
.sdm-main--editorial .sdm-final-cta h2{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.sdm-text-link{display:inline-flex;align-items:center;gap:14px;margin-top:24px;padding-bottom:5px;border-bottom:1px solid rgba(146,119,70,.6);font-family:var(--sdm-serif);font-size:14px;font-weight:600;letter-spacing:.03em;transition:color .25s ease,border-color .25s ease,gap .25s ease}
.sdm-text-link:hover{color:var(--sdm-gold-dark);border-color:var(--sdm-gold-dark);gap:20px}
.sdm-dark-link{display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding-bottom:5px;border-bottom:1px solid rgba(217,195,155,.7);color:#fff;font-family:var(--sdm-serif);font-size:14px;font-weight:600;letter-spacing:.03em;transition:color .25s ease,gap .25s ease}
.sdm-dark-link:hover{color:#D9C39B;gap:20px}

/* 01 FV */
.sdm-hero--editorial .sdm-hero__copy{max-width:720px}
.sdm-hero__kicker{margin:0 0 18px;color:#D7C49F;font:600 10px/1.2 var(--sdm-sans);letter-spacing:.24em;text-transform:uppercase}
.sdm-hero--editorial .sdm-hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.77) 0%,rgba(0,0,0,.50) 38%,rgba(0,0,0,.14) 68%,rgba(0,0,0,.18) 100%)}

/* 02 Concerns: text list, not cards */
.sdm-concerns-editorial__grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(60px,8vw,140px);align-items:start}
.sdm-concerns-editorial__intro{position:sticky;top:130px;max-width:480px}
.sdm-concerns-editorial__intro h2{margin:0 0 24px;font-family:var(--sdm-serif);font-size:clamp(36px,3.6vw,54px);font-weight:500;line-height:1.38}
.sdm-concerns-editorial__intro>p:last-child{max-width:420px;margin:0;color:var(--sdm-sub);font-size:15px;line-height:2}
.sdm-concern-lines{border-top:1px solid var(--sdm-border)}
.sdm-concern-lines>a{position:relative;display:grid;grid-template-columns:58px 1fr 42px;align-items:center;min-height:102px;border-bottom:1px solid var(--sdm-border);transition:color .25s ease,padding-left .25s ease}
.sdm-concern-lines>a:after{content:"";position:absolute;left:58px;right:100%;bottom:-1px;height:1px;background:var(--sdm-gold);transition:right .35s ease}
.sdm-concern-lines>a:hover{color:var(--sdm-gold-dark);padding-left:8px}
.sdm-concern-lines>a:hover:after{right:0}
.sdm-concern-lines span{color:var(--sdm-gold-dark);font:14px/1 var(--sdm-en);letter-spacing:.08em}
.sdm-concern-lines strong{font-family:var(--sdm-serif);font-size:clamp(22px,2.1vw,34px);font-weight:500;letter-spacing:.02em}
.sdm-concern-lines b{justify-self:end;font-size:22px;font-weight:400;color:var(--sdm-gold-dark);transition:transform .25s ease}
.sdm-concern-lines>a:hover b{transform:translate(4px,-2px)}
.sdm-concern-lines__unsure{margin-top:24px!important;min-height:84px!important;border:1px solid var(--sdm-border)!important;padding-inline:20px!important;background:var(--sdm-ivory)}
.sdm-concern-lines__unsure:after{display:none}
.sdm-concern-lines__unsure strong{font-size:clamp(17px,1.5vw,24px)}

/* 03 Popular menu: one large + two small */
.sdm-luxury-menu__grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-template-rows:1fr 1fr;gap:24px;margin-top:64px}
.sdm-luxury-menu__item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.74fr);min-height:280px;min-width:0;border-top:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border);background:#fff;overflow:hidden}
.sdm-luxury-menu__item.is-featured{grid-row:1/3;display:flex;flex-direction:column;min-height:580px}
.sdm-luxury-menu__image{overflow:hidden;background:#eee}
.sdm-luxury-menu__item:not(.is-featured) .sdm-luxury-menu__image{min-height:280px}
.sdm-luxury-menu__item.is-featured .sdm-luxury-menu__image{height:360px}
.sdm-luxury-menu__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.sdm-luxury-menu__item:hover .sdm-luxury-menu__image img{transform:scale(1.025)}
.sdm-luxury-menu__body{padding:24px 26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.sdm-luxury-menu__item.is-featured .sdm-luxury-menu__body{padding:30px 32px 34px;min-height:200px}
.sdm-luxury-menu__no{margin:0 0 12px;color:var(--sdm-gold-dark);font:13px/1 var(--sdm-en);letter-spacing:.12em}
.sdm-luxury-menu__body h3{margin:0;font-family:var(--sdm-serif);font-size:clamp(24px,2.2vw,34px);font-weight:500;line-height:1.4;text-wrap:balance}
.sdm-luxury-menu__body>p:not(.sdm-luxury-menu__no){margin:12px 0 0;color:var(--sdm-sub);font-size:13px;line-height:1.8}
.sdm-luxury-menu__price{display:flex;align-items:baseline;gap:14px;margin-top:18px}
.sdm-luxury-menu__price span{color:var(--sdm-sub);font-size:12px}
.sdm-luxury-menu__price strong{font-family:var(--sdm-serif);font-size:20px;font-weight:500;color:var(--sdm-gold-dark)}

/* 04 Cases: evidence section */
.sdm-cases-editorial__head{display:grid;grid-template-columns:1fr minmax(300px,.72fr);gap:70px;align-items:end;margin-bottom:58px}
.sdm-cases-editorial__head h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(36px,3.4vw,52px);font-weight:500;line-height:1.4}
.sdm-cases-editorial__head>p{margin:0;color:var(--sdm-sub);font-size:14px;line-height:2}
.sdm-feature-case{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(360px,.82fr);gap:clamp(50px,6vw,100px);align-items:center}
.sdm-feature-case__visual{display:block;width:100%;gap:0;background:transparent}
.sdm-feature-case__visual figure{display:block;position:relative;width:100%;margin:0;aspect-ratio:auto;overflow:hidden}
.sdm-feature-case__visual img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.sdm-feature-case__label{margin:0 0 14px;color:var(--sdm-gold-dark);font:12px/1 var(--sdm-en);letter-spacing:.14em}
.sdm-feature-case__content h3{margin:0;font-family:var(--sdm-serif);font-size:clamp(28px,2.8vw,42px);font-weight:500;line-height:1.45}
.sdm-feature-case__concern{margin:12px 0 0;color:var(--sdm-sub);font-size:14px;line-height:1.8}
.sdm-feature-case blockquote{margin:30px 0;padding:0;border:0;background:none;font-family:var(--sdm-serif);font-size:clamp(18px,1.6vw,24px);line-height:1.8;color:var(--sdm-text)}
.sdm-feature-case dl{margin:0;border-top:1px solid var(--sdm-border)}
.sdm-feature-case dl div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:11px 0;border-bottom:1px solid var(--sdm-border);font-size:12px}
.sdm-feature-case dt{color:var(--sdm-gold-dark);font-weight:700}.sdm-feature-case dd{margin:0;color:var(--sdm-sub)}
.sdm-feature-case__staff{margin:24px 0 0;padding-left:18px;border-left:1px solid var(--sdm-gold);font-size:13px;line-height:1.9;color:var(--sdm-sub)}
.sdm-feature-case__staff span{display:block;margin-bottom:7px;color:var(--sdm-gold-dark);font-size:10px;font-weight:700;letter-spacing:.12em}
.sdm-case-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px}
.sdm-case-strip__item{display:block}
.sdm-case-strip__ba{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;background:#ddd5c9}
.sdm-case-strip__ba span{aspect-ratio:1/1;overflow:hidden}.sdm-case-strip__ba img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.sdm-case-strip__item:hover img{transform:scale(1.025)}
.sdm-case-strip__item p{margin:13px 0 0;font-family:var(--sdm-serif);font-size:14px;line-height:1.6}
.sdm-editorial-empty{padding:70px 40px;border-top:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border);text-align:center;color:var(--sdm-sub)}

/* 05 Philosophy */
.sdm-philosophy-editorial__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(70px,8vw,130px);align-items:center}
.sdm-philosophy-editorial__copy h2{margin:0 0 28px;font-family:var(--sdm-serif);font-size:clamp(38px,3.7vw,58px);font-weight:500;line-height:1.38}
.sdm-philosophy-editorial__statement{margin:0 0 28px!important;font-family:var(--sdm-serif);font-size:clamp(22px,2.1vw,32px)!important;line-height:1.65!important;color:var(--sdm-text)!important}
.sdm-philosophy-editorial__copy>p:not(.sdm-eyebrow):not(.sdm-philosophy-editorial__statement){max-width:580px;margin:0;color:var(--sdm-sub);font-size:15px;line-height:2}
.sdm-philosophy-editorial__image{margin:0;min-height:660px;overflow:hidden}
.sdm-philosophy-editorial__image img{width:100%;height:100%;min-height:660px;object-fit:cover}
.sdm-philosophy-factors{display:grid;grid-template-columns:repeat(6,1fr);margin-top:72px;border-top:1px solid rgba(146,119,70,.35);border-bottom:1px solid rgba(146,119,70,.35)}
.sdm-philosophy-factors span{padding:20px 10px;text-align:center;color:var(--sdm-gold-dark);font-family:var(--sdm-serif);font-size:13px;border-right:1px solid rgba(146,119,70,.2)}
.sdm-philosophy-factors span:last-child{border-right:0}

/* 06 Recommended: typography only */
.sdm-recommended-text>div>h2{margin:0 0 42px;font-family:var(--sdm-serif);font-size:clamp(40px,4vw,60px);font-weight:500;line-height:1.4}
.sdm-recommended-text__list{border-top:1px solid var(--sdm-border)}
.sdm-recommended-text__list p{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center;margin:0;padding:25px 0;border-bottom:1px solid var(--sdm-border);font-family:var(--sdm-serif);font-size:clamp(18px,1.65vw,25px);line-height:1.6}
.sdm-recommended-text__list span{color:var(--sdm-gold-dark);font:13px/1 var(--sdm-en);letter-spacing:.1em}

/* 07 Reasons: alternating editorial stories */
.sdm-reasons-editorial__list{display:grid;gap:110px;margin-top:70px}
.sdm-reason-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);gap:clamp(50px,7vw,110px);align-items:center}
.sdm-reason-story.is-reverse{grid-template-columns:minmax(350px,.85fr) minmax(0,1.15fr)}
.sdm-reason-story.is-reverse figure{order:2}.sdm-reason-story.is-reverse>div{order:1}
.sdm-reason-story figure{margin:0;min-height:500px;overflow:hidden}
.sdm-reason-story figure img{width:100%;height:100%;min-height:500px;object-fit:cover}
.sdm-reason-story__no{margin:0 0 22px;color:var(--sdm-gold-dark);font:12px/1 var(--sdm-en);letter-spacing:.15em}
.sdm-reason-story h3{margin:0;font-family:var(--sdm-serif);font-size:clamp(30px,3vw,46px);font-weight:500;line-height:1.48}
.sdm-reason-story>div>p:last-child{max-width:560px;margin:24px 0 0;color:var(--sdm-sub);font-size:14px;line-height:2}
.sdm-reason-trust{display:grid;grid-template-columns:repeat(3,1fr);margin-top:110px;border-top:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border)}
.sdm-reason-trust>div{padding:34px 34px 36px;border-right:1px solid var(--sdm-border)}.sdm-reason-trust>div:last-child{border-right:0}
.sdm-reason-trust span{display:block;margin-bottom:18px;color:var(--sdm-gold-dark);font:12px/1 var(--sdm-en);letter-spacing:.12em}
.sdm-reason-trust strong{display:block;font-family:var(--sdm-serif);font-size:22px;font-weight:500}
.sdm-reason-trust p{margin:12px 0 0;color:var(--sdm-sub);font-size:12px;line-height:1.8}

/* 08 First visit: timeline */
.sdm-first-timeline__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.78fr);gap:clamp(70px,8vw,130px);align-items:start}
.sdm-first-timeline__copy>h2{margin:0 0 22px;font-family:var(--sdm-serif);font-size:clamp(36px,3.5vw,54px);font-weight:500;line-height:1.42}
.sdm-first-timeline__copy>p:not(.sdm-eyebrow){max-width:650px;margin:0;color:var(--sdm-sub);font-size:14px;line-height:2}
.sdm-first-timeline__steps{list-style:none;margin:54px 0 0;padding:0;border-top:1px solid rgba(146,119,70,.32)}
.sdm-first-timeline__steps li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid rgba(146,119,70,.32)}
.sdm-first-timeline__steps>li>span{font:400 clamp(42px,4vw,64px)/.95 var(--sdm-en);color:rgba(146,119,70,.62)}
.sdm-first-timeline__steps strong{display:block;color:var(--sdm-gold-dark);font-size:9px;letter-spacing:.15em}
.sdm-first-timeline__steps h3{margin:5px 0 6px;font-family:var(--sdm-serif);font-size:22px;font-weight:500}
.sdm-first-timeline__steps p{margin:0;color:var(--sdm-sub);font-size:12px;line-height:1.8}
.sdm-first-timeline__visuals{position:relative;min-height:760px;padding-left:50px}
.sdm-first-timeline__visuals figure{margin:0;overflow:hidden}.sdm-first-timeline__visuals figure:first-child{height:600px}.sdm-first-timeline__visuals figure:last-child{position:absolute;left:0;bottom:0;width:66%;height:290px;border:12px solid #F2ECE1}
.sdm-first-timeline__visuals img{width:100%;height:100%;object-fit:cover}

/* 09 Signature treatment */
.sdm-signature-treatment{background:#0B0B0A;color:#fff;padding-block:140px!important}
.sdm-signature-treatment__grid{display:grid;grid-template-columns:minmax(380px,.82fr) minmax(0,1.18fr);gap:clamp(70px,8vw,130px);align-items:center}
.sdm-signature-treatment__copy h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(38px,3.8vw,58px);font-weight:500;line-height:1.42;color:#fff}
.sdm-signature-treatment__name{margin:32px 0 18px!important;font-family:var(--sdm-serif);font-size:clamp(24px,2.4vw,36px)!important;line-height:1.45!important;color:#D9C39B!important}
.sdm-signature-treatment__copy>p:not(.sdm-eyebrow):not(.sdm-signature-treatment__name){max-width:560px;margin:0 0 16px;color:rgba(255,255,255,.72);font-size:14px;line-height:2}
.sdm-signature-treatment__image{margin:0;min-height:620px;overflow:hidden}.sdm-signature-treatment__image img{width:100%;height:100%;min-height:620px;object-fit:cover}

/* 10 Homecare */
.sdm-homecare-editorial__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:clamp(70px,8vw,130px);align-items:center}
.sdm-homecare-editorial__copy h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(36px,3.5vw,54px);font-weight:500;line-height:1.45}
.sdm-homecare-editorial__copy>p:not(.sdm-eyebrow):not(.sdm-homecare-editorial__quote){max-width:600px;margin:26px 0 0;color:var(--sdm-sub);font-size:14px;line-height:2}
.sdm-homecare-editorial__quote{margin:34px 0 0!important;padding-left:22px;border-left:1px solid var(--sdm-gold);font-family:var(--sdm-serif);font-size:clamp(20px,1.8vw,28px)!important;line-height:1.8!important;color:var(--sdm-text)!important}
.sdm-homecare-editorial figure{margin:0;min-height:620px;overflow:hidden}.sdm-homecare-editorial figure img{width:100%;height:100%;min-height:620px;object-fit:cover}

/* 11 Brand */
.sdm-brand-editorial__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(70px,9vw,150px);align-items:end}
.sdm-brand-editorial__grid h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(40px,4vw,64px);font-weight:500;line-height:1.42}
.sdm-brand-editorial__be{margin:24px 0 0!important;color:var(--sdm-gold-dark)!important;font:italic clamp(24px,2.5vw,38px)/1.2 var(--sdm-en)!important}
.sdm-brand-editorial__grid>div:last-child>p{margin:0;color:var(--sdm-sub);font-size:14px;line-height:2}
.sdm-brand-editorial__image{margin:78px 0 0;height:520px;overflow:hidden}.sdm-brand-editorial__image img{width:100%;height:100%;object-fit:cover}

/* 12 Producer / Staff */
.sdm-people-editorial{background:#0B0B0A;color:#fff;padding-block:140px!important}
.sdm-people-editorial__producer{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);gap:clamp(70px,8vw,130px);align-items:center}
.sdm-people-editorial__producer figure{margin:0;min-height:690px;overflow:hidden}.sdm-people-editorial__producer figure img{width:100%;height:100%;min-height:690px;object-fit:cover}
.sdm-people-editorial__producer h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(38px,3.6vw,56px);font-weight:500;line-height:1.42;color:#fff}
.sdm-people-editorial__name{margin:28px 0 18px!important;color:#D9C39B!important;font:italic clamp(26px,2.8vw,42px)/1.2 var(--sdm-en)!important}
.sdm-people-editorial__producer>div>p:not(.sdm-eyebrow):not(.sdm-people-editorial__name){margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:2}
.sdm-people-editorial__staff{display:grid;grid-template-columns:minmax(300px,.6fr) minmax(0,1.4fr);gap:70px;margin-top:120px;padding-top:70px;border-top:1px solid rgba(217,195,155,.28);align-items:end}
.sdm-people-editorial__staff h3{margin:0;font-family:var(--sdm-serif);font-size:clamp(28px,2.8vw,42px);font-weight:500;line-height:1.5}
.sdm-people-editorial__staff>div:first-child>p:not(.sdm-eyebrow){margin:20px 0 0;color:rgba(255,255,255,.66);font-size:13px;line-height:1.9}
.sdm-people-editorial__staff-visuals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sdm-people-editorial__staff-visuals>a,.sdm-people-editorial__staff-visuals figure{position:relative;margin:0;min-height:320px;overflow:hidden}
.sdm-people-editorial__staff-visuals img{width:100%;height:100%;min-height:320px;object-fit:cover}
.sdm-people-editorial__staff-visuals span{position:absolute;left:14px;bottom:12px;color:#fff;font-family:var(--sdm-serif);font-size:13px;text-shadow:0 2px 12px rgba(0,0,0,.55)}

/* 13 FAQ */
.sdm-faq-editorial__grid{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:clamp(70px,8vw,140px);align-items:start}
.sdm-faq-editorial__grid>div:first-child h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(36px,3.4vw,52px);font-weight:500;line-height:1.45}
.sdm-faq-editorial__grid>div:first-child>p:not(.sdm-eyebrow){margin:22px 0 0;color:var(--sdm-sub);font-size:13px;line-height:1.9}
.sdm-faq-editorial__list{border-top:1px solid var(--sdm-border)}
.sdm-faq-editorial__list details{border-bottom:1px solid var(--sdm-border)}
.sdm-faq-editorial__list summary{position:relative;list-style:none;cursor:pointer;padding:25px 52px 25px 0;font-family:var(--sdm-serif);font-size:17px;line-height:1.6}
.sdm-faq-editorial__list summary::-webkit-details-marker{display:none}
.sdm-faq-editorial__list summary:after{content:"＋";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--sdm-gold-dark);font-family:var(--sdm-sans);font-size:18px;font-weight:300}
.sdm-faq-editorial__list details[open] summary:after{content:"−"}
.sdm-faq-editorial__list details p{margin:0;padding:0 48px 24px 0;color:var(--sdm-sub);font-size:13px;line-height:1.9}

/* 14 Access */
.sdm-access-editorial__head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:52px}
.sdm-access-editorial__head h2{margin:0;font-family:var(--sdm-serif);font-size:clamp(38px,3.8vw,58px);font-weight:500;line-height:1.35}
.sdm-access-editorial__head address{max-width:420px;font-style:normal;color:var(--sdm-sub);font-size:13px;line-height:1.8;text-align:right}
.sdm-access-editorial__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(370px,.72fr);gap:clamp(60px,7vw,110px);align-items:center}
.sdm-access-editorial__grid>figure{margin:0;min-height:520px;overflow:hidden}.sdm-access-editorial__grid>figure img{width:100%;height:100%;min-height:520px;object-fit:cover}
.sdm-access-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:36px;border-top:1px solid var(--sdm-border);border-bottom:1px solid var(--sdm-border)}
.sdm-access-metrics p{margin:0;padding:28px 12px;text-align:center;border-right:1px solid var(--sdm-border)}.sdm-access-metrics p:last-child{border-right:0}
.sdm-access-metrics strong{font:400 clamp(42px,4vw,66px)/1 var(--sdm-en);color:var(--sdm-gold-dark)}
.sdm-access-metrics span{margin-left:4px;color:var(--sdm-gold-dark);font:10px/1 var(--sdm-en);letter-spacing:.12em}
.sdm-access-metrics small{display:block;margin-top:9px;font-size:10px;color:var(--sdm-sub)}
.sdm-access-editorial__info>p{margin:6px 0;color:var(--sdm-sub);font-size:12px}

/* 15 Final CTA */
.sdm-final-cta--editorial{min-height:560px;padding:140px 0;display:flex;align-items:center}
.sdm-final-cta--editorial .sdm-final-cta__inner{max-width:860px;text-align:center}
.sdm-final-cta--editorial .sdm-final-cta__inner>p:not(.sdm-eyebrow){max-width:640px;margin:26px auto 0}
.sdm-final-cta--editorial .sdm-final-cta__actions{margin-top:42px}

/* Tablet */
@media (max-width:1100px){
  .sdm-container--wide{width:min(100%,calc(100vw - 48px))}
  .sdm-concerns-editorial__grid,.sdm-philosophy-editorial__grid,.sdm-first-timeline__grid,.sdm-homecare-editorial__grid,.sdm-faq-editorial__grid{grid-template-columns:1fr;gap:54px}
  .sdm-concerns-editorial__intro{position:static;max-width:700px}
  .sdm-luxury-menu__grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.sdm-luxury-menu__item.is-featured{grid-column:1/-1;grid-row:auto;min-height:0}.sdm-luxury-menu__item.is-featured .sdm-luxury-menu__image{height:390px}.sdm-luxury-menu__item:not(.is-featured){grid-template-columns:1fr;min-height:0}.sdm-luxury-menu__item:not(.is-featured) .sdm-luxury-menu__image{height:260px;min-height:0}
  .sdm-feature-case{grid-template-columns:1fr;gap:42px}.sdm-feature-case__content{max-width:760px}
  .sdm-philosophy-editorial__image,.sdm-philosophy-editorial__image img{min-height:520px}
  .sdm-philosophy-factors{grid-template-columns:repeat(3,1fr)}.sdm-philosophy-factors span:nth-child(3){border-right:0}.sdm-philosophy-factors span:nth-child(-n+3){border-bottom:1px solid rgba(146,119,70,.2)}
  .sdm-reason-story,.sdm-reason-story.is-reverse{grid-template-columns:1.05fr .95fr;gap:45px}.sdm-reason-story figure,.sdm-reason-story figure img{min-height:420px}
  .sdm-first-timeline__visuals{min-height:600px;max-width:640px}.sdm-first-timeline__visuals figure:first-child{height:480px}
  .sdm-signature-treatment__grid,.sdm-brand-editorial__grid,.sdm-people-editorial__producer,.sdm-access-editorial__grid{grid-template-columns:1fr;gap:50px}
  .sdm-signature-treatment__image,.sdm-signature-treatment__image img,.sdm-homecare-editorial figure,.sdm-homecare-editorial figure img{min-height:500px}
  .sdm-brand-editorial__image{height:440px}
  .sdm-people-editorial__producer figure,.sdm-people-editorial__producer figure img{min-height:580px}
  .sdm-people-editorial__staff{grid-template-columns:1fr;gap:42px}
  .sdm-access-editorial__grid>figure,.sdm-access-editorial__grid>figure img{min-height:430px}
}

/* Smartphone: avoid long vertical card stacks. */
@media (max-width:767px){
  .sdm-main--editorial .sdm-section{padding-block:72px}
  .sdm-container--wide,.sdm-container--narrow{width:calc(100vw - 36px)}
  .sdm-main--editorial .sdm-section h2{max-width:100%!important}
  .sdm-hero__kicker{font-size:9px;margin-bottom:12px}
  .sdm-concerns-editorial__grid{gap:36px}.sdm-concerns-editorial__intro h2{font-size:30px}.sdm-concern-lines>a{grid-template-columns:42px 1fr 30px;min-height:74px}.sdm-concern-lines strong{font-size:19px}.sdm-concern-lines__unsure{padding-inline:12px!important}.sdm-concern-lines__unsure strong{font-size:15px}
  .sdm-luxury-menu__grid{display:grid;grid-template-columns:none;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:min(84vw,330px);gap:14px;margin:36px -18px 0;padding:0 18px 12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.sdm-luxury-menu__grid::-webkit-scrollbar{display:none}.sdm-luxury-menu__item,.sdm-luxury-menu__item.is-featured{display:flex;flex-direction:column;grid-column:auto;grid-row:auto;min-height:0;scroll-snap-align:start}.sdm-luxury-menu__item .sdm-luxury-menu__image,.sdm-luxury-menu__item.is-featured .sdm-luxury-menu__image,.sdm-luxury-menu__item:not(.is-featured) .sdm-luxury-menu__image{height:250px;min-height:250px}.sdm-luxury-menu__body,.sdm-luxury-menu__item.is-featured .sdm-luxury-menu__body{padding:22px 20px 24px}.sdm-luxury-menu__body h3{font-size:23px}.sdm-luxury-menu__price{flex-direction:column;gap:2px;align-items:flex-start}
  .sdm-cases-editorial__head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.sdm-cases-editorial__head h2{font-size:30px}.sdm-feature-case__visual{display:block;grid-template-columns:none}.sdm-feature-case blockquote{font-size:17px}.sdm-case-strip{display:none}
  .sdm-philosophy-editorial__copy h2{font-size:30px}.sdm-philosophy-editorial__statement{font-size:21px!important}.sdm-philosophy-editorial__image,.sdm-philosophy-editorial__image img{min-height:380px}.sdm-philosophy-factors{grid-template-columns:repeat(2,1fr);margin-top:42px}.sdm-philosophy-factors span{border-bottom:1px solid rgba(146,119,70,.2)}.sdm-philosophy-factors span:nth-child(even){border-right:0}
  .sdm-recommended-text>div>h2{font-size:31px}.sdm-recommended-text__list p{grid-template-columns:42px 1fr;padding:20px 0;font-size:17px}
  .sdm-reasons-editorial__list{gap:62px;margin-top:42px}.sdm-reason-story,.sdm-reason-story.is-reverse{grid-template-columns:1fr;gap:24px}.sdm-reason-story.is-reverse figure,.sdm-reason-story.is-reverse>div{order:initial}.sdm-reason-story figure,.sdm-reason-story figure img{min-height:330px}.sdm-reason-story h3{font-size:28px}.sdm-reason-trust{grid-template-columns:1fr;margin-top:62px}.sdm-reason-trust>div{border-right:0;border-bottom:1px solid var(--sdm-border);padding:24px 0}.sdm-reason-trust>div:last-child{border-bottom:0}
  .sdm-first-timeline__copy>h2{font-size:30px}.sdm-first-timeline__steps{margin-top:38px}.sdm-first-timeline__steps li{grid-template-columns:72px 1fr;gap:12px;padding:22px 0}.sdm-first-timeline__steps>li>span{font-size:42px}.sdm-first-timeline__steps h3{font-size:19px}.sdm-first-timeline__visuals{min-height:360px;padding:0}.sdm-first-timeline__visuals figure:first-child{height:360px}.sdm-first-timeline__visuals figure:last-child{display:none}
  .sdm-signature-treatment,.sdm-people-editorial{padding-block:84px!important}.sdm-signature-treatment__copy h2,.sdm-people-editorial__producer h2{font-size:31px}.sdm-signature-treatment__image,.sdm-signature-treatment__image img,.sdm-homecare-editorial figure,.sdm-homecare-editorial figure img{min-height:360px}
  .sdm-homecare-editorial__copy h2{font-size:30px}.sdm-homecare-editorial__quote{font-size:19px!important}
  .sdm-brand-editorial__grid{gap:34px}.sdm-brand-editorial__grid h2{font-size:31px}.sdm-brand-editorial__image{height:320px;margin-top:42px}
  .sdm-people-editorial__producer figure,.sdm-people-editorial__producer figure img{min-height:470px}.sdm-people-editorial__staff{margin-top:70px;padding-top:44px}.sdm-people-editorial__staff h3{font-size:28px}.sdm-people-editorial__staff-visuals{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}.sdm-people-editorial__staff-visuals>a{min-width:72%;scroll-snap-align:start}.sdm-people-editorial__staff-visuals figure{min-width:100%;min-height:330px}.sdm-people-editorial__staff-visuals img{min-height:330px}
  .sdm-faq-editorial__grid{gap:38px}.sdm-faq-editorial__grid>div:first-child h2{font-size:30px}.sdm-faq-editorial__list summary{padding:20px 40px 20px 0;font-size:15px}.sdm-faq-editorial__list details p{padding:0 24px 20px 0;font-size:12px}
  .sdm-access-editorial__head{display:block;margin-bottom:34px}.sdm-access-editorial__head h2{font-size:30px}.sdm-access-editorial__head address{margin-top:16px;text-align:left}.sdm-access-editorial__grid>figure,.sdm-access-editorial__grid>figure img{min-height:340px}.sdm-access-metrics p{padding:21px 4px}.sdm-access-metrics strong{font-size:42px}.sdm-access-metrics small{font-size:9px}
  .sdm-final-cta--editorial{min-height:480px;padding:84px 0}
}


/* =========================================================
   v1.3.26 TOP section title alignment
========================================================= */
.sdm-main--editorial .sdm-concerns .sdm-section-head{
  margin-inline:auto;
  text-align:center;
}
.sdm-main--editorial .sdm-recommended-text>div>.sdm-eyebrow,
.sdm-main--editorial .sdm-recommended-text>div>h2{
  text-align:center;
}
.sdm-main--editorial .sdm-recommended-text>div>h2{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}


/* =========================================================
   v1.3.27 Force-center the two requested TOP headings
   Specific + !important rules avoid legacy editorial overrides.
========================================================= */
.sdm-main--editorial .sdm-concerns .sdm-section-head--force-center{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.sdm-main--editorial .sdm-concerns .sdm-section-head--force-center .sdm-eyebrow,
.sdm-main--editorial .sdm-concerns .sdm-section-head--force-center h2,
.sdm-main--editorial .sdm-concerns .sdm-section-head--force-center>p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.sdm-main--editorial .sdm-recommended-text .sdm-recommended-text__heading-wrap{
  text-align:center!important;
}
.sdm-main--editorial .sdm-recommended-text .sdm-recommended-text__eyebrow,
.sdm-main--editorial .sdm-recommended-text .sdm-recommended-text__title{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* =========================================================
   v1.3.28 CTA DESIGN SYSTEM
   GOLD  = KNOW / internal primary
   ROSE  = RESERVE / HOT PEPPER Beauty
   GREEN = CONSULT / LINE
========================================================= */
:root{
  --sdm-cta-gold:#C6A15B;
  --sdm-cta-gold-hover:#B58F49;
  --sdm-cta-rose:#8A5264;
  --sdm-cta-green:#466A59;
}

/* Base buttons: square, quiet, no glossy treatment. */
.sdm-btn{
  min-height:50px;
  padding:0 36px;
  border-radius:2px!important;
  box-shadow:none!important;
  background-image:none!important;
  transform:none!important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.035em;
  transition:background-color .24s ease,color .24s ease,border-color .24s ease!important;
}
.sdm-btn:hover,.sdm-btn:focus-visible{transform:none!important;box-shadow:none!important}

/* GOLD = internal primary action. */
.sdm-btn--gold,
.sdm-btn--primary{
  background:var(--sdm-cta-gold)!important;
  border-color:var(--sdm-cta-gold)!important;
  color:#111!important;
}
.sdm-btn--gold:hover,.sdm-btn--gold:focus-visible,
.sdm-btn--primary:hover,.sdm-btn--primary:focus-visible{
  background:var(--sdm-cta-gold-hover)!important;
  border-color:var(--sdm-cta-gold-hover)!important;
  color:#111!important;
}

/* ROSE = HOT PEPPER Beauty reservation. */
.sdm-btn--hotpepper{
  background:#fff!important;
  color:var(--sdm-cta-rose)!important;
  border:1px solid var(--sdm-cta-rose)!important;
}
.sdm-btn--hotpepper:hover,.sdm-btn--hotpepper:focus-visible{
  background:var(--sdm-cta-rose)!important;
  color:#fff!important;
  border-color:var(--sdm-cta-rose)!important;
}

/* GREEN = LINE consultation. */
.sdm-btn--line{
  background:#fff!important;
  color:var(--sdm-cta-green)!important;
  border:1px solid var(--sdm-cta-green)!important;
  filter:none!important;
}
.sdm-btn--line:hover,.sdm-btn--line:focus-visible{
  background:var(--sdm-cta-green)!important;
  color:#fff!important;
  border-color:var(--sdm-cta-green)!important;
  filter:none!important;
}

/* Lightweight navigation is a text link, not a button. */
.sdm-text-link,
.sdm-text-link--cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  min-height:0;
  padding:3px 0 5px;
  border:0;
  border-bottom:1px solid rgba(146,119,70,.48);
  border-radius:0;
  background:transparent;
  color:var(--sdm-text);
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.025em;
  transition:color .24s ease,border-color .24s ease;
}
.sdm-text-link:hover,.sdm-text-link:focus-visible,
.sdm-text-link--cta:hover,.sdm-text-link--cta:focus-visible{
  color:var(--sdm-gold-dark);
  border-bottom-color:var(--sdm-gold-dark);
}
.sdm-text-link--external{color:var(--sdm-gold-dark)}
.sdm-text-link--light{color:#fff;border-bottom-color:rgba(255,255,255,.52)}
.sdm-text-link--light:hover,.sdm-text-link--light:focus-visible{color:#E2C98F;border-bottom-color:#E2C98F}

/* Card CTA: deliberately lightweight. */
.sdm-concern-card__cta{
  display:inline-flex!important;
  width:auto!important;
  margin-top:auto!important;
  padding:4px 0 5px!important;
  border:0!important;
  border-bottom:1px solid rgba(146,119,70,.48)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sdm-text)!important;
  box-shadow:none!important;
  font-size:12px!important;
}
.sdm-concern-card__cta:hover{background:transparent!important;color:var(--sdm-gold-dark)!important}

/* Conversion zones use area/spacing, not saturated fills, to carry priority. */
.sdm-dual-cta--conversion,
.sdm-final-cta__actions,
.sdm-subfinal .sdm-dual-cta{
  display:flex;
  justify-content:center;
  align-items:stretch;
  gap:14px;
  flex-wrap:wrap;
}
.sdm-dual-cta--conversion .sdm-btn,
.sdm-final-cta__actions .sdm-btn,
.sdm-subfinal .sdm-dual-cta .sdm-btn{
  min-width:280px;
  min-height:52px;
}

/* Header conversion CTAs follow the same semantic system. */
.sdm-header-cta{
  min-height:42px;
  border-radius:2px!important;
  box-shadow:none!important;
  background-image:none!important;
  transition:background-color .24s ease,color .24s ease,border-color .24s ease!important;
}
.sdm-header-cta:hover,.sdm-header-cta:focus-visible{transform:none!important;box-shadow:none!important;filter:none!important}
.sdm-header-cta--line{
  background:#fff!important;
  color:var(--sdm-cta-green)!important;
  border-color:var(--sdm-cta-green)!important;
}
.sdm-header-cta--line:hover,.sdm-header-cta--line:focus-visible{
  background:var(--sdm-cta-green)!important;
  color:#fff!important;
}
.sdm-header-cta--hotpepper{
  background:#fff!important;
  color:var(--sdm-cta-rose)!important;
  border-color:var(--sdm-cta-rose)!important;
}
.sdm-header-cta--hotpepper:hover,.sdm-header-cta--hotpepper:focus-visible{
  background:var(--sdm-cta-rose)!important;
  color:#fff!important;
}

/* Footer conversion area. */
.sdm-footer__conversion-ctas{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px}
.sdm-footer__conversion-ctas .sdm-btn{min-width:250px;min-height:48px;padding-inline:28px}

/* Mobile fixed CTA: conversion only, low-height and readable. */
.sdm-mobile-fixed-cta{
  background:#fff!important;
  border-top:1px solid rgba(17,17,17,.12);
  box-shadow:0 -6px 18px rgba(17,17,17,.05);
}
.sdm-mobile-fixed-cta a{
  min-height:52px;
  background:#fff!important;
  font-size:10.5px!important;
  line-height:1.25;
  text-align:center;
  padding:0 8px;
}
.sdm-mobile-fixed-cta__booking{
  color:var(--sdm-cta-rose)!important;
  border-right:1px solid rgba(138,82,100,.28);
}
.sdm-mobile-fixed-cta__line{color:var(--sdm-cta-green)!important}

/* Forms remain actions rather than navigation; keep them quiet gold. */
.sdm-contact-form button.sdm-btn--gold{border-radius:2px!important}

@media (max-width:767px){
  .sdm-btn{width:100%;min-height:50px;padding:0 22px}
  .sdm-text-link,.sdm-text-link--cta{width:auto;max-width:100%;font-size:12px}
  .sdm-dual-cta--conversion,
  .sdm-final-cta__actions,
  .sdm-subfinal .sdm-dual-cta{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .sdm-dual-cta--conversion .sdm-btn,
  .sdm-final-cta__actions .sdm-btn,
  .sdm-subfinal .sdm-dual-cta .sdm-btn{min-width:0;width:100%}
  .sdm-footer__conversion-ctas{align-items:stretch}.sdm-footer__conversion-ctas .sdm-btn{width:100%;min-width:0}
}

/* Contact choice cards inherit CTA semantics without turning every card into a button. */
.sdm-contact-option--hotpepper strong{color:var(--sdm-cta-rose)}
.sdm-contact-option--line strong{color:var(--sdm-cta-green)}
.sdm-contact-option--internal strong{color:var(--sdm-gold-dark)}
.sdm-contact-option--hotpepper:hover{border-color:rgba(138,82,100,.45)}
.sdm-contact-option--line:hover{border-color:rgba(70,106,89,.45)}
.sdm-contact-option--internal:hover{border-color:rgba(198,161,91,.5)}


/* =========================================================
   v1.3.29 CTA VISIBILITY + RECTANGULAR BUTTON ENFORCEMENT
   GOLD  = internal action
   ROSE  = HOT PEPPER Beauty reservation
   GREEN = LINE consultation
========================================================= */
.sdm-btn,
.sdm-header-cta,
.sdm-mobile-fixed-cta a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:50px!important;
  padding:0 34px!important;
  border-style:solid!important;
  border-width:1px!important;
  border-radius:2px!important;
  box-shadow:none!important;
  background-image:none!important;
  text-decoration:none!important;
  line-height:1.25!important;
}
.sdm-btn--gold,
.sdm-btn--primary{
  background:#C6A15B!important;
  border-color:#C6A15B!important;
  color:#111111!important;
}
.sdm-btn--gold:hover,.sdm-btn--gold:focus-visible,
.sdm-btn--primary:hover,.sdm-btn--primary:focus-visible{
  background:#B58F49!important;
  border-color:#B58F49!important;
  color:#111111!important;
}
.sdm-btn--hotpepper,
.sdm-header-cta--hotpepper,
.sdm-mobile-fixed-cta__booking{
  background:#FFFFFF!important;
  border-color:#8A5264!important;
  color:#8A5264!important;
}
.sdm-btn--hotpepper:hover,.sdm-btn--hotpepper:focus-visible,
.sdm-header-cta--hotpepper:hover,.sdm-header-cta--hotpepper:focus-visible,
.sdm-mobile-fixed-cta__booking:hover,.sdm-mobile-fixed-cta__booking:focus-visible{
  background:#8A5264!important;
  border-color:#8A5264!important;
  color:#FFFFFF!important;
}
.sdm-btn--line,
.sdm-header-cta--line,
.sdm-mobile-fixed-cta__line{
  background:#FFFFFF!important;
  border-color:#466A59!important;
  color:#466A59!important;
}
.sdm-btn--line:hover,.sdm-btn--line:focus-visible,
.sdm-header-cta--line:hover,.sdm-header-cta--line:focus-visible,
.sdm-mobile-fixed-cta__line:hover,.sdm-mobile-fixed-cta__line:focus-visible{
  background:#466A59!important;
  border-color:#466A59!important;
  color:#FFFFFF!important;
}

/* The six top concern cards use a compact gold rectangular CTA, not a text underline. */
.sdm-concern-card__cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:42px!important;
  margin-top:18px!important;
  padding:0 16px!important;
  border:1px solid #C6A15B!important;
  border-radius:2px!important;
  background:#C6A15B!important;
  color:#111111!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-decoration:none!important;
}
.sdm-concern-card:hover .sdm-concern-card__cta,
.sdm-concern-card__cta:hover{
  background:#B58F49!important;
  border-color:#B58F49!important;
  color:#111111!important;
}

/* Preserve lightweight text links only when they are intentionally not CTA buttons. */
.sdm-text-link:not(.sdm-concern-card__cta),
.sdm-text-link--cta{
  border-radius:0!important;
}

/* Header conversion actions must never disappear on desktop/tablet. */
@media (min-width:1100px){
  .sdm-header__actions{display:flex!important;align-items:center!important;visibility:visible!important;opacity:1!important}
  .sdm-nav{display:flex!important}
  .sdm-menu-toggle,.sdm-mobile-drawer,.sdm-mobile-fixed-cta{display:none!important}
  .sdm-header-cta{min-height:42px!important;padding:0 14px!important}
}

/* Smartphone: keep the two conversion actions in the fixed footer only. */
@media (max-width:767px){
  .sdm-header__actions{display:none!important}
  .sdm-mobile-fixed-cta{display:flex!important;gap:0!important;padding:8px 10px!important}
  .sdm-mobile-fixed-cta a{flex:1 1 50%!important;min-height:48px!important;padding:0 10px!important;font-size:10px!important}
  .sdm-btn{width:100%!important;min-height:50px!important;padding:0 20px!important}
  .sdm-concern-card__cta{width:100%!important;min-height:44px!important;margin-top:14px!important}
}


/* =========================================================
   v1.3.30 TOP lower-section CTA button enforcement
   From FIRST VISIT downward, all deliberate CTAs render as
   substantial rectangular controls rather than thin links.
========================================================= */
.home .sdm-first-timeline .sdm-lower-section-cta,
.home .sdm-signature-treatment .sdm-lower-section-cta,
.home .sdm-homecare-editorial .sdm-lower-section-cta,
.home .sdm-brand-editorial .sdm-lower-section-cta,
.home .sdm-people-editorial .sdm-lower-section-cta,
.home .sdm-faq-editorial .sdm-lower-section-cta,
.home .sdm-access-editorial .sdm-lower-section-cta{
  display:inline-flex!important;
  width:auto!important;
  min-width:220px;
  min-height:50px!important;
  margin-top:28px;
  padding:0 34px!important;
  border:1px solid #C6A15B!important;
  border-radius:2px!important;
  background:#C6A15B!important;
  color:#111111!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:var(--sdm-serif);
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.035em;
}
.home .sdm-first-timeline .sdm-lower-section-cta:hover,
.home .sdm-signature-treatment .sdm-lower-section-cta:hover,
.home .sdm-homecare-editorial .sdm-lower-section-cta:hover,
.home .sdm-brand-editorial .sdm-lower-section-cta:hover,
.home .sdm-people-editorial .sdm-lower-section-cta:hover,
.home .sdm-faq-editorial .sdm-lower-section-cta:hover,
.home .sdm-access-editorial .sdm-lower-section-cta:hover{
  background:#B58F49!important;
  border-color:#B58F49!important;
  color:#111111!important;
}
.home .sdm-signature-treatment .sdm-lower-section-cta,
.home .sdm-people-editorial .sdm-lower-section-cta{
  box-shadow:0 0 0 1px rgba(255,255,255,.04)!important;
}
@media (max-width:767px){
  .home .sdm-first-timeline .sdm-lower-section-cta,
  .home .sdm-signature-treatment .sdm-lower-section-cta,
  .home .sdm-homecare-editorial .sdm-lower-section-cta,
  .home .sdm-brand-editorial .sdm-lower-section-cta,
  .home .sdm-people-editorial .sdm-lower-section-cta,
  .home .sdm-faq-editorial .sdm-lower-section-cta,
  .home .sdm-access-editorial .sdm-lower-section-cta{
    width:100%!important;
    min-width:0;
    min-height:50px!important;
    margin-top:22px;
    padding:0 20px!important;
  }
}


/* =========================================================
   v1.3.31 External conversion CTA filled states
   ROSE  = HOT PEPPER Beauty / RESERVE
   GREEN = LINE / CONSULT
   These conversion actions are filled before hover as well.
========================================================= */
.sdm-btn--hotpepper,
.sdm-header-cta--hotpepper,
.sdm-mobile-fixed-cta__booking{
  background:#8A5264!important;
  border-color:#8A5264!important;
  color:#FFFFFF!important;
}
.sdm-btn--hotpepper:hover,.sdm-btn--hotpepper:focus-visible,
.sdm-header-cta--hotpepper:hover,.sdm-header-cta--hotpepper:focus-visible,
.sdm-mobile-fixed-cta__booking:hover,.sdm-mobile-fixed-cta__booking:focus-visible{
  background:#744655!important;
  border-color:#744655!important;
  color:#FFFFFF!important;
}
.sdm-btn--line,
.sdm-header-cta--line,
.sdm-mobile-fixed-cta__line{
  background:#466A59!important;
  border-color:#466A59!important;
  color:#FFFFFF!important;
}
.sdm-btn--line:hover,.sdm-btn--line:focus-visible,
.sdm-header-cta--line:hover,.sdm-header-cta--line:focus-visible,
.sdm-mobile-fixed-cta__line:hover,.sdm-mobile-fixed-cta__line:focus-visible{
  background:#375346!important;
  border-color:#375346!important;
  color:#FFFFFF!important;
}

/* =========================================================
   v1.3.32 TOP staff + column refinement
========================================================= */
.sdm-people-editorial--staff-only{padding-block:132px!important}
.sdm-people-editorial--staff-only .sdm-people-editorial__staff{
  margin-top:0;
  padding-top:0;
  border-top:0;
  grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);
  gap:clamp(56px,7vw,110px);
  align-items:center;
}
.sdm-people-editorial--staff-only .sdm-people-editorial__staff h2{
  margin:0;
  font-family:var(--sdm-serif);
  font-size:clamp(34px,3.2vw,50px);
  font-weight:500;
  line-height:1.48;
  color:#fff;
}
.sdm-people-editorial--staff-only .sdm-people-editorial__staff>div:first-child>p:not(.sdm-eyebrow){
  margin:22px 0 0;
  max-width:520px;
  color:rgba(255,255,255,.7);
  font-size:13px;
  line-height:1.95;
}
.sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals>a,
.sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals figure{min-height:420px}
.sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals img{min-height:420px}

.sdm-column-editorial{position:relative;overflow:hidden}
.sdm-column-editorial__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);
  gap:clamp(60px,8vw,140px);
  align-items:end;
  margin-bottom:62px;
}
.sdm-column-editorial__head h2{
  margin:0;
  font-family:var(--sdm-serif);
  font-size:clamp(38px,3.8vw,58px);
  font-weight:500;
  line-height:1.4;
}
.sdm-column-editorial__head>div:last-child>p{
  margin:0 0 26px;
  color:var(--sdm-sub);
  font-size:13px;
  line-height:1.95;
}
.sdm-column-editorial__list{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(220px,.65fr));
  gap:24px;
  align-items:start;
}
.sdm-column-editorial__item{min-width:0;border-top:1px solid rgba(146,119,70,.36);padding-top:18px}
.sdm-column-editorial__link{display:block;color:inherit;text-decoration:none}
.sdm-column-editorial__item figure{
  margin:0 0 18px;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#e9e2d7;
}
.sdm-column-editorial__item.is-featured figure{aspect-ratio:16/9}
.sdm-column-editorial__item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.sdm-column-editorial__link:hover img{transform:scale(1.02)}
.sdm-column-editorial__item time{display:block;margin-bottom:10px;color:var(--sdm-gold-dark);font:10px/1.4 var(--sdm-en);letter-spacing:.08em}
.sdm-column-editorial__item h3{
  margin:0;
  font-family:var(--sdm-serif);
  font-size:clamp(17px,1.5vw,23px);
  font-weight:500;
  line-height:1.7;
}
.sdm-column-editorial__item.is-featured h3{font-size:clamp(22px,2vw,30px)}
.sdm-column-editorial__item span{
  display:inline-block;
  margin-top:18px;
  color:var(--sdm-gold-dark);
  font-size:11px;
  letter-spacing:.04em;
}
.sdm-column-editorial__empty{
  padding:38px 0;
  border-top:1px solid var(--sdm-border);
  border-bottom:1px solid var(--sdm-border);
  text-align:center;
}
.sdm-column-editorial__empty p{margin:0 0 14px;color:var(--sdm-sub);font-size:13px}
.sdm-column-editorial__empty a{color:var(--sdm-gold-dark);font-size:12px}

@media (max-width:1024px){
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff{grid-template-columns:1fr;gap:44px}
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals>a,
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals figure,
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals img{min-height:360px}
  .sdm-column-editorial__head{grid-template-columns:1fr;gap:30px}
  .sdm-column-editorial__list{grid-template-columns:1.15fr 1fr}
  .sdm-column-editorial__item.is-featured{grid-row:span 2}
}

@media (max-width:767px){
  .sdm-people-editorial--staff-only{padding-block:78px!important}
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals>a,
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals figure,
  .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals img{min-height:230px}
  .sdm-column-editorial__head{margin-bottom:38px}
  .sdm-column-editorial__list{grid-template-columns:1fr;gap:28px}
  .sdm-column-editorial__item.is-featured{grid-row:auto}
  .sdm-column-editorial__item figure,
  .sdm-column-editorial__item.is-featured figure{aspect-ratio:16/9}
  .sdm-column-editorial__item h3,
  .sdm-column-editorial__item.is-featured h3{font-size:20px;line-height:1.65}
}

/* =========================================================
   v1.3.33 FIRST VISIT composition refinement
   - Center title, lead and CTA.
   - Place the 01-04 timeline on the left and both images beside it.
========================================================= */
.home .sdm-first-timeline__intro{
  max-width:900px;
  margin:0 auto 58px;
  text-align:center;
}
.home .sdm-first-timeline__intro .sdm-eyebrow{
  justify-content:center;
  text-align:center;
}
.home .sdm-first-timeline__intro h2{
  max-width:900px!important;
  margin:0 auto 20px!important;
  text-align:center!important;
  font-family:var(--sdm-serif);
  font-size:clamp(36px,3.5vw,54px);
  font-weight:500;
  line-height:1.42;
}
.home .sdm-first-timeline__intro>p:not(.sdm-eyebrow){
  max-width:720px;
  margin:0 auto;
  text-align:center;
  color:var(--sdm-sub);
  font-size:14px;
  line-height:2;
}
.home .sdm-first-timeline__content{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);
  gap:clamp(58px,7vw,112px);
  align-items:center;
}
.home .sdm-first-timeline__steps{
  margin:0;
}
.home .sdm-first-timeline__visuals{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.82fr);
  gap:16px;
  align-items:end;
  min-height:0;
  padding-left:0;
}
.home .sdm-first-timeline__visuals figure{
  position:static!important;
  width:auto!important;
  margin:0;
  border:0!important;
  overflow:hidden;
  background:#e9e2d7;
}
.home .sdm-first-timeline__visuals figure:first-child{
  height:560px;
}
.home .sdm-first-timeline__visuals figure:last-child{
  height:360px;
  margin-bottom:34px;
}
.home .sdm-first-timeline__visuals img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home .sdm-first-timeline__cta{
  display:flex;
  justify-content:center;
  margin-top:54px;
  text-align:center;
}
.home .sdm-first-timeline__cta .sdm-lower-section-cta{
  margin-inline:auto;
}

@media (max-width:1100px){
  .home .sdm-first-timeline__content{
    grid-template-columns:minmax(0,.95fr) minmax(400px,1.05fr);
    gap:42px;
  }
  .home .sdm-first-timeline__visuals figure:first-child{height:470px}
  .home .sdm-first-timeline__visuals figure:last-child{height:300px;margin-bottom:24px}
}

@media (max-width:900px){
  .home .sdm-first-timeline__intro{margin-bottom:44px}
  .home .sdm-first-timeline__content{
    grid-template-columns:1fr;
    gap:38px;
  }
  .home .sdm-first-timeline__steps{max-width:720px;width:100%;margin-inline:auto}
  .home .sdm-first-timeline__visuals{
    max-width:720px;
    width:100%;
    margin-inline:auto;
    grid-template-columns:1.15fr .85fr;
  }
  .home .sdm-first-timeline__visuals figure:first-child{height:430px}
  .home .sdm-first-timeline__visuals figure:last-child{height:270px;margin-bottom:22px;display:block}
}

@media (max-width:767px){
  .home .sdm-first-timeline__intro{
    max-width:calc(100vw - 36px);
    margin-bottom:34px;
  }
  .home .sdm-first-timeline__intro h2{
    max-width:100%!important;
    font-size:30px!important;
    line-height:1.48!important;
  }
  .home .sdm-first-timeline__intro>p:not(.sdm-eyebrow){
    max-width:100%;
    font-size:12px;
    line-height:1.9;
  }
  .home .sdm-first-timeline__steps{margin-top:0}
  .home .sdm-first-timeline__visuals{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:8px;
    min-height:0;
    padding:0;
  }
  .home .sdm-first-timeline__visuals figure:first-child{height:290px}
  .home .sdm-first-timeline__visuals figure:last-child{display:block;height:205px;margin:0 0 16px}
  .home .sdm-first-timeline__cta{margin-top:34px}
  .home .sdm-first-timeline__cta .sdm-lower-section-cta{width:100%;max-width:420px}
}


/* =========================================================
   v1.3.34 TOP signature treatment / staff refinement
========================================================= */
.home .sdm-signature-treatment__image{
  width:100%;
  min-height:0!important;
  aspect-ratio:16/9;
  overflow:hidden;
}
.home .sdm-signature-treatment__image img{
  display:block;
  width:100%;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  overflow:visible!important;
}
.home .sdm-people-editorial--staff-only .sdm-staff-preview{
  position:relative;
  display:block;
  width:100%;
  min-width:0!important;
  min-height:0!important;
  margin:0;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#151412;
}
.home .sdm-people-editorial--staff-only .sdm-staff-preview img{
  display:block;
  width:100%;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
}
.home .sdm-people-editorial--staff-only .sdm-staff-preview span{
  position:absolute;
  left:14px;
  bottom:12px;
  z-index:2;
  color:#fff;
  font-family:var(--sdm-serif);
  font-size:13px;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
@media (max-width:767px){
  .home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .home .sdm-people-editorial--staff-only .sdm-staff-preview span{
    left:8px;
    bottom:8px;
    font-size:10px;
  }
}

/* =========================================================
   v1.3.35 TOP STAFF layout
   Title / lead centered -> 3 staff photos -> centered CTA.
========================================================= */
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff{
  display:block!important;
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-intro{
  width:min(860px,100%);
  margin:0 auto;
  text-align:center;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-intro .sdm-eyebrow{
  text-align:center!important;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-intro h2{
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-intro>p:not(.sdm-eyebrow){
  max-width:720px!important;
  margin:22px auto 0!important;
  text-align:center!important;
  color:rgba(255,255,255,.70);
  font-size:13px;
  line-height:1.95;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
  width:min(1120px,100%);
  margin:54px auto 0;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-cta{
  display:flex;
  justify-content:center;
  margin-top:42px;
  text-align:center;
}
.home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-cta .sdm-lower-section-cta{
  margin:0!important;
}
@media (max-width:767px){
  .home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-intro{
    width:100%;
  }
  .home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-intro>p:not(.sdm-eyebrow){
    max-width:calc(100vw - 48px)!important;
    font-size:12px;
    line-height:1.9;
  }
  .home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
    margin-top:36px;
  }
  .home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-cta{
    margin-top:30px;
  }
  .home .sdm-people-editorial--staff-only .sdm-people-editorial__staff-cta .sdm-lower-section-cta{
    width:min(100%,420px);
  }
}

/* =========================================================
   v1.3.36 Japanese title line-break system
   - Prevent mid-word / mid-phrase breaks in Japanese headings.
   - Break only at phrase-aware <wbr> positions inserted by main.js.
   - Prefer a maximum of two lines; permit a third only as a last resort.
========================================================= */
#main-content .sdm-ja-phrase-title{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict;
  white-space:normal;
  text-wrap:balance;
  hanging-punctuation:none;
}
#main-content .sdm-ja-phrase-title wbr{
  display:inline;
}
#main-content .sdm-ja-phrase-title.sdm-title-three-lines{
  line-height:1.36!important;
}

/* Give the alternating WHY MEDICI story titles enough measure to form
   natural Japanese bunsetsu rather than breaking after a single character. */
.home .sdm-reason-story>div{
  min-width:0;
}
.home .sdm-reason-story h3.sdm-ja-phrase-title{
  max-width:620px;
}

@media (max-width:767px){
  #main-content .sdm-ja-phrase-title{
    line-break:strict;
    text-wrap:balance;
  }
  #main-content .sdm-ja-phrase-title.sdm-title-three-lines{
    line-height:1.4!important;
  }
}


/* =========================================================
   v1.3.37 Side-by-side title alignment + readable Japanese copy
   - Titles that live inside left/right column layouts are left aligned.
   - Vertically stacked section headings keep the existing centered alignment.
   - Long copy uses Japanese-friendly wrapping; JS inserts sentence breaks at 。
     and phrase-safe <wbr> opportunities when a sentence must wrap further.
========================================================= */

/* Shared subpage split layout. */
#main-content .sdm-subsplit__copy,
#main-content .sdm-subsplit__copy .sdm-eyebrow,
#main-content .sdm-subsplit__copy > h2,
#main-content .sdm-subsplit__copy > h3{
  text-align:left!important;
}
#main-content .sdm-subsplit__copy > h2,
#main-content .sdm-subsplit__copy > h3{
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  text-wrap:pretty!important;
}

/* TOP / editorial side-by-side layouts. Top-level stacked headings are not targeted. */
.home .sdm-philosophy-editorial__copy,
.home .sdm-philosophy-editorial__copy .sdm-eyebrow,
.home .sdm-philosophy-editorial__copy > h2,
.home .sdm-reason-story > div,
.home .sdm-reason-story > div > h3,
.home .sdm-signature-treatment__copy,
.home .sdm-signature-treatment__copy .sdm-eyebrow,
.home .sdm-signature-treatment__copy > h2,
.home .sdm-homecare-editorial__copy,
.home .sdm-homecare-editorial__copy .sdm-eyebrow,
.home .sdm-homecare-editorial__copy > h2,
.home .sdm-brand-editorial__grid > div:first-child,
.home .sdm-brand-editorial__grid > div:first-child .sdm-eyebrow,
.home .sdm-brand-editorial__grid > div:first-child > h2,
.home .sdm-faq-editorial__grid > div:first-child,
.home .sdm-faq-editorial__grid > div:first-child .sdm-eyebrow,
.home .sdm-faq-editorial__grid > div:first-child > h2,
.home .sdm-column-editorial__head > div:first-child,
.home .sdm-column-editorial__head > div:first-child .sdm-eyebrow,
.home .sdm-column-editorial__head > div:first-child > h2{
  text-align:left!important;
}
.home .sdm-philosophy-editorial__copy > h2,
.home .sdm-reason-story > div > h3,
.home .sdm-signature-treatment__copy > h2,
.home .sdm-homecare-editorial__copy > h2,
.home .sdm-brand-editorial__grid > div:first-child > h2,
.home .sdm-faq-editorial__grid > div:first-child > h2,
.home .sdm-column-editorial__head > div:first-child > h2{
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  text-wrap:pretty!important;
}

/* Legacy / alternate two-column components used on some fixed pages. */
#main-content .sdm-why__copy,
#main-content .sdm-why__copy > h2,
#main-content .sdm-peeling__copy,
#main-content .sdm-peeling__copy > h2,
#main-content .sdm-homecare__copy,
#main-content .sdm-homecare__copy > h2,
#main-content .sdm-producer__copy,
#main-content .sdm-producer__copy > h2{
  text-align:left!important;
}
#main-content .sdm-why__copy > h2,
#main-content .sdm-peeling__copy > h2,
#main-content .sdm-homecare__copy > h2,
#main-content .sdm-producer__copy > h2{
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep vertical / stacked heading blocks centered. */
#main-content .sdm-section-head:not(.sdm-section-head--left),
#main-content .sdm-first-timeline__intro,
#main-content .sdm-people-editorial__staff-intro,
#main-content .sdm-recommended-text__heading-wrap{
  text-align:center;
}

/* Readable Japanese body copy. Breaks are supplied by main.js at sentence/phrase boundaries. */
#main-content .sdm-ja-readable-copy{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:pretty;
}
#main-content .sdm-ja-readable-copy wbr{display:inline}
#main-content .sdm-ja-readable-copy .sdm-sentence-break{display:block}

@media (max-width:767px){
  #main-content .sdm-subsplit__copy > h2,
  #main-content .sdm-subsplit__copy > h3,
  .home .sdm-philosophy-editorial__copy > h2,
  .home .sdm-reason-story > div > h3,
  .home .sdm-signature-treatment__copy > h2,
  .home .sdm-homecare-editorial__copy > h2,
  .home .sdm-brand-editorial__grid > div:first-child > h2,
  .home .sdm-faq-editorial__grid > div:first-child > h2,
  .home .sdm-column-editorial__head > div:first-child > h2{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* =========================================================
   v1.3.39 Staff detail page
========================================================= */
.sdm-single-staff__intro{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:clamp(44px,7vw,92px);
  align-items:center;
}
.sdm-single-staff__photo figure,
.sdm-single-staff__photo>img{
  width:100%;
  margin:0;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.sdm-single-staff__copy h2{
  margin:10px 0 0;
  font-family:var(--sdm-serif);
  font-size:clamp(34px,4vw,54px);
  font-weight:500;
  line-height:1.35;
  text-align:left;
}
.sdm-single-staff__lead{
  margin:24px 0 0;
  max-width:650px;
  font-size:15px;
  line-height:2;
  color:var(--sdm-sub);
}
.sdm-single-staff__facts{
  margin:34px 0 0;
  border-top:1px solid var(--sdm-border);
}
.sdm-single-staff__facts div{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:24px;
  padding:16px 0;
  border-bottom:1px solid var(--sdm-border);
}
.sdm-single-staff__facts dt{
  color:var(--sdm-gold-dark);
  font-size:12px;
  font-weight:700;
}
.sdm-single-staff__facts dd{
  margin:0;
  font-size:14px;
  line-height:1.8;
}
.sdm-single-staff__section .sdm-prose{
  max-width:820px;
}
.sdm-single-staff__section .sdm-prose h2{
  text-align:center;
  font-family:var(--sdm-serif);
  font-size:clamp(30px,3.5vw,46px);
  line-height:1.45;
}
.sdm-single-staff__section .sdm-prose p{
  margin-top:28px;
  font-size:15px;
  line-height:2.1;
}
.sdm-single-staff__message{
  text-align:center;
  color:#fff;
}
.sdm-single-staff__message .sdm-container{max-width:850px}
.sdm-single-staff__message h2{
  margin:14px 0 0;
  font-family:var(--sdm-serif);
  font-size:clamp(32px,4vw,52px);
  font-weight:500;
  line-height:1.45;
}
.sdm-single-staff__message>div>p:last-child{
  margin:28px auto 0;
  max-width:720px;
  font-size:15px;
  line-height:2.1;
  color:rgba(255,255,255,.82);
}
@media(max-width:767px){
  .sdm-single-staff__intro{grid-template-columns:1fr;gap:34px}
  .sdm-single-staff__photo{max-width:420px;margin-inline:auto}
  .sdm-single-staff__copy h2{text-align:center;font-size:34px}
  .sdm-single-staff__copy>.sdm-eyebrow{text-align:center}
  .sdm-single-staff__lead{font-size:14px;line-height:1.95}
  .sdm-single-staff__facts div{grid-template-columns:1fr;gap:7px;padding:14px 0}
  .sdm-single-staff__section .sdm-prose h2{font-size:29px}
  .sdm-single-staff__section .sdm-prose p{font-size:14px;line-height:2}
}
.sdm-case-related-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:36px;padding-top:24px;border-top:1px solid var(--sdm-border)}
@media(max-width:767px){.sdm-case-related-links{flex-direction:column;align-items:flex-start;gap:12px}}


/* v1.3.40 per-menu booking CTA */
.sdm-menu-booking{margin-top:16px}
.sdm-menu-booking .sdm-btn{min-height:44px;padding:10px 18px;font-size:12px}
.sdm-subtreatment .sdm-menu-booking .sdm-btn,.sdm-price-card .sdm-menu-booking .sdm-btn{width:100%;justify-content:center}
@media (max-width:767px){.sdm-menu-booking{margin-top:12px}.sdm-menu-booking .sdm-btn{width:100%;min-height:48px}}

/* =========================================================
   v1.3.43 Centered heading / body alignment consistency
   If a section heading is centered, its lead/body copy follows the same axis.
   Split / side-by-side layouts remain intentionally left aligned.
========================================================= */
#main-content .sdm-section-head:not(.sdm-section-head--left) > p:not(.sdm-eyebrow),
#main-content .sdm-section-head--force-center > p:not(.sdm-eyebrow),
#main-content .sdm-recommended-text__heading-wrap > p:not(.sdm-eyebrow),
#main-content .sdm-first-timeline__intro > p:not(.sdm-eyebrow),
#main-content .sdm-people-editorial__staff-intro > p:not(.sdm-eyebrow){
  max-width:780px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Vertical copy sections use the same centered reading axis as their title. */
#main-content .sdm-subsection--copy > .sdm-container > .sdm-section-head,
#main-content .sdm-subsection--copy > .sdm-container > .sdm-subcopy{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
#main-content .sdm-subsection--copy > .sdm-container > .sdm-subcopy p{
  text-align:center;
}

/* Preserve left alignment for true horizontal/split content. */
#main-content .sdm-subsection--split .sdm-subsplit__copy,
#main-content .sdm-subsection--split .sdm-subsplit__copy p,
#main-content .sdm-subsection--split .sdm-subsplit__copy h2,
#main-content .sdm-subsection--split .sdm-subsplit__copy h3{
  text-align:left!important;
}

/* =========================================================
   v1.3.45 MEDICI editorial diagram refinement
   Mirrors the supplied ivory / antique-gold infographic language while
   preserving page-specific diagram copy as real HTML text.
========================================================= */
.sdm-subsection--choice .sdm-container{max-width:1280px}
.sdm-choice-map{
  position:relative;
  max-width:1220px;
  min-height:820px;
  margin:42px auto 0;
  padding:98px 46px 128px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:minmax(180px,auto) 270px minmax(180px,auto);
  gap:38px 54px;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 12%,rgba(198,161,91,.055),transparent 17%),
    radial-gradient(circle at 14% 82%,rgba(198,161,91,.04),transparent 19%),
    linear-gradient(135deg,#fffdf8 0%,#fbf7ed 52%,#fffdf8 100%);
  border:1px solid rgba(176,139,65,.17);
  box-shadow:inset 0 0 95px rgba(119,88,33,.032);
}
.sdm-choice-map:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(176,139,65,.07);
  pointer-events:none;
}
.sdm-choice-map:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background:
    radial-gradient(circle at 4% 10%,rgba(166,129,55,.08),transparent 12%),
    radial-gradient(circle at 96% 86%,rgba(166,129,55,.07),transparent 14%);
}
.sdm-choice-map__brand{
  top:24px;
  gap:14px;
  font:600 10px/1 var(--sdm-en);
  letter-spacing:.42em;
  color:#9a7938;
}
.sdm-choice-map__brand strong{position:relative;padding-top:24px;font-weight:600}
.sdm-choice-map__brand strong:before{
  content:"";
  position:absolute;
  left:50%;top:0;
  width:21px;height:21px;
  transform:translateX(-50%);
  background:url('../images/medici-crest-reference.png') center/contain no-repeat;
  filter:sepia(1) saturate(.75) hue-rotate(354deg) brightness(.82);
  opacity:.85;
}
.sdm-choice-map__brand span{width:92px;background:linear-gradient(90deg,transparent,rgba(154,121,56,.75))}
.sdm-choice-map__lines{inset:120px 74px 144px}
.sdm-choice-map__lines i{height:1px;background:rgba(153,118,49,.78)}
.sdm-choice-map__lines .line-h{width:96%}
.sdm-choice-map__lines .line-v{width:61%}
.sdm-choice-map__lines .line-d1,.sdm-choice-map__lines .line-d2{width:72%}
.sdm-choice-map__center{
  width:246px;height:246px;
  border:1px solid rgba(154,121,56,.95);
  background:rgba(255,252,244,.985);
  box-shadow:
    0 0 0 7px rgba(255,252,244,.98),
    0 0 0 9px rgba(198,161,91,.44),
    0 22px 48px rgba(91,66,22,.055);
}
.sdm-choice-map__center:before,.sdm-choice-map__center:after{top:164px;width:38px;background:rgba(154,121,56,.64)}
.sdm-choice-map__center:after{margin-left:54px}
.sdm-choice-map__center strong{font-size:clamp(30px,2.65vw,42px);letter-spacing:.05em}
.sdm-choice-map__center span{margin-top:28px;color:#9a7938;font-size:9px;letter-spacing:.38em}
.sdm-choice-map__item{
  max-width:340px;
  min-height:158px;
  padding:24px 28px;
  grid-template-columns:56px 1fr;
  gap:20px;
  background:rgba(255,253,247,.98);
  border:1px solid rgba(161,124,52,.76);
  box-shadow:
    inset 0 0 0 4px rgba(255,253,247,.98),
    inset 0 0 0 5px rgba(198,161,91,.19),
    0 13px 30px rgba(74,53,18,.035);
}
.sdm-choice-map__item:before,.sdm-choice-map__item:after{width:16px;height:16px;border-color:rgba(161,124,52,.8)}
.sdm-choice-map__item:before{left:7px;top:7px}
.sdm-choice-map__item:after{right:7px;bottom:7px}
.sdm-choice-map__icon{color:#ad8230}
.sdm-choice-map__icon svg{width:46px;height:46px;stroke-width:1.25}
.sdm-choice-map__item-copy strong{font-size:clamp(19px,1.75vw,27px);line-height:1.3;letter-spacing:.045em}
.sdm-choice-map__item-copy i{max-width:132px;margin:11px 0;background:linear-gradient(90deg,rgba(173,130,48,.84),rgba(173,130,48,.18))}
.sdm-choice-map__item-copy small{font-family:var(--sdm-serif);font-size:12px;line-height:1.55;color:#756c61}
.sdm-choice-map__note{
  bottom:38px;
  width:min(980px,calc(100% - 110px));
  font-size:13px;
  line-height:1.95;
  color:#756c61;
}
.sdm-choice-map__note:before,.sdm-choice-map__note:after{width:72px;margin:0 18px 4px;background:rgba(154,121,56,.62)}

@media (max-width:920px){
  .sdm-choice-map{min-height:760px;padding:90px 28px 112px;gap:30px 24px}
  .sdm-choice-map__center{width:210px;height:210px}
  .sdm-choice-map__center:before,.sdm-choice-map__center:after{top:140px}
}
@media (max-width:640px){
  .sdm-choice-map{min-height:auto;padding:72px 12px 38px;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px;background:linear-gradient(135deg,#fffdf8,#f8f2e7)}
  .sdm-choice-map__brand{top:22px;font-size:7px;letter-spacing:.28em}.sdm-choice-map__brand span{width:34px}.sdm-choice-map__brand strong{padding-top:18px}.sdm-choice-map__brand strong:before{width:16px;height:16px}
  .sdm-choice-map__lines{display:none}
  .sdm-choice-map__center{grid-column:1/-1;grid-row:auto;width:158px;height:158px;margin:0 auto 12px}
  .sdm-choice-map__center strong{font-size:24px}.sdm-choice-map__center span{font-size:7px;margin-top:20px}.sdm-choice-map__center:before,.sdm-choice-map__center:after{top:104px;width:21px}.sdm-choice-map__center:after{margin-left:31px}
  .sdm-choice-map__item,.sdm-choice-map__item.is-pos-1,.sdm-choice-map__item.is-pos-2,.sdm-choice-map__item.is-pos-3,.sdm-choice-map__item.is-pos-4,.sdm-choice-map__item.is-pos-5,.sdm-choice-map__item.is-pos-6{grid-column:auto;grid-row:auto;justify-self:stretch;max-width:none;min-height:132px;padding:15px 12px;grid-template-columns:36px 1fr;gap:9px}
  .sdm-choice-map__icon svg{width:30px;height:30px}.sdm-choice-map__item-copy strong{font-size:15px}.sdm-choice-map__item-copy small{font-size:9px}.sdm-choice-map__item-copy i{margin:7px 0}
  .sdm-choice-map__note{position:relative;left:auto;bottom:auto;grid-column:1/-1;width:auto;margin:12px 6px 0!important;transform:none;font-size:11px;line-height:1.8}.sdm-choice-map__note:before,.sdm-choice-map__note:after{display:none}
}

/* =========================================================
   v1.3.46 Brand logo assets / independent section images
========================================================= */
.sdm-brand-link--image{display:flex;align-items:center;min-width:190px}
.sdm-brand-logo-image{display:block;width:190px;max-width:100%;height:auto;max-height:58px;object-fit:contain;background:transparent!important}
.sdm-footer__brand-link{display:inline-flex;align-items:center;justify-content:center}
.sdm-footer-logo-image{display:block;width:min(230px,100%);height:auto;filter:none!important;opacity:1!important;background:transparent!important}
@media (min-width:1600px){.sdm-brand-logo-image{width:214px;max-height:64px}.sdm-brand-link--image{min-width:214px}}
@media (max-width:1365px) and (min-width:992px){.sdm-brand-logo-image{width:162px;max-height:54px}.sdm-brand-link--image{min-width:162px}}
@media (max-width:991px) and (min-width:768px){.sdm-brand-logo-image{width:145px;max-height:50px}.sdm-brand-link--image{min-width:145px}}
@media (max-width:767px){.sdm-brand-logo-image{width:136px;max-height:44px}.sdm-brand-link--image{min-width:136px}.sdm-footer-logo-image{width:min(210px,72vw)}}


/* v1.3.47 Transparent Brand Logos */
.sdm-brand-link--image,.sdm-footer__brand-link{background:transparent!important}
.sdm-brand-logo-image,.sdm-footer-logo-image{background-color:transparent!important;mix-blend-mode:normal}

/* =========================================================
   v1.3.51 Inner-page hero / true horizontal banner + image fit
   TOP hero is intentionally excluded.
========================================================= */
body:not(.home) .sdm-subhero{
  height:clamp(210px,16.5vw,290px)!important;
  min-height:0!important;
  padding:0!important;
  display:flex;
  align-items:center;
  background-size:100% auto!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-color:#0b0b0a;
}
body:not(.home) .sdm-subhero__inner{
  min-height:0!important;
  height:100%;
  display:flex;
  align-items:center;
}
body:not(.home) .sdm-subhero__page-title{
  justify-content:center;
  gap:8px;
}
body:not(.home) .sdm-subhero__page-title-en{
  font-size:clamp(38px,3.7vw,58px);
  line-height:1.02;
}
body:not(.home) .sdm-subhero__page-title-ja{
  font-size:clamp(12px,.95vw,16px);
  line-height:1.5;
}

/* ABOUT / MEDICI family: prioritize showing the supplied banner composition
   instead of zooming/cropping the crest or decorative elements. */
body:not(.home) .sdm-subhero[data-sdm-page-path="about"],
body:not(.home) .sdm-subhero[data-sdm-page-path^="about/"]{
  background-size:100% auto!important;
  background-position:center center!important;
  background-color:#080807;
}

@media (min-width:1600px){
  body:not(.home) .sdm-subhero{
    height:280px!important;
  }
}
@media (min-width:1100px) and (max-width:1599px){
  body:not(.home) .sdm-subhero{
    height:250px!important;
  }
}
@media (min-width:768px) and (max-width:1099px){
  body:not(.home) .sdm-subhero{
    height:220px!important;
  }
  body:not(.home) .sdm-subhero__page-title-en{font-size:clamp(34px,4.7vw,48px)}
}
@media (max-width:767px){
  body:not(.home) .sdm-subhero{
    height:190px!important;
    min-height:0!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  body:not(.home) .sdm-subhero[data-sdm-page-path="about"],
  body:not(.home) .sdm-subhero[data-sdm-page-path^="about/"]{
    background-size:cover!important;
    background-position:center center!important;
  }
  body:not(.home) .sdm-subhero__page-title{gap:6px}
  body:not(.home) .sdm-subhero__page-title-en{
    font-size:clamp(27px,8.7vw,38px);
    line-height:1.04;
  }
  body:not(.home) .sdm-subhero__page-title-ja{
    font-size:11px;
    line-height:1.45;
  }
}



/* =========================================================
   v1.3.53 Menu / Price HOT PEPPER CTA alignment
========================================================= */
.sdm-luxury-menu .sdm-menu-booking .sdm-btn--hotpepper,
.sdm-subtreatment .sdm-menu-booking .sdm-btn--hotpepper,
.sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper{
  background:var(--sdm-cta-rose,#8A5264)!important;
  border-color:var(--sdm-cta-rose,#8A5264)!important;
  color:#fff!important;
  text-align:center!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%;
}
.sdm-luxury-menu .sdm-menu-booking .sdm-btn--hotpepper:hover,
.sdm-subtreatment .sdm-menu-booking .sdm-btn--hotpepper:hover,
.sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper:hover{
  color:#fff!important;
}


/* =========================================================
   v1.3.54 Mobile TOP hero CTA + fixed conversion CTA visibility
========================================================= */
@media (max-width:767px){
  /* TOP hero: show only the first-visit menu CTA and center it. */
  .home .sdm-hero__actions{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    margin:28px auto 0!important;
  }
  .home .sdm-hero__actions .sdm-btn:first-child{
    display:none!important;
  }
  .home .sdm-hero__actions .sdm-btn:nth-child(2){
    display:inline-flex!important;
    width:min(100%,360px)!important;
    min-height:54px!important;
    margin-inline:auto!important;
    padding-inline:24px!important;
    justify-content:center!important;
    text-align:center!important;
    background:#C6A15B!important;
    border-color:#C6A15B!important;
    color:#111111!important;
  }

  /* Fixed conversion bar: semantic colors must win over generic anchor rules. */
  .sdm-mobile-fixed-cta{
    display:flex!important;
    gap:8px!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
    height:auto!important;
    background:#fff!important;
    border-top:1px solid rgba(17,17,17,.12)!important;
  }
  .sdm-mobile-fixed-cta a.sdm-mobile-fixed-cta__booking{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:48px!important;
    background:#8A5264!important;
    border:1px solid #8A5264!important;
    color:#FFFFFF!important;
    text-align:center!important;
  }
  .sdm-mobile-fixed-cta a.sdm-mobile-fixed-cta__line{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:48px!important;
    background:#466A59!important;
    border:1px solid #466A59!important;
    color:#FFFFFF!important;
    text-align:center!important;
  }
  .sdm-mobile-fixed-cta a.sdm-mobile-fixed-cta__booking:hover,
  .sdm-mobile-fixed-cta a.sdm-mobile-fixed-cta__booking:focus-visible{
    background:#744655!important;
    border-color:#744655!important;
    color:#FFFFFF!important;
  }
  .sdm-mobile-fixed-cta a.sdm-mobile-fixed-cta__line:hover,
  .sdm-mobile-fixed-cta a.sdm-mobile-fixed-cta__line:focus-visible{
    background:#375346!important;
    border-color:#375346!important;
    color:#FFFFFF!important;
  }
}

/* =========================================================
   v1.3.55–1.3.57 continuity fixes
   - Responsive treatment cards on /first/ and other treatment grids.
   - HOT PEPPER Beauty CTA vertically/horizontally centered.
   - Staff profile facts consolidated into the main profile panel.
========================================================= */

/* Keep conversion CTA text truly centered even when global link rules apply. */
.sdm-menu-booking .sdm-btn--hotpepper{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.35!important;
  min-height:50px!important;
  padding:12px 22px!important;
  color:#fff!important;
}
.sdm-menu-booking .sdm-btn--hotpepper span,
.sdm-menu-booking .sdm-btn--hotpepper strong{
  color:inherit!important;
  line-height:inherit!important;
}

/* Staff detail: all professional profile information belongs to one calm list. */
.sdm-single-staff__facts--complete{
  margin-top:38px;
}
.sdm-single-staff__facts--complete div{
  grid-template-columns:minmax(170px, .34fr) minmax(0, 1fr);
  gap:32px;
  padding:22px 0;
}
.sdm-single-staff__facts--complete dt{
  font-family:var(--sdm-serif);
  font-size:14px;
  line-height:1.75;
  letter-spacing:.01em;
  color:var(--sdm-gold-dark);
}
.sdm-single-staff__facts--complete dd{
  font-size:14px;
  line-height:2;
  color:var(--sdm-text);
}

/* The first-visit treatment cards must never be squeezed into a narrow 38/62 split on phones. */
@media (max-width:767px){
  .sdm-subsection--treatments .sdm-subtreatments{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .sdm-subsection--treatments .sdm-subtreatment{
    display:block!important;
    min-height:0!important;
    width:100%!important;
  }
  .sdm-subsection--treatments .sdm-subtreatment figure{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
  }
  .sdm-subsection--treatments .sdm-subtreatment figure img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .sdm-subsection--treatments .sdm-subtreatment>div{
    padding:22px 20px 24px!important;
  }
  .sdm-subsection--treatments .sdm-subtreatment h3{
    font-size:22px!important;
    line-height:1.5!important;
  }
  .sdm-subsection--treatments .sdm-subtreatment p{
    font-size:13px!important;
    line-height:1.85!important;
  }
  .sdm-single-staff__facts--complete div{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:18px 0!important;
  }
  .sdm-single-staff__facts--complete dt{
    font-size:13px!important;
  }
  .sdm-single-staff__facts--complete dd{
    font-size:14px!important;
    line-height:1.9!important;
  }
}

/* =========================================================
   v1.3.58 TOP case / column alignment
   - Center REAL CUSTOMER CASE heading and lead copy.
   - Center COLUMN heading and lead copy.
   - Place the COLUMN CTA below the article grid, centered.
========================================================= */
.home .sdm-cases-editorial__head{
  display:block!important;
  max-width:860px;
  margin:0 auto 58px!important;
  text-align:center!important;
}
.home .sdm-cases-editorial__head>div,
.home .sdm-cases-editorial__head .sdm-eyebrow,
.home .sdm-cases-editorial__head h2,
.home .sdm-cases-editorial__head>p{
  text-align:center!important;
}
.home .sdm-cases-editorial__head h2{
  margin-left:auto!important;
  margin-right:auto!important;
}
.home .sdm-cases-editorial__head>p{
  max-width:720px;
  margin:20px auto 0!important;
}
.home .sdm-column-editorial__head{
  display:block!important;
  max-width:860px;
  margin:0 auto 62px!important;
  text-align:center!important;
}
.home .sdm-column-editorial__head>div:first-child,
.home .sdm-column-editorial__head>div:first-child .sdm-eyebrow,
.home .sdm-column-editorial__head>div:first-child>h2,
.home .sdm-column-editorial__head>div:last-child,
.home .sdm-column-editorial__head>div:last-child>p{
  text-align:center!important;
}
.home .sdm-column-editorial__head>div:first-child>h2{
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home .sdm-column-editorial__head>div:last-child>p{
  max-width:720px;
  margin:20px auto 0!important;
}
.home .sdm-column-editorial__cta{
  display:flex;
  justify-content:center;
  margin-top:46px;
}
.home .sdm-column-editorial__cta .sdm-lower-section-cta{
  display:inline-flex!important;
  width:auto!important;
  min-width:220px;
  min-height:50px!important;
  margin-top:0!important;
  padding:0 34px!important;
  border:1px solid #C6A15B!important;
  border-radius:2px!important;
  background:#C6A15B!important;
  color:#111111!important;
  text-align:center!important;
  justify-content:center!important;
  font-family:var(--sdm-serif);
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.035em;
}
.home .sdm-column-editorial__cta .sdm-lower-section-cta:hover,
.home .sdm-column-editorial__cta .sdm-lower-section-cta:focus-visible{
  background:#B58F49!important;
  border-color:#B58F49!important;
  color:#111111!important;
}
@media (max-width:767px){
  .home .sdm-cases-editorial__head{
    margin-bottom:34px!important;
  }
  .home .sdm-column-editorial__head{
    margin-bottom:38px!important;
  }
  .home .sdm-column-editorial__cta{
    margin-top:34px;
  }
  .home .sdm-column-editorial__cta .sdm-lower-section-cta{
    width:100%!important;
    max-width:420px;
    min-width:0;
    padding:0 20px!important;
  }
}


/* =========================================================
   v1.3.59 Mobile image ratio normalization
   - Standardize template-managed photographic content to 16:9 on phones.
   - Includes TOP HOME CARE and photographic media across subpages/details.
   - Excludes logos, crests, icons, hero/final-CTA background images and prose images.
========================================================= */
@media (max-width:767px){
  :root{--sdm-mobile-photo-ratio:16/9}

  /* Photo/media boxes: one predictable 16:9 frame on smartphone. */
  #main-content .sdm-concern-card figure,
  #main-content .sdm-treatment-card figure,
  #main-content .sdm-philosophy__image,
  #main-content .sdm-homecare__image,
  #main-content .sdm-case-card__image,
  #main-content .sdm-producer__image,
  #main-content .sdm-staff-card>a,
  #main-content .sdm-staff-card figure,
  #main-content .sdm-staff__visual,
  #main-content .sdm-products__image,
  #main-content .sdm-article-card__image,
  #main-content .sdm-access__image,
  #main-content .sdm-subcard figure,
  #main-content .sdm-subsplit__image,
  #main-content .sdm-subtreatment figure,
  #main-content .sdm-product-card>a,
  #main-content .sdm-post-card>a,
  #main-content .sdm-why-philosophy__philosophy figure,
  #main-content .sdm-first-flow-grid figure,
  #main-content .sdm-recommend-for__card figure,
  #main-content .sdm-managed-case-card__ba figure,
  #main-content .sdm-reason-card--visual figure,
  #main-content .sdm-single-case__ba figure,
  #main-content .sdm-luxury-menu__image,
  #main-content .sdm-feature-case__visual figure,
  #main-content .sdm-philosophy-editorial__image,
  #main-content .sdm-reason-story figure,
  #main-content .sdm-first-timeline__visuals figure,
  #main-content .sdm-signature-treatment__image,
  #main-content .sdm-homecare-editorial figure,
  #main-content .sdm-brand-editorial__image,
  #main-content .sdm-people-editorial__producer figure,
  #main-content .sdm-people-editorial__staff-visuals>a,
  #main-content .sdm-people-editorial__staff-visuals figure,
  #main-content .sdm-column-editorial__item figure,
  #main-content .sdm-access-editorial__grid>figure,
  #main-content .sdm-single-staff__photo figure{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:var(--sdm-mobile-photo-ratio)!important;
    overflow:hidden!important;
  }

  /* Every image fills its normalized frame without distortion. */
  #main-content .sdm-concern-card figure img,
  #main-content .sdm-treatment-card figure img,
  #main-content .sdm-philosophy__image img,
  #main-content .sdm-homecare__image img,
  #main-content .sdm-case-card__image img,
  #main-content .sdm-producer__image img,
  #main-content .sdm-staff-card>a img,
  #main-content .sdm-staff-card figure img,
  #main-content .sdm-staff__visual img,
  #main-content .sdm-products__image img,
  #main-content .sdm-article-card__image img,
  #main-content .sdm-access__image img,
  #main-content .sdm-subcard figure img,
  #main-content .sdm-subsplit__image img,
  #main-content .sdm-subtreatment figure img,
  #main-content .sdm-product-card>a img,
  #main-content .sdm-post-card>a img,
  #main-content .sdm-why-philosophy__philosophy figure img,
  #main-content .sdm-first-flow-grid figure img,
  #main-content .sdm-recommend-for__card figure img,
  #main-content .sdm-managed-case-card__ba figure img,
  #main-content .sdm-reason-card--visual figure img,
  #main-content .sdm-single-case__ba figure img,
  #main-content .sdm-luxury-menu__image img,
  #main-content .sdm-feature-case__visual figure img,
  #main-content .sdm-philosophy-editorial__image img,
  #main-content .sdm-reason-story figure img,
  #main-content .sdm-first-timeline__visuals figure img,
  #main-content .sdm-signature-treatment__image img,
  #main-content .sdm-homecare-editorial figure img,
  #main-content .sdm-brand-editorial__image img,
  #main-content .sdm-people-editorial__producer figure img,
  #main-content .sdm-people-editorial__staff-visuals>a img,
  #main-content .sdm-people-editorial__staff-visuals figure img,
  #main-content .sdm-column-editorial__item figure img,
  #main-content .sdm-access-editorial__grid>figure img,
  #main-content .sdm-single-staff__photo figure img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Staff detail can output the featured image without a wrapping figure. */
  #main-content .sdm-single-staff__photo>img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:var(--sdm-mobile-photo-ratio)!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Mobile card layouts that previously forced a narrow portrait image column
     are stacked so a real 16:9 image can be shown at a useful size. */
  #main-content .sdm-subcard:has(figure),
  #main-content .sdm-subtreatment,
  #main-content .sdm-first-flow-grid>li,
  #main-content .sdm-recommend-for__card{
    display:block!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  /* Before/After pairs stay legible: each photo is 16:9 and receives full width. */
  #main-content .sdm-managed-case-card__ba,
  #main-content .sdm-single-case__ba,
  #main-content .sdm-feature-case__visual{
    grid-template-columns:1fr!important;
    gap:2px!important;
  }
  #main-content .sdm-managed-case-card__ba figure+figure{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.75)!important;
  }

  /* TOP FIRST VISIT: both managed photos use the same 16:9 treatment. */
  .home #main-content .sdm-first-timeline__visuals{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    min-height:0!important;
    max-width:720px!important;
    padding:0!important;
  }
  .home #main-content .sdm-first-timeline__visuals figure:first-child,
  .home #main-content .sdm-first-timeline__visuals figure:last-child{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    border:0!important;
    aspect-ratio:var(--sdm-mobile-photo-ratio)!important;
  }

  /* TOP STAFF: keep three 16:9 photos large enough to evaluate via horizontal swipe. */
  .home #main-content .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    margin-inline:-18px!important;
    padding:0 18px 8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .home #main-content .sdm-people-editorial--staff-only .sdm-people-editorial__staff-visuals::-webkit-scrollbar{display:none}
  .home #main-content .sdm-people-editorial--staff-only .sdm-staff-preview{
    flex:0 0 min(84vw,420px)!important;
    width:min(84vw,420px)!important;
    min-width:min(84vw,420px)!important;
    min-height:0!important;
    aspect-ratio:var(--sdm-mobile-photo-ratio)!important;
    scroll-snap-align:start;
  }
  .home #main-content .sdm-people-editorial--staff-only .sdm-staff-preview img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
}

/* =========================================================
   v1.3.60 TOP FIRST VISIT mobile visual exception
   - Restore the two FIRST VISIT photos to the original portrait, side-by-side composition.
   - This intentionally overrides the v1.3.59 global 16:9 mobile normalization only here.
========================================================= */
@media (max-width:767px){
  .home #main-content .sdm-first-timeline__visuals{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:8px!important;
    align-items:end!important;
    width:100%!important;
    max-width:720px!important;
    min-height:0!important;
    margin-inline:auto!important;
    padding:0!important;
    overflow:visible!important;
  }
  .home #main-content .sdm-first-timeline__visuals figure:first-child{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:290px!important;
    min-height:290px!important;
    max-height:none!important;
    margin:0!important;
    border:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }
  .home #main-content .sdm-first-timeline__visuals figure:last-child{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:205px!important;
    min-height:205px!important;
    max-height:none!important;
    margin:0 0 16px!important;
    border:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }
  .home #main-content .sdm-first-timeline__visuals figure img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* =========================================================
   v1.3.63 Inner-page header image visibility
   Keep the TOP hero unchanged. Inner-page hero images are
   displayed at roughly 80% of a 16:9 source image's height.
========================================================= */
body:not(.home) .sdm-subhero{
  height:min(45vw,900px)!important;
  min-height:0!important;
  padding:0!important;
  background-size:100% auto!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}

/* The MEDICI / ABOUT family uses the supplied crest composition.
   Preserve the same approximately-80%-visible framing. */
body:not(.home) .sdm-subhero[data-sdm-page-path="about"],
body:not(.home) .sdm-subhero[data-sdm-page-path^="about/"]{
  height:min(45vw,900px)!important;
  background-size:100% auto!important;
  background-position:center center!important;
}

@media (max-width:767px){
  body:not(.home) .sdm-subhero,
  body:not(.home) .sdm-subhero[data-sdm-page-path="about"],
  body:not(.home) .sdm-subhero[data-sdm-page-path^="about/"]{
    height:clamp(220px,45vw,346px)!important;
    min-height:0!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}


/* =========================================================
   v1.3.65 Representative Message editorial readability
   Long-form greeting copy stays faithful to the supplied text while using
   a comfortable left-aligned reading measure. Other pages are unchanged.
========================================================= */
#message-purpose .sdm-subcopy,
#message-journey .sdm-subcopy,
#message-mission .sdm-subcopy{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
  text-align:left!important;
}
#message-purpose .sdm-subcopy p,
#message-journey .sdm-subcopy p,
#message-mission .sdm-subcopy p{
  text-align:left!important;
  line-height:2.05;
  margin-top:0;
  margin-bottom:1.15em;
}
#message-origin .sdm-subcopy p{
  line-height:2;
  margin-top:0;
  margin-bottom:1.05em;
}
#message-purpose .sdm-message-emphasis,
#message-journey .sdm-message-emphasis,
#message-mission .sdm-message-emphasis{
  font-family:var(--sdm-serif);
  font-size:clamp(22px,2.2vw,31px);
  line-height:1.65!important;
  letter-spacing:.05em;
  color:var(--sdm-gold-dark);
  margin:1.45em 0!important;
}
#message-mission .sdm-message-emphasis{color:#d8c28f}
#message-mission .sdm-message-closing{
  margin:2em 0!important;
  padding:28px 0;
  border-top:1px solid rgba(210,188,142,.38);
  border-bottom:1px solid rgba(210,188,142,.38);
  color:#fff!important;
  font-family:var(--sdm-serif);
  font-size:clamp(25px,2.8vw,38px);
  line-height:1.65!important;
  letter-spacing:.06em;
}
@media (max-width:767px){
  #message-purpose .sdm-subcopy,
  #message-journey .sdm-subcopy,
  #message-mission .sdm-subcopy{max-width:none}
  #message-purpose .sdm-subcopy p,
  #message-journey .sdm-subcopy p,
  #message-mission .sdm-subcopy p,
  #message-origin .sdm-subcopy p{line-height:1.95}
  #message-purpose .sdm-message-emphasis,
  #message-journey .sdm-message-emphasis,
  #message-mission .sdm-message-emphasis{font-size:22px}
  #message-mission .sdm-message-closing{padding:22px 0;font-size:26px}
}

/* v1.3.68: allow managed case entries to use a single combined Before/After image */
.sdm-managed-case-card__ba.sdm-case-visual--single,
.sdm-single-case__ba.sdm-case-visual--single,
.sdm-feature-case__visual.sdm-case-visual--single{display:block;background:#efe9df}
.sdm-managed-case-card__ba.sdm-case-visual--single .sdm-case-visual__figure--single,
.sdm-feature-case__visual.sdm-case-visual--single .sdm-case-visual__figure--single{position:relative;margin:0;aspect-ratio:1/1.02;overflow:hidden;background:#f7f3ec}
.sdm-single-case__ba.sdm-case-visual--single .sdm-case-visual__figure--single{position:relative;margin:0;overflow:hidden;background:#f7f3ec}
.sdm-managed-case-card__ba.sdm-case-visual--single img,
.sdm-single-case__ba.sdm-case-visual--single img,
.sdm-feature-case__visual.sdm-case-visual--single img,
.sdm-case-strip__ba--single img{display:block;width:100%;height:100%;object-fit:contain;background:#f7f3ec}
.sdm-single-case__ba.sdm-case-visual--single img{height:auto}
.sdm-case-strip__ba--single{display:block;background:#ddd5c9}
.sdm-case-strip__ba--single span{display:block;aspect-ratio:1/1;overflow:hidden}

@media(max-width:767px){
  #main-content .sdm-managed-case-card__ba.sdm-case-visual--single,
  #main-content .sdm-single-case__ba.sdm-case-visual--single,
  #main-content .sdm-feature-case__visual.sdm-case-visual--single{
    display:block!important;
    gap:0!important;
  }

  #main-content .sdm-managed-case-card__ba.sdm-case-visual--single figure,
  #main-content .sdm-single-case__ba.sdm-case-visual--single figure,
  #main-content .sdm-feature-case__visual.sdm-case-visual--single figure{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }

  #main-content .sdm-managed-case-card__ba.sdm-case-visual--single figure img,
  #main-content .sdm-single-case__ba.sdm-case-visual--single figure img,
  #main-content .sdm-feature-case__visual.sdm-case-visual--single figure img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
}

/* v1.3.69: every case/review uses one complete comparison image only. */
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single,
#main-content .sdm-single-case__ba.sdm-case-visual--single,
#main-content .sdm-feature-case__visual.sdm-case-visual--single{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  gap:0!important;
  background:transparent!important;
  overflow:visible!important;
}

#main-content .sdm-managed-case-card__ba.sdm-case-visual--single .sdm-case-visual__figure--single,
#main-content .sdm-single-case__ba.sdm-case-visual--single .sdm-case-visual__figure--single,
#main-content .sdm-feature-case__visual.sdm-case-visual--single .sdm-case-visual__figure--single{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  overflow:hidden!important;
  background:transparent!important;
}

#main-content .sdm-managed-case-card__ba.sdm-case-visual--single .sdm-case-visual__figure--single img,
#main-content .sdm-single-case__ba.sdm-case-visual--single .sdm-case-visual__figure--single img,
#main-content .sdm-feature-case__visual.sdm-case-visual--single .sdm-case-visual__figure--single img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

#main-content .sdm-case-strip__ba--single{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  height:auto!important;
  background:transparent!important;
}
#main-content .sdm-case-strip__ba--single span{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
}
#main-content .sdm-case-strip__ba--single img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
}


/* v1.3.70: case/review comparison images are always one full-width image. */
#main-content .sdm-managed-case-card__ba,
#main-content .sdm-single-case__ba,
#main-content .sdm-feature-case__visual,
#main-content .sdm-case-strip__ba--single{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  gap:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
#main-content .sdm-managed-case-card__ba>figure,
#main-content .sdm-single-case__ba>figure,
#main-content .sdm-feature-case__visual>figure,
#main-content .sdm-case-strip__ba--single>span{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
#main-content .sdm-managed-case-card__ba>figure>img,
#main-content .sdm-single-case__ba>figure>img,
#main-content .sdm-feature-case__visual>figure>img,
#main-content .sdm-case-strip__ba--single>span>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  background:transparent!important;
}

/* v1.3.71: smartphone section/page titles are centered, excluding hero areas. */
@media (max-width:767px){
  #main-content section:not(.sdm-hero):not(.sdm-subhero) h1,
  #main-content section:not(.sdm-hero):not(.sdm-subhero) h2,
  #main-content article:not(.sdm-hero):not(.sdm-subhero) > h1,
  #main-content article:not(.sdm-hero):not(.sdm-subhero) > h2{
    width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  #main-content section:not(.sdm-hero):not(.sdm-subhero) .sdm-eyebrow,
  #main-content section:not(.sdm-hero):not(.sdm-subhero) .sdm-recommended-text__eyebrow{
    width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

/* v1.3.74: flow page 9 STEPS supports per-step images */
.sdm-substeps__image{margin:0 0 16px;overflow:hidden;border-radius:2px;background:#f5f1e8}
.sdm-substeps__image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(max-width:767px){
  .sdm-substeps__image{margin:0 0 12px}
}

/* v1.3.75: ご来店の流れ / 9 STEPS — image left, copy right */
.sdm-subsection--flow-steps .sdm-substeps li.has-image{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-rows:auto auto 1fr;
  column-gap:clamp(36px,5vw,76px);
  row-gap:0;
  align-items:center;
  padding:44px 0;
}
.sdm-subsection--flow-steps .sdm-substeps li.has-image>span{
  grid-column:2;
  grid-row:1;
  align-self:end;
  margin:0 0 13px;
  font-size:20px;
}
.sdm-subsection--flow-steps .sdm-substeps li.has-image>div{
  display:contents;
}
.sdm-subsection--flow-steps .sdm-substeps li.has-image .sdm-substeps__image{
  grid-column:1;
  grid-row:1 / span 3;
  align-self:center;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#f5f1e8;
}
.sdm-subsection--flow-steps .sdm-substeps li.has-image .sdm-substeps__image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}
.sdm-subsection--flow-steps .sdm-substeps li.has-image h3{
  grid-column:2;
  grid-row:2;
  align-self:start;
  margin:0;
  font-size:clamp(23px,2vw,30px);
  line-height:1.45;
}
.sdm-subsection--flow-steps .sdm-substeps li.has-image p{
  grid-column:2;
  grid-row:3;
  align-self:start;
  margin:12px 0 0;
  font-size:14px;
  line-height:2;
}
@media(max-width:767px){
  .sdm-subsection--flow-steps .sdm-substeps li.has-image{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:0;
    padding:26px 0;
  }
  .sdm-subsection--flow-steps .sdm-substeps li.has-image>span{
    grid-column:1;
    grid-row:2;
    margin:16px 0 9px;
    font-size:18px;
  }
  .sdm-subsection--flow-steps .sdm-substeps li.has-image .sdm-substeps__image{
    grid-column:1;
    grid-row:1;
  }
  .sdm-subsection--flow-steps .sdm-substeps li.has-image h3{
    grid-column:1;
    grid-row:3;
    font-size:20px;
  }
  .sdm-subsection--flow-steps .sdm-substeps li.has-image p{
    grid-column:1;
    grid-row:4;
    margin-top:8px;
    font-size:12.5px;
  }
}


/* v1.3.76: mobile drawer direct links use the same vertical rhythm as primary menu rows */
@media (max-width:920px){
  .sdm-mobile-site-map>a{
    display:block!important;
    width:100%!important;
    padding:16px 4px!important;
    margin:0!important;
    border-bottom:1px solid #d9cfbf!important;
    font-family:var(--sdm-serif)!important;
    font-size:16px!important;
    line-height:1.45!important;
    text-align:left!important;
  }
}

/* v1.3.78: center the CONCERNS card CTA label independently from the arrow. */
.sdm-concern-card__cta{
  position:relative!important;
  justify-content:center!important;
  padding-left:38px!important;
  padding-right:38px!important;
  text-align:center!important;
}
.sdm-concern-card__cta>span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}
.sdm-concern-card__cta>b{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}

/* v1.3.79: representative signature */
#message-mission .sdm-message-signature{
  margin:3em 0 0!important;
  padding-top:22px;
  border-top:1px solid rgba(210,188,142,.28);
  color:#fff!important;
  font-family:var(--sdm-serif);
  font-size:15px;
  line-height:1.9!important;
  letter-spacing:.06em;
  text-align:right!important;
}
@media(max-width:767px){
  #message-mission .sdm-message-signature{font-size:14px;text-align:right!important}
}

/* v1.3.79: real-person output only; keep staff layouts stable without a photo. */
.sdm-staff-preview--text-only{
  min-height:280px;
  display:flex!important;
  align-items:flex-end;
  justify-content:flex-start;
  padding:24px;
  background:linear-gradient(145deg,#171614,#2a2721);
}
.sdm-staff-preview--text-only span{position:static!important}
.sdm-single-staff__intro--no-photo{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
@media(max-width:767px){
  .sdm-staff-preview--text-only{min-height:180px}
}

/* v1.3.80: keep TOP FEATURED CASE concise; detail pages remain unchanged. */
.home .sdm-feature-case__customer{
  margin:0 0 8px;
  color:var(--sdm-gold-dark);
  font-family:var(--sdm-serif);
  font-size:15px;
  line-height:1.5;
  letter-spacing:.05em;
}
.home .sdm-feature-case blockquote{
  margin:24px 0 22px;
}
.home .sdm-feature-case__content .sdm-text-link{
  margin-top:22px;
}
@media(max-width:767px){
  .home .sdm-feature-case__customer{font-size:14px}
  .home .sdm-feature-case blockquote{margin:20px 0;font-size:16px;line-height:1.8}
  .home .sdm-feature-case dl div{padding:10px 0}
}

/* v1.3.81: lightweight fixed back-to-top control. */
.sdm-back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1040;
  width:54px;
  height:54px;
  padding:6px 4px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  border:1px solid rgba(198,161,91,.82);
  border-radius:50%;
  background:rgba(10,10,10,.92);
  color:#d8bd86;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px) scale(.96);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background-color .22s ease,color .22s ease;
  cursor:pointer;
}
.sdm-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.sdm-back-to-top__arrow{font:400 20px/1 var(--sdm-en);transform:translateY(-1px)}
.sdm-back-to-top__label{font:600 7px/1 var(--sdm-en);letter-spacing:.14em;margin-left:.14em}
.sdm-back-to-top:hover{background:#c6a15b;color:#090909}
.sdm-back-to-top:focus-visible{outline:2px solid #c6a15b;outline-offset:4px}

@media(max-width:767px){
  .sdm-back-to-top{
    right:14px;
    bottom:calc(72px + env(safe-area-inset-bottom, 0px));
    width:46px;
    height:46px;
    padding:5px 3px 4px;
  }
  .sdm-back-to-top__arrow{font-size:18px}
  .sdm-back-to-top__label{font-size:6px}
}

@media(prefers-reduced-motion:reduce){
  .sdm-back-to-top{transition:none}
}

/* =========================================================
   v1.3.82 Responsive header + tablet performance
   - Use the drawer at 1099px and below so dense navigation never overflows.
   - Keep desktop navigation only where labels + conversion actions fit safely.
========================================================= */
@media (max-width:1099px){
  .sdm-header__inner{
    width:calc(100vw - 24px)!important;
    height:66px!important;
    min-height:66px!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
    gap:12px!important;
  }
  .sdm-header__brand{flex:0 1 auto!important;min-width:0!important}
  .sdm-brand-link{min-width:0!important}
  .sdm-brand-logo-image{max-height:48px!important;width:auto!important}

  .sdm-nav,
  .sdm-header__actions{
    display:none!important;
    visibility:hidden!important;
  }

  .sdm-menu-toggle{
    margin-left:auto!important;
    display:grid!important;
    grid-template-columns:22px auto!important;
    column-gap:8px!important;
    align-items:center!important;
    flex:0 0 auto!important;
    background:none!important;
    border:0!important;
    padding:8px 0!important;
    color:inherit!important;
    cursor:pointer!important;
  }
  .sdm-menu-toggle span{
    grid-column:1!important;
    width:22px!important;
    height:1px!important;
    margin:2px 0!important;
    background:currentColor!important;
  }
  .sdm-menu-toggle b{
    grid-column:2!important;
    grid-row:1/4!important;
    font:10px/1 var(--sdm-sans)!important;
    letter-spacing:.12em!important;
  }

  .sdm-mobile-drawer{
    display:block!important;
    visibility:visible!important;
    padding-top:86px!important;
    will-change:transform;
    overscroll-behavior:contain;
  }

  /* Blur on a fixed full-width header is relatively expensive on small/tablet GPUs. */
  .sdm-header.is-scrolled,
  body:not(.home) .sdm-header{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .sdm-ai-answer{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .home .sdm-hero__content{padding-top:82px!important}
  body:not(.home) .sdm-subhero{margin-top:66px!important}
}

@media (min-width:768px) and (max-width:1099px){
  /* Keep tablet conversion actions inside the page/drawer rather than adding a bottom bar. */
  .sdm-mobile-fixed-cta{display:none!important}
}

@media (min-width:1100px){
  .sdm-menu-toggle,
  .sdm-mobile-drawer{display:none!important}
}

/* =========================================================
   v1.3.83 TOP hero + FIRST VISIT visual sizing
   - Desktop TOP hero is enlarged to a 16:9-oriented canvas.
   - FIRST VISIT portrait images use the same frame size on every breakpoint.
========================================================= */
@media (min-width:1100px){
  .home .sdm-hero{
    min-height:clamp(760px,56.25vw,1080px)!important;
    height:clamp(760px,56.25vw,1080px)!important;
    max-height:none!important;
  }
}

.home #main-content .sdm-first-timeline__visuals{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  min-height:0!important;
  padding:0!important;
}
.home #main-content .sdm-first-timeline__visuals figure:first-child,
.home #main-content .sdm-first-timeline__visuals figure:last-child{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  aspect-ratio:4/5!important;
  overflow:hidden!important;
}
.home #main-content .sdm-first-timeline__visuals figure img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}

@media (max-width:767px){
  .home #main-content .sdm-first-timeline__visuals{
    gap:8px!important;
  }
}

/* v1.3.85: customer-case comparison images show the entire uploaded image.
   Do not force 16:9/crop combined Before/After artwork on TOP or CASES cards. */
.home #main-content .sdm-feature-case__visual,
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single,
.home #main-content .sdm-case-strip__ba,
.home #main-content .sdm-case-strip__ba--single,
#main-content .sdm-managed-case-card__ba,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  gap:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.home #main-content .sdm-feature-case__visual>figure,
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single>figure,
.home #main-content .sdm-case-strip__ba>span,
.home #main-content .sdm-case-strip__ba--single>span,
#main-content .sdm-managed-case-card__ba>figure,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single>figure{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.home #main-content .sdm-feature-case__visual>figure>img,
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single>figure>img,
.home #main-content .sdm-case-strip__ba>span>img,
.home #main-content .sdm-case-strip__ba--single>span>img,
#main-content .sdm-managed-case-card__ba>figure>img,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single>figure>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  background:transparent!important;
}

/* v1.3.86: case/review artwork frame matches the supplied 1366×768 composite image.
   Keep the complete Before/After artwork visible without cropping. */
.home #main-content .sdm-feature-case__visual,
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single,
.home #main-content .sdm-case-strip__ba--single,
#main-content .sdm-managed-case-card__ba,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1366 / 768!important;
  overflow:hidden!important;
  background:var(--sdm-ivory)!important;
  border:1px solid var(--sdm-border)!important;
  box-sizing:border-box!important;
}

.home #main-content .sdm-feature-case__visual>figure,
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single>figure,
.home #main-content .sdm-case-strip__ba--single>span,
#main-content .sdm-managed-case-card__ba>figure,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single>figure{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
}

.home #main-content .sdm-feature-case__visual>figure>img,
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single>figure>img,
.home #main-content .sdm-case-strip__ba--single>span>img,
#main-content .sdm-managed-case-card__ba>figure>img,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single>figure>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  background:transparent!important;
}

/* Legacy TOP strip entries are also normalized if a combined image is present. */
.home #main-content .sdm-case-strip__ba{
  width:100%!important;
}

@media(max-width:767px){
  .home #main-content .sdm-feature-case__visual,
  .home #main-content .sdm-feature-case__visual.sdm-case-visual--single,
  .home #main-content .sdm-case-strip__ba--single,
  #main-content .sdm-managed-case-card__ba,
  #main-content .sdm-managed-case-card__ba.sdm-case-visual--single{
    aspect-ratio:1366 / 768!important;
  }
}


/* v1.3.87: REAL CUSTOMER CASE / CASES use uncropped WordPress image sources.
   The frame follows the complete combined Before/After artwork without side gutters. */
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single,
.home #main-content .sdm-case-strip__ba--single,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single{
  aspect-ratio:16 / 9!important;
  background:transparent!important;
}
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single>figure,
.home #main-content .sdm-case-strip__ba--single>span,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single>figure{
  width:100%!important;
  height:100%!important;
  background:transparent!important;
}
.home #main-content .sdm-feature-case__visual.sdm-case-visual--single>figure>img,
.home #main-content .sdm-case-strip__ba--single>span>img,
#main-content .sdm-managed-case-card__ba.sdm-case-visual--single>figure>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}

/* v1.3.90: individual CASE / REVIEW detail pages use the complete uploaded
   Before/After artwork instead of cropped WordPress derivatives. */
.single-sdm_case #main-content .sdm-single-case__ba.sdm-case-visual--single{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1366 / 768!important;
  overflow:hidden!important;
  background:var(--sdm-ivory)!important;
  border:1px solid var(--sdm-border)!important;
  box-sizing:border-box!important;
}
.single-sdm_case #main-content .sdm-single-case__ba.sdm-case-visual--single>figure{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:transparent!important;
}
.single-sdm_case #main-content .sdm-single-case__ba.sdm-case-visual--single>figure>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  background:transparent!important;
}
@media(max-width:767px){
  .single-sdm_case #main-content .sdm-single-case__ba.sdm-case-visual--single{
    aspect-ratio:1366 / 768!important;
  }
}

/* v1.3.91: menu images in POPULAR FIRST MENU and MENU / PRICE */
.sdm-price-card{overflow:hidden}
.sdm-price-card__image{margin:0;aspect-ratio:16/9;overflow:hidden;background:#f2eee6;border-bottom:1px solid var(--sdm-border)}
.sdm-price-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* Keep treatment/menu imagery consistent and lightweight on all viewports. */
.sdm-subsection--treatments .sdm-subtreatment figure{aspect-ratio:16/9;min-height:0}
.sdm-subsection--treatments .sdm-subtreatment figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

@media(max-width:780px){
  .sdm-price-card__image{aspect-ratio:16/9}
}

/* v1.3.92: 1200x900 (4:3) menu artwork in POPULAR FIRST MENU / MENU / PRICE */
.sdm-subsection--treatments .sdm-subtreatment figure,
.sdm-subsection--price .sdm-price-card__image{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#f2eee6;
}
.sdm-subsection--treatments .sdm-subtreatment figure{
  align-self:start;
}
.sdm-subsection--treatments .sdm-subtreatment figure img,
.sdm-subsection--price .sdm-price-card__image img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  background:#f2eee6;
}

@media(max-width:767px){
  #main-content .sdm-subsection--treatments .sdm-subtreatment figure,
  #main-content .sdm-subsection--price .sdm-price-card__image{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4 / 3!important;
    overflow:hidden!important;
  }
  #main-content .sdm-subsection--treatments .sdm-subtreatment figure img,
  #main-content .sdm-subsection--price .sdm-price-card__image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* v1.3.93: MENU / PRICE HOT PEPPER CTA vertical centering */
.sdm-subsection--price .sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  padding:0 54px!important;
  line-height:1!important;
}
.sdm-subsection--price .sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper>span:first-child{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:max-content!important;
  max-width:calc(100% - 108px)!important;
  margin:0!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
}
.sdm-subsection--price .sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper>span:last-child{
  position:absolute!important;
  right:28px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  line-height:1!important;
}
@media(max-width:767px){
  .sdm-subsection--price .sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper{
    min-height:52px!important;
    padding:0 46px!important;
  }
  .sdm-subsection--price .sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper>span:first-child{
    max-width:calc(100% - 92px)!important;
  }
  .sdm-subsection--price .sdm-price-card .sdm-menu-booking .sdm-btn--hotpepper>span:last-child{
    right:22px!important;
  }
}
