/* ============================================================
   DAIBA — Slow Couture · style.css for demo.uichemy.com
   Transcribed from the DAIBA master prompt's appendix (style.css,
   sha256 8c1956208cb0985d) with two mechanical changes only:
     1. every rule scoped to .uichemy-daiba-1 (document-level rules
        re-expressed as html:has(.uichemy-daiba-1)), so the page's CSS
        cannot touch the rest of the site;
     2. a WordPress/Elementor compatibility appendix at the end.
   No value, colour, size or order has been changed.
   ============================================================ */
html:has(.uichemy-daiba-1){ -webkit-font-smoothing:antialiased; overflow-x:hidden; }
html:has(.uichemy-daiba-1) body{ font-family:var(--sans); font-weight:300; background:var(--sand); color:var(--ink); line-height:1.5; overflow-x:hidden; }
html:has(.uichemy-daiba-1) body.is-locked{ overflow:hidden; }
html:has(.uichemy-daiba-1).lenis{ height:auto; }
html:has(.uichemy-daiba-1).lenis body{ height:auto; }
html:has(.uichemy-daiba-1).lenis.lenis-stopped{ overflow:hidden; }

/* ── token collision guard (added for the demo.uichemy.com port) ──────────
   Elementor's flexbox containers declare their OWN custom property named
   --display (`--display:flex` on .e-con/.e-flex). DAIBA's --display is its
   display FONT, so inside an Elementor container the inherited value won
   and every Fraunces heading fell back to `font-family:flex` — measured on
   the live page: .hero__title 952px wide became 1011px.
   Re-declaring the whole token set on the section root beats anything
   inherited from a wrapper, now and for any future collision. */
.uichemy-daiba-1{
  --sand:   #ece5d7;
  --sand-2: #e1d7c4;
  --sand-3: #f4efe4;
  --ink:    #211a12;
  --ink-2:  #7c7264;
  --olive:  #6b6a3a;
  --olive-2:#9a9857;
  --line:   rgba(33,26,18,.16);
  --display:"Fraunces", Georgia, serif;
  --sans:   "Space Grotesk", system-ui, sans-serif;
  --ease:   cubic-bezier(.19,1,.22,1);
  --pad:    clamp(20px, 5vw, 96px);
  --maxw:   1560px;
  --card-radius: 12px;
  --card-shadow: 0 22px 50px rgba(33,26,18,.20);
}

/* ── theme neutraliser (added for the demo.uichemy.com port) ────────────────
   The WordPress theme styles bare elements — headings get their own
   font/line-height/margin, img gets max-width:100%/height:auto, buttons and
   lists get UA-plus-theme chrome. DAIBA inherits those properties from body,
   so the theme silently changes its type metrics (measured: .pc__row h3 lost
   4px of line box, which walked the whole page up 8px).
   This puts every element the theme touches back to what the standalone page
   gets, at (0,1,1) so it outranks the theme's element selectors — and it sits
   BEFORE DAIBA's own rules so any rule of DAIBA's still wins on source order.
   Inline elements (span/strong/em/i/b) are deliberately NOT reset: they must
   keep inheriting letter-spacing and text-transform from their parent. */
.uichemy-daiba-1 h1, .uichemy-daiba-1 h2, .uichemy-daiba-1 h3,
.uichemy-daiba-1 h4, .uichemy-daiba-1 h5, .uichemy-daiba-1 h6,
.uichemy-daiba-1 p, .uichemy-daiba-1 blockquote, .uichemy-daiba-1 figure,
.uichemy-daiba-1 figcaption, .uichemy-daiba-1 ul, .uichemy-daiba-1 ol,
.uichemy-daiba-1 li, .uichemy-daiba-1 dl, .uichemy-daiba-1 dt, .uichemy-daiba-1 dd,
.uichemy-daiba-1 label, .uichemy-daiba-1 small{
  margin:0; padding:0; border:0; background:none;
  font:inherit; line-height:inherit; letter-spacing:inherit; color:inherit;
}
.uichemy-daiba-1 ul, .uichemy-daiba-1 ol{ list-style:none; }
/* Form controls do NOT inherit font or line-height in a browser, and DAIBA
   never normalises them either (.pc__media really is UA Arial 13.33px/normal).
   So only the BOX the theme adds is reset here — never the type. */
.uichemy-daiba-1 button, .uichemy-daiba-1 input,
.uichemy-daiba-1 select, .uichemy-daiba-1 textarea{
  margin:0; padding:0; background:none; border-radius:0; box-shadow:none;
  min-height:0; text-transform:none; letter-spacing:normal;
}
.uichemy-daiba-1 button{ cursor:pointer; }
.uichemy-daiba-1 a{ color:inherit; text-decoration:none; }
.uichemy-daiba-1 img, .uichemy-daiba-1 svg, .uichemy-daiba-1 video{
  max-width:none; height:auto; border:0;   /* the theme's max-width:100%/height:auto is not in the source */
}
/* ============================================================
   DAIBA — v2 · Sand & Olive · Syne / Space Grotesk
   ============================================================ */
:root{
  --sand:   #ece5d7;
  --sand-2: #e1d7c4;
  --sand-3: #f4efe4;
  --ink:    #211a12;
  --ink-2:  #7c7264;
  --olive:  #6b6a3a;
  --olive-2:#9a9857;
  --line:   rgba(33,26,18,.16);
  --display:"Fraunces", Georgia, serif;
  --sans:   "Space Grotesk", system-ui, sans-serif;
  --ease:   cubic-bezier(.19,1,.22,1);
  --pad:    clamp(20px, 5vw, 96px);
  --maxw:   1560px;
  --card-radius: 12px;
  --card-shadow: 0 22px 50px rgba(33,26,18,.20);
}
.uichemy-daiba-1 *{ margin:0; padding:0; box-sizing:border-box; }
.uichemy-daiba-1 a{ color:inherit; text-decoration:none; }
.uichemy-daiba-1 img{ display:block; }
.uichemy-daiba-1 ::selection{ background:var(--olive); color:var(--sand); }
/* grain */
.uichemy-daiba-1 .grain{ position:fixed; inset:0; z-index:700; pointer-events:none; opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
/* shared */
.uichemy-daiba-1 .label{ display:inline-flex; align-items:center; gap:12px; font-family:var(--sans); font-size:11px; font-weight:400; letter-spacing:.22em; text-transform:uppercase; color:var(--olive); }
.uichemy-daiba-1 .label.center{ justify-content:center; }
.uichemy-daiba-1 .label.light{ color:var(--sand); }
.uichemy-daiba-1 .sec-title, .uichemy-daiba-1 .runway__title, .uichemy-daiba-1 .feature__title, .uichemy-daiba-1 .house__title, .uichemy-daiba-1 .atelier__title{ font-family:var(--display); font-weight:500; font-optical-sizing:auto; font-size:clamp(38px,7vw,108px); line-height:.98; letter-spacing:-.015em; }
.uichemy-daiba-1 .sec-title i, .uichemy-daiba-1 .runway__title i, .uichemy-daiba-1 .feature__title i, .uichemy-daiba-1 .house__title i, .uichemy-daiba-1 .atelier__title i, .uichemy-daiba-1 .hero__title .ital{ font-style:italic; font-weight:400; color:var(--olive); }
.uichemy-daiba-1 .sec-head{ display:flex; flex-direction:column; gap:20px; padding-bottom:clamp(40px,5vw,74px); }
.uichemy-daiba-1 .sec-head--right{ align-items:flex-end; text-align:right; }
.uichemy-daiba-1 .btn{ display:inline-block; font-family:var(--sans); font-size:12px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; padding:15px 32px; border:1px solid var(--ink); color:var(--ink); border-radius:100px; cursor:pointer; background:none; transition:background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease); }
.uichemy-daiba-1 .btn:hover{ background:var(--ink); color:var(--sand); }
.uichemy-daiba-1 .btn--light{ border-color:var(--sand); color:var(--sand); }
.uichemy-daiba-1 .btn--light:hover{ background:var(--sand); color:var(--ink); }
.uichemy-daiba-1 .btn--arrow{ display:inline-flex; align-items:center; gap:9px; }
.uichemy-daiba-1 .btn--arrow::after{ content:"→"; display:inline-block; transition:transform .4s var(--ease); }
.uichemy-daiba-1 .btn--arrow:hover::after{ transform:translateX(5px); }
/* split-word fallback masks */
.uichemy-daiba-1 .wm{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.uichemy-daiba-1 .wi{ display:inline-block; }
/* progress */
.uichemy-daiba-1 .progress{ position:fixed; top:0; left:0; width:100%; height:2px; z-index:800; }
.uichemy-daiba-1 .progress i{ display:block; height:100%; width:100%; background:var(--olive); transform:scaleX(0); transform-origin:0 50%; }
/* media */
.uichemy-daiba-1 .media{ position:relative; overflow:hidden; background:var(--sand-2); border-radius:var(--card-radius); }
.uichemy-daiba-1 .media img{ width:100%; height:100%; object-fit:cover; filter:contrast(1.02) saturate(1.05); transition:transform 1.3s var(--ease), filter .9s var(--ease); }
.uichemy-daiba-1 .media:hover img{ transform:scale(1.06); }
/* cursor */
.uichemy-daiba-1 .cursor{ position:fixed; top:0; left:0; z-index:900; pointer-events:none; width:10px; height:10px; border:1px solid var(--ink); border-radius:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; transition:width .4s var(--ease), height .4s var(--ease), background .4s, border-color .4s; }
.uichemy-daiba-1 .cursor.is-hover{ width:82px; height:82px; background:var(--olive); border-color:var(--olive); }
.uichemy-daiba-1 .cursor__label{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--sand); opacity:0; transition:opacity .3s; }
.uichemy-daiba-1 .cursor.is-hover .cursor__label{ opacity:1; }
@media (hover:none){
  .uichemy-daiba-1 .cursor{ display:none; }
}
/* nav */
.uichemy-daiba-1 .nav{ position:fixed; top:0; left:0; width:100%; z-index:200; display:flex; align-items:center; justify-content:space-between; padding:22px var(--pad); mix-blend-mode:normal; }
.uichemy-daiba-1 .nav__logo{ display:flex; align-items:center; gap:12px; }
.uichemy-daiba-1 .mark{ width:30px; height:30px; }
.uichemy-daiba-1 .mark__p{ stroke:var(--olive); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.uichemy-daiba-1 .mark__dot, .uichemy-daiba-1 .emblem__dot{ fill:var(--olive); stroke:none; }
/* reusable monogram (footer + menu) */
.uichemy-daiba-1 .mono svg{ width:100%; height:auto; display:block; }
.uichemy-daiba-1 .mono__p{ stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.uichemy-daiba-1 .mono__dot{ fill:currentColor; stroke:none; }
.uichemy-daiba-1 .footer__logo{ display:block; width:46px; margin:0 auto 26px; color:var(--olive); }
.uichemy-daiba-1 .menu__logo{ position:absolute; top:24px; left:var(--pad); width:34px; color:var(--olive-2); }
/* wayfinding counter */
.uichemy-daiba-1 .wayfind{ position:fixed; left:var(--pad); bottom:26px; z-index:190; display:flex; align-items:baseline; gap:8px; font-family:var(--sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--sand); mix-blend-mode:difference; pointer-events:none; transition:opacity .4s var(--ease); }
.uichemy-daiba-1 .wayfind__no{ font-family:var(--display); font-weight:600; font-size:15px; letter-spacing:0; }
.uichemy-daiba-1 .wayfind__sep{ opacity:.5; }
.uichemy-daiba-1 .wayfind.is-hidden{ opacity:0; }
/* back-to-top monogram */
.uichemy-daiba-1 .totop{ position:fixed; right:var(--pad); bottom:22px; z-index:190; width:48px; height:48px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; color:var(--olive); background:var(--sand); opacity:0; transform:translateY(14px) scale(.9); pointer-events:none; transition:opacity .5s var(--ease), transform .5s var(--ease), border-color .3s, background .3s; }
.uichemy-daiba-1 .totop.is-visible{ opacity:1; transform:none; pointer-events:auto; }
.uichemy-daiba-1 .totop.is-hidden{ opacity:0!important; pointer-events:none; }
.uichemy-daiba-1 .totop svg{ width:22px; height:22px; }
.uichemy-daiba-1 .totop:hover{ border-color:var(--olive); background:var(--sand-3); }
@media (max-width:640px){
  .uichemy-daiba-1 .wayfind{ display:none; }
  .uichemy-daiba-1 .totop{ width:44px; height:44px; }
}
.uichemy-daiba-1 .nav__word{ font-family:var(--display); font-weight:600; font-size:20px; letter-spacing:.16em; }
.uichemy-daiba-1 .nav__links{ display:flex; gap:30px; }
.uichemy-daiba-1 .nlink{ position:relative; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); transition:color .3s; }
.uichemy-daiba-1 .nlink::after{ content:""; position:absolute; left:0; bottom:-5px; width:100%; height:1px; background:var(--olive); transform:scaleX(0); transform-origin:100% 50%; transition:transform .5s var(--ease); }
.uichemy-daiba-1 .nlink:hover{ color:var(--ink); }
.uichemy-daiba-1 .nlink:hover::after{ transform:scaleX(1); transform-origin:0 50%; }
.uichemy-daiba-1 .nav__book{ background:none; border:1px solid var(--line); border-radius:100px; padding:9px 20px; font:inherit; color:var(--ink); font-size:12px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:border-color .3s, background .3s; }
.uichemy-daiba-1 .nav__book:hover{ border-color:var(--ink); }
/* menu */
.uichemy-daiba-1 .menu{ position:fixed; inset:0; z-index:300; overflow:hidden; background:var(--ink); color:var(--sand); clip-path:inset(0 0 100% 0); pointer-events:none; display:flex; flex-direction:column; justify-content:center; padding:var(--pad); }
.uichemy-daiba-1 .menu.is-open{ pointer-events:auto; }
.uichemy-daiba-1 .menu__close{ position:absolute; top:26px; right:var(--pad); background:none; border:none; color:var(--sand); font:inherit; font-size:12px; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
.uichemy-daiba-1 .menu__list{ display:flex; flex-direction:column; gap:4px; }
.uichemy-daiba-1 .menu__link{ display:flex; align-items:baseline; gap:20px; font-family:var(--display); font-weight:500; font-size:clamp(30px,8vw,104px); line-height:1.12; letter-spacing:-.02em; }
.uichemy-daiba-1 .menu__link em{ font-family:var(--sans); font-style:normal; font-size:13px; letter-spacing:.1em; color:var(--olive-2); }
.uichemy-daiba-1 .menu__link span{ transition:color .35s, padding-left .35s; }
.uichemy-daiba-1 .menu__link:hover span{ color:var(--olive-2); padding-left:14px; }
.uichemy-daiba-1 .menu__foot{ display:flex; justify-content:space-between; margin-top:9vh; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.uichemy-daiba-1 .menu__preview{ position:fixed; top:0; left:0; width:clamp(180px,16vw,240px); aspect-ratio:3/4; overflow:hidden; border-radius:var(--card-radius); pointer-events:none; z-index:305; opacity:0; transform:translate(-50%,-50%) scale(.86); will-change:transform,opacity; }
.uichemy-daiba-1 .menu__preview img{ width:100%; height:100%; object-fit:cover; filter:contrast(1.02) saturate(1.05); }
@media (hover:none){
  .uichemy-daiba-1 .menu__preview{ display:none; }
}
/* ============ HERO (scattered gallery) ============ */
.uichemy-daiba-1 .hero{ position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:120px var(--pad); text-align:center; }
.uichemy-daiba-1 .hero__topfade{ position:absolute; top:0; left:0; right:0; height:20%; z-index:5; pointer-events:none; background:linear-gradient(180deg, var(--sand) 0%, rgba(236,229,215,.86) 34%, rgba(236,229,215,0) 100%); }
.uichemy-daiba-1 .hero__scatter{ position:absolute; inset:0; pointer-events:none; }
.uichemy-daiba-1 .simg{ position:absolute; aspect-ratio:3/4; overflow:hidden; border-radius:var(--card-radius); box-shadow:var(--card-shadow); will-change:transform, opacity; }
.uichemy-daiba-1 .sinner{ width:100%; height:100%; will-change:transform; }
.uichemy-daiba-1 .sinner img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08); filter:contrast(1.02) saturate(1.06); }
.uichemy-daiba-1 .hero__center{ position:relative; z-index:2; max-width:1040px; }
.uichemy-daiba-1 .hero__center::before{ content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(94vw,1200px); height:min(64vh,580px); background:radial-gradient(ellipse at center, var(--sand) 0%, var(--sand) 40%, rgba(236,229,215,.8) 58%, rgba(236,229,215,0) 80%); z-index:-1; pointer-events:none; }
.uichemy-daiba-1 .hero__mark{ width:clamp(54px,6vw,84px); margin:0 auto 22px; }
.uichemy-daiba-1 .emblem{ width:100%; height:auto; }
.uichemy-daiba-1 .emblem__p{ stroke:var(--olive); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.uichemy-daiba-1 .hero__eyebrow{ display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin-bottom:22px; }
.uichemy-daiba-1 .hero__title{ font-family:var(--display); font-weight:500; font-optical-sizing:auto; font-size:clamp(48px,9.4vw,150px); line-height:.98; letter-spacing:-.02em; }
.uichemy-daiba-1 .hero__meta{ display:flex; align-items:center; justify-content:center; gap:30px; margin-top:40px; flex-wrap:wrap; }
.uichemy-daiba-1 .hero__scroll{ display:inline-flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-2); }
.uichemy-daiba-1 .hero__scroll i{ display:block; width:44px; height:1px; background:var(--ink-2); position:relative; overflow:hidden; }
.uichemy-daiba-1 .hero__scroll i::after{ content:""; position:absolute; inset:0; background:var(--olive); animation:scrollLine 2.2s var(--ease) infinite; }
@keyframes scrollLine{ 0%{ transform:translateX(-100%); } 60%,100%{ transform:translateX(100%); } }
@media (max-width:640px){
  .uichemy-daiba-1 .hero__scatter{ opacity:.55; }
  .uichemy-daiba-1 .simg{ box-shadow:0 14px 34px rgba(33,26,18,.2); }
}
/* ============ MANIFESTO ============ */
.uichemy-daiba-1 .intro{ max-width:var(--maxw); margin:0 auto; padding:clamp(90px,13vw,200px) var(--pad); }
.uichemy-daiba-1 .intro__grid{ display:grid; grid-template-columns:200px 1fr; gap:clamp(30px,5vw,90px); }
.uichemy-daiba-1 .intro__aside{ display:flex; flex-direction:column; gap:8px; position:sticky; top:120px; height:max-content; }
.uichemy-daiba-1 .intro__aside .idx{ font-family:var(--display); font-weight:700; color:var(--olive); font-size:20px; }
.uichemy-daiba-1 .intro__body{ font-family:var(--display); font-weight:600; font-size:clamp(23px,3.5vw,50px); line-height:1.3; letter-spacing:-.01em; }
.uichemy-daiba-1 .intro__body .w{ display:inline-block; opacity:.18; }
/* ============ MARQUEE ============ */
.uichemy-daiba-1 .marquee{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; overflow:hidden; }
.uichemy-daiba-1 .marquee__row{ display:flex; white-space:nowrap; will-change:transform; }
.uichemy-daiba-1 .marquee__row span{ font-family:var(--display); font-weight:500; font-size:clamp(28px,5vw,60px); letter-spacing:-.01em; padding-right:.2em; }
.uichemy-daiba-1 .marquee__row i{ font-style:normal; color:var(--olive); margin:0 .3em; }
.uichemy-daiba-1 .marquee__row i.mq-dot{ display:inline-block; width:.32em; height:.32em; border-radius:50%; background:var(--olive); margin:0 .6em .14em; vertical-align:middle; }
/* ============ COLLECTION ============ */
.uichemy-daiba-1 .collection{ max-width:var(--maxw); margin:0 auto; padding:clamp(60px,8vw,120px) var(--pad); }
.uichemy-daiba-1 .pieces{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.4vw,46px); perspective:1200px; }
.uichemy-daiba-1 .pc__media{ position:relative; display:block; width:100%; aspect-ratio:3/4; border:none; padding:0; overflow:hidden; border-radius:var(--card-radius); background:var(--sand-2); cursor:pointer; transform-style:preserve-3d; will-change:transform; }
.uichemy-daiba-1 .pc__media img{ width:100%; height:100%; object-fit:cover; filter:contrast(1.02) saturate(1.05); transition:transform 1.2s var(--ease), filter .8s var(--ease); }
.uichemy-daiba-1 .pc:hover .pc__media img{ transform:scale(1.05); filter:brightness(.9) contrast(1.02) saturate(1.05); }
.uichemy-daiba-1 .pc__media::after{ content:"Open ↗"; position:absolute; top:12px; left:12px; z-index:2; padding:6px 12px; border-radius:100px; background:var(--sand); color:var(--ink); font-size:10px; letter-spacing:.14em; text-transform:uppercase; opacity:0; transform:translateY(-6px); transition:opacity .35s var(--ease), transform .35s var(--ease); pointer-events:none; }
.uichemy-daiba-1 .pc:hover .pc__media::after{ opacity:1; transform:none; }
.uichemy-daiba-1 .pc__row{ display:flex; align-items:baseline; gap:12px; margin-top:16px; }
.uichemy-daiba-1 .pc__no{ font-family:var(--display); font-weight:700; font-size:13px; color:var(--olive); }
.uichemy-daiba-1 .pc__row h3{ font-family:var(--display); font-weight:600; font-size:20px; letter-spacing:-.01em; }
.uichemy-daiba-1 .pc__cat{ margin-left:auto; font-size:12px; letter-spacing:.03em; color:var(--ink-2); }
/* collection detail (Flip) */
.uichemy-daiba-1 .detail{ position:fixed; inset:0; z-index:600; visibility:hidden; }
.uichemy-daiba-1 .detail.is-open{ visibility:visible; }
.uichemy-daiba-1 .detail__bg{ position:absolute; inset:0; background:var(--sand-3); opacity:0; }
.uichemy-daiba-1 .detail__close{ position:absolute; top:26px; right:var(--pad); z-index:4; background:none; border:none; font:inherit; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); cursor:pointer; }
.uichemy-daiba-1 .detail__inner{ position:relative; z-index:3; height:100%; max-width:var(--maxw); margin:0 auto; padding:clamp(80px,10vh,120px) var(--pad) 40px; display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,80px); align-items:center; }
.uichemy-daiba-1 .detail__media{ height:min(76vh,760px); overflow:hidden; border-radius:var(--card-radius); background:var(--sand-2); }
.uichemy-daiba-1 .detail__media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(0); }
.uichemy-daiba-1 .detail__no{ font-family:var(--display); font-weight:700; color:var(--olive); font-size:14px; }
.uichemy-daiba-1 .detail__name{ font-family:var(--display); font-weight:500; font-size:clamp(34px,5vw,74px); line-height:.98; letter-spacing:-.02em; margin:10px 0 8px; }
.uichemy-daiba-1 .detail__cat{ display:block; color:var(--ink-2); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.uichemy-daiba-1 .detail__desc{ margin:22px 0; color:var(--ink-2); line-height:1.7; max-width:46ch; }
.uichemy-daiba-1 .detail__spec{ list-style:none; border-top:1px solid var(--line); margin-bottom:28px; max-width:440px; }
.uichemy-daiba-1 .detail__spec li{ display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--line); font-size:14px; }
.uichemy-daiba-1 .detail__spec li span{ color:var(--ink-2); }
.uichemy-daiba-1 .detail__spec li b{ font-weight:400; }
/* ============ RUNWAY ============ */
.uichemy-daiba-1 .runway{ background:var(--ink); color:var(--sand); }
.uichemy-daiba-1 .runway .label{ color:var(--olive-2); }
.uichemy-daiba-1 .runway__pin{ height:100svh; overflow:hidden; display:flex; flex-direction:column; }
.uichemy-daiba-1 .runway__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:clamp(30px,6vw,70px) var(--pad) 0; flex-wrap:wrap; }
.uichemy-daiba-1 .runway__title i{ color:var(--olive-2); }
.uichemy-daiba-1 .runway__hint{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--sand); opacity:.55; }
.uichemy-daiba-1 .runway__track{ display:flex; align-items:center; gap:clamp(24px,3.4vw,60px); height:100%; padding:0 var(--pad); will-change:transform; }
.uichemy-daiba-1 .rslide{ flex:0 0 auto; width:clamp(240px,30vw,420px); }
.uichemy-daiba-1 .rslide__no{ display:block; font-family:var(--display); font-weight:500; font-size:clamp(28px,3vw,46px); color:transparent; -webkit-text-stroke:1px var(--olive-2); margin-bottom:14px; }
.uichemy-daiba-1 .rslide__frame{ aspect-ratio:3/4; background:#2b241a; }
.uichemy-daiba-1 .rslide--tall .rslide__frame{ aspect-ratio:3/4.6; }
.uichemy-daiba-1 .rslide figcaption{ margin-top:14px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--sand); opacity:.72; }
/* ============ FEATURE ============ */
.uichemy-daiba-1 .feature{ position:relative; max-width:var(--maxw); margin:0 auto; padding:clamp(60px,8vw,120px) var(--pad); }
.uichemy-daiba-1 .feature__media{ width:100%; aspect-ratio:16/8; }
.uichemy-daiba-1 .feature__card{ position:relative; z-index:2; background:var(--sand); border:1px solid var(--line); padding:clamp(28px,4vw,54px); max-width:520px; margin-top:clamp(-120px,-11vw,-40px); margin-left:clamp(0px,3vw,60px); }
.uichemy-daiba-1 .feature__title{ margin:16px 0 20px; font-size:clamp(34px,5vw,72px); }
.uichemy-daiba-1 .feature__lead{ color:var(--ink-2); line-height:1.7; margin-bottom:26px; max-width:44ch; }
.uichemy-daiba-1 .feature__ghost{ position:absolute; top:clamp(30px,5vw,80px); right:var(--pad); z-index:1; font-family:var(--display); font-weight:500; font-size:clamp(64px,12vw,180px); color:transparent; -webkit-text-stroke:1px var(--line); pointer-events:none; }
/* ============ STATEMENT (slat reveal) ============ */
.uichemy-daiba-1 .reveal{ position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--ink); }
.uichemy-daiba-1 .reveal__slats{ position:absolute; inset:0; z-index:1; filter:contrast(1.03) brightness(.86) saturate(1.06); }
.uichemy-daiba-1 .reveal__slats .slat{ position:absolute; left:0; right:0; width:100%; background-repeat:no-repeat; clip-path:inset(0% 0% 0% 0%); }
.uichemy-daiba-1 .reveal__overlay{ position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, rgba(20,16,10,.5) 0%, rgba(20,16,10,.66) 55%, rgba(20,16,10,.8) 100%); }
.uichemy-daiba-1 .reveal__content{ position:relative; z-index:3; text-align:center; max-width:760px; padding:0 var(--pad); color:var(--sand); }
.uichemy-daiba-1 .reveal__lead{ font-family:var(--display); font-weight:600; font-size:clamp(24px,3.4vw,48px); line-height:1.3; letter-spacing:-.01em; margin:24px 0 8px; }
/* ============ RING (circular gallery) ============ */
.uichemy-daiba-1 .ring{ position:relative; height:100svh; overflow:hidden; background:var(--sand-3); display:flex; align-items:center; justify-content:center; }
.uichemy-daiba-1 .ring__stage{ position:absolute; top:50%; left:50%; width:min(70vmin,640px); height:min(70vmin,640px); transform:translate(-50%,-50%); z-index:1; }
.uichemy-daiba-1 .ring__stage .card{ --r:min(34vmin,280px); position:absolute; top:50%; left:50%; width:clamp(88px,12vmin,140px); aspect-ratio:3/4; transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(-1 * var(--r))); }
.uichemy-daiba-1 .ring__stage .cardInner{ width:100%; height:100%; overflow:hidden; border-radius:var(--card-radius); box-shadow:var(--card-shadow); }
.uichemy-daiba-1 .ring__stage .cardInner img{ width:100%; height:100%; object-fit:cover; filter:contrast(1.02) saturate(1.05); }
.uichemy-daiba-1 .ring__center{ position:relative; z-index:3; text-align:center; padding:0 var(--pad); pointer-events:none; }
.uichemy-daiba-1 .ring__center::before{ content:""; position:absolute; left:50%; top:54%; transform:translate(-50%,-50%); width:clamp(340px,52vw,600px); height:clamp(150px,25vmin,250px); background:radial-gradient(ellipse at center, var(--sand-3) 0%, var(--sand-3) 42%, rgba(244,239,227,.9) 58%, rgba(244,239,227,0) 80%); z-index:-1; pointer-events:none; }
.uichemy-daiba-1 .ring__title{ font-family:var(--display); font-weight:500; font-optical-sizing:auto; font-size:clamp(30px,4.6vw,62px); line-height:.98; letter-spacing:-.015em; margin-top:12px; }
.uichemy-daiba-1 .ring__title i{ font-style:italic; font-weight:400; color:var(--olive); }
/* ============ LOOKBOOK ============ */
.uichemy-daiba-1 .lookbook{ padding:clamp(60px,8vw,120px) 0 0; }
.uichemy-daiba-1 .lookbook .sec-head{ padding:0 var(--pad) clamp(20px,3vw,40px); }
.uichemy-daiba-1 .looks{ position:relative; }
.uichemy-daiba-1 .look{ position:sticky; top:0; height:100vh; display:flex; align-items:center; justify-content:center; background:var(--sand); }
.uichemy-daiba-1 .look__frame{ position:relative; width:min(90vw,1080px); height:min(80vh,820px); }
.uichemy-daiba-1 .look figcaption{ position:absolute; left:18px; bottom:16px; z-index:2; color:var(--sand); mix-blend-mode:difference; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
/* ============ MAISON ============ */
.uichemy-daiba-1 .house{ max-width:var(--maxw); margin:0 auto; padding:clamp(70px,10vw,150px) var(--pad); }
.uichemy-daiba-1 .house__intro{ display:flex; flex-direction:column; gap:22px; max-width:840px; margin-bottom:clamp(48px,7vw,90px); }
.uichemy-daiba-1 .house__title{ font-size:clamp(30px,5vw,72px); }
.uichemy-daiba-1 .house__lead{ color:var(--ink-2); line-height:1.7; max-width:540px; }
.uichemy-daiba-1 .house__stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; border-top:1px solid var(--line); padding-top:44px; }
.uichemy-daiba-1 .stat b{ display:block; font-family:var(--display); font-weight:500; font-size:clamp(40px,5.5vw,86px); line-height:1; letter-spacing:-.02em; }
.uichemy-daiba-1 .stat span{ display:block; margin-top:12px; font-size:12px; letter-spacing:.03em; color:var(--ink-2); }
/* ============ PRAISE / PRESS ============ */
.uichemy-daiba-1 .praise{ max-width:var(--maxw); margin:0 auto; padding:clamp(70px,9vw,140px) var(--pad); }
.uichemy-daiba-1 .praise__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,2.6vw,44px); }
.uichemy-daiba-1 .quote{ display:flex; flex-direction:column; gap:26px; padding:clamp(26px,2.6vw,44px); border:1px solid var(--line); border-radius:16px; background:var(--sand-3); }
.uichemy-daiba-1 .quote p{ font-family:var(--display); font-weight:500; font-size:clamp(19px,1.55vw,26px); line-height:1.42; letter-spacing:-.01em; }
.uichemy-daiba-1 .quote cite{ font-style:normal; display:flex; flex-direction:column; gap:3px; margin-top:auto; }
.uichemy-daiba-1 .quote cite b{ font-weight:500; font-size:14px; }
.uichemy-daiba-1 .quote cite span{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); }
.uichemy-daiba-1 .praise__press{ display:flex; align-items:center; gap:clamp(18px,3vw,48px); flex-wrap:wrap; margin-top:clamp(40px,5vw,72px); padding-top:34px; border-top:1px solid var(--line); }
.uichemy-daiba-1 .praise__label{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--olive); }
.uichemy-daiba-1 .praise__press ul{ list-style:none; display:flex; gap:clamp(18px,3vw,44px); flex-wrap:wrap; }
.uichemy-daiba-1 .praise__press li{ font-family:var(--display); font-weight:600; font-size:clamp(15px,1.5vw,20px); letter-spacing:.03em; opacity:.5; transition:opacity .3s; }
.uichemy-daiba-1 .praise__press li:hover{ opacity:1; }
/* ============ CTA ============ */
.uichemy-daiba-1 .cta{ max-width:var(--maxw); margin:0 auto; padding:clamp(30px,4vw,60px) var(--pad) clamp(70px,9vw,130px); }
.uichemy-daiba-1 .cta__panel{ position:relative; overflow:hidden; background:var(--ink); color:var(--sand); border-radius:24px; padding:clamp(52px,7.5vw,120px) clamp(28px,5vw,90px); text-align:center; }
.uichemy-daiba-1 .cta__panel::before{ content:""; position:absolute; width:60vw; height:60vw; left:50%; top:100%; transform:translate(-50%,-40%); background:radial-gradient(circle, rgba(154,152,87,.22), transparent 60%); pointer-events:none; }
.uichemy-daiba-1 .cta__eyebrow{ position:relative; display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--olive-2); margin-bottom:22px; }
.uichemy-daiba-1 .cta__title{ position:relative; font-family:var(--display); font-weight:500; font-optical-sizing:auto; font-size:clamp(40px,6.5vw,100px); line-height:.98; letter-spacing:-.02em; }
.uichemy-daiba-1 .cta__title i{ font-style:italic; font-weight:400; color:var(--olive-2); }
.uichemy-daiba-1 .cta__lead{ position:relative; max-width:520px; margin:22px auto 40px; color:rgba(236,229,215,.72); line-height:1.6; }
.uichemy-daiba-1 .cta__form{ position:relative; display:flex; gap:12px; max-width:580px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.uichemy-daiba-1 .cta__input{ flex:1 1 260px; min-width:0; background:rgba(236,229,215,.06); border:1px solid rgba(236,229,215,.24); border-radius:100px; padding:16px 24px; font:inherit; font-size:16px; color:var(--sand); transition:border-color .3s; }
.uichemy-daiba-1 .cta__input::placeholder{ color:rgba(236,229,215,.5); }
.uichemy-daiba-1 .cta__input:focus{ outline:none; border-color:var(--olive-2); }
.uichemy-daiba-1 .cta__form .btn{ flex:0 0 auto; }
.uichemy-daiba-1 .cta__meta{ position:relative; display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:34px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:rgba(236,229,215,.6); }
.uichemy-daiba-1 .cta__meta i{ color:var(--olive-2); font-style:normal; }
.uichemy-daiba-1 .cta__meta a{ color:rgba(236,229,215,.85); text-decoration:underline; text-underline-offset:3px; }
/* ============ FOOTER ============ */
.uichemy-daiba-1 .footer{ border-top:1px solid var(--line); padding:clamp(50px,7vw,90px) var(--pad) 40px; }
.uichemy-daiba-1 .footer__mark{ font-family:var(--display); font-weight:500; font-size:clamp(64px,18vw,280px); line-height:.8; letter-spacing:-.03em; text-align:center; margin-bottom:70px; }
.uichemy-daiba-1 .footer__cols{ max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.uichemy-daiba-1 .footer__cols span{ display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--olive); margin-bottom:16px; }
.uichemy-daiba-1 .footer__cols a{ display:block; padding:6px 0; font-size:14px; color:var(--ink-2); transition:color .3s; }
.uichemy-daiba-1 .footer__cols a:hover{ color:var(--ink); }
.uichemy-daiba-1 .footer__base{ max-width:var(--maxw); margin:56px auto 0; display:flex; justify-content:space-between; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); border-top:1px solid var(--line); padding-top:24px; flex-wrap:wrap; gap:10px; }
/* ============ RESPONSIVE ============ */
@media (max-width:1000px){
  .uichemy-daiba-1 .pieces{ grid-template-columns:repeat(2,1fr); }
  .uichemy-daiba-1 .intro__grid{ grid-template-columns:1fr; gap:34px; }
  .uichemy-daiba-1 .intro__aside{ position:static; flex-direction:row; gap:16px; }
  .uichemy-daiba-1 .detail__inner{ grid-template-columns:1fr; align-content:center; gap:24px; overflow:auto; }
  .uichemy-daiba-1 .detail__media{ height:44vh; }
}
@media (max-width:860px){
  .uichemy-daiba-1 .nav__links{ display:none; }
  .uichemy-daiba-1 .runway__pin{ height:auto; }
  .uichemy-daiba-1 .runway__track{ flex-direction:column; align-items:stretch; height:auto; gap:34px; padding:44px var(--pad) clamp(40px,8vw,90px); transform:none!important; }
  .uichemy-daiba-1 .rslide{ width:100%; }
  .uichemy-daiba-1 .rslide__frame, .uichemy-daiba-1 .rslide--tall .rslide__frame{ aspect-ratio:3/4; }
  .uichemy-daiba-1 .runway__hint{ display:none; }
  .uichemy-daiba-1 .feature__media{ aspect-ratio:4/5; }
  .uichemy-daiba-1 .feature__card{ margin-left:0; }
  .uichemy-daiba-1 .look__frame{ width:90vw; height:70vh; }
  .uichemy-daiba-1 .house__stats{ grid-template-columns:repeat(2,1fr); gap:36px 24px; }
  .uichemy-daiba-1 .praise__grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .uichemy-daiba-1 .pieces{ grid-template-columns:1fr 1fr; gap:16px; }
  .uichemy-daiba-1 .hero__mark{ width:74px; }
  .uichemy-daiba-1 .menu__foot{ flex-direction:column; gap:6px; text-align:left; }
  .uichemy-daiba-1 .praise__press{ flex-direction:column; align-items:flex-start; }
  .uichemy-daiba-1 .footer__base{ flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){
  .uichemy-daiba-1 *{ animation-duration:.001ms!important; transition-duration:.001ms!important; }
}

/* ── WordPress / Elementor compatibility (added for the demo.uichemy.com port) ──
   Everything above is DAIBA's own style.css, scoped so it cannot leak off the page:
   document-level rules run only where .uichemy-daiba-1 exists, all other rules are
   descendants of it. The rules below neutralise what the theme and Elementor add. */
html:has(.uichemy-daiba-1){ scroll-behavior:auto !important; }        /* Elementor forces smooth; Lenis owns scrolling */
html:has(.uichemy-daiba-1) .wrapper-main,
html:has(.uichemy-daiba-1) #content.site-content,
html:has(.uichemy-daiba-1) #primary.content-area,
html:has(.uichemy-daiba-1) main#main.site-main,
html:has(.uichemy-daiba-1) article.page,
html:has(.uichemy-daiba-1) .entry-content,
html:has(.uichemy-daiba-1) .elementor,
html:has(.uichemy-daiba-1) .e-con,
html:has(.uichemy-daiba-1) .e-con-inner,
html:has(.uichemy-daiba-1) .elementor-widget-uichemy-composer,
html:has(.uichemy-daiba-1) .elementor-widget-container{
  /* no padding, no max-width and NO overflow/transform: a clip on any ancestor
     kills every position:sticky pin and every ScrollTrigger pin inside it */
  margin:0; padding:0; max-width:none; overflow:visible; contain:none;
  transform:none; filter:none; perspective:none;
}
html:has(.uichemy-daiba-1) .e-con,
html:has(.uichemy-daiba-1) .e-con-inner{ --padding-inline:0px; --padding-block:0px; --gap:0px; width:auto; }
/* Elementor zeroes figure margins at (0,4,1); DAIBA's own figure spacing must win */
.uichemy-daiba-1 figure{ margin:0; }
/* the widget root is a pass-through: it must add nothing to the layout */
.uichemy-daiba-1{ margin:0; padding:0; border:0; font-size:16px; }
