:root{
  --ki-cream:#f7f0eb;
  --ki-paper:#fbf6f2;
  --ki-blush:#e8b4bc;
  --ki-rose:#c97b8a;
  --ki-rose-deep:#a85d6c;
  --ki-charcoal:#3a3436;
  --ki-muted:#6e6467;
  --ki-line:rgba(169,93,108,.18);
  --ki-shadow:0 22px 48px rgba(58,52,54,.12);
  --ki-shell:min(1100px,calc(100% - 48px));
  --ki-ease:cubic-bezier(.22,.7,.2,1);
  --ki-font-display:"Cormorant Garamond","Noto Sans JP",serif;
  --ki-font-body:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{
  margin:0;
  background:
    radial-gradient(ellipse 780px 460px at 4% 0%,rgba(232,180,188,.35),transparent 55%),
    radial-gradient(ellipse 640px 380px at 100% 10%,rgba(201,123,138,.12),transparent 50%),
    radial-gradient(ellipse 520px 320px at 50% 100%,rgba(247,240,235,.95),transparent 60%),
    linear-gradient(168deg,#efe4df 0%,var(--ki-cream) 42%,#f4ebe6 72%,#ebe0da 100%);
  color:var(--ki-charcoal);
  font-family:var(--ki-font-body);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
body.ki-menu-open{overflow:hidden}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.ki-shell{width:var(--ki-shell);margin-inline:auto}
.ki-skip{position:fixed;z-index:2000;top:-100px;left:20px;background:var(--ki-rose-deep);color:#fff;padding:10px 18px;border-radius:999px}
.ki-skip:focus{top:14px}
.ki-kicker{
  position:relative;display:inline-block;
  font:700 .7rem/1.3 var(--ki-font-body);letter-spacing:.2em;text-transform:uppercase;
  color:var(--ki-rose-deep);margin:0 0 14px;padding-bottom:10px;
}
.ki-kicker:after{
  content:"";position:absolute;left:0;bottom:0;width:2.4rem;height:2px;
  background:linear-gradient(90deg,var(--ki-rose),var(--ki-blush));
  transform-origin:left center;animation:ki-line-grow 1s var(--ki-ease) both;
}
@keyframes ki-line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ki-section{position:relative;padding:96px 0}
.ki-section--rose{background:linear-gradient(152deg,#c97b8a 0%,#b86a7a 45%,#a85d6c 100%);color:var(--ki-cream)}
.ki-section--rose .ki-kicker{color:#f3d0d6}
.ki-section--rose .ki-kicker:after{background:linear-gradient(90deg,#f3d0d6,var(--ki-blush))}
.ki-section--rose .ki-head>p{color:#f8e4e8}
.ki-section--cream{background:linear-gradient(180deg,#efe4df 0%,#f7f0eb 55%,#ebe0da 100%)}
.ki-section--faq{background:linear-gradient(160deg,#efe6e1 0%,#ebe0da 100%)}
.ki-section--grain:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;mix-blend-mode:multiply;
}
.ki-section--rose.ki-section--grain:before{opacity:.07;mix-blend-mode:soft-light}
.ki-section--grain>.ki-shell,.ki-section--grain>.ki-cta{position:relative;z-index:1}
.ki-media{overflow:hidden;border-radius:28px;position:relative}
.ki-media img{height:100%;object-fit:cover;transition:transform .7s var(--ki-ease)}
a:hover .ki-media img,.ki-media:hover img{transform:scale(1.04)}
.ki-media--soft{border-radius:36px 14px 36px 14px}
.ki-media--frame{
  box-shadow:0 0 0 1px var(--ki-line);
  outline:1px solid rgba(201,123,138,.28);
  outline-offset:10px;
}

/* —— Bond ribbon sash (UNIQUE NAV) —— */
.ki-ribbon{
  position:fixed;z-index:110;
  top:0;left:0;
  width:min(720px,92vw);
  pointer-events:none;
  transform-origin:0 0;
  transition:opacity .35s var(--ki-ease),transform .35s var(--ki-ease);
}
.ki-ribbon.is-scrolled{transform:translateY(-2px)}
.ki-ribbon__knot{
  pointer-events:auto;
  position:relative;z-index:3;
  display:inline-flex;align-items:center;gap:12px;
  margin:14px 0 0 14px;
  padding:10px 16px 10px 10px;
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.45),transparent 50%),
    linear-gradient(145deg,#f3d0d6,var(--ki-rose));
  border:1px solid rgba(168,93,108,.35);
  border-radius:50% 42% 48% 44% / 48% 46% 50% 52%;
  box-shadow:
    0 12px 28px rgba(58,52,54,.14),
    inset 0 1px 0 rgba(255,255,255,.35);
  color:#fff;
  animation:ki-knot-breathe 4.5s ease-in-out infinite;
}
@keyframes ki-knot-breathe{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.03)}
}
.ki-ribbon__knot-mark{
  display:grid;place-items:center;width:40px;height:40px;
  background:rgba(58,52,54,.18);
  border-radius:50%;
  font:700 .95rem/1 var(--ki-font-display);
  letter-spacing:.04em;
}
.ki-ribbon__knot-text{line-height:1}
.ki-ribbon__knot-text b{
  display:block;font:700 .95rem/1.1 var(--ki-font-display);
  letter-spacing:.14em;
}
.ki-ribbon__knot-text small{
  display:block;margin-top:5px;
  font:600 .55rem/1 var(--ki-font-body);
  letter-spacing:.16em;opacity:.9;
}
.ki-ribbon__sash{
  pointer-events:auto;
  position:relative;
  margin:-6px 0 0 28px;
  padding:18px 28px 18px 56px;
  transform:rotate(-14deg);
  transform-origin:left center;
  background:
    linear-gradient(105deg,
      rgba(201,123,138,.97) 0%,
      rgba(232,180,188,.95) 38%,
      rgba(201,123,138,.92) 72%,
      rgba(168,93,108,.9) 100%);
  border-radius:0 999px 999px 0;
  box-shadow:
    0 16px 36px rgba(58,52,54,.16),
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -2px 0 rgba(58,52,54,.08);
  clip-path:polygon(0 18%,4% 0,100% 8%,100% 92%,4% 100%,0 82%);
}
.ki-ribbon__stitch{
  position:absolute;inset:8px 18px 8px 42px;
  border:1.5px dashed rgba(255,255,255,.42);
  border-radius:999px;
  pointer-events:none;
}
.ki-ribbon__links{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:4px;flex-wrap:nowrap;
}
.ki-ribbon__link{
  display:inline-flex;align-items:baseline;gap:6px;
  padding:6px 12px;
  color:#fff;
  font:600 .78rem/1.2 var(--ki-font-body);
  letter-spacing:.08em;
  border-radius:999px;
  transition:background .25s var(--ki-ease),transform .25s var(--ki-ease);
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(58,52,54,.15);
}
.ki-ribbon__link em{
  font:700 .58rem/1 var(--ki-font-display);
  opacity:.7;letter-spacing:.04em;
}
.ki-ribbon__link:hover,
.ki-ribbon__link[aria-current="page"]{
  background:rgba(255,255,255,.22);
  transform:translateY(-1px);
}
.ki-ribbon__link[aria-current="page"]{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}

.ki-menu-toggle{
  display:none;position:fixed;z-index:120;top:16px;right:16px;
  align-items:center;gap:8px;
  height:48px;padding:0 14px 0 12px;
  border:1px solid rgba(201,123,138,.28);
  background:rgba(251,246,242,.94);backdrop-filter:blur(12px);
  border-radius:999px;cursor:pointer;
  box-shadow:0 8px 22px rgba(58,52,54,.1);
  font:700 .62rem/1 var(--ki-font-body);letter-spacing:.16em;color:var(--ki-rose-deep);
}
.ki-menu-toggle__bars{display:grid;gap:5px;width:18px}
.ki-menu-toggle__bars i{
  display:block;height:2px;background:var(--ki-rose-deep);border-radius:2px;
  transition:transform .3s var(--ki-ease);
}

.ki-sheet-shade{
  position:fixed;inset:0;z-index:130;
  background:rgba(58,52,54,.42);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.ki-sheet-shade.is-open{opacity:1;pointer-events:auto}
.ki-sheet{
  position:fixed;z-index:140;top:0;right:0;bottom:0;
  width:min(360px,88vw);
  background:linear-gradient(180deg,var(--ki-paper),var(--ki-cream));
  box-shadow:-20px 0 50px rgba(58,52,54,.18);
  transform:translateX(104%);
  transition:transform .4s var(--ki-ease);
  padding:24px 22px 40px;
  display:flex;flex-direction:column;gap:18px;
}
.ki-sheet.is-open{transform:translateX(0)}
.ki-sheet__head{
  display:flex;justify-content:space-between;align-items:center;
  font:700 .78rem/1 var(--ki-font-body);letter-spacing:.12em;color:var(--ki-rose-deep);
}
.ki-sheet__head button{
  width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(201,123,138,.15);color:var(--ki-charcoal);font-size:1.4rem;cursor:pointer;
}
.ki-sheet nav{display:grid;gap:6px}
.ki-sheet nav a{
  display:flex;align-items:baseline;gap:14px;
  padding:14px 12px;border-radius:16px;
  border:1px solid transparent;
  transition:background .25s,border-color .25s;
}
.ki-sheet nav a:hover,
.ki-sheet nav a[aria-current="page"]{
  background:rgba(232,180,188,.25);
  border-color:rgba(201,123,138,.25);
}
.ki-sheet nav small{font:700 .7rem/1 var(--ki-font-display);color:var(--ki-rose);letter-spacing:.08em}
.ki-sheet nav strong{font-size:1.05rem;font-weight:600}
.ki-sheet>p{margin:auto 0 0;font-size:.82rem;color:var(--ki-muted);line-height:1.7}

/* —— Hero —— */
.ki-hero{
  position:relative;
  min-height:min(100svh,920px);
  display:grid;align-items:end;
  overflow:hidden;
  color:#fff;
}
.ki-hero__media{position:absolute;inset:0}
.ki-hero__track{position:absolute;inset:0}
.ki-hero__slide{
  position:absolute;inset:0;margin:0;
  opacity:0;transition:opacity 1.1s var(--ki-ease);
}
.ki-hero__slide.is-active{opacity:1}
.ki-hero__slide img{width:100%;height:100%;object-fit:cover}
.ki-hero__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg,rgba(58,52,54,.72) 0%,rgba(58,52,54,.35) 42%,rgba(201,123,138,.18) 100%),
    linear-gradient(0deg,rgba(58,52,54,.55) 0%,transparent 48%);
  pointer-events:none;
}
.ki-hero__copy{
  position:relative;z-index:2;
  width:var(--ki-shell);margin:0 auto;
  padding:0 0 clamp(72px,12vh,120px);
}
.ki-hero .ki-kicker{color:#f3d0d6}
.ki-hero .ki-kicker:after{background:linear-gradient(90deg,#f3d0d6,var(--ki-blush))}
.ki-brand-hero{
  margin:0 0 8px;
  font:700 clamp(2.8rem,7vw,5.2rem)/.95 var(--ki-font-display);
  letter-spacing:.08em;
  text-shadow:0 8px 40px rgba(58,52,54,.35);
}
.ki-hero h1{
  margin:0 0 18px;
  font:600 clamp(1.55rem,3.4vw,2.35rem)/1.45 var(--ki-font-body);
  letter-spacing:.04em;
  max-width:16em;
}
.ki-lead{
  margin:0 0 28px;max-width:34em;
  font-size:1.02rem;color:rgba(247,240,235,.9);
}
.ki-actions{display:flex;flex-wrap:wrap;gap:12px}
.ki-hero__dots{
  position:absolute;z-index:3;right:clamp(18px,4vw,40px);bottom:clamp(24px,5vh,48px);
  display:flex;gap:8px;
}
.ki-hero__dots button{
  width:10px;height:10px;border-radius:50%;border:0;
  background:rgba(255,255,255,.4);cursor:pointer;padding:0;
  transition:transform .25s,background .25s;
}
.ki-hero__dots button.is-active{background:#fff;transform:scale(1.25)}

.ki-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 22px;border-radius:999px;border:0;
  font:600 .88rem/1 var(--ki-font-body);letter-spacing:.06em;
  background:var(--ki-rose);color:#fff;cursor:pointer;
  box-shadow:0 12px 28px rgba(168,93,108,.28);
  transition:transform .25s var(--ki-ease),box-shadow .25s;
}
.ki-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(168,93,108,.35)}
.ki-btn--rose{background:linear-gradient(135deg,var(--ki-blush),var(--ki-rose-deep))}
.ki-btn--ghost{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:none;backdrop-filter:blur(8px);
}
.ki-btn--light{background:var(--ki-paper);color:var(--ki-rose-deep);box-shadow:0 12px 28px rgba(58,52,54,.12)}
.ki-link{
  display:inline-flex;align-items:center;gap:6px;
  font:600 .9rem/1.4 var(--ki-font-body);color:var(--ki-rose-deep);
  border-bottom:1px solid rgba(201,123,138,.35);
  padding-bottom:2px;margin-top:8px;
}

/* —— Circular meters —— */
.ki-meters{padding:72px 0 40px}
.ki-meters__layout{
  display:grid;grid-template-columns:.9fr 1.2fr;gap:2rem;align-items:center;
}
.ki-meters h2{
  margin:0 0 12px;
  font:600 clamp(1.6rem,3vw,2.2rem)/1.35 var(--ki-font-body);
}
.ki-meters p{margin:0;color:var(--ki-muted)}
.ki-rings{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.ki-ring{position:relative;aspect-ratio:1;max-width:180px;margin:0 auto}
.ki-ring__svg{width:100%;height:100%;transform:rotate(-90deg)}
.ki-ring__track{stroke:rgba(201,123,138,.16);stroke-width:7}
.ki-ring__fill{stroke:var(--ki-rose);stroke-width:7;stroke-linecap:round}
.ki-ring:nth-child(2) .ki-ring__fill{stroke:var(--ki-blush)}
.ki-ring:nth-child(3) .ki-ring__fill{stroke:var(--ki-rose-deep)}
.ki-ring:nth-child(4) .ki-ring__fill{stroke:#d4a0aa}
.ki-ring__core{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ki-ring__core strong{font:700 1.45rem/1 var(--ki-font-display);color:var(--ki-charcoal)}
.ki-ring__core span{font-size:.75rem;letter-spacing:.1em;color:var(--ki-muted);margin-top:.35rem}

.ki-trust{
  overflow:hidden;padding:18px 0;
  border-block:1px solid var(--ki-line);
  background:rgba(251,246,242,.65);
}
.ki-trust__track{
  display:flex;gap:1.2rem;align-items:center;width:max-content;
  animation:ki-marquee 32s linear infinite;
  font:600 .78rem/1 var(--ki-font-body);letter-spacing:.14em;color:var(--ki-rose-deep);
}
.ki-trust__track i{opacity:.4}
@keyframes ki-marquee{to{transform:translateX(-50%)}}

.ki-head{
  display:flex;justify-content:space-between;align-items:end;gap:24px;
  margin-bottom:40px;flex-wrap:wrap;
}
.ki-head h2{
  margin:0;
  font:600 clamp(1.55rem,3vw,2.15rem)/1.35 var(--ki-font-body);
}
.ki-head>p{margin:0;max-width:28em;color:var(--ki-muted)}

.ki-philosophy__grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
}
.ki-philosophy h2{
  margin:0 0 16px;
  font:600 clamp(1.6rem,3vw,2.2rem)/1.35 var(--ki-font-body);
}
.ki-philosophy__copy>p{color:var(--ki-muted);margin:0 0 18px}
.ki-philosophy__list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px}
.ki-philosophy__list li{
  padding:16px 18px;border-radius:18px;
  background:rgba(251,246,242,.8);
  border:1px solid var(--ki-line);
}
.ki-philosophy__list strong{display:block;margin-bottom:4px;color:var(--ki-rose-deep)}
.ki-philosophy__list span{font-size:.92rem;color:var(--ki-muted)}
.ki-philosophy__media{min-height:480px}

.ki-menu{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.ki-menu__card{
  background:rgba(251,246,242,.85);
  border:1px solid var(--ki-line);
  border-radius:24px;overflow:hidden;
  transition:transform .3s var(--ki-ease),box-shadow .3s;
}
.ki-menu__card:hover{transform:translateY(-4px);box-shadow:var(--ki-shadow)}
.ki-menu__card .ki-media{border-radius:0;aspect-ratio:4/3}
.ki-menu__card .ki-media--frame{outline:none;box-shadow:none}
.ki-menu__body{padding:18px 18px 22px}
.ki-menu__meta{
  display:flex;justify-content:space-between;gap:10px;
  font-size:.72rem;letter-spacing:.08em;color:var(--ki-muted);margin-bottom:8px;
}
.ki-menu__meta b{color:var(--ki-rose-deep);font-size:.9rem}
.ki-menu__body h3{margin:0 0 8px;font-size:1.05rem}
.ki-menu__body p{margin:0 0 12px;font-size:.9rem;color:var(--ki-muted)}
.ki-menu__body em{font-style:normal;font-size:.82rem;color:var(--ki-rose);font-weight:600}

.ki-seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ki-season .ki-media{aspect-ratio:5/4;margin-bottom:14px}
.ki-season span{
  display:inline-block;font:700 .68rem/1 var(--ki-font-body);
  letter-spacing:.16em;color:var(--ki-rose);margin-bottom:6px;
}
.ki-season h3{margin:0 0 8px;font-size:1rem}
.ki-season p{margin:0;font-size:.88rem;color:var(--ki-muted)}

.ki-process{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.ki-process li{
  padding:22px 18px;border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
}
.ki-process__num{
  display:block;font:700 1.6rem/1 var(--ki-font-display);
  letter-spacing:.06em;margin-bottom:12px;opacity:.85;
}
.ki-process h3{margin:0 0 8px;font-size:1.05rem}
.ki-process p{margin:0;font-size:.9rem;opacity:.88}

.ki-ba{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px}
.ki-ba__card{margin:0}
.ki-ba__card .ki-media{aspect-ratio:4/3;margin-bottom:14px}
.ki-ba__card span{
  font:700 .68rem/1 var(--ki-font-body);letter-spacing:.16em;color:var(--ki-rose);
}
.ki-ba__card h3{margin:6px 0 8px;font-size:1.1rem}
.ki-ba__card p{margin:0;color:var(--ki-muted);font-size:.92rem}

.ki-spotlight{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.ki-spotlight h2{
  margin:0 0 14px;
  font:600 clamp(1.4rem,2.6vw,1.9rem)/1.4 var(--ki-font-body);
}
.ki-spotlight>div>p{color:var(--ki-muted);margin:0 0 16px}
.ki-checks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.ki-checks li{
  position:relative;padding-left:1.4em;font-size:.92rem;color:var(--ki-muted);
}
.ki-checks li:before{
  content:"";position:absolute;left:0;top:.55em;width:.55em;height:.55em;
  border-radius:50%;background:var(--ki-rose);
}

.ki-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ki-pillar{
  padding:24px 18px;border-radius:22px;
  background:rgba(251,246,242,.9);
  border:1px solid var(--ki-line);
}
.ki-pillar span{
  font:700 1.4rem/1 var(--ki-font-display);color:var(--ki-rose);display:block;margin-bottom:10px;
}
.ki-pillar h3{margin:0 0 8px;font-size:1.05rem}
.ki-pillar p{margin:0;font-size:.88rem;color:var(--ki-muted)}

.ki-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ki-quotes blockquote{
  margin:0;padding:24px 20px;border-radius:22px;
  background:rgba(251,246,242,.88);
  border:1px solid var(--ki-line);
}
.ki-quote-rating{
  margin:0 0 10px;font-size:.72rem;letter-spacing:.12em;color:var(--ki-rose);font-weight:600;
}
.ki-quotes blockquote>div{color:var(--ki-rose);letter-spacing:.12em;font-size:.75rem;margin-bottom:10px}
.ki-quotes p{margin:0 0 14px;font-size:.95rem}
.ki-quotes cite{font-style:normal;font-size:.8rem;color:var(--ki-muted)}

.ki-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ki-person .ki-media{aspect-ratio:1;margin-bottom:14px}
.ki-person h3{margin:0 0 4px;font-size:1.1rem}
.ki-person>span{display:block;font-size:.78rem;letter-spacing:.1em;color:var(--ki-rose);margin-bottom:8px}
.ki-person p{margin:0;font-size:.9rem;color:rgba(247,240,235,.88)}
.ki-section--rose .ki-person p{color:rgba(247,240,235,.88)}

.ki-areas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ki-area{
  padding:22px 18px;border-radius:20px;
  border:1px solid var(--ki-line);background:rgba(251,246,242,.75);
}
.ki-area span{font:700 1.2rem/1 var(--ki-font-display);color:var(--ki-rose);display:block;margin-bottom:8px}
.ki-area h3{margin:0 0 8px;font-size:1.05rem}
.ki-area p{margin:0;font-size:.88rem;color:var(--ki-muted)}

.ki-home-journal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ki-home-journal .ki-media{aspect-ratio:4/3;margin-bottom:12px}
.ki-home-journal time{display:block;font-size:.75rem;letter-spacing:.08em;color:var(--ki-muted);margin-bottom:6px}
.ki-home-journal h3{margin:0 0 8px;font-size:1.05rem}
.ki-home-journal p{margin:0;font-size:.9rem;color:var(--ki-muted)}

.ki-faq-layout{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start;
}
.ki-faq-layout h2{margin:0 0 10px;font:600 1.8rem/1.35 var(--ki-font-body)}
.ki-faq-layout header p{color:var(--ki-muted)}
.ki-faq{display:grid;gap:10px}
.ki-faq details{
  border:1px solid var(--ki-line);border-radius:16px;
  background:rgba(251,246,242,.85);padding:4px 16px;
}
.ki-faq summary{
  cursor:pointer;padding:14px 0;font-weight:600;list-style:none;
}
.ki-faq summary::-webkit-details-marker{display:none}
.ki-faq details[open] summary{color:var(--ki-rose-deep)}
.ki-faq details p{margin:0 0 14px;color:var(--ki-muted);font-size:.92rem}

.ki-cta{
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  margin:20px auto 80px;padding:36px 32px;border-radius:28px;
  background:linear-gradient(135deg,var(--ki-rose),var(--ki-rose-deep));
  color:#fff;box-shadow:var(--ki-shadow);
}
.ki-cta h2{margin:0 0 8px;font:600 clamp(1.3rem,2.5vw,1.75rem)/1.4 var(--ki-font-body)}
.ki-cta p{margin:0;opacity:.9;max-width:36em}
.ki-cta .ki-kicker{color:#f3d0d6}
.ki-cta--finale{margin-top:0}

/* —— Inner pages —— */
.ki-page-hero{padding:140px 0 48px}
.ki-page-hero__grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:end;
}
.ki-page-hero h1{
  margin:0;font:600 clamp(1.7rem,3.4vw,2.4rem)/1.35 var(--ki-font-body);
}
.ki-page-hero__grid>p{margin:0;color:var(--ki-muted)}

.ki-service-list{display:grid;gap:56px}
.ki-service-row{
  display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;
}
.ki-service-row--rev .ki-media{order:2}
.ki-service-row .ki-media{aspect-ratio:4/3}
.ki-num{
  display:block;font:700 .75rem/1 var(--ki-font-body);
  letter-spacing:.14em;color:var(--ki-rose);margin-bottom:10px;
}
.ki-service-row h2{margin:0 0 12px;font-size:1.55rem}
.ki-service-row p{margin:0 0 14px;color:var(--ki-muted)}
.ki-service-row small{display:block;margin-top:10px;color:var(--ki-muted);font-size:.82rem}
.ki-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ki-split h2{margin:0 0 12px;font-size:1.7rem}
.ki-split p{color:var(--ki-muted)}

.ki-story{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;
}
.ki-story__media{min-height:520px}
.ki-story__copy h2{margin:0 0 14px;font-size:1.7rem}
.ki-story__copy>p{color:var(--ki-muted)}
.ki-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.ki-values>div{
  padding:16px;border-radius:16px;border:1px solid var(--ki-line);background:rgba(251,246,242,.85);
}
.ki-values b{font:700 .68rem/1 var(--ki-font-body);letter-spacing:.14em;color:var(--ki-rose)}
.ki-values h3{margin:8px 0 6px;font-size:1rem}
.ki-values p{margin:0;font-size:.85rem;color:var(--ki-muted)}
.ki-team{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.ki-team h2{margin:0 0 12px;font-size:1.7rem}
.ki-team p{color:rgba(247,240,235,.88)}
.ki-team dl{margin:24px 0 0;display:grid;gap:12px}
.ki-team dt{font-size:.72rem;letter-spacing:.12em;color:#f3d0d6}
.ki-team dd{margin:4px 0 0}
.ki-studio-info{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start;
}
.ki-studio-info h2{margin:0;font-size:1.7rem}
.ki-studio-info dl{margin:0;display:grid;gap:14px}
.ki-studio-info dt{font-size:.72rem;letter-spacing:.12em;color:var(--ki-rose)}
.ki-studio-info dd{margin:4px 0 0;color:var(--ki-muted)}

.ki-feature{
  display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;
  margin-bottom:48px;
}
.ki-feature .ki-media{aspect-ratio:16/10}
.ki-tag{
  display:inline-block;font:700 .68rem/1 var(--ki-font-body);
  letter-spacing:.14em;color:var(--ki-rose);margin-bottom:8px;
}
.ki-feature time{display:block;font-size:.8rem;color:var(--ki-muted);margin-bottom:8px}
.ki-feature h2{margin:0 0 12px;font-size:1.45rem}
.ki-feature p{color:var(--ki-muted)}
.ki-journal{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ki-journal .ki-media{aspect-ratio:4/3;margin-bottom:12px}
.ki-journal time{display:block;font-size:.78rem;color:var(--ki-muted);margin:4px 0 6px}
.ki-journal h2{margin:0 0 8px;font-size:1.1rem}
.ki-journal p{margin:0;font-size:.9rem;color:var(--ki-muted)}

.ki-contact{
  display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start;
}
.ki-contact__info h2{margin:0 0 14px;font-size:1.7rem}
.ki-contact__info>p{color:var(--ki-muted)}
.ki-contact dl{margin:22px 0;display:grid;gap:12px}
.ki-contact dt{font-size:.72rem;letter-spacing:.12em;color:var(--ki-rose)}
.ki-contact dd{margin:4px 0 0}
.ki-route{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:14px 16px;border-radius:16px;
  background:rgba(232,180,188,.2);border:1px solid var(--ki-line);
  font-size:.85rem;
}
.ki-route i{opacity:.5}
.ki-form{
  padding:28px 24px;border-radius:24px;
  background:rgba(251,246,242,.92);border:1px solid var(--ki-line);
  box-shadow:var(--ki-shadow);
}
.ki-form h2{margin:0 0 18px;font-size:1.35rem}
.ki-field{margin-bottom:14px}
.ki-field label{display:block;font-size:.82rem;margin-bottom:6px;font-weight:600}
.ki-field em{font-style:normal;color:var(--ki-rose);font-size:.75rem;margin-left:4px}
.ki-field input,.ki-field select,.ki-field textarea{
  width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(201,123,138,.28);
  background:#fff;color:var(--ki-charcoal);
}
.ki-field input:focus,.ki-field select:focus,.ki-field textarea:focus{
  outline:2px solid rgba(201,123,138,.35);outline-offset:1px;
}
.ki-field--pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ki-consent{
  display:flex;gap:10px;align-items:flex-start;
  font-size:.85rem;color:var(--ki-muted);margin:8px 0 18px;
}
.ki-success{text-align:center;padding:24px 8px}
.ki-success span{
  display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;
  border-radius:50%;background:var(--ki-rose);color:#fff;font-size:1.4rem;
}

.ki-404{padding:160px 0 100px;text-align:center}
.ki-404 strong{
  display:block;font:700 3.2rem/1 var(--ki-font-display);color:var(--ki-rose);margin:8px 0 12px;
}
.ki-404 h1{margin:0 0 12px;font-size:1.7rem}
.ki-404 p{color:var(--ki-muted);margin:0 0 24px}

.ki-footer{
  background:linear-gradient(180deg,#3a3436 0%,#2c2729 100%);
  color:rgba(247,240,235,.88);padding:64px 0 28px;margin-top:40px;
}
.ki-footer__main{
  display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:36px;margin-bottom:36px;
}
.ki-footer__brand{display:inline-flex;align-items:center;gap:12px;margin-bottom:12px}
.ki-footer__mark{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:linear-gradient(145deg,var(--ki-blush),var(--ki-rose-deep));
  color:#fff;font:700 1rem/1 var(--ki-font-display);
}
.ki-footer__brand b{display:block;font:700 1rem/1.1 var(--ki-font-display);letter-spacing:.12em}
.ki-footer__brand small{display:block;margin-top:5px;font-size:.65rem;letter-spacing:.1em;opacity:.7}
.ki-footer h2{margin:0 0 12px;font-size:.72rem;letter-spacing:.16em;color:var(--ki-blush)}
.ki-footer a{display:block;margin-bottom:8px;opacity:.85}
.ki-footer a:hover{opacity:1;color:var(--ki-blush)}
.ki-footer p{margin:0 0 8px;font-size:.9rem;opacity:.8}
.ki-footer__bottom{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-top:18px;border-top:1px solid rgba(247,240,235,.12);font-size:.82rem;opacity:.7;
}

[data-reveal]{
  opacity:0;transform:translateY(22px);
  transition:opacity .8s var(--ki-ease),transform .8s var(--ki-ease);
}
[data-reveal].is-visible{opacity:1;transform:none}

@media (max-width:980px){
  .ki-ribbon__sash{display:none}
  .ki-menu-toggle{display:inline-flex}
  .ki-meters__layout,
  .ki-philosophy__grid,
  .ki-spotlight,
  .ki-faq-layout,
  .ki-service-row,
  .ki-service-row--rev .ki-media,
  .ki-split,
  .ki-story,
  .ki-team,
  .ki-studio-info,
  .ki-feature,
  .ki-contact,
  .ki-page-hero__grid,
  .ki-footer__main{grid-template-columns:1fr}
  .ki-service-row--rev .ki-media{order:0}
  .ki-menu{grid-template-columns:repeat(2,1fr)}
  .ki-seasons,.ki-process,.ki-pillars,.ki-areas{grid-template-columns:repeat(2,1fr)}
  .ki-quotes,.ki-team-grid,.ki-home-journal{grid-template-columns:1fr}
  .ki-rings{grid-template-columns:repeat(2,1fr)}
  .ki-hero__copy{padding-bottom:100px}
  .ki-page-hero{padding-top:110px}
}
@media (max-width:640px){
  :root{--ki-shell:min(100%,calc(100% - 28px))}
  .ki-section{padding:72px 0}
  .ki-menu,.ki-seasons,.ki-process,.ki-pillars,.ki-areas,.ki-ba,.ki-journal,.ki-values,.ki-field--pair{grid-template-columns:1fr}
  .ki-philosophy__media,.ki-story__media{min-height:320px}
  .ki-cta{padding:28px 22px}
  .ki-ribbon__knot{margin:12px 0 0 10px;padding:8px 12px 8px 8px}
  .ki-ribbon__knot-text b{font-size:.82rem}
  .ki-brand-hero{font-size:clamp(2.4rem,12vw,3.4rem)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
  .ki-trust__track{animation:none}
  .ki-ribbon__knot{animation:none}
}
