/* ============================================================
   MAISON — fashion magazine
   Scoped to body.d-maison. 1rem = 10px.
   ============================================================ */
body.d-maison{
  --ms-ink:#1a1020;--ms-blush:#f7efec;--ms-rose:#efdcd6;--ms-plum:var(--biz-deep);--ms-soft:#4a3f4e;--ms-mute:#6e6272;--ms-line:rgba(26,16,32,.14);
  --bg-primary:var(--ms-blush);--bg-secondary:#f1e5e1;--bg-card:#fffaf8;--bg-inset:#efe3df;
  --fg-primary:var(--ms-ink);--fg-soft:var(--ms-soft);--fg-muted:var(--ms-mute);--border-color:var(--ms-line);--border-strong:rgba(26,16,32,.3);
  background:var(--ms-blush);color:var(--ms-ink);font-family:'Syne',system-ui,sans-serif
}
body.d-maison h1,body.d-maison h2,body.d-maison h3{font-family:'Italiana',Georgia,serif;font-weight:400}
body.d-maison em{font-family:'Italiana',serif;font-style:normal;color:var(--ms-plum)}
.ms-kick{font-size:1.15rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--ms-plum);margin-bottom:1.8rem}

body.d-maison .bx-nav{background:rgba(247,239,236,.8)}
body.d-maison .bx-brand-mark{border-radius:50%;background:#fff}
body.d-maison .bx-brand-txt b{font-family:'Italiana',serif;font-weight:400;font-size:2.1rem;letter-spacing:.04em}
body.d-maison .bx-nav-links a{font-weight:500;font-size:1.15rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ms-soft)}
body.d-maison .bx-nav-links a::after{height:1px;background:var(--ms-ink)}
body.d-maison .bx-nav-links a.active{color:var(--ms-ink)}
body.d-maison .bx-nav-cta{background:var(--ms-ink);border-radius:0;letter-spacing:.12em;text-transform:uppercase;font-weight:500;font-size:1.05rem}

/* hero */
.ms-hero{padding:calc(var(--nav-h) + 3rem) 3rem 6rem;overflow:hidden}
.ms-hero-in{max-width:var(--max-w);margin:0 auto}
.ms-cover-meta{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-block:1px solid var(--ms-ink);font-size:1.15rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.ms-title{font-size:clamp(7rem,15.5vw,22rem);line-height:.85;letter-spacing:-.01em;text-align:center;margin:2.4rem 0 1rem;white-space:nowrap}
.ms-cover{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:end}
.ms-tag{font-family:'Italiana',serif;font-size:clamp(3rem,3.6vw,4.4rem);line-height:1.05;color:var(--ms-plum)}
.ms-lede{font-size:1.6rem;line-height:1.7;color:var(--ms-soft);margin-top:2rem;max-width:40ch}
.ms-actions{display:flex;align-items:center;flex-wrap:wrap;gap:2.4rem;margin-top:3.4rem}
.ms-btn{display:inline-flex;align-items:center;gap:1.2rem;padding:1.7rem 3rem;font-size:1.2rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;transition:background .3s,transform .3s var(--ease)}
.ms-btn-ink{background:var(--ms-ink);color:var(--ms-blush)}
.ms-btn-ink:hover{background:var(--ms-plum)}
.ms-btn i{transition:transform .3s}
.ms-btn:hover i{transform:translateX(5px)}
.ms-link{font-size:1.2rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:.3rem}
.ms-collage{position:relative;height:620px}
.ms-arch{position:absolute;left:22%;right:22%;top:0;bottom:0;border-radius:999px 999px 0 0;overflow:hidden;background:var(--ms-rose)}
.ms-arch img{width:100%;height:100%;object-fit:cover}
.ms-mono{display:flex;align-items:center;justify-content:center;height:100%;font-family:'Italiana',serif;font-size:12rem;color:var(--ms-plum)}
.ms-pic{position:absolute;overflow:hidden;box-shadow:0 30px 60px rgba(26,16,32,.2);border:8px solid #fffaf8;will-change:transform}
.ms-pic img{width:100%;height:100%;object-fit:cover}
.ms-pic-a{left:0;top:12%;width:34%;aspect-ratio:3/4}
.ms-pic-b{right:0;bottom:6%;width:32%;aspect-ratio:1/1;border-radius:50%}
.ms-seal{position:absolute;right:18%;top:4%;width:96px;height:96px;border-radius:50%;background:#fffaf8;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 40px rgba(26,16,32,.18);animation:ms-spin 20s linear infinite;overflow:hidden;font-family:'Italiana',serif;font-size:3rem}
.ms-seal img{width:70%;height:70%;object-fit:contain;animation:ms-spin 20s linear infinite reverse}
@keyframes ms-spin{to{transform:rotate(360deg)}}

.ms-run{overflow:hidden;border-block:1px solid var(--ms-ink);padding:2.2rem 0;background:var(--ms-blush)}
.ms-run-track{display:flex;align-items:center;gap:3rem;width:max-content;animation:ms-run 36s linear infinite}
.ms-run span{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(4rem,6vw,7.4rem);text-transform:uppercase;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--ms-ink);letter-spacing:-.02em;white-space:nowrap}
.ms-run span:nth-of-type(3n+2){color:var(--ms-ink);-webkit-text-stroke:0}
.ms-run i{font-style:normal;font-size:3rem;color:var(--ms-plum)}
@keyframes ms-run{to{transform:translateX(-50%)}}

/* sections */
.ms-sec{padding:11rem 3rem}
.ms-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.ms-sec-tint{background:#f1e5e1}
.ms-sec-ink{background:var(--ms-ink);color:var(--ms-blush);padding-block:6rem}
.ms-head{margin-bottom:5rem}
.ms-head-c{text-align:center}
.ms-sec h2{font-size:clamp(4.4rem,6.4vw,8.4rem);line-height:.95}

.ms-about{max-width:1100px}
.ms-drop{font-family:'Italiana',serif;font-size:clamp(2.8rem,3.6vw,4.6rem);line-height:1.2}
.ms-drop::first-letter{float:left;font-size:3.1em;line-height:.8;padding:.5rem 1.4rem 0 0;color:var(--ms-plum)}
.ms-about-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4rem;margin-top:5rem;padding-top:4rem;border-top:1px solid var(--ms-line)}
.ms-about-cols p{font-size:1.55rem;line-height:1.8;color:var(--ms-soft)}

.ms-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:2.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2rem;max-width:none!important;margin-right:-3rem!important;padding-right:3rem;scrollbar-width:thin}
.ms-prod{scroll-snap-align:start;display:flex;flex-direction:column;gap:1rem}
.ms-prod-img{position:relative;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:6rem;color:rgba(255,255,255,.85);transition:transform .6s var(--ease)}
.ms-prod-img img{width:100%;height:100%;object-fit:cover}
.ms-prod-img i{transition:transform .8s var(--ease);filter:drop-shadow(0 10px 20px rgba(0,0,0,.15))}
.ms-prod:hover .ms-prod-img i{transform:scale(1.2) rotate(-8deg)}
.ms-hue-0{background:linear-gradient(160deg,#e9c9c0,#b98b9e)}.ms-hue-1{background:linear-gradient(160deg,#d8c7e8,#8f6fb3)}.ms-hue-2{background:linear-gradient(160deg,#f1dcc2,#c79a6b)}.ms-hue-3{background:linear-gradient(160deg,#c9d6e6,#7c8fb0)}
.ms-prod-n{position:absolute;left:1.4rem;top:1.2rem;font-size:1.1rem;font-weight:700;letter-spacing:.2em;color:#fff}
.ms-prod-row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-top:.6rem}
.ms-prod-row b{font-family:'Italiana',serif;font-weight:400;font-size:2.3rem;line-height:1.1}
.ms-prod-row span{font-weight:700;font-size:1.5rem;white-space:nowrap}
.ms-prod small{font-size:1.3rem;color:var(--ms-mute);line-height:1.5}

.ms-cats{border-top:1px solid var(--ms-ink)}
.ms-cats a{display:grid;grid-template-columns:70px 1fr auto;column-gap:2rem;align-items:center;padding:2.6rem 0;border-bottom:1px solid var(--ms-ink);transition:padding .4s var(--ease),color .3s}
.ms-cats-n{font-size:1.3rem;font-weight:700;letter-spacing:.14em;grid-row:span 2}
.ms-cats b{font-family:'Italiana',serif;font-weight:400;font-size:clamp(3.2rem,4.6vw,5.8rem);line-height:1}
.ms-cats small{grid-column:2;font-size:1.35rem;color:var(--ms-mute);margin-top:.6rem}
.ms-cats i{grid-column:3;grid-row:1 / span 2;font-size:2rem;transform:rotate(-45deg);transition:transform .35s var(--ease)}
.ms-cats a:hover{padding-left:2rem;color:var(--ms-plum)}
.ms-cats a:hover i{transform:none}

.ms-promise{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:3rem;text-align:center}
.ms-promise-item i{font-size:2.4rem;color:#e7c6f5;margin-bottom:1.4rem;display:block}
.ms-promise-item h3{font-size:2.2rem;letter-spacing:.02em}
.ms-promise-item p{font-size:1.3rem;opacity:.7;margin-top:.6rem}

.ms-gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:110px;gap:1.4rem}
.ms-gal-item{padding:0;overflow:hidden;cursor:zoom-in;grid-column:span 2;grid-row:span 3;background:var(--ms-rose)}
.ms-gal-item:nth-child(4n+1){grid-row:span 4}
.ms-gal-item:nth-child(4n+2){grid-row:span 2;border-radius:999px 999px 0 0}
.ms-gal-item:nth-child(4n+3){grid-row:span 4}
.ms-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ms-gal-item:hover img{transform:scale(1.06)}

.ms-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}
.ms-rev-card{background:#fffaf8;padding:3.4rem 3rem;position:relative}
.ms-rev-q{font-family:'Italiana',serif;font-size:9rem;line-height:.6;color:var(--ms-plum);display:block;height:3.6rem}
.ms-rev-card blockquote{font-size:1.6rem;line-height:1.65}
.ms-rev-card figcaption{margin-top:2rem;font-size:1.25rem;letter-spacing:.08em;color:var(--ms-mute)}
.ms-rev-card b{color:var(--ms-ink)}

body.d-maison .hours-card{max-width:none}
body.d-maison .hours-row{border-radius:0}

.ms-contact{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.ms-contact h2{margin-bottom:3.4rem}
body.d-maison .ci{border-radius:0;background:#fffaf8}
body.d-maison .ci-ico{background:var(--ms-rose);color:var(--ms-plum)}
body.d-maison .contact-form{border-radius:0;background:#fffaf8}
body.d-maison .contact-form h3{font-family:'Italiana',serif;font-size:3.2rem;margin-bottom:2rem}
body.d-maison .cf-field input,body.d-maison .cf-field textarea{border-radius:0;background:var(--ms-blush)}
body.d-maison .btn-onbiz{background:var(--ms-ink);border-radius:0;letter-spacing:.2em}
body.d-maison .btn-onbiz:hover{background:var(--ms-plum);filter:none}
.ms-map{margin-top:4rem}
body.d-maison .biz-map{border-radius:0}
.ms-share{max-width:var(--max-w);margin:0 auto;padding:0 3rem}

body.d-maison .bx-foot{background:var(--ms-ink);color:var(--ms-blush);border-top:0}
body.d-maison .bx-foot p,body.d-maison .bx-foot li,body.d-maison .bx-foot a{color:rgba(247,239,236,.72)}
body.d-maison .bx-foot-col h2{color:#e7c6f5}
body.d-maison .bx-foot .bx-brand-txt b{color:#fff;font-family:'Italiana',serif;font-weight:400;font-size:2.4rem}
body.d-maison .bx-foot .btn{border-radius:0}
body.d-maison .bx-foot .btn-onbiz{background:var(--ms-blush);color:var(--ms-ink)}
body.d-maison .bx-foot .btn-outline{border-color:rgba(247,239,236,.4);color:#fff}
body.d-maison .bx-foot-bottom{border-top-color:rgba(247,239,236,.12)}

@media (max-width:980px){
  .ms-cover,.ms-contact{grid-template-columns:1fr}
  .ms-collage{height:520px;order:-1}
  .ms-title{white-space:normal}
  .ms-gal{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:640px){
  .ms-hero{padding:calc(var(--nav-h) + 2rem) 1.6rem 4rem}
  .ms-cover-meta{font-size:.95rem;letter-spacing:.14em}
  .ms-title{font-size:clamp(5.4rem,19vw,9rem)}
  .ms-collage{height:420px}
  .ms-arch{left:14%;right:14%}
  .ms-seal{width:70px;height:70px;right:6%}
  .ms-sec{padding:7rem 1.6rem}
  .ms-shelf{margin-right:-1.6rem!important;padding-right:1.6rem;grid-auto-columns:78%}
  .ms-cats a{grid-template-columns:40px 1fr;column-gap:1.2rem}
  .ms-cats i{display:none}
  .ms-gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:90px}
  .ms-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.ms-run-track,.ms-seal,.ms-seal img{animation:none}}
