/** Shopify CDN: Minification failed

Line 595:0 All "@import" rules must come first

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:cellf-lp-update (INDEX:11) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;1,300&display=swap');

.custom-lp-builder {
  background: var(--lp-bg);
  color: var(--lp-text);
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif);
  overflow-x: hidden;
}

.custom-lp-builder *,
.custom-lp-builder *::before,
.custom-lp-builder *::after {
  box-sizing: border-box;
}

.custom-lp-builder img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}

/* ── Legacy CSS-var aliases for configurator block CSS ── */
.custom-lp-builder {
  --line:  var(--lp-line);
  --ink:   var(--lp-text);
  --tone:  var(--lp-muted);
  --tone2: var(--lp-muted);
  --wn:    var(--lp-accent);
  --wn2:   var(--lp-accent);
  --wn3:   var(--lp-accent);
  --bg:    var(--lp-bg);
  --cr:    var(--lp-bg);
  --cr2:   var(--lp-bg-alt);
  --cr3:   var(--lp-bg-alt);
  --g:     var(--lp-muted);
  --g2:    var(--lp-muted);
}

/* ── Reveal animation ── */
[data-lp-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1);
}
[data-lp-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-lp-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ── CELL toggle ── */
#lp-cell-trigger {
  position: fixed; bottom: 16px; right: 16px; z-index: 200;
  display: flex; align-items: center; gap: 8px;
  background: var(--lp-accent, #2E1608); color: var(--lp-light, #F5F2ED);
  border: 1px solid rgba(245,240,234,.22);
  padding: 9px 18px;
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace);
  font-size: 8px; letter-spacing: .18em; text-transform: uppercase;
  cursor: pointer; box-shadow: 0 2px 16px rgba(28,22,17,.25);
  transition: background .2s, color .2s, box-shadow .2s;
}
#lp-cell-trigger.on {
  background: rgba(245,240,234,.12); color: rgba(245,240,234,.8);
  border-color: rgba(245,240,234,.3); box-shadow: none;
}
.lp-st-toggle { width: 24px; height: 12px; border: 1px solid currentColor; position: relative; flex-shrink: 0; }
.lp-st-dot { position: absolute; top: 2px; left: 2px; width: 6px; height: 6px; background: currentColor; transition: left .15s; }
#lp-cell-trigger.on .lp-st-dot { left: calc(100% - 8px); }
#lp-cell-walls {
  position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: 0;
  transition: opacity .3s;
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(20% - 1px), rgba(245,240,234,.12) calc(20% - 1px), rgba(245,240,234,.12) 20%);
}
#lp-cell-shelves {
  position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: 0;
  transition: opacity .3s;
  background: repeating-linear-gradient(180deg, transparent 0, transparent calc(345px - 2px), rgba(245,240,234,.08) calc(345px - 2px), rgba(245,240,234,.08) 345px);
}
body.lp-cell-on #lp-cell-walls,
body.lp-cell-on #lp-cell-shelves { opacity: 1; }
body.lp-cell-on .custom-lp-builder { background: var(--lp-accent, #2E1608); }
body.lp-cell-on .lp-hero__h1,
body.lp-cell-on .lp-concept__h,
body.lp-cell-on .lp-cell__h,
body.lp-cell-on .lp-flow__h { color: #fff; }
body.lp-cell-on .lp-hero__sub,
body.lp-cell-on .lp-hero__eyebrow,
body.lp-cell-on .lp-concept__en,
body.lp-cell-on .lp-shero__h,
body.lp-cell-on .lp-story__h,
body.lp-cell-on .lp-cell__p,
body.lp-cell-on .lp-reassure__h,
body.lp-cell-on .lp-flow__idx,
body.lp-cell-on .lp-step__t,
body.lp-cell-on .sh-l h3,
body.lp-cell-on .sh-r p { color: rgba(245,240,234,.8); }
body.lp-cell-on .lp-cell__rect { stroke: rgba(245,240,234,.5); }
body.lp-cell-on .lp-reassure { background: var(--lp-bg-alt) !important; }
body.lp-cell-on .lp-story__img::after {
  content: ''; position: absolute; inset: 0; background: rgba(28,12,4,.25); pointer-events: none;
}

/* ── Hero ── */
.lp-hero {
  margin-top: 52px; position: relative; width: 100%;
  height: calc(100vh - 52px); min-height: 560px; max-height: 900px; overflow: hidden;
  background: var(--block-bg, transparent);
}
.lp-hero__img { position: absolute; inset: 0; }
.lp-hero__img::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(14,10,6,.18) 0%, rgba(14,10,6,.08) 40%, rgba(14,10,6,.55) 100%);
}
.lp-hero__meta {
  position: absolute; top: clamp(28px,4vh,56px);
  left: clamp(24px,6vw,88px); right: clamp(24px,6vw,88px); z-index: 2;
  display: flex; justify-content: space-between;
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace);
  font-size: 9px; letter-spacing: .26em; color: rgba(245,240,234,.55); text-transform: uppercase; pointer-events: none;
}
.lp-hero__overlay {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 0 clamp(24px,6vw,88px) clamp(56px,9vh,120px); pointer-events: none;
}
.lp-hero__eyebrow {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 10px;
  letter-spacing: .32em; color: rgba(245,240,234,.75); margin-bottom: clamp(20px,3vh,36px); text-transform: uppercase;
}
.lp-hero__h1 {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif);
  font-size: clamp(38px,7.2vw,108px); font-weight: 400; line-height: 1.12; letter-spacing: .04em; color: #fff;
  margin-bottom: clamp(22px,3vh,40px); text-shadow: 0 2px 32px rgba(14,10,6,.35); max-width: 14ch;
  color: var(--block-heading-color, #fff);
}
.lp-hero__sub {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: clamp(11px,1.3vw,15px);
  font-weight: 300; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(245,240,234,.82); max-width: 52ch;
}

/* ── Concept band ── */
.lp-concept {
  padding: clamp(88px,14vh,160px) clamp(24px,6vw,88px);
  border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line);
  max-width: 1400px; margin: 0 auto; background: var(--block-bg, transparent);
}
.lp-concept__en {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 32px;
}
.lp-concept__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif);
  font-size: clamp(24px,3vw,40px); font-weight: 400; letter-spacing: .04em;
  color: var(--block-heading-color, var(--lp-text)); line-height: 1.7; margin-bottom: 32px; max-width: 26ch;
}
.lp-concept__sub {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; letter-spacing: .05em; max-width: 640px;
}
.lp-concept__sub p { margin: 0; }

/* ── Story hero ── */
.lp-shero { border-top: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-shero__inner { display: grid; grid-template-columns: 1fr; width: 100%; }
.lp-shero__img { overflow: hidden; position: relative; width: 100%; aspect-ratio: 4/3; }
.lp-shero__body { padding: 56px 28px; display: flex; flex-direction: column; justify-content: center; }
.lp-shero__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .28em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-shero__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(22px,2.8vw,38px);
  font-weight: 400; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 28px; line-height: 1.55;
}
.lp-shero__p {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; letter-spacing: .04em;
}
@media (min-width: 768px) {
  .lp-shero__inner { min-height: 760px; position: relative; }
  .lp-shero__img { grid-row: 1; grid-column: 1; aspect-ratio: auto; min-height: 760px; }
  .lp-shero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .lp-shero__body {
    grid-row: 1; grid-column: 1; position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
    padding: 96px 96px 80px;
    background: linear-gradient(to top, rgba(14,12,9,.78) 0%, rgba(14,12,9,.1) 100%);
  }
  .lp-shero__idx { color: rgba(245,240,234,.6); }
  .lp-shero__h { color: #fff; font-size: clamp(30px,3.8vw,52px); max-width: 22ch; }
  .lp-shero__p { color: rgba(245,240,234,.8); max-width: 54ch; }
}

/* ── Intro text ── */
.lp-intro {
  padding: clamp(72px,10vh,120px) clamp(24px,6vw,88px);
  border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line);
  max-width: 1400px; margin: 0 auto; background: var(--block-bg, transparent);
}
.lp-intro__body {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.7; letter-spacing: .05em; max-width: 640px;
}
.lp-intro__body p { margin: 0; }
.lp-intro__body p + p { margin-top: 24px; }

/* ── Story row ── */
.lp-story { border-top: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-story__inner { display: grid; grid-template-columns: 1fr; width: 100%; }
.lp-story__img { overflow: hidden; position: relative; width: 100%; }
.lp-story__img--portrait { aspect-ratio: 4/3; }
.lp-story__img--landscape { aspect-ratio: 16/9; }
.lp-story__body { padding: 56px 28px; display: flex; flex-direction: column; justify-content: center; }
.lp-story__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .28em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-story__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(22px,2.8vw,38px);
  font-weight: 400; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 28px; line-height: 1.55;
}
.lp-story__p {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; letter-spacing: .04em;
}
@media (min-width: 768px) {
  .lp-story--left .lp-story__inner,
  .lp-story--right .lp-story__inner { grid-template-columns: 1fr 1fr; min-height: 620px; }
  .lp-story--left .lp-story__img,
  .lp-story--right .lp-story__img { aspect-ratio: auto; }
  .lp-story--left .lp-story__img img,
  .lp-story--right .lp-story__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .lp-story--left .lp-story__body,
  .lp-story--right .lp-story__body { padding: clamp(72px,10vh,128px) clamp(56px,6vw,96px); }
  .lp-story--right .lp-story__inner { direction: rtl; }
  .lp-story--right .lp-story__body { direction: ltr; }
  .lp-story--wide .lp-story__inner { grid-template-columns: 1fr; }
  .lp-story--wide .lp-story__img { aspect-ratio: 21/9; }
  .lp-story--wide .lp-story__body { padding: 72px clamp(56px,6vw,96px) 88px; }
}

/* ── Cell system ── */
.lp-cell { border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-cell__top { display: grid; grid-template-columns: 1fr 2fr; border-bottom: 1px solid var(--lp-line); }
.lp-cell__lft {
  padding: clamp(64px,9vh,112px) clamp(32px,4vw,64px);
  border-right: 1px solid var(--lp-line); display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
}
.lp-cell__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-cell__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(24px,3vw,36px);
  font-weight: 400; line-height: 1.55; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text));
}
.lp-cell__h em { font-style: normal; color: var(--block-accent-color, var(--lp-accent, #5C3218)); }
.lp-cell__p {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; margin-top: 28px; letter-spacing: .04em;
}
.lp-cell__rgt {
  padding: clamp(56px,8vh,96px) clamp(32px,4vw,64px);
  display: flex; align-items: center; justify-content: center; background: var(--lp-bg);
}
.lp-cell__svgwrap { width: 100%; max-width: 500px; }
.lp-cell__svg { width: 100%; display: block; }
.lp-cell__rect {
  fill: none; stroke: var(--block-accent-color, var(--lp-accent, #2E1608)); stroke-width: .7;
  opacity: 0; transform: scale(.88); transform-box: fill-box; transform-origin: center;
  transition: opacity .45s ease, transform .45s cubic-bezier(.16,1,.3,1);
}
.lp-cell.is-visible .lp-cell__rect {
  opacity: 1; transform: scale(1); transition-delay: calc(var(--i) * 28ms);
}
.lp-cell__spec {
  display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--lp-line);
}
.lp-cell__item { padding: 32px 28px; border-right: 1px solid var(--lp-line); }
.lp-cell__item:last-child { border-right: none; }
.lp-cell__l {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 7px;
  letter-spacing: .2em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 8px;
}
.lp-cell__v {
  font-family: var(--lp-font-en, 'Playfair Display', serif); font-size: 20px; font-weight: 300; color: var(--lp-text);
}
.lp-cell__u { font-size: 9px; color: var(--lp-muted); margin-left: 1px; }
.lp-cell__ja {
  display: block; font-family: var(--lp-font-body, 'Shippori Mincho B1', serif);
  font-size: 8px; color: var(--lp-muted); margin-top: 2px;
}
@media (max-width: 600px) {
  .lp-cell__top { grid-template-columns: 1fr; }
  .lp-cell__lft { border-right: none; border-bottom: 1px solid var(--lp-line); }
  .lp-cell__spec { grid-template-columns: 1fr 1fr; }
}

/* ── Process flow ── */
.lp-flow { border-top: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-flow__head { padding: clamp(72px,10vh,120px) clamp(32px,4vw,64px); border-bottom: 1px solid var(--lp-line); }
.lp-flow__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted);
}
.lp-flow__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(26px,3.2vw,40px);
  font-weight: 400; line-height: 1.55; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin-top: 28px;
}
.lp-flow__steps {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 1px;
  background: var(--lp-line);
}
.lp-step {
  background: var(--lp-bg); padding: clamp(40px,5vh,64px) clamp(24px,3vw,40px); min-height: 240px; display: flex; flex-direction: column;
}
.lp-step__n {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .26em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-step__t {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: 16px;
  font-weight: 400; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 20px; line-height: 1.6; letter-spacing: .04em;
}
.lp-step__d {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 12px;
  color: var(--block-body-color, var(--lp-muted)); line-height: 2.4; letter-spacing: .03em;
}
@media (max-width: 600px) {
  .lp-flow__steps { grid-template-columns: 1fr 1fr; }
}

/* ── Reassurance ── */
.lp-reassure {
  padding: clamp(72px,10vh,120px) clamp(24px,6vw,88px);
  border-top: 1px solid var(--lp-line);
  background: var(--block-bg, var(--lp-bg-alt));
}
.lp-reassure__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(22px,2.6vw,32px);
  font-weight: 400; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 24px; letter-spacing: .04em; line-height: 1.6;
}
.lp-reassure__b {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px;
  color: var(--block-body-color, var(--lp-muted)); margin-bottom: 28px; letter-spacing: .04em;
}
.lp-reassure__list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; max-width: 560px; }
.lp-reassure__list li {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  color: var(--block-body-color, var(--lp-muted)); padding-left: 22px; position: relative; line-height: 2.2; letter-spacing: .03em;
}
.lp-reassure__list li::before { content: '—'; position: absolute; left: 0; color: var(--lp-muted); }

/* ── Contact ── */
.lp-contact {
  display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--lp-line);
  background: var(--block-bg, transparent);
  scroll-margin-top: 80px;
}
.lp-contact__l { padding: clamp(80px,12vh,140px) clamp(32px,4vw,64px); border-right: 1px solid var(--lp-line); }
.lp-contact__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted);
}
.lp-contact__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(26px,3.2vw,40px);
  font-weight: 400; line-height: 1.55; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin: 28px 0 32px;
}
.lp-contact__desc {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; margin-bottom: 40px; letter-spacing: .04em; max-width: 44ch;
}
.lp-contact__info { border: 1px solid var(--lp-line); }
.lp-contact__row { display: flex; padding: 10px 14px; border-bottom: 1px solid var(--lp-line); }
.lp-contact__row:last-child { border-bottom: none; }
.lp-contact__k { font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--lp-muted); width: 90px; flex-shrink: 0; padding-top: 1px; }
.lp-contact__v { font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 11px; color: var(--lp-muted); }
.lp-contact__r { padding: clamp(80px,12vh,140px) clamp(32px,4vw,64px); }
.lp-contact__fg { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.lp-contact__fg label { font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; color: var(--lp-muted); }
.lp-contact__fg input,
.lp-contact__fg textarea {
  border: 1px solid var(--lp-line); background: #f8f5f0; padding: 10px 12px;
  font-size: 12px; font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); color: var(--lp-text);
  outline: none; transition: border-color .15s; -webkit-appearance: none; border-radius: 0;
}
.lp-contact__fg input:focus,
.lp-contact__fg textarea:focus { border-color: var(--lp-text); }
.lp-contact__fg textarea { height: 80px; resize: vertical; }
.lp-contact__frow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lp-contact__sub {
  width: 100%; background: var(--block-accent-color, var(--lp-accent, #2E1608)); color: var(--lp-light, #F5F2ED);
  border: none; padding: 13px; font-family: var(--lp-font-en, 'JetBrains Mono', monospace);
  font-size: 9px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; margin-top: 6px;
}
.lp-contact__success {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px; color: var(--lp-text); line-height: 2.2;
  padding: 40px 0;
}
.lp-contact__errors { color: #c0392b; font-size: 12px; margin-bottom: 16px; }
@media (max-width: 600px) {
  .lp-contact { grid-template-columns: 1fr; }
  .lp-contact__l { border-right: none; border-bottom: 1px solid var(--lp-line); padding: 40px 20px; }
  .lp-contact__r { padding: 40px 20px; }
}

#configurator{border-top:1px solid var(--line)}
.sim-head{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.sh-l{padding:clamp(72px,10vh,120px) clamp(32px,4vw,64px);border-right:1px solid var(--line)}
.sh-r{padding:clamp(72px,10vh,120px) clamp(32px,4vw,64px);display:flex;align-items:center}
.sh-l h3{font-family:'Shippori Mincho B1',serif;font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.55;letter-spacing:.04em;color:var(--ink);margin-top:28px}
.sh-r p{font-family:'Shippori Mincho B1',serif;font-size:13px;font-weight:400;color:var(--tone);line-height:2.6;margin-top:0;letter-spacing:.04em;max-width:44ch}
@media(max-width:600px){.sim-head{grid-template-columns:1fr}.sh-l{border-right:none;border-bottom:1px solid var(--line)}}
#cfg-wrap{background:var(--cr2)}
#cfg-top{background:var(--cr2);border-bottom:1px solid var(--line);padding:16px 20px;display:flex;flex-direction:column;gap:10px;position:sticky;top:52px;z-index:10}
.ct-top-row{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;justify-content:center}
.ct-svg{flex:1 1 360px;min-width:0;max-width:540px;margin:0 auto;display:flex;justify-content:center}
.ct-sheet{background:#fcfaf6;box-shadow:0 2px 10px rgba(40,30,18,.08);border:1px solid var(--line)}
.ct-sheet-d{display:none}
.ct-sheetsvg{display:block;width:auto;height:auto;max-width:100%;max-height:40vh}
.ct-sheetsvg-m{display:block;width:100%;height:auto;max-width:100%}
.ct-info{flex:1 1 170px;min-width:150px;max-width:300px}
@media(min-width:860px){
  #cfg-wrap{display:grid;grid-template-columns:minmax(0,1fr) clamp(360px,32%,440px);align-items:stretch}
  #cfg-top{border-bottom:none;border-right:1px solid var(--line);height:calc(100vh - 52px);justify-content:center;align-items:center;gap:0;overflow:hidden;padding:24px 36px}
  .ct-top-row{flex-direction:column;align-items:center;gap:0;flex:0 0 auto;width:100%;max-width:1100px;margin:0 auto}
  .ct-svg{width:100%;justify-content:center}
  .ct-sheet-m{width:100%;height:calc(100vh - 120px);min-height:400px;display:block;background:#FBF9F3;border:none;box-shadow:0 2px 16px rgba(40,30,18,.10)}
  .ct-sheetsvg{max-height:calc(100vh - 290px)}
  .ct-sheetsvg-m{display:block;width:100%;height:100%}
  #cfg-acc{height:calc(100vh - 52px);overflow:auto;padding-bottom:90px}
  .acc-price{position:sticky;top:0;z-index:6}
  .ct-info{max-width:none;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 18px}
}
@media(max-width:600px){.ct-top-row{gap:12px}.ct-info{max-width:none}.ct-sheetsvg{max-height:52vh}}
.ct-mobile-info{display:none}
#cfg-minfo{display:none!important}
.ct-info-desktop,.ct-info-mobile{display:none!important}
.acc-price{background:var(--cr2);border-bottom:1px solid var(--line);padding:18px 20px 15px}
.ap-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ap-k{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin-bottom:4px}
.ap-val{font-family:'Playfair Display',serif;font-size:30px;font-weight:400;color:var(--wn);line-height:1;white-space:nowrap}
.ap-row>div:first-child{min-width:0}
.ap-val span{font-size:15px;margin-left:1px}
.ap-comp{text-align:right;white-space:nowrap}
.ap-cv{font-family:'Shippori Mincho B1',serif;font-size:15px;color:var(--wn);white-space:nowrap}
.ap-sub{font-family:'Shippori Mincho B1',serif;font-size:9.5px;color:var(--g2);margin-top:8px}
.ap-dims{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--ink);margin-top:4px;letter-spacing:.01em}
.ap-dims span{color:var(--g2);margin-right:4px}
.acc-note{font-family:'Shippori Mincho B1',serif;font-size:9.5px;line-height:1.85;color:var(--tone);padding:14px 20px 30px}
@media(min-width:860px){
  #cfg-minfo{display:none}
  .ct-info-mobile{display:none!important}
  .ct-sheet-d{display:none!important}
  .ct-sheet-m{display:block}
  .ct-info-desktop{display:block;width:100%;max-width:1080px;margin:0 auto;border:1px solid var(--line);background:#fcfaf6;box-shadow:0 2px 10px rgba(40,30,18,.06);padding:20px 28px}
  .ct-info-desktop .cmi-hint{display:none}
  .cmi-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .cmi-k{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin-bottom:4px}
  .cmi-price{font-family:'Playfair Display',serif;font-size:32px;font-weight:400;color:var(--wn);line-height:1}
  .cmi-price span{font-size:16px;margin-left:1px}
  .cmi-sub{font-family:'Shippori Mincho B1',serif;font-size:10px;color:var(--g2);margin-top:5px;line-height:1.6}
  .cmi-comp{text-align:right}
  .cmi-cv{font-family:'Shippori Mincho B1',serif;font-size:17px;color:var(--wn)}
  .cmi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 24px;padding:15px 0;border-bottom:1px solid var(--line)}
  .cmi-grid>div{display:flex;flex-direction:column;gap:3px}
  .cmi-grid .cmi-k{margin-bottom:0}
  .cmi-v{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink);letter-spacing:.01em}
  .cmi-note{font-family:'Shippori Mincho B1',serif;font-size:11px;line-height:1.8;color:var(--tone);padding-top:12px}
}
@media(max-width:859px){
  #cfg-top{position:sticky;top:52px;z-index:30;height:42vh;display:flex;flex-direction:column;justify-content:center;gap:0;padding:10px 14px;background:var(--cr2);box-shadow:0 8px 18px -6px rgba(40,30,18,.18);border-bottom:1px solid var(--line)}
  #cfg-minfo{padding:0 20px 28px}
  .ct-info-desktop{display:none!important}
  .ct-top-row{flex:1;min-height:0;min-width:0;width:100%}
  .ct-svg{width:100%;max-width:100%;height:100%;min-height:0;min-width:0;justify-content:center;align-items:center}
  .ct-sheet-d{display:none}
  .ct-sheet-m{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;background:#FBF9F3}
  .ct-sheetsvg-m{display:block;width:auto;height:auto;max-width:100%;max-height:100%}
  .ct-mobile-info{display:block;margin-top:16px;padding:0 2px}
  .cmi-hint{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--g2);text-align:center;margin-bottom:14px}
  .cmi-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .cmi-k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g2);margin-bottom:3px}
  .cmi-price{font-family:'Playfair Display',serif;font-size:34px;font-weight:400;color:var(--wn);line-height:1}
  .cmi-price span{font-size:16px;margin-left:1px}
  .cmi-sub{font-family:'Shippori Mincho B1',serif;font-size:10px;color:var(--g2);margin-top:5px;line-height:1.5}
  .cmi-comp{text-align:right}
  .cmi-cv{font-family:'Shippori Mincho B1',serif;font-size:17px;color:var(--wn)}
  .cmi-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px;padding:14px 0}
  .cmi-grid>div{display:flex;flex-direction:column;gap:2px}
  .cmi-grid .cmi-k{margin-bottom:0}
  .cmi-v{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink);letter-spacing:.01em}
  .cmi-note{font-family:'Shippori Mincho B1',serif;font-size:12px;line-height:1.85;color:var(--tone);background:#f0ece5;border-left:2px solid var(--tone2);padding:11px 13px;margin-top:4px}
}
.ct-dims{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;color:var(--g2);margin-bottom:2px}
.ct-price{font-family:'Playfair Display',serif;font-size:28px;font-weight:300;color:var(--wn);line-height:1}
.ct-pnote{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--g2);margin-top:3px}
.ct-warn{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--wn3);margin-top:4px;letter-spacing:.04em}
#cfg-acc{padding-bottom:80px}
.ac{border-bottom:1px solid var(--line);background:var(--cr2)}
.ac-h{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.ac-h:active{background:var(--cr3)}
.ac-lbl{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--g2)}
.ac-r{display:flex;align-items:center;gap:10px}
.ac-val{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--wn)}
.ac-chev{font-size:10px;color:var(--g2);transition:transform .2s;line-height:1}
.ac.open .ac-chev{transform:rotate(180deg)}
.ac-body{display:none;padding:4px 20px 16px}
.ac.open .ac-body{display:block}
.wi2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.wi2 label{font-family:'JetBrains Mono',monospace;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:var(--g2);display:block;margin-bottom:5px}
.wi2 input{width:100%;border:1px solid var(--line);background:#f8f5f0;padding:10px 12px;font-family:'JetBrains Mono',monospace;font-size:17px;color:var(--wn);outline:none;-webkit-appearance:none;border-radius:0;box-sizing:border-box;transition:border-color .15s}
.wi2 input:focus{border-color:var(--wn)}
.sug3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:12px}
.sug3-c{background:#f8f5f0;padding:10px;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;-webkit-tap-highlight-color:transparent}
.sug3-c.on{background:var(--cr2);border-bottom-color:var(--wn)}
.sug3-m{font-family:'Playfair Display',serif;font-size:15px;font-weight:300;color:var(--wn)}
.sug3-s{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--g2);margin-top:1px}
.ctr2{display:flex;flex-direction:column;gap:10px}
.ctr2-row{display:flex;align-items:center;gap:12px}
.ctr2-lbl{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--g2);width:28px}
.ctr2-ctrl{display:flex;align-items:center;border:1px solid var(--line);background:#f8f5f0}
.ctr2-btn{width:40px;height:40px;border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--g);-webkit-tap-highlight-color:transparent}
.ctr2-btn:active{background:var(--cr3)}
.ctr2-val{width:36px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--wn)}
.ctr2-unit{padding-right:10px;font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--g2)}
.dep2{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.dep2-btn{padding:9px 10px;border:1px solid var(--line);background:#f8f5f0;cursor:pointer;transition:all .12s;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent}
.dep2-btn.on{border-color:var(--wn);background:var(--wn);color:var(--cr)}
.dep2-v{font-family:'JetBrains Mono',monospace;font-size:9px}
.dep2-l{font-family:'Shippori Mincho B1',serif;font-size:8px;color:var(--g)}
.dep2-btn.on .dep2-l{color:rgba(245,240,234,.65)}
.mat3{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mat3-btn{padding:12px;border:1px solid var(--line);background:#f8f5f0;cursor:pointer;transition:all .12s;text-align:left;-webkit-tap-highlight-color:transparent}
.mat3-btn.on{border-color:var(--wn);background:var(--wn);color:var(--cr)}
.mat3-sw{width:16px;height:16px;border-radius:1px;margin-bottom:6px}
.mat3-n{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.06em;display:block}
.mat3-j{font-family:'Shippori Mincho B1',serif;font-size:9px;color:var(--g);display:block;margin-top:1px}
.mat3-btn.on .mat3-j{color:rgba(245,240,234,.65)}
.tog3-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.tog3-row:last-of-type{border-bottom:none}
.tog3-lbl{font-family:'Shippori Mincho B1',serif;font-size:12px;font-weight:400}
.tog3-note{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--g2);margin-top:2px}
.tog3{width:36px;height:19px;position:relative;cursor:pointer;transition:background .15s;border:1px solid var(--line);flex-shrink:0;-webkit-tap-highlight-color:transparent}
.tog3.on{background:var(--wn);border-color:var(--wn)}
.tog3-k{position:absolute;top:2px;width:13px;height:13px;transition:all .15s;background:var(--g2)}
.tog3.on .tog3-k{left:20px;background:var(--cr)}
.tog3:not(.on) .tog3-k{left:2px}
.tog3.dim{opacity:.3;pointer-events:none}
#cfg-cta-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;padding:12px 16px;background:var(--cr);border-top:1px solid var(--line);display:none}
body.in-cfg #cfg-cta-bar{display:block}
body.cfg-modal-open #cfg-cta-bar{display:none}
#cfg-cta-bar button{width:100%;background:var(--wn);color:var(--cr);border:none;padding:14px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}

  .cellf-cfg .sec-idx{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--tone2);margin-bottom:28px;}

/* ── 構成確認モーダル ── */
.cfg-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}
.cfg-modal[hidden]{display:none}
.cfg-modal__backdrop{position:absolute;inset:0;background:rgba(28,22,17,.55)}
.cfg-modal__panel{position:relative;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;background:var(--cr,#F5F2ED);border:1px solid var(--line);padding:28px 24px 24px;box-shadow:0 12px 48px rgba(28,22,17,.3)}
.cfg-modal__close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:20px;line-height:1;color:var(--tone2);cursor:pointer;padding:4px 8px}
.cfg-modal__title{font-family:'Shippori Mincho B1',serif;font-size:16px;font-weight:400;color:var(--ink);margin:0 0 16px;letter-spacing:.04em}
.cfg-modal__preview{border:1px solid var(--line);background:#fff;padding:12px;margin-bottom:16px;overflow:auto}
.cfg-modal__preview svg{max-width:100%;height:auto;display:block;margin:0 auto}
.cfg-modal__summary{display:grid;gap:8px;margin-bottom:16px}
.cfg-modal__row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-family:'Shippori Mincho B1',serif;font-size:12px;color:var(--tone)}
.cfg-modal__row strong{font-family:'JetBrains Mono',monospace;font-weight:400;color:var(--ink);font-size:12px}
.cfg-modal__status{min-height:16px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--tone2);margin:0 0 12px}
.cfg-modal__cta{width:100%;background:var(--wn);color:var(--cr,#F5F2ED);border:none;padding:14px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cfg-modal__cta:disabled{opacity:.5;cursor:default}
body.cfg-modal-open{overflow:hidden}

/* ── 添付ステータス（問い合わせフォーム内） ── */
.cfg-attach{border:1px solid var(--line);background:#f0ece5;padding:12px 14px;margin:4px 0 14px}
.cfg-attach[hidden]{display:none}
.cfg-attach.is-stale{border-color:#c0392b}
.cas-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cas-label{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--tone2)}
.cas-name{font-family:'Shippori Mincho B1',serif;font-size:12px;color:var(--ink);flex:1}
.cas-regen{background:none;border:1px solid var(--line);padding:4px 10px;font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--tone);cursor:pointer}
.cas-warn{font-family:'Shippori Mincho B1',serif;font-size:11px;color:#c0392b;margin:8px 0 0}
.cas-note{font-family:'Shippori Mincho B1',serif;font-size:10px;color:var(--tone2);line-height:1.8;margin:8px 0 0}
.cas-mailto{display:inline-block;margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.06em;color:var(--wn);text-decoration:underline}
/* END_SECTION:cellf-lp-update */

/* START_SECTION:cellf-lp (INDEX:12) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;1,300&display=swap');

.custom-lp-builder {
  background: var(--lp-bg);
  color: var(--lp-text);
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif);
  overflow-x: hidden;
}

.custom-lp-builder *,
.custom-lp-builder *::before,
.custom-lp-builder *::after {
  box-sizing: border-box;
}

.custom-lp-builder img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}

/* ── Legacy CSS-var aliases for configurator block CSS ── */
.custom-lp-builder {
  --line:  var(--lp-line);
  --ink:   var(--lp-text);
  --tone:  var(--lp-muted);
  --tone2: var(--lp-muted);
  --wn:    var(--lp-accent);
  --wn2:   var(--lp-accent);
  --wn3:   var(--lp-accent);
  --bg:    var(--lp-bg);
  --cr:    var(--lp-bg);
  --cr2:   var(--lp-bg-alt);
  --cr3:   var(--lp-bg-alt);
  --g:     var(--lp-muted);
  --g2:    var(--lp-muted);
}

/* ── Reveal animation ── */
[data-lp-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1);
}
[data-lp-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-lp-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ── CELL toggle ── */
#lp-cell-trigger {
  position: fixed; bottom: 16px; right: 16px; z-index: 200;
  display: flex; align-items: center; gap: 8px;
  background: var(--lp-accent, #2E1608); color: var(--lp-light, #F5F2ED);
  border: 1px solid rgba(245,240,234,.22);
  padding: 9px 18px;
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace);
  font-size: 8px; letter-spacing: .18em; text-transform: uppercase;
  cursor: pointer; box-shadow: 0 2px 16px rgba(28,22,17,.25);
  transition: background .2s, color .2s, box-shadow .2s;
}
#lp-cell-trigger.on {
  background: rgba(245,240,234,.12); color: rgba(245,240,234,.8);
  border-color: rgba(245,240,234,.3); box-shadow: none;
}
.lp-st-toggle { width: 24px; height: 12px; border: 1px solid currentColor; position: relative; flex-shrink: 0; }
.lp-st-dot { position: absolute; top: 2px; left: 2px; width: 6px; height: 6px; background: currentColor; transition: left .15s; }
#lp-cell-trigger.on .lp-st-dot { left: calc(100% - 8px); }
#lp-cell-walls {
  position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: 0;
  transition: opacity .3s;
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(20% - 1px), rgba(245,240,234,.12) calc(20% - 1px), rgba(245,240,234,.12) 20%);
}
#lp-cell-shelves {
  position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: 0;
  transition: opacity .3s;
  background: repeating-linear-gradient(180deg, transparent 0, transparent calc(345px - 2px), rgba(245,240,234,.08) calc(345px - 2px), rgba(245,240,234,.08) 345px);
}
body.lp-cell-on #lp-cell-walls,
body.lp-cell-on #lp-cell-shelves { opacity: 1; }
body.lp-cell-on .custom-lp-builder { background: var(--lp-accent, #2E1608); }
body.lp-cell-on .lp-hero__h1,
body.lp-cell-on .lp-concept__h,
body.lp-cell-on .lp-cell__h,
body.lp-cell-on .lp-flow__h { color: #fff; }
body.lp-cell-on .lp-hero__sub,
body.lp-cell-on .lp-hero__eyebrow,
body.lp-cell-on .lp-concept__en,
body.lp-cell-on .lp-shero__h,
body.lp-cell-on .lp-story__h,
body.lp-cell-on .lp-cell__p,
body.lp-cell-on .lp-reassure__h,
body.lp-cell-on .lp-flow__idx,
body.lp-cell-on .lp-step__t,
body.lp-cell-on .sh-l h3,
body.lp-cell-on .sh-r p { color: rgba(245,240,234,.8); }
body.lp-cell-on .lp-cell__rect { stroke: rgba(245,240,234,.5); }
body.lp-cell-on .lp-reassure { background: var(--lp-bg-alt) !important; }
body.lp-cell-on .lp-story__img::after {
  content: ''; position: absolute; inset: 0; background: rgba(28,12,4,.25); pointer-events: none;
}

/* ── Hero ── */
.lp-hero {
  margin-top: 52px; position: relative; width: 100%;
  height: calc(100vh - 52px); min-height: 560px; max-height: 900px; overflow: hidden;
  background: var(--block-bg, transparent);
}
.lp-hero__img { position: absolute; inset: 0; }
.lp-hero__img::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(14,10,6,.18) 0%, rgba(14,10,6,.08) 40%, rgba(14,10,6,.55) 100%);
}
.lp-hero__meta {
  position: absolute; top: clamp(28px,4vh,56px);
  left: clamp(24px,6vw,88px); right: clamp(24px,6vw,88px); z-index: 2;
  display: flex; justify-content: space-between;
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace);
  font-size: 9px; letter-spacing: .26em; color: rgba(245,240,234,.55); text-transform: uppercase; pointer-events: none;
}
.lp-hero__overlay {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 0 clamp(24px,6vw,88px) clamp(56px,9vh,120px); pointer-events: none;
}
.lp-hero__eyebrow {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 10px;
  letter-spacing: .32em; color: rgba(245,240,234,.75); margin-bottom: clamp(20px,3vh,36px); text-transform: uppercase;
}
.lp-hero__h1 {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif);
  font-size: clamp(38px,7.2vw,108px); font-weight: 400; line-height: 1.12; letter-spacing: .04em; color: #fff;
  margin-bottom: clamp(22px,3vh,40px); text-shadow: 0 2px 32px rgba(14,10,6,.35); max-width: 14ch;
  color: var(--block-heading-color, #fff);
}
.lp-hero__sub {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: clamp(11px,1.3vw,15px);
  font-weight: 300; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(245,240,234,.82); max-width: 52ch;
}

/* ── Concept band ── */
.lp-concept {
  padding: clamp(88px,14vh,160px) clamp(24px,6vw,88px);
  border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line);
  max-width: 1400px; margin: 0 auto; background: var(--block-bg, transparent);
}
.lp-concept__en {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 32px;
}
.lp-concept__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif);
  font-size: clamp(24px,3vw,40px); font-weight: 400; letter-spacing: .04em;
  color: var(--block-heading-color, var(--lp-text)); line-height: 1.7; margin-bottom: 32px; max-width: 26ch;
}
.lp-concept__sub {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; letter-spacing: .05em; max-width: 640px;
}
.lp-concept__sub p { margin: 0; }

/* ── Story hero ── */
.lp-shero { border-top: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-shero__inner { display: grid; grid-template-columns: 1fr; width: 100%; }
.lp-shero__img { overflow: hidden; position: relative; width: 100%; aspect-ratio: 4/3; }
.lp-shero__body { padding: 56px 28px; display: flex; flex-direction: column; justify-content: center; }
.lp-shero__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .28em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-shero__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(22px,2.8vw,38px);
  font-weight: 400; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 28px; line-height: 1.55;
}
.lp-shero__p {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; letter-spacing: .04em;
}
@media (min-width: 768px) {
  .lp-shero__inner { min-height: 760px; position: relative; }
  .lp-shero__img { grid-row: 1; grid-column: 1; aspect-ratio: auto; min-height: 760px; }
  .lp-shero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .lp-shero__body {
    grid-row: 1; grid-column: 1; position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
    padding: 96px 96px 80px;
    background: linear-gradient(to top, rgba(14,12,9,.78) 0%, rgba(14,12,9,.1) 100%);
  }
  .lp-shero__idx { color: rgba(245,240,234,.6); }
  .lp-shero__h { color: #fff; font-size: clamp(30px,3.8vw,52px); max-width: 22ch; }
  .lp-shero__p { color: rgba(245,240,234,.8); max-width: 54ch; }
}

/* ── Intro text ── */
.lp-intro {
  padding: clamp(72px,10vh,120px) clamp(24px,6vw,88px);
  border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line);
  max-width: 1400px; margin: 0 auto; background: var(--block-bg, transparent);
}
.lp-intro__body {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.7; letter-spacing: .05em; max-width: 640px;
}
.lp-intro__body p { margin: 0; }
.lp-intro__body p + p { margin-top: 24px; }

/* ── Story row ── */
.lp-story { border-top: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-story__inner { display: grid; grid-template-columns: 1fr; width: 100%; }
.lp-story__img { overflow: hidden; position: relative; width: 100%; }
.lp-story__img--portrait { aspect-ratio: 4/3; }
.lp-story__img--landscape { aspect-ratio: 16/9; }
.lp-story__body { padding: 56px 28px; display: flex; flex-direction: column; justify-content: center; }
.lp-story__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .28em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-story__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(22px,2.8vw,38px);
  font-weight: 400; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 28px; line-height: 1.55;
}
.lp-story__p {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  font-weight: 400; color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; letter-spacing: .04em;
}
@media (min-width: 768px) {
  .lp-story--left .lp-story__inner,
  .lp-story--right .lp-story__inner { grid-template-columns: 1fr 1fr; min-height: 620px; }
  .lp-story--left .lp-story__img,
  .lp-story--right .lp-story__img { aspect-ratio: auto; }
  .lp-story--left .lp-story__img img,
  .lp-story--right .lp-story__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .lp-story--left .lp-story__body,
  .lp-story--right .lp-story__body { padding: clamp(72px,10vh,128px) clamp(56px,6vw,96px); }
  .lp-story--right .lp-story__inner { direction: rtl; }
  .lp-story--right .lp-story__body { direction: ltr; }
  .lp-story--wide .lp-story__inner { grid-template-columns: 1fr; }
  .lp-story--wide .lp-story__img { aspect-ratio: 21/9; }
  .lp-story--wide .lp-story__body { padding: 72px clamp(56px,6vw,96px) 88px; }
}

/* ── Cell system ── */
.lp-cell { border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-cell__top { display: grid; grid-template-columns: 1fr 2fr; border-bottom: 1px solid var(--lp-line); }
.lp-cell__lft {
  padding: clamp(64px,9vh,112px) clamp(32px,4vw,64px);
  border-right: 1px solid var(--lp-line); display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
}
.lp-cell__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-cell__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(24px,3vw,36px);
  font-weight: 400; line-height: 1.55; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text));
}
.lp-cell__h em { font-style: normal; color: var(--block-accent-color, var(--lp-accent, #5C3218)); }
.lp-cell__p {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; margin-top: 28px; letter-spacing: .04em;
}
.lp-cell__rgt {
  padding: clamp(56px,8vh,96px) clamp(32px,4vw,64px);
  display: flex; align-items: center; justify-content: center; background: var(--lp-bg);
}
.lp-cell__svgwrap { width: 100%; max-width: 500px; }
.lp-cell__svg { width: 100%; display: block; }
.lp-cell__rect {
  fill: none; stroke: var(--block-accent-color, var(--lp-accent, #2E1608)); stroke-width: .7;
  opacity: 0; transform: scale(.88); transform-box: fill-box; transform-origin: center;
  transition: opacity .45s ease, transform .45s cubic-bezier(.16,1,.3,1);
}
.lp-cell.is-visible .lp-cell__rect {
  opacity: 1; transform: scale(1); transition-delay: calc(var(--i) * 28ms);
}
.lp-cell__spec {
  display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--lp-line);
}
.lp-cell__item { padding: 32px 28px; border-right: 1px solid var(--lp-line); }
.lp-cell__item:last-child { border-right: none; }
.lp-cell__l {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 7px;
  letter-spacing: .2em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 8px;
}
.lp-cell__v {
  font-family: var(--lp-font-en, 'Playfair Display', serif); font-size: 20px; font-weight: 300; color: var(--lp-text);
}
.lp-cell__u { font-size: 9px; color: var(--lp-muted); margin-left: 1px; }
.lp-cell__ja {
  display: block; font-family: var(--lp-font-body, 'Shippori Mincho B1', serif);
  font-size: 8px; color: var(--lp-muted); margin-top: 2px;
}
@media (max-width: 600px) {
  .lp-cell__top { grid-template-columns: 1fr; }
  .lp-cell__lft { border-right: none; border-bottom: 1px solid var(--lp-line); }
  .lp-cell__spec { grid-template-columns: 1fr 1fr; }
}

/* ── Process flow ── */
.lp-flow { border-top: 1px solid var(--lp-line); background: var(--block-bg, transparent); }
.lp-flow__head { padding: clamp(72px,10vh,120px) clamp(32px,4vw,64px); border-bottom: 1px solid var(--lp-line); }
.lp-flow__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted);
}
.lp-flow__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(26px,3.2vw,40px);
  font-weight: 400; line-height: 1.55; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin-top: 28px;
}
.lp-flow__steps {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 1px;
  background: var(--lp-line);
}
.lp-step {
  background: var(--lp-bg); padding: clamp(40px,5vh,64px) clamp(24px,3vw,40px); min-height: 240px; display: flex; flex-direction: column;
}
.lp-step__n {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .26em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 28px;
}
.lp-step__t {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: 16px;
  font-weight: 400; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 20px; line-height: 1.6; letter-spacing: .04em;
}
.lp-step__d {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 12px;
  color: var(--block-body-color, var(--lp-muted)); line-height: 2.4; letter-spacing: .03em;
}
@media (max-width: 600px) {
  .lp-flow__steps { grid-template-columns: 1fr 1fr; }
}

/* ── Reassurance ── */
.lp-reassure {
  padding: clamp(72px,10vh,120px) clamp(24px,6vw,88px);
  border-top: 1px solid var(--lp-line);
  background: var(--block-bg, var(--lp-bg-alt));
}
.lp-reassure__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(22px,2.6vw,32px);
  font-weight: 400; color: var(--block-heading-color, var(--lp-text)); margin-bottom: 24px; letter-spacing: .04em; line-height: 1.6;
}
.lp-reassure__b {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px;
  color: var(--block-body-color, var(--lp-muted)); margin-bottom: 28px; letter-spacing: .04em;
}
.lp-reassure__list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; max-width: 560px; }
.lp-reassure__list li {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  color: var(--block-body-color, var(--lp-muted)); padding-left: 22px; position: relative; line-height: 2.2; letter-spacing: .03em;
}
.lp-reassure__list li::before { content: '—'; position: absolute; left: 0; color: var(--lp-muted); }

/* ── Contact ── */
.lp-contact {
  display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--lp-line);
  background: var(--block-bg, transparent);
}
.lp-contact__l { padding: clamp(80px,12vh,140px) clamp(32px,4vw,64px); border-right: 1px solid var(--lp-line); }
.lp-contact__idx {
  font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 9px;
  letter-spacing: .32em; text-transform: uppercase; color: var(--lp-muted);
}
.lp-contact__h {
  font-family: var(--lp-font-heading, 'Shippori Mincho B1', serif); font-size: clamp(26px,3.2vw,40px);
  font-weight: 400; line-height: 1.55; letter-spacing: .04em; color: var(--block-heading-color, var(--lp-text)); margin: 28px 0 32px;
}
.lp-contact__desc {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 13px;
  color: var(--block-body-color, var(--lp-muted)); line-height: 2.6; margin-bottom: 40px; letter-spacing: .04em; max-width: 44ch;
}
.lp-contact__info { border: 1px solid var(--lp-line); }
.lp-contact__row { display: flex; padding: 10px 14px; border-bottom: 1px solid var(--lp-line); }
.lp-contact__row:last-child { border-bottom: none; }
.lp-contact__k { font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--lp-muted); width: 90px; flex-shrink: 0; padding-top: 1px; }
.lp-contact__v { font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 11px; color: var(--lp-muted); }
.lp-contact__r { padding: clamp(80px,12vh,140px) clamp(32px,4vw,64px); }
.lp-contact__fg { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.lp-contact__fg label { font-family: var(--lp-font-en, 'JetBrains Mono', monospace); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; color: var(--lp-muted); }
.lp-contact__fg input,
.lp-contact__fg textarea {
  border: 1px solid var(--lp-line); background: #f8f5f0; padding: 10px 12px;
  font-size: 12px; font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); color: var(--lp-text);
  outline: none; transition: border-color .15s; -webkit-appearance: none; border-radius: 0;
}
.lp-contact__fg input:focus,
.lp-contact__fg textarea:focus { border-color: var(--lp-text); }
.lp-contact__fg textarea { height: 80px; resize: vertical; }
.lp-contact__frow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lp-contact__sub {
  width: 100%; background: var(--block-accent-color, var(--lp-accent, #2E1608)); color: var(--lp-light, #F5F2ED);
  border: none; padding: 13px; font-family: var(--lp-font-en, 'JetBrains Mono', monospace);
  font-size: 9px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; margin-top: 6px;
}
.lp-contact__success {
  font-family: var(--lp-font-body, 'Shippori Mincho B1', serif); font-size: 14px; color: var(--lp-text); line-height: 2.2;
  padding: 40px 0;
}
.lp-contact__errors { color: #c0392b; font-size: 12px; margin-bottom: 16px; }
@media (max-width: 600px) {
  .lp-contact { grid-template-columns: 1fr; }
  .lp-contact__l { border-right: none; border-bottom: 1px solid var(--lp-line); padding: 40px 20px; }
  .lp-contact__r { padding: 40px 20px; }
}

#configurator{border-top:1px solid var(--line)}
.sim-head{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.sh-l{padding:clamp(72px,10vh,120px) clamp(32px,4vw,64px);border-right:1px solid var(--line)}
.sh-r{padding:clamp(72px,10vh,120px) clamp(32px,4vw,64px);display:flex;align-items:center}
.sh-l h3{font-family:'Shippori Mincho B1',serif;font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.55;letter-spacing:.04em;color:var(--ink);margin-top:28px}
.sh-r p{font-family:'Shippori Mincho B1',serif;font-size:13px;font-weight:400;color:var(--tone);line-height:2.6;margin-top:0;letter-spacing:.04em;max-width:44ch}
@media(max-width:600px){.sim-head{grid-template-columns:1fr}.sh-l{border-right:none;border-bottom:1px solid var(--line)}}
#cfg-wrap{background:var(--cr2)}
#cfg-top{background:var(--cr2);border-bottom:1px solid var(--line);padding:16px 20px;display:flex;flex-direction:column;gap:10px;position:sticky;top:52px;z-index:10}
.ct-top-row{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;justify-content:center}
.ct-svg{flex:1 1 360px;min-width:0;max-width:540px;margin:0 auto;display:flex;justify-content:center}
.ct-sheet{background:#fcfaf6;box-shadow:0 2px 10px rgba(40,30,18,.08);border:1px solid var(--line)}
.ct-sheet-d{display:none}
.ct-sheetsvg{display:block;width:auto;height:auto;max-width:100%;max-height:40vh}
.ct-sheetsvg-m{display:block;width:100%;height:auto;max-width:100%}
.ct-info{flex:1 1 170px;min-width:150px;max-width:300px}
@media(min-width:860px){
  #cfg-wrap{display:grid;grid-template-columns:minmax(0,1fr) clamp(360px,32%,440px);align-items:stretch}
  #cfg-top{border-bottom:none;border-right:1px solid var(--line);height:calc(100vh - 52px);justify-content:center;align-items:center;gap:0;overflow:hidden;padding:24px 36px}
  .ct-top-row{flex-direction:column;align-items:center;gap:0;flex:0 0 auto;width:100%;max-width:1100px;margin:0 auto}
  .ct-svg{width:100%;justify-content:center}
  .ct-sheet-m{width:100%;height:calc(100vh - 120px);min-height:400px;display:block;background:#FBF9F3;border:none;box-shadow:0 2px 16px rgba(40,30,18,.10)}
  .ct-sheetsvg{max-height:calc(100vh - 290px)}
  .ct-sheetsvg-m{display:block;width:100%;height:100%}
  #cfg-acc{height:calc(100vh - 52px);overflow:auto;padding-bottom:90px}
  .acc-price{position:sticky;top:0;z-index:6}
  .ct-info{max-width:none;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 18px}
}
@media(max-width:600px){.ct-top-row{gap:12px}.ct-info{max-width:none}.ct-sheetsvg{max-height:52vh}}
.ct-mobile-info{display:none}
#cfg-minfo{display:none!important}
.ct-info-desktop,.ct-info-mobile{display:none!important}
.acc-price{background:var(--cr2);border-bottom:1px solid var(--line);padding:18px 20px 15px}
.ap-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ap-k{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin-bottom:4px}
.ap-val{font-family:'Playfair Display',serif;font-size:30px;font-weight:400;color:var(--wn);line-height:1;white-space:nowrap}
.ap-row>div:first-child{min-width:0}
.ap-val span{font-size:15px;margin-left:1px}
.ap-comp{text-align:right;white-space:nowrap}
.ap-cv{font-family:'Shippori Mincho B1',serif;font-size:15px;color:var(--wn);white-space:nowrap}
.ap-sub{font-family:'Shippori Mincho B1',serif;font-size:9.5px;color:var(--g2);margin-top:8px}
.ap-dims{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--ink);margin-top:4px;letter-spacing:.01em}
.ap-dims span{color:var(--g2);margin-right:4px}
.acc-note{font-family:'Shippori Mincho B1',serif;font-size:9.5px;line-height:1.85;color:var(--tone);padding:14px 20px 30px}
@media(min-width:860px){
  #cfg-minfo{display:none}
  .ct-info-mobile{display:none!important}
  .ct-sheet-d{display:none!important}
  .ct-sheet-m{display:block}
  .ct-info-desktop{display:block;width:100%;max-width:1080px;margin:0 auto;border:1px solid var(--line);background:#fcfaf6;box-shadow:0 2px 10px rgba(40,30,18,.06);padding:20px 28px}
  .ct-info-desktop .cmi-hint{display:none}
  .cmi-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .cmi-k{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin-bottom:4px}
  .cmi-price{font-family:'Playfair Display',serif;font-size:32px;font-weight:400;color:var(--wn);line-height:1}
  .cmi-price span{font-size:16px;margin-left:1px}
  .cmi-sub{font-family:'Shippori Mincho B1',serif;font-size:10px;color:var(--g2);margin-top:5px;line-height:1.6}
  .cmi-comp{text-align:right}
  .cmi-cv{font-family:'Shippori Mincho B1',serif;font-size:17px;color:var(--wn)}
  .cmi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 24px;padding:15px 0;border-bottom:1px solid var(--line)}
  .cmi-grid>div{display:flex;flex-direction:column;gap:3px}
  .cmi-grid .cmi-k{margin-bottom:0}
  .cmi-v{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink);letter-spacing:.01em}
  .cmi-note{font-family:'Shippori Mincho B1',serif;font-size:11px;line-height:1.8;color:var(--tone);padding-top:12px}
}
@media(max-width:859px){
  #cfg-top{position:sticky;top:52px;z-index:30;height:42vh;display:flex;flex-direction:column;justify-content:center;gap:0;padding:10px 14px;background:var(--cr2);box-shadow:0 8px 18px -6px rgba(40,30,18,.18);border-bottom:1px solid var(--line)}
  #cfg-minfo{padding:0 20px 28px}
  .ct-info-desktop{display:none!important}
  .ct-top-row{flex:1;min-height:0;min-width:0;width:100%}
  .ct-svg{width:100%;max-width:100%;height:100%;min-height:0;min-width:0;justify-content:center;align-items:center}
  .ct-sheet-d{display:none}
  .ct-sheet-m{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;background:#FBF9F3}
  .ct-sheetsvg-m{display:block;width:auto;height:auto;max-width:100%;max-height:100%}
  .ct-mobile-info{display:block;margin-top:16px;padding:0 2px}
  .cmi-hint{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--g2);text-align:center;margin-bottom:14px}
  .cmi-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .cmi-k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g2);margin-bottom:3px}
  .cmi-price{font-family:'Playfair Display',serif;font-size:34px;font-weight:400;color:var(--wn);line-height:1}
  .cmi-price span{font-size:16px;margin-left:1px}
  .cmi-sub{font-family:'Shippori Mincho B1',serif;font-size:10px;color:var(--g2);margin-top:5px;line-height:1.5}
  .cmi-comp{text-align:right}
  .cmi-cv{font-family:'Shippori Mincho B1',serif;font-size:17px;color:var(--wn)}
  .cmi-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px;padding:14px 0}
  .cmi-grid>div{display:flex;flex-direction:column;gap:2px}
  .cmi-grid .cmi-k{margin-bottom:0}
  .cmi-v{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink);letter-spacing:.01em}
  .cmi-note{font-family:'Shippori Mincho B1',serif;font-size:12px;line-height:1.85;color:var(--tone);background:#f0ece5;border-left:2px solid var(--tone2);padding:11px 13px;margin-top:4px}
}
.ct-dims{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;color:var(--g2);margin-bottom:2px}
.ct-price{font-family:'Playfair Display',serif;font-size:28px;font-weight:300;color:var(--wn);line-height:1}
.ct-pnote{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--g2);margin-top:3px}
.ct-warn{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--wn3);margin-top:4px;letter-spacing:.04em}
#cfg-acc{padding-bottom:80px}
.ac{border-bottom:1px solid var(--line);background:var(--cr2)}
.ac-h{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.ac-h:active{background:var(--cr3)}
.ac-lbl{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--g2)}
.ac-r{display:flex;align-items:center;gap:10px}
.ac-val{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--wn)}
.ac-chev{font-size:10px;color:var(--g2);transition:transform .2s;line-height:1}
.ac.open .ac-chev{transform:rotate(180deg)}
.ac-body{display:none;padding:4px 20px 16px}
.ac.open .ac-body{display:block}
.wi2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.wi2 label{font-family:'JetBrains Mono',monospace;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:var(--g2);display:block;margin-bottom:5px}
.wi2 input{width:100%;border:1px solid var(--line);background:#f8f5f0;padding:10px 12px;font-family:'JetBrains Mono',monospace;font-size:17px;color:var(--wn);outline:none;-webkit-appearance:none;border-radius:0;box-sizing:border-box;transition:border-color .15s}
.wi2 input:focus{border-color:var(--wn)}
.sug3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:12px}
.sug3-c{background:#f8f5f0;padding:10px;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;-webkit-tap-highlight-color:transparent}
.sug3-c.on{background:var(--cr2);border-bottom-color:var(--wn)}
.sug3-m{font-family:'Playfair Display',serif;font-size:15px;font-weight:300;color:var(--wn)}
.sug3-s{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--g2);margin-top:1px}
.ctr2{display:flex;flex-direction:column;gap:10px}
.ctr2-row{display:flex;align-items:center;gap:12px}
.ctr2-lbl{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--g2);width:28px}
.ctr2-ctrl{display:flex;align-items:center;border:1px solid var(--line);background:#f8f5f0}
.ctr2-btn{width:40px;height:40px;border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--g);-webkit-tap-highlight-color:transparent}
.ctr2-btn:active{background:var(--cr3)}
.ctr2-val{width:36px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--wn)}
.ctr2-unit{padding-right:10px;font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--g2)}
.dep2{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.dep2-btn{padding:9px 10px;border:1px solid var(--line);background:#f8f5f0;cursor:pointer;transition:all .12s;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent}
.dep2-btn.on{border-color:var(--wn);background:var(--wn);color:var(--cr)}
.dep2-v{font-family:'JetBrains Mono',monospace;font-size:9px}
.dep2-l{font-family:'Shippori Mincho B1',serif;font-size:8px;color:var(--g)}
.dep2-btn.on .dep2-l{color:rgba(245,240,234,.65)}
.mat3{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mat3-btn{padding:12px;border:1px solid var(--line);background:#f8f5f0;cursor:pointer;transition:all .12s;text-align:left;-webkit-tap-highlight-color:transparent}
.mat3-btn.on{border-color:var(--wn);background:var(--wn);color:var(--cr)}
.mat3-sw{width:16px;height:16px;border-radius:1px;margin-bottom:6px}
.mat3-n{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.06em;display:block}
.mat3-j{font-family:'Shippori Mincho B1',serif;font-size:9px;color:var(--g);display:block;margin-top:1px}
.mat3-btn.on .mat3-j{color:rgba(245,240,234,.65)}
.tog3-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.tog3-row:last-of-type{border-bottom:none}
.tog3-lbl{font-family:'Shippori Mincho B1',serif;font-size:12px;font-weight:400}
.tog3-note{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--g2);margin-top:2px}
.tog3{width:36px;height:19px;position:relative;cursor:pointer;transition:background .15s;border:1px solid var(--line);flex-shrink:0;-webkit-tap-highlight-color:transparent}
.tog3.on{background:var(--wn);border-color:var(--wn)}
.tog3-k{position:absolute;top:2px;width:13px;height:13px;transition:all .15s;background:var(--g2)}
.tog3.on .tog3-k{left:20px;background:var(--cr)}
.tog3:not(.on) .tog3-k{left:2px}
.tog3.dim{opacity:.3;pointer-events:none}
#cfg-cta-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;padding:12px 16px;background:var(--cr);border-top:1px solid var(--line);display:none}
body.in-cfg #cfg-cta-bar{display:block}
#cfg-cta-bar button{width:100%;background:var(--wn);color:var(--cr);border:none;padding:14px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}

  .cellf-cfg .sec-idx{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--tone2);margin-bottom:28px;}
/* END_SECTION:cellf-lp */

/* START_SECTION:order-contact-form (INDEX:55) */
.contact-form-section {
    padding: clamp(32px, 6vw, 56px) clamp(16px, 4vw, 24px);
  }

  .contact-form-section__inner {
    max-width: var(--cf-max-width);
    margin-inline: auto;
    container-type: inline-size;
    container-name: contactform;
  }

  .contact-form-section__heading {
    font-size: clamp(1.4rem, 1.05rem + 1.6vw, 1.85rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 8px;
    text-align: center;
    text-wrap: balance;
  }

  .contact-form-section__description {
    text-align: center;
    margin: 0 0 clamp(24px, 4vw, 36px);
    line-height: 1.6;
    opacity: 0.8;
  }

  .contact-form {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 3vw, 22px);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--cf-radius);
    padding: clamp(20px, 4vw, 36px);
    background: #fff;
  }

  .contact-form__field {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
  }

  .contact-form__label {
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .contact-form__input {
    width: 100%;
    max-width: 100%;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.4;
    color: inherit;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
    appearance: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }

  .contact-form__input:focus-visible {
    outline: none;
    border-color: var(--cf-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cf-accent) 22%, transparent);
  }

  .contact-form__textarea {
    resize: vertical;
    min-height: 120px;
  }

  .contact-form__select {
    padding-right: 40px;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 20px) center, calc(100% - 15px) center;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  /* --- Horizontal checkbox / radio layout (◻️◻️◻️) --- */
  .contact-form__options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
  }

  .contact-form__options .contact-form__choice {
    display: inline-flex;
    width: auto;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    cursor: pointer;
    font-size: 0.95rem;
    line-height: 1.3;
  }

  .contact-form__choice input {
    flex: none;
    width: 20px;
    height: 20px;
    accent-color: var(--cf-accent);
  }

  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .contact-form__attachment {
    display: grid;
    gap: 12px;
    min-width: 0;
  }

  .contact-form__dropzone {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: clamp(16px, 3vw, 22px);
    border: 2px dashed color-mix(in srgb, var(--cf-accent) 45%, rgba(0, 0, 0, 0.15));
    border-radius: 10px;
    background: color-mix(in srgb, var(--cf-accent) 4%, #fff);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  }

  .contact-form__dropzone:hover {
    border-color: var(--cf-accent);
    background: color-mix(in srgb, var(--cf-accent) 8%, #fff);
  }

  .contact-form__dropzone:focus-within {
    outline: none;
    border-color: var(--cf-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--cf-accent) 22%, transparent);
  }

  .contact-form__dropzone.is-dragover {
    border-color: var(--cf-accent);
    border-style: solid;
    background: color-mix(in srgb, var(--cf-accent) 12%, #fff);
  }

  .contact-form__dropzone-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: var(--cf-accent);
    background: color-mix(in srgb, var(--cf-accent) 12%, transparent);
  }

  .contact-form__dropzone-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }

  .contact-form__dropzone-cta {
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--cf-accent);
  }

  .contact-form__dropzone-sub {
    font-size: 0.82rem;
    opacity: 0.7;
    line-height: 1.4;
  }

  .contact-form__filelist {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .contact-form__fileitem {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    background: #fff;
  }

  .contact-form__filename {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.9rem;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .contact-form__filesize {
    flex: none;
    font-size: 0.78rem;
    opacity: 0.6;
    font-variant-numeric: tabular-nums;
  }

  .contact-form__fileremove {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    font-size: 1.2rem;
    line-height: 1;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    opacity: 0.6;
    transition: background 0.15s ease, opacity 0.15s ease;
  }

  .contact-form__fileremove:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.06);
  }

  .contact-form__hint {
    display: block;
    margin-top: 2px;
    font-size: 0.8rem;
    opacity: 0.6;
  }

  .contact-form__submit {
    width: 100%;
    margin-top: 4px;
    padding: 15px 28px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    background: var(--cf-accent);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: filter 0.15s ease, transform 0.05s ease;
  }

  .contact-form__submit:hover {
    filter: brightness(1.08);
  }

  .contact-form__submit:active {
    transform: translateY(1px);
  }

  .contact-form__submit:disabled {
    opacity: 0.6;
    cursor: progress;
  }

  .contact-form__banner {
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .contact-form__banner--success {
    background: #e8f5ec;
    color: #1f7a3d;
  }

  .contact-form__banner--error {
    background: #fdecec;
    color: #b3261e;
  }

  @media (pointer: coarse) {
    .contact-form__choice {
      min-height: 40px;
    }
    .contact-form__choice input {
      width: 22px;
      height: 22px;
    }
  }

  @container contactform (min-width: 600px) {
    .contact-form__field {
      grid-template-columns: minmax(120px, 170px) 1fr;
      align-items: start;
      gap: 12px 24px;
    }
    .contact-form__field--group {
      align-items: center;
    }
    .contact-form__label {
      padding-top: 11px;
    }
    .contact-form__field--group .contact-form__label {
      padding-top: 0;
    }
    .contact-form__field--attachment .contact-form__label {
      padding-top: 0;
    }
    .contact-form__submit {
      width: auto;
      align-self: flex-start;
      min-width: 220px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .contact-form__input,
    .contact-form__submit,
    .contact-form__dropzone,
    .contact-form__fileremove {
      transition: none;
    }
  }
/* END_SECTION:order-contact-form */