/* Identity layer: loaded after theme.css so palette generation cannot wipe layout. */
body{font-family:var(--font)}
.footer-brand{min-width:0}
.footer-brand p{max-width:38em}
.detail-info .sub{color:var(--theme-muted);margin:0 0 16px}
.catalog-intro .section-title{margin-bottom:28px}

body.demo10{
  --theme-surface:#fffdf8;--theme-surface-soft:#f7f1e6;
  --font:"Playfair Display",Georgia,serif;--max:1200px;
  text-align:left
}
body.demo10.is-home,body.demo10.is-about{--max:1200px}
body.demo10 .form,body.demo10 .contact-layout,body.demo10 .catalog-layout,
body.demo10 .product-list,body.demo10 .detail-layout{text-align:left}

/* Gallery-like full-screen home; About uses a warm split-image composition. */
body.demo10.is-home{--max:1200px}
body.demo10.is-home .d10-hero{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:max(700px,calc(100svh - 115px));padding:100px max(28px,calc((100vw - 1200px)/2));background-image:linear-gradient(90deg,#151411e8 0%,#151411af 47%,#15141129 100%);background-position:center;background-size:cover;color:#fff;text-align:left}
body.demo10.is-home .d10-hero h1{max-width:13ch;font-size:clamp(64px,7.3vw,112px);line-height:1.04;letter-spacing:-.055em;color:#fff;text-align:left}
body.demo10.is-home .d10-hero h1 em{color:#eed5a6}
body.demo10.is-home .d10-hero .d2-kicker{color:#efd6a5}
body.demo10.is-home .d10-hero .d2-lede{max-width:550px;color:#f8f5ed;margin:0;font-size:19px;text-align:left}
body.demo10.is-home .d10-hero .d10-rule{margin:25px 0;width:110px;border-color:#efd6a5}
body.demo10.is-home .d10-hero .btn.outline{color:#fff;border-color:#ffffffa8;background:#ffffff12}
body.demo10.is-about{--max:1200px}
body.demo10.is-about .d10-hero{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:max(570px,70svh);padding:80px max(28px,calc((100vw - 1200px)/2));background-color:#f7f1e7;background-image:linear-gradient(90deg,#f7f1e7 0%,#f7f1e7 39%,#f7f1e7b0 56%,#f7f1e700 75%);background-position:center;background-size:cover;text-align:left}
body.demo10.is-about .d10-hero h1{max-width:13ch;font-size:clamp(50px,5.3vw,78px);line-height:1.08;text-align:left;color:#1f2328}
body.demo10.is-about .d10-hero .d2-lede{max-width:500px;margin:0;text-align:left;color:#42464a}
body.demo10.is-about .d10-hero .d10-rule{margin:26px 0}
body.demo10.is-about .d10-block{display:block}

@media(max-width:800px){
  body.demo10.is-home .d10-hero{min-height:max(660px,calc(100svh - 76px));padding-inline:20px}
  body.demo10.is-home .d10-hero h1{font-size:clamp(52px,10vw,78px)}
  body.demo10.is-about .d10-hero{position:relative;isolation:isolate;padding:80px 20px;min-height:620px}
  body.demo10.is-about .d10-hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#f7f1e7f5 0%,#f7f1e7ed 76%,#f7f1e7a8 100%)}
  body.demo10.is-about .d10-hero>*{position:relative;z-index:1}
}


/* Demo10 unique lower-home module */
body.demo10.is-home .d10-service-salon{padding:100px 0;background:#eee5d6;color:#271f18}.d10-service-salon .container{display:grid;grid-template-columns:1fr .72fr;grid-template-rows:auto auto;gap:0;background:#f9f5ed}.d10-salon-copy{padding:64px}.d10-salon-copy>span{font-size:11px;letter-spacing:.19em;color:#87642e}.d10-salon-copy h2{font-family:serif;font-size:clamp(32px,3.8vw,52px);line-height:1.04;margin:24px 0}.d10-salon-copy p{color:#6e6257;line-height:1.75}.d10-salon-copy a{display:inline-block;margin-top:24px;color:#271f18;border-bottom:1px solid}.d10-service-salon figure{margin:0;min-height:440px}.d10-service-salon figure img{width:100%;height:100%;object-fit:cover}.d10-salon-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d7cbbb}.d10-salon-list article{padding:36px;border-right:1px solid #d7cbbb}.d10-salon-list article:last-child{border:0}.d10-salon-list i{font-family:serif;font-size:28px;color:#9b7538}.d10-salon-list p{color:#756b61}@media(max-width:800px){.d10-service-salon .container,.d10-salon-list{grid-template-columns:1fr}.d10-salon-list{grid-column:auto}.d10-salon-list article{border-right:0;border-bottom:1px solid #d7cbbb}}

/* Demo10 compatibility pass */
body.demo10.is-home .d10-hero{min-height:clamp(620px,78svh,760px)}body.demo10.is-home .d10-hero h1{font-size:clamp(40px,4.6vw,64px)!important;max-width:14ch}body.demo10:not(.is-home) h1{font-size:clamp(32px,4vw,52px)!important;line-height:1.1!important;overflow-wrap:break-word;text-wrap:balance}@media(max-width:600px){body.demo10:not(.is-home) h1{font-size:clamp(28px,9vw,40px)!important}}body.demo10.is-home .d10-service-salon{background:var(--theme-primary-light);color:var(--theme-text)}body.demo10.is-home .d10-service-salon .container{background:var(--theme-surface)}body.demo10.is-home .d10-salon-copy>span,body.demo10.is-home .d10-salon-list i{color:var(--theme-primary)}body.demo10.is-home .d10-salon-list,body.demo10.is-home .d10-salon-list article{border-color:var(--theme-line)}body.demo10.is-home .d10-salon-copy p,body.demo10.is-home .d10-salon-list p{color:var(--theme-muted)}

/* Match the middle content to the 1200px banner and closing sections. */
body.demo10:is(.is-home,.is-about) .d10-stats{width:min(1200px,calc(100% - 40px));max-width:none;margin:0 auto}
body.demo10:is(.is-home,.is-about) .d10-stats>div{padding:28px 18px}
body.demo10:is(.is-home,.is-about) .d10-block{width:min(1200px,calc(100% - 40px));max-width:none;margin:0 auto;padding:70px 0;display:block}
body.demo10:is(.is-home,.is-about) .d10-block h2{font-size:clamp(26px,2.5vw,36px);line-height:1.25;margin:0 0 26px}
body.demo10:is(.is-home,.is-about) .d10-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
body.demo10:is(.is-home,.is-about) .d10-story>img{width:100%;height:460px;object-fit:cover;grid-row:auto;margin:0}
body.demo10 .d10-story-copy{min-width:0}
body.demo10 .d10-story-copy p{line-height:1.8;color:var(--theme-muted)}
body.demo10.is-about .d10-story>img{order:2}
body.demo10:is(.is-home,.is-about) .d10-list{gap:24px}
body.demo10:is(.is-home,.is-about) .d10-list article{padding:28px 32px;margin:0;min-width:0}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod{display:flex;flex-direction:column;min-width:0;border-radius:4px}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-img{height:260px;min-height:0;flex:none}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-img img{height:100%;width:100%;margin:0;object-fit:cover;grid-row:auto}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-body{padding:24px;gap:14px}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-body h3,body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-body p{margin:0}
body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-link{padding-top:12px}
@media(max-width:900px){
 body.demo10:is(.is-home,.is-about) .d10-story{gap:32px}
 body.demo10:is(.is-home,.is-about) .d10-story>img{height:380px}
 body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 body.demo10:is(.is-home,.is-about) .d10-block{padding:44px 0}
 body.demo10:is(.is-home,.is-about) .d10-story,body.demo10:is(.is-home,.is-about) .d10-block .d2-prod-grid{grid-template-columns:1fr}
 body.demo10.is-about .d10-story>img{order:0}
 body.demo10:is(.is-home,.is-about) .d10-story>img{height:320px}
 body.demo10:is(.is-home,.is-about) .d10-stats{grid-template-columns:1fr 1fr}
 body.demo10:is(.is-home,.is-about) .d10-list{grid-template-columns:1fr}
}

/* Home banner: independent image motion and staggered copy. */
body.demo10.is-home .d10-hero{position:relative;isolation:isolate;overflow:hidden;background:#151411}
body.demo10.is-home .d10-hero>.d10-hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform-origin:65% 50%;animation:d10-pan 12s ease-in-out infinite alternate;pointer-events:none}
body.demo10.is-home .d10-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151411e8 0%,#151411af 47%,#15141129 100%);pointer-events:none}
body.demo10.is-home .d10-hero>:not(.d10-hero-media){animation:d10-copy-in .85s ease-out both}
body.demo10.is-home .d10-hero>h1{animation-delay:.14s}
body.demo10.is-home .d10-hero>.d10-rule{animation-delay:.25s}
body.demo10.is-home .d10-hero>.d2-lede{animation-delay:.34s}
body.demo10.is-home .d10-hero>.d2-hero-cta{animation-delay:.46s}
@keyframes d10-pan{from{transform:scale(1.03) translateX(0)}to{transform:scale(1.12) translateX(-1.5%)}}
@keyframes d10-copy-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body.demo10.is-home .d10-hero>.d10-hero-media,body.demo10.is-home .d10-hero>:not(.d10-hero-media){animation:none;transform:none;opacity:1}}

body.demo10:is(.is-home,.is-about) .d10-list article>span{display:block;margin-bottom:12px;font-size:12px;color:var(--theme-primary-dark)}
body.demo10:is(.is-home,.is-about) .d10-list h3{margin:0 0 14px;font-size:19px;line-height:1.4}
body.demo10:is(.is-home,.is-about) .d10-list p{margin:0;line-height:1.75}
@media(max-width:600px){body.demo10:is(.is-home,.is-about) .d10-list article{padding:24px}body.demo10:is(.is-home,.is-about) .d10-list{gap:18px}}
