/* ═══════════════════════════════════════════════════════════════
   MAISON KARU — Explore Page Styles
═══════════════════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

:root{
  --gold:#C4935A;--gold-dim:rgba(196,147,90,.42);--gold-faint:rgba(196,147,90,.12);
  --ink:#0D0A08;--ivory:#F2EDE4;--warm:#E8E2D8;--sand:#C5BAA3;--stone:#6B6560;
}

body{background:var(--ivory);font-family:'Montserrat',sans-serif;font-weight:300;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
#announcement{display:none!important;}

/* OFFSET & TABS */
.page-offset{height:64px;}
@media(max-width:860px){.page-offset{height:56px;}.tab-nav{top:56px;}}

.tab-nav{position:sticky;top:64px;z-index:200;background:rgba(242,237,228,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.09);display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.tab-nav::-webkit-scrollbar{display:none;}
.tab-btn{flex-shrink:0;padding:17px 28px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:300;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap;}
.tab-btn:hover{color:var(--ink);}
.tab-btn.active{color:var(--ink);border-bottom-color:var(--gold);}
.tab-btn .soon{font-size:9px;letter-spacing:.15em;color:var(--gold-dim);margin-left:6px;}

/* PANELS */
.panel{display:none;}
.panel.on{display:block;animation:fadeUp .38s ease both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* SHARED TYPE */
.eyebrow{display:block;font-size:10px;letter-spacing:.52em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:18px;}
.display{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3rem);font-weight:200;line-height:1.07;color:var(--ink);margin-bottom:22px;}
.display em{font-style:italic;color:var(--gold);}
.imp-text .display em{color:#fff;}
.prose{font-size:14px;line-height:1.95;color:rgba(13,10,8,.55);margin-bottom:32px;}
.prose-light{color:rgba(13,10,8,.48);}
.cta{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);background:none;border:none;border-bottom:1px solid rgba(196,147,90,.38);padding-bottom:4px;cursor:pointer;transition:gap .22s,opacity .22s;}
.cta:hover{gap:16px;opacity:.75;}

/* HISTOIRE DRAWER */
#histoire-drawer{position:fixed;top:0;right:-110%;width:min(520px,100vw);height:100%;background:var(--ivory);z-index:9999;overflow-y:auto;padding:76px 52px;box-shadow:-24px 0 80px rgba(0,0,0,.16);transition:right .44s cubic-bezier(.4,0,.2,1);}
.dx-btn{position:absolute;top:26px;right:26px;background:none;border:none;font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);cursor:pointer;padding:8px;}
.dx-btn:hover{color:var(--ink);}
.d-ey{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:16px;}
.d-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:200;color:var(--ink);line-height:1.06;margin-bottom:22px;}
.d-title em{font-style:italic;color:var(--gold);}
.d-rule{height:1px;background:rgba(196,147,90,.15);margin-bottom:28px;}
.d-body{font-size:14px;line-height:2.1;color:rgba(13,10,8,.52);margin-bottom:18px;}
#histoire-veil{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:9998;pointer-events:none;transition:background .4s;}

/* TAB 1 · LA MAISON */
.maison-split{display:grid;grid-template-columns:1fr 1fr;}
.ms-text{padding:76px 60px 76px 40px;display:flex;flex-direction:column;justify-content:center;}
.ms-img{position:relative;overflow:hidden;height:100%;min-height:520px;}
.ms-img-el{width:100%;height:100%;object-fit:cover;display:block;background:#d6ccbc;}
.manifesto{background:var(--sand);display:grid;grid-template-columns:repeat(3,1fr);}
.mi{padding:52px 44px;border-right:1px solid rgba(13,10,8,.05);}
.mi:last-child{border-right:none;}
.mi-n{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:200;color:rgba(255,242,227,0.692);line-height:1;margin-bottom:14px;}
.mi-title{font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;font-weight:200;color:var(--ink);margin-bottom:10px;}
.mi-body{font-size:13px;line-height:1.9;color:rgba(13,10,8,.55);}

/* TAB 2 · L'IMPRIMÉ */
.imprime-wrap{background:var(--sand);}
.imprime-split{display:grid;grid-template-columns:1fr 1fr;}
.imp-img{position:relative;overflow:hidden;border-right:1px solid rgba(196,147,90,.07);aspect-ratio:4/5;}
.imp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.imp-text{padding:76px 52px 76px 60px;display:flex;flex-direction:column;justify-content:center;}
.blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:rgba(255,255,255,0.85);line-height:1.55;border-left:2px solid rgba(255,255,255,0.85);padding:2px 0 2px 20px;margin-bottom:24px;}
.imp-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(196,147,90,.12);}
.is-item{padding:40px 44px;border-right:1px solid rgba(196,147,90,.07);}
.is-item:last-child{border-right:none;}
.is-mark{font-size:20px;color:#fff;margin-bottom:12px;}
.is-label{font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:#fff;margin-bottom:10px;}
.is-text{font-size:13px;line-height:1.9;color:rgb(13,10,8);}

/* TAB 3 · LA FEMME */
.femme-intro{padding:68px 40px 52px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;border-bottom:1px solid rgba(0,0,0,.07);}
.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;}
.pcard{background:var(--ivory);border:1px solid rgba(0,0,0,.06);overflow:hidden;cursor:pointer;transition:box-shadow .3s;}
.pcard:hover{box-shadow:0 14px 44px rgba(0,0,0,.11);}
.pcard-img{position:relative;aspect-ratio:3/4;overflow:hidden;}
.pcard-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.pcard:hover .pcard-bg{transform:scale(1.04);}
.pcard-imgcap{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 14px;background:linear-gradient(to top,rgba(13,10,8,.4) 0%,transparent 100%);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;color:rgba(255,255,255,.4);z-index:2;}
.pcard-body{padding:22px 20px 26px;}
.pcard-city{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:200;margin-bottom:4px;}
.pcard-role{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.pcard-text{font-size:13px;line-height:1.85;color:rgba(13,10,8,.48);}

/* TAB 4 · POP-UP */
.popup-mocap-container{background:var(--ivory);width:100%;}
.main-row{display:grid;grid-template-columns:200px 1fr 260px;gap:0;padding:48px 40px 0;align-items:start;}
.loc-list{padding-right:24px;padding-top:2px;}
.loc-item{padding:9px 0;cursor:pointer;transition:color .15s;}
.loc-type{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);margin-bottom:3px;display:block;}
.loc-name{font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:300;color:#c0bcb8;line-height:1.4;display:block;transition:color .15s;}
.loc-city{font-size:10px;letter-spacing:.03em;color:#c8c4c0;display:block;margin-top:4px;line-height:1.65;}
.loc-item.active .loc-name{color:var(--ink);}
.loc-item.active .loc-city{color:#666;}
.loc-item:hover .loc-name{color:#555;}
.loc-divider{height:1px;background:rgba(0,0,0,0.09);margin:8px 0;}
.center-img{position:relative;overflow:hidden;background:#d8d4cc;aspect-ratio:4/3;}
.img-scene{position:absolute;inset:0;opacity:1;transition:opacity .5s ease;}
.img-scene.hidden{opacity:0;pointer-events:none;}
.img-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.img-caption{position:absolute;bottom:14px;left:16px;font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.45);font-style:italic;z-index:5;}
.info-block{padding-left:40px;padding-top:2px;transition:opacity .35s ease;}
.info-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin-bottom:6px;display:block;}
.info-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:300;color:var(--ink);line-height:1.2;margin-bottom:20px;}
.info-section{margin-bottom:20px;}
.info-section-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin-bottom:6px;display:block;}
.info-address,.info-dates{font-size:12px;line-height:1.8;color:var(--ink);}
.info-cta{display:inline-block;margin-top:24px;padding:10px 18px;border:1px solid var(--ink);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;cursor:pointer;transition:background .15s,color .15s;background:transparent;}
.info-cta:hover{background:var(--ink);color:#fff;}
.map-row{padding:40px 40px 48px;margin-top:0;}
.map-frame{position:relative;height:360px;overflow:hidden;border:1px solid rgba(0,0,0,.07);}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block;transition:opacity .4s ease;}
.map-frame iframe.hidden{opacity:0;pointer-events:none;}

/* RESPONSIVE */
@media(max-width:960px){
  .main-row{grid-template-columns:1fr;gap:32px;padding:32px 24px 0;}
  .info-block{padding-left:0;}
  .center-img{aspect-ratio:3/2;}
  .map-row{padding:24px;}
  .maison-split{grid-template-columns:1fr;}
  .ms-text{padding:52px 24px 44px;}
  .ms-img{aspect-ratio:16/9;min-height:unset;}
  .manifesto{grid-template-columns:1fr;}
  .mi{border-right:none;border-bottom:1px solid rgba(13,10,8,.05);padding:40px 24px;}
  .mi:last-child{border-bottom:none;}
  .imprime-split{grid-template-columns:1fr;}
  .imp-img{aspect-ratio:3/2;border-right:none;border-bottom:1px solid rgba(196,147,90,.07);}
  .imp-text{padding:48px 24px;}
  .imp-strip{grid-template-columns:1fr;}
  .is-item{border-right:none;border-bottom:1px solid rgba(196,147,90,.07);padding:32px 24px;}
  .is-item:last-child{border-bottom:none;}
  .femme-intro{grid-template-columns:1fr;padding:48px 24px 40px;gap:22px;}
  .portrait-grid{grid-template-columns:1fr;gap:3px;padding:0;}
  .pcard-img{aspect-ratio:3/4;}
}
@media(max-width:520px){
  .tab-btn{padding:14px;font-size:8.5px;letter-spacing:.2em;}
}
