*{box-sizing:border-box}body{margin:0;background:#f5f1e9;color:#27251f;font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif}header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.16em;border-bottom:1px solid #d7d1c6}header strong{font-size:27px;letter-spacing:-.055em}header strong span{font-size:10px;vertical-align:top;margin-left:4px}main{width:100%;max-width:none;margin:0}.stage{width:100%;background:#f5eddf;overflow:hidden}#scene{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:none;min-height:0}button{background:transparent;border:1px solid #b9b3a9;border-radius:2px;color:inherit;padding:9px 15px;font:inherit;font-size:12px;cursor:pointer}button:hover{background:#e7e1d7}button:focus-visible,input:focus-visible{outline:2px solid #3635b0;outline-offset:4px}output{font:11px monospace;margin-left:8px;white-space:nowrap}footer{display:flex;justify-content:space-between;padding:17px 4vw 24px;font-size:9px;letter-spacing:.12em;color:#817a6f}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:600px){header{height:65px}header>span:nth-child(2){display:none}footer{gap:10px;flex-wrap:wrap}#scene{min-height:0;max-height:none}button{min-height:44px}}

#finalCopy{pointer-events:none}

/* HTML copy uses stage coordinates, outside Safari SVG foreignObject compositing. */
.stage{position:relative;container-type:inline-size}#copyOverlay{position:absolute;inset:0;pointer-events:none;visibility:hidden;overflow:hidden}#finalCopy{position:absolute;left:5.3125%;top:16.666667%;width:54.375%;color:#073b93;font-family:Arial,sans-serif;font-weight:700;font-size:5.3125cqw;line-height:1.08;letter-spacing:-.265625cqw;-webkit-text-size-adjust:none;text-size-adjust:none}

header .ejecta-wordmark{display:block;width:148px;height:auto;mix-blend-mode:multiply;flex-shrink:0}

#lineOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;mix-blend-mode:plus-lighter}#copyOverlay{z-index:2}

#spaces{padding:clamp(88px,12vw,180px) 4vw clamp(80px,10vw,150px);color:#292927}.spaces-intro{max-width:1440px;margin:0 auto 64px}.spaces-eyebrow{font-size:11px;letter-spacing:.15em;margin:0 0 30px}#spaces h2{font-size:clamp(26px,3.4vw,54px);line-height:1.65;font-weight:500;letter-spacing:.015em;margin:0}#spaces h2 span{font-size:.78em}.spaces-view{position:relative;aspect-ratio:1672/941;max-width:1600px;margin:auto;overflow:hidden;touch-action:pan-y;background:#ede5d9}.space-slide{position:absolute;inset:0}.space-slide img{display:block;width:100%;height:100%;object-fit:contain}.spaces-navigation{max-width:1600px;margin:24px auto 0;display:flex;align-items:center;gap:24px}.space-tabs{display:grid;grid-template-columns:repeat(4,1fr);flex:1;gap:24px}.space-tabs button{border:0;border-radius:0;border-top:1px solid #c7c0b5;text-align:left;padding:18px 0;display:flex;gap:14px;font-size:18px;background:none}.space-tabs button[aria-selected=true]{border-top:3px solid #14509a;padding-top:16px;color:#14509a}.space-number{font:10px monospace;opacity:.65;padding-top:5px}.space-tabs small{display:block;font-size:10px;letter-spacing:.16em;margin-top:10px}#spaces-pause{font-size:11px;white-space:nowrap;min-height:44px} @media(max-width:600px){#spaces{padding:80px 0}.spaces-intro{padding:0 6vw;margin-bottom:32px}#spaces h2{font-size:25px}#spaces h2 span{font-size:19px}.spaces-navigation{margin:16px 6vw 0;display:block}.space-tabs{gap:12px}.space-tabs button{font-size:12px;gap:4px}.space-number{display:none}.space-tabs small{font-size:9px}#spaces-pause{margin-top:12px}.spaces-eyebrow{font-size:10px}}
.space-lines{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;mix-blend-mode:plus-lighter}@media(prefers-reduced-motion:reduce){.space-lines{display:none}}

/* Compact introduction; controls precede the photographs. */
#spaces{padding-top:clamp(44px,6vw,90px)}.spaces-intro{margin-bottom:32px}.spaces-navigation{margin:0 auto 20px}@media(max-width:600px){#spaces{padding-top:40px}.spaces-intro{margin-bottom:16px}.spaces-navigation{margin:0 6vw 16px}#spaces-pause{margin-top:4px}}

/* Three ink planes move independently behind the page content. */
body{isolation:isolate}.ambient-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#f5f1e9}.ambient-plane{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:1600/3600;will-change:transform;mix-blend-mode:multiply}.ambient-plane:nth-child(1){opacity:.14;filter:blur(32px)}.ambient-plane:nth-child(2){opacity:.23;filter:blur(22px)}.ambient-plane:nth-child(3){opacity:.32;filter:blur(12px)}.spaces-intro{position:relative}.spaces-intro h2,.spaces-eyebrow{position:relative}header{background:#f5f1e9}.spaces-navigation{position:relative;background:transparent}@media(prefers-reduced-motion:reduce){.ambient-plane{will-change:auto;transform:none!important}}

.spaces-intro,.spaces-eyebrow,#spaces h2,.space-tabs,#spaces-pause{background:transparent}

/* Clear, compact editorial typography for the spaces introduction. */
#spaces{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif}
#spaces h2{font-size:clamp(36px,4.2vw,64px);font-weight:600;line-height:1.08;letter-spacing:-.035em;max-width:1100px;text-wrap:balance}
#spaces h2 span{display:inline-block;font-size:.66em;line-height:1.2;letter-spacing:-.025em;margin-top:18px;color:#686660}
.spaces-eyebrow{margin-bottom:24px}
.spaces-intro{margin-bottom:36px}
@media(max-width:600px){#spaces h2{font-size:clamp(32px,7.8vw,44px);max-width:480px}#spaces h2 span{font-size:.65em;margin-top:14px}.spaces-intro{margin-bottom:28px}}

/* Native scroll story: no wheel interception, timers, or forced snapping. */
.spaces-scroll{height:380vh;height:380svh;position:relative}
.spaces-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center}
.spaces-view{width:min(100%,1600px,calc((100svh - 96px)*1672/941));margin:0;flex-shrink:0}
.space-slide{will-change:transform,opacity}
.space-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 4% 3.5%;display:flex;align-items:center;gap:18px;background:linear-gradient(transparent,rgba(0,0,0,.62));color:white;font-size:clamp(20px,2.8vw,42px);font-weight:500;letter-spacing:-.025em;line-height:1.15;text-shadow:0 1px 12px #0004}
.space-caption strong{font-size:.64em;font-weight:500;letter-spacing:.12em}.space-caption i{height:.8em;width:1px;background:#fffa}
.spaces-dots{position:absolute;right:-3.8vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;z-index:5}
.spaces-dots button{width:44px;height:44px;padding:0;border:0;background:none;display:grid;place-items:center}
.spaces-dots button span{display:block;width:9px;height:9px;border:1px solid #696660;border-radius:50%;background:transparent;transition:transform .2s}
.spaces-dots button[aria-current] span{transform:scale(1.35);background:conic-gradient(#3635b0 calc(var(--fill)*360deg),#c9c5bd 0);border-color:#3635b0}
.spaces-count{font:9px -apple-system,BlinkMacSystemFont,sans-serif;margin:10px 0 0;letter-spacing:.05em}
@media(max-width:600px){.spaces-scroll{height:340svh}.spaces-view{width:100%}.spaces-dots{right:5px;padding:5px 0;border-radius:24px;background:#f5f1e9d9}.spaces-count{margin:3px 0 8px;font-size:8px}.space-caption{padding:50px 20px 22px;font-size:26px;gap:12px}}
@media(prefers-reduced-motion:reduce){.space-slide{will-change:auto}.spaces-dots button span{transition:none}}
.spaces-dots{right:12px;padding:6px 0;border-radius:26px;background:rgba(245,241,233,.85)}.spaces-count{margin:4px 0 9px}
/* Keep the first photograph close to its introduction while it pins. */
.spaces-sticky{align-items:flex-start;padding-top:24px}
.spaces-view{border-radius:18px}
.spaces-dots{top:calc(24px + min(46vw,800px,(100svh - 96px)*836/941)*941/1672);transform:translateY(-50%)}
@media(max-width:600px){.spaces-sticky{padding-top:12px}.spaces-view{border-radius:12px}.spaces-dots{top:calc(12px + 100vw*941/3344)}}

/* Static ambient color planes; do not retain animated full-page GPU layers. */
.ambient-plane{will-change:auto;transform:none!important}
.stage{content-visibility:auto;contain-intrinsic-size:auto 56.25vw}

/* Pin the complete editorial composition at the requested viewing position. */
.spaces-intro{position:sticky;top:24px;z-index:2}
.spaces-sticky{top:var(--space-pin,220px);height:calc(100svh - var(--space-pin,220px));padding-top:0}
.spaces-view{width:min(100%,1600px,calc((100svh - var(--space-pin,220px) - 24px)*1672/941))}
.spaces-dots{top:calc(min(46vw,800px,(100svh - var(--space-pin,220px) - 24px)*836/941)*941/1672)}
@media(max-width:600px){.spaces-view{width:min(100%,calc((100svh - var(--space-pin,220px) - 24px)*1672/941))}.spaces-dots{top:calc(min(50vw,(100svh - var(--space-pin,220px) - 24px)*836/941)*941/1672)}}
/* Edge-to-edge photographs, with the editorial title retaining its inset. */
#spaces{padding-left:0;padding-right:0}
.spaces-intro{padding-left:4vw;padding-right:4vw}
.spaces-view{width:100%;max-width:none;border-radius:0}
.spaces-dots{top:calc(100vw*941/3344);right:20px}
@media(max-width:600px){.spaces-intro{padding-left:6vw;padding-right:6vw}.spaces-view{width:100%;border-radius:0}.spaces-dots{right:12px}}

/* Horizontal product signature, using the approved logo artwork. */
.space-caption{gap:16px}
.caption-emark{width:1.35em;height:1.38em;flex-shrink:0;overflow:hidden}
.caption-paper{width:3.5em;height:.545em;flex-shrink:0;overflow:hidden;filter:brightness(0) invert(1)}
.space-caption strong{font-size:.64em;letter-spacing:.1em;margin-left:2px}
@media(max-width:600px){.space-caption{gap:12px;font-size:24px}}

/* Scroll-stacked photo cards, preserving image proportions. */
.spaces-view{width:92%;max-width:1600px;overflow:visible;background:transparent;border-radius:0}
.space-slide{overflow:hidden;border-radius:24px;transform-origin:50% 0;box-shadow:0 12px 30px #27251f18;background:#ede5d9}
.spaces-sticky{isolation:isolate}
.spaces-dots{top:calc(92vw*941/3344);right:5vw;z-index:10}
@media(max-width:600px){.spaces-view{width:94%}.space-slide{border-radius:16px}.spaces-dots{top:calc(94vw*941/3344);right:5vw}}
/* Minimal progress rail outside the photograph. */
.spaces-count{display:none}
.spaces-dots{right:0;width:4%;padding:0;background:transparent;border-radius:0}
.spaces-dots button{width:100%;min-width:0;height:36px;min-height:36px}
.spaces-dots button span{width:7px;height:7px}
@media(max-width:600px){.spaces-view{width:calc(100% - 40px);margin-left:12px;margin-right:28px}.spaces-dots{right:0;width:28px;top:calc((100vw - 40px)*941/3344)}}

body.hero-loading{overflow:hidden}
body.hero-loading>header,body.hero-loading>main{visibility:hidden}
#hero-loader{position:fixed;inset:0;z-index:9999;background:#f5eddf;display:grid;place-items:center;opacity:1;transition:opacity .55s ease}
#hero-loader.is-ready{opacity:0;pointer-events:none}
.loader-center{display:flex;flex-direction:column;align-items:center;gap:30px}
.loader-logo{width:clamp(130px,16vw,240px);height:auto;overflow:visible}
.loader-track{width:72px;height:2px;background:#3635b025;overflow:hidden;border-radius:2px}
.loader-track span{display:block;width:40%;height:100%;background:#3635b0;animation:loader-flow 1s ease-in-out infinite}
@keyframes loader-flow{from{transform:translateX(-110%)}to{transform:translateX(350%)}}
@media(prefers-reduced-motion:reduce){#hero-loader{transition:none}.loader-track span{animation:none;width:100%}}

body.hero-revealing>header,body.hero-revealing>main{visibility:visible}

/* Static color atmosphere: replace three oversized blurred SVG surfaces. */
.ambient-plane{display:none}
.ambient-backdrop{background:radial-gradient(ellipse 18% 24% at 0% 62%,#3635b013,transparent 100%),radial-gradient(ellipse 15% 25% at 100% 72%,#ef4b2e18,transparent 100%),#f5f1e9}
#performance[hidden]{display:none!important}

/* SVG hero visibility is managed by its timeline observer. */
.stage{content-visibility:visible}

/* One sticky composition gives the title and cards one shared release point. */
#spaces{background:#2c2b29;color:#fff;padding-top:44px;padding-bottom:0;position:relative;isolation:isolate}
.spaces-intro{position:relative;top:auto;width:100%;text-align:center;margin:0 auto 36px;flex-shrink:0}
#spaces h2{margin:auto;color:#fff}
#spaces h2 span{color:#fff}
.spaces-eyebrow{color:#ff683d;font-weight:650}
.spaces-sticky{top:24px;height:calc(100svh - 24px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;overflow:clip}
.spaces-view{flex-shrink:0}
.spaces-dots{top:calc(var(--intro-height) + 36px + var(--photo-height)/2)}
.spaces-dots button span{border-color:#a39e97}
.spaces-dots button[aria-current] span{border-color:#a19aff;background:conic-gradient(#a19aff calc(var(--fill)*360deg),#68645f 0)}
.spaces-sticky::after{content:"";position:absolute;left:0;right:0;top:calc(var(--intro-height) + 36px + var(--photo-height) + 24px);bottom:0;background:#f5f1e9;z-index:6;pointer-events:none}
.next-section-surface{position:relative;z-index:5;background:#f5f1e9;min-height:35vh}
footer{position:relative;z-index:5;background:#f5f1e9}
@media(max-width:600px){#spaces{padding-top:32px}.spaces-intro{margin-bottom:36px}}

.spaces-description{font-size:clamp(14px,1.25vw,19px);line-height:1.55;color:#d8d5d0;margin:22px auto 0;max-width:760px;letter-spacing:0}.spaces-view{max-width:min(1600px,var(--photo-max-width,1600px));margin-top:0;margin-bottom:0}@media(max-width:600px){.spaces-description{font-size:13px;margin-top:18px}.spaces-description br{display:none}}

/* Opaque cards retain detail beneath progressively deeper charcoal overlays. */
.space-slide::after{content:"";position:absolute;inset:0;background:#2c2b29;opacity:var(--depth-tint,0);pointer-events:none;z-index:3}
.spaces-dots{top:calc(var(--photo-top) + var(--photo-height)/2)}
.spaces-sticky::after{top:calc(var(--photo-top) + var(--photo-height) + 24px)}
@media(max-height:540px) and (orientation:landscape){
#spaces{padding-top:24px}
.spaces-sticky{top:12px;height:calc(100svh - 12px);display:grid;grid-template-columns:35% 61%;gap:0;align-content:start;align-items:center;padding-top:20px}
.spaces-intro{padding:0 18px;margin:0}
.spaces-eyebrow{font-size:9px;line-height:1.5;margin-bottom:14px}
#spaces h2{font-size:clamp(22px,2.8vw,32px);line-height:1.1}
#spaces h2 span{font-size:.7em;margin-top:12px}
.spaces-description{font-size:11px;line-height:1.4;margin-top:14px}
.spaces-description br{display:none}
.spaces-view{width:100%;margin:0 auto}
.space-caption{font-size:20px;padding:32px 16px 16px;gap:8px}
.space-slide{border-radius:16px}
.spaces-dots{right:0;width:4%}
}

/* Why PAPER — full-width editorial close-ups. */
#why-paper{position:relative;z-index:5;background:#f5f1e9;color:#27251f;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;padding:clamp(36px,4vw,64px) 0 0}
.why-inner{width:100%;margin:0 auto}
.why-intro{padding:0 4.5vw;margin-bottom:clamp(36px,4vw,64px)}
.why-label{font-size:clamp(10px,1vw,13px);font-weight:500;line-height:1.5;letter-spacing:.22em;margin:0 0 22px}
.why-intro h2{font-size:clamp(32px,5.2vw,76px);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0}
.why-rows{display:grid;grid-auto-rows:1fr;gap:8px}
.why-row{display:grid;grid-template-columns:minmax(0,63fr) minmax(0,37fr);align-items:center}
.why-image{margin:0;min-width:0;aspect-ratio:3/2}
.why-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.why-copy{min-width:0;padding:24px 3.2vw}
.why-copy .why-label{color:#c7432b}
.why-copy h3{font-size:clamp(28px,4.5vw,64px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 30px}
.why-body{font-size:clamp(16px,1.8vw,24px);line-height:1.5;margin:0;max-width:34ch;color:#393630}
.why-row-reverse{grid-template-columns:minmax(0,37fr) minmax(0,63fr)}
.why-row-reverse .why-image{grid-column:2;grid-row:1}
.why-row-reverse .why-copy{grid-column:1;grid-row:1}
@media(max-width:900px){
.why-intro{padding:0 6vw}
.why-rows{grid-auto-rows:auto;gap:20px}
.why-row,.why-row-reverse{grid-template-columns:minmax(0,1fr);gap:0}
.why-row-reverse .why-image,.why-row-reverse .why-copy{grid-column:auto;grid-row:auto}
.why-copy{padding:30px 6vw 42px}.why-label{margin-bottom:18px}
.why-copy h3{font-size:clamp(32px,6vw,48px);margin-bottom:20px}
.why-body{font-size:17px;max-width:42ch}
}

/* Let Why PAPER follow the actual photograph edge, not unused viewport height. */
#spaces{margin-bottom:0}
.spaces-sticky{height:var(--composition-height,calc(100svh - 24px))}

/* Reference typography and balanced half-width editorial rows. */
.why-intro{text-align:center;margin-bottom:clamp(56px,8vw,120px)}
.why-intro .why-label{color:#073b93;font-size:clamp(12px,1.35vw,20px);font-weight:650;letter-spacing:.22em;margin-bottom:24px}
.why-intro h2{font-size:clamp(32px,5.2vw,76px);font-weight:500;line-height:1.1}
.why-copy .why-label{font-size:clamp(12px,1.35vw,20px);font-weight:650}
.why-copy h3{font-weight:500}
.why-body{max-width:40ch}
@media(min-width:901px){.why-row,.why-row-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:900px){.why-intro{margin-bottom:48px}.why-intro .why-label{margin-bottom:20px}}

/* Incoming cards remain visible until the actual next-section boundary. */
#spaces{overflow:clip}
.spaces-sticky{overflow:visible}
.spaces-sticky::after{display:none}

/* JS adds pending only after animation support is available. */
#why-paper .why-pending{opacity:0;transform:translateY(24px)}
@media(max-width:900px){#why-paper .why-pending{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){#why-paper .why-pending{opacity:1;transform:none}}

/* Keep scroll compositing limited to transforms; tint is a separate overlay. */
.space-slide{will-change:transform}
@media(max-width:900px){.space-slide{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.space-slide{will-change:auto}}

/* A single, layered cafe scene; only the printed content changes on HANG. */
#a-day{position:relative;z-index:5;background:#96adbf;color:#27251f;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--day-sky:#96adbf;--day-ink:#27251f;--day-accent:#c7432b}
.day-track{position:relative}
.day-pin{position:relative;height:100svh;overflow:clip;background:var(--day-sky);color:var(--day-ink)}
.day-scroll .day-track{height:400svh}
.day-scroll .day-pin{position:sticky;top:0}
.day-environment{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.day-layout{position:relative;width:100%;height:100%;max-width:1800px;margin:auto;padding:clamp(24px,4vw,64px);display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr auto;column-gap:5vw;align-items:center}
.day-copy{grid-column:1;grid-row:1;align-self:center;z-index:1}
.day-label{font-size:clamp(11px,1.15vw,17px);letter-spacing:.19em;font-weight:650;color:var(--day-accent);margin:0 0 28px}
.day-copy h2{color:#fff;font-size:clamp(34px,4.1vw,64px);line-height:1.07;letter-spacing:-.045em;font-weight:550;margin:0}
.day-product{grid-column:2;grid-row:1/3;height:100%;min-height:0;width:92%;justify-self:end;align-self:stretch}
.day-product svg{display:block;width:100%;height:100%;overflow:visible}
.day-instrument{grid-column:1;grid-row:2;align-self:end;padding-bottom:8px;max-width:520px}
.day-clock-row{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}
#day-clock{font-size:clamp(36px,4.7vw,72px);font-weight:350;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
#day-state{font-size:12px;font-weight:600;letter-spacing:.22em}
.day-timeline{display:flex;justify-content:space-between;position:relative;gap:10px}
.day-timeline::before{content:"";position:absolute;left:12px;right:12px;top:12px;border-top:1px solid currentColor;opacity:.55}
.day-timeline button{position:relative;border:0;padding:0 0 8px;min-height:44px;font-size:12px;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;gap:9px}
.day-timeline button span{display:block;width:12px;height:12px;margin:6px 0 0;border:1.5px solid currentColor;border-radius:50%;background:var(--day-sky)}
.day-timeline button[aria-pressed=true] span{background:var(--day-accent);border-color:var(--day-accent);transform:scale(1.3)}
.day-timeline button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.day-note{font-size:10px;line-height:1.4;margin:12px 0 0;opacity:.65}
@media(max-width:700px) and (orientation:portrait){
.day-layout{padding:28px 6vw 18px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;row-gap:24px;column-gap:0}
.day-copy{grid-column:1;grid-row:1;text-align:center}
.day-copy h2{color:#fff;font-size:clamp(27px,7.4vw,40px)}
.day-label{font-size:10px;letter-spacing:.15em;margin-bottom:12px}
.day-product{grid-column:1;grid-row:2;justify-self:center;width:100%}
.day-instrument{grid-column:1;grid-row:3;max-width:none;width:100%;padding:0}
.day-clock-row{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:12px}
#day-clock{font-size:31px}#day-state{font-size:10px}
.day-timeline button{font-size:11px}
.day-note{text-align:center;margin-top:3px;font-size:9px}
.day-environment{width:165%;left:-45%}
}
@media(max-height:540px) and (orientation:landscape){
.day-layout{padding:18px 5vw;grid-template-columns:1.2fr 1fr;column-gap:4vw;row-gap:12px}
.day-label{font-size:9px;margin-bottom:12px}
.day-copy h2{color:#fff;font-size:clamp(24px,3.8vw,36px)}
#day-clock{font-size:32px}.day-clock-row{margin-bottom:10px;gap:3px}
#day-state{font-size:9px}.day-timeline button{font-size:10px}.day-note{font-size:8px;margin-top:3px}
}
@media(prefers-reduced-motion:reduce){.day-scroll .day-track{height:auto}.day-scroll .day-pin{position:relative}}

/* Keep the moon inside the portrait composition rather than the cropped backdrop. */
.day-mobile-sky{display:none;position:absolute;pointer-events:none;width:clamp(42px,12vw,68px);height:clamp(42px,12vw,68px);left:7%;top:25%;}
@media(max-width:700px) and (orientation:portrait){.day-environment #day-moon{display:none}.day-mobile-sky{display:block}}

/* 04 / HOW IT WORKS — one seamless studio, no pinned reading. */
#how-it-works{position:relative;z-index:6;background:#f5f1e9;color:#27251f;padding:112px 5vw 100px;overflow:clip}
.how-intro{text-align:center;max-width:780px;margin:0 auto 64px}.how-eyebrow{font-size:12px;font-weight:600;letter-spacing:.19em;color:#c7432b;margin:0 0 26px}.how-intro h2{font-size:clamp(38px,5.4vw,76px);line-height:1.04;letter-spacing:-.05em;font-weight:550;margin:0 0 28px}.how-intro>p:last-child{font-size:18px;line-height:1.6;max-width:620px;margin:auto;color:#68635b}
.how-ecosystem{position:relative;display:grid;grid-template-columns:1.1fr .72fr 1.1fr;gap:3%;max-width:1440px;margin:auto}.how-part{min-width:0}.how-visual{height:clamp(255px,30vw,450px);display:flex;align-items:flex-end;position:relative;justify-content:center;margin-bottom:48px}.how-visual svg{display:block;width:100%;height:auto;overflow:visible}.how-laptop{align-items:flex-end}.how-laptop>svg{margin-bottom:4%}.how-pebble{position:relative;width:43%;margin-bottom:6%}.how-pebble img{width:100%;height:auto;display:block;filter:drop-shadow(0 7px 5px #30281c12)}.how-bases{gap:0;align-items:flex-end}.how-bases>div{width:50%}.how-bases>div:last-of-type{transform:translateY(-5%)}.how-bases svg{filter:drop-shadow(0 8px 5px #30281c0c)}.how-description{max-width:370px;margin:auto}.how-logo{width:82px;height:80px;object-fit:contain;display:block;margin-bottom:22px;mix-blend-mode:multiply}.how-name{font-size:11px;font-weight:650;letter-spacing:.17em;margin:0 0 15px}.how-description h3{font-size:clamp(22px,2.2vw,31px);font-weight:500;line-height:1.16;letter-spacing:-.025em;margin:0 0 16px}.how-description>p:last-of-type{font-size:16px;line-height:1.6;color:#68635b;margin:0}.how-transport{display:block;font-size:11px;line-height:1.5;color:#79736a;margin-top:24px}.how-signals{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.how-signals path{fill:none;stroke-width:3;stroke-linecap:round;opacity:0;mix-blend-mode:multiply}.how-receive{position:absolute;inset:10%;border:1px solid #3635b0;border-radius:50%;opacity:0;pointer-events:none}.how-updated{position:absolute;right:8%;bottom:-23px;color:#536250;font-size:11px;letter-spacing:.05em}.how-summary{text-align:center;padding:96px 0 80px;max-width:700px;margin:auto}.how-support{font-size:clamp(29px,3.3vw,46px);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:0 0 22px}.how-summary>p:nth-child(2){color:#68635b;font-size:17px}.how-disclaimer{font-size:10px;color:#827c73;line-height:1.5;margin-top:30px}.how-service{border-top:1px solid #d9d3c9;max-width:1200px;margin:auto;text-align:center;padding-top:72px}.how-service h3{font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-.035em;margin:0 0 22px}.how-service>p:not(.how-eyebrow){font-size:18px;line-height:1.6;max-width:620px;margin:auto;color:#68635b}.how-service-steps{display:flex;justify-content:center;gap:40px;margin-top:36px;font-size:12px;letter-spacing:.03em}.how-service-steps span+span::before{content:'·';margin-right:40px;color:#c7432b}
@media(max-width:700px){#how-it-works{padding:72px 7vw 64px}.how-intro{margin-bottom:48px}.how-intro>p:last-child{font-size:16px}.how-ecosystem{display:block}.how-part{margin-bottom:62px}.how-visual{height:auto;margin-bottom:24px}.how-laptop{width:100%}.how-pebble{width:25%;margin:12px 0}.how-bases{max-width:440px;margin-left:auto;margin-right:auto}.how-description{max-width:none;padding-left:52px;position:relative}.how-logo{position:absolute;left:0;top:0;width:38px;height:44px;margin:0}.how-description h3{font-size:28px}.how-description>p:last-of-type{font-size:16px}.how-transport{margin-top:14px}.how-summary{padding:12px 0 64px}.how-service{padding-top:52px}.how-service-steps{gap:16px;font-size:10px}.how-service-steps span+span::before{margin-right:16px}.how-updated{bottom:-14px}.how-signals path{stroke-width:2.5}}
@media(prefers-reduced-motion:reduce){.how-signals,.how-receive{display:none}.how-base-art{opacity:1!important}}

/* Guided explanation: begin only once the whole composition reaches its pin. */
#how-it-works{padding-top:42px;overflow:visible}.how-intro{margin-bottom:24px}.how-intro h2{font-size:clamp(34px,4.4vw,60px);margin-bottom:18px}.how-intro .how-eyebrow{margin-bottom:16px}.how-guide{display:none}
#how-it-works.how-guided{padding:0 5vw 80px}.how-guided .how-scroll-track{height:600svh}.how-guided .how-pin{position:sticky;top:0;height:100svh;padding:24px 0 18px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;background:#f5f1e9}.how-guided .how-intro{flex:none;max-width:1100px;margin:0 auto;text-align:center}.how-guided .how-intro h2{font-size:clamp(30px,3.6vw,52px);line-height:1.06;margin-bottom:12px}.how-guided .how-intro h2 br{display:none}.how-guided .how-intro h2 br::after{content:' '}.how-guided .how-intro>p:last-child{font-size:14px;line-height:1.45;max-width:740px}.how-guided .how-eyebrow{margin-bottom:12px;font-size:10px}.how-guided .how-ecosystem{width:100%;margin:auto;flex:0 1 auto;grid-template-columns:1.1fr .72fr 1.1fr}.how-guided .how-visual{height:clamp(150px,29svh,340px);margin-bottom:24px;transition:opacity .65s ease,filter .65s ease;opacity:.35;filter:saturate(.65)}.how-guided .how-part.is-focused .how-visual{opacity:1;filter:none}.how-guided .how-laptop>svg{max-height:100%;width:100%;object-fit:contain}.how-guided .how-bases>div{width:min(50%,19svh)}.how-guided .how-pebble{width:43%}.how-guided .how-logo{display:none}.how-guided .how-description{max-width:360px}.how-guided .how-name{margin-bottom:9px;font-size:10px;color:#79736a;transition:color .5s}.how-guided .is-focused .how-name{color:#c7432b}.how-guided .how-description h3{font-size:clamp(19px,2vw,27px);margin-bottom:9px}.how-guided .how-description>p:last-of-type{font-size:clamp(12px,1.15vw,15px);line-height:1.5}.how-guided .how-transport{font-size:10px;margin-top:12px}.how-guided .how-signals path{stroke-width:5}.how-guided .how-guide{display:block;flex:none;width:100%;max-width:1440px;margin:0 auto}.how-guide-track{height:2px;background:#ddd7cd;margin-bottom:14px}.how-guide-track span{display:block;width:100%;height:100%;background:#c7432b;transform:scaleX(0);transform-origin:left}.how-guide-row{display:flex;align-items:center;gap:24px;min-height:42px}.how-guide-step{font-size:11px;letter-spacing:.09em;min-width:150px;color:#c7432b}.how-guide-copy{font-size:15px;line-height:1.4;margin:0;flex:1}.how-guide-hint{font-size:9px;letter-spacing:.1em;color:#827c73}.how-guided .how-summary{padding-top:66px}
@media(max-width:700px){#how-it-works.how-guided{padding:0 6vw 64px}.how-guided .how-pin{padding:22px 0 16px;gap:12px}.how-guided .how-intro h2{font-size:clamp(25px,6.8vw,38px);max-width:440px}.how-guided .how-intro>p:last-child{font-size:12px;line-height:1.4}.how-guided .how-ecosystem{display:grid;grid-template-columns:1fr;isolation:isolate;margin:auto;min-height:0}.how-guided .how-part{grid-area:1/1;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease}.how-guided .how-part.is-focused{opacity:1;visibility:visible;pointer-events:auto}.how-guided .how-visual{height:clamp(125px,28svh,270px);margin-bottom:20px;width:100%;opacity:1;filter:none}.how-guided .how-laptop>svg{width:min(100%,44svh);height:100%}.how-guided .how-bases{max-width:300px;justify-content:center}.how-guided .how-bases>div{width:min(50%,18svh)}.how-guided .how-pebble{width:25%;max-width:110px;margin:auto}.how-guided .how-description{padding:0;text-align:center;max-width:380px}.how-guided .how-description h3{font-size:24px}.how-guided .how-description>p:last-of-type{font-size:14px;line-height:1.4}.how-guided .how-transport{margin-top:10px}.how-guide-row{gap:8px;align-items:flex-start;flex-wrap:wrap}.how-guide-step{min-width:0;font-size:10px;width:100%}.how-guide-copy{font-size:12px}.how-guide-hint{display:none}.how-guided .how-signals path{stroke-width:4}.how-guided .how-updated{bottom:-10px}}
@media(max-height:540px) and (orientation:landscape){.how-guided .how-pin{padding:12px 0;gap:7px}.how-guided .how-intro h2{font-size:27px;margin-bottom:5px}.how-guided .how-intro .how-eyebrow{margin-bottom:6px}.how-guided .how-intro>p:last-child{font-size:11px}.how-guided .how-visual{height:25svh;margin-bottom:10px}.how-guided .how-description h3{font-size:17px;margin-bottom:5px}.how-guided .how-description>p:last-of-type{font-size:11px}.how-guided .how-transport{margin-top:5px;font-size:9px}.how-guided .how-guide-copy{font-size:11px}.how-guided .how-guide-row{min-height:24px}.how-guide-track{margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.how-guided .how-scroll-track{height:auto}.how-guided .how-pin{position:relative;height:auto}.how-part,.how-visual{transition:none!important}}
/* Product identities lead the hardware; the active instruction is one line at a time. */
.how-part .how-description{text-align:center;margin:0 auto 16px}.how-part .how-logo{position:static;display:block;width:76px;height:66px;object-fit:contain;margin:0 auto 10px}.how-part .how-name{text-align:center;margin-bottom:8px}.how-part .how-description h3{text-align:center}.how-guided .how-description{padding:0;margin-bottom:12px}.how-guided .how-logo{display:block;width:68px;height:56px;margin:0 auto 8px}.how-guided .how-name{font-size:11px}.how-guided .how-description h3{font-size:clamp(18px,1.7vw,25px);margin:0}.how-guided .how-visual{height:clamp(135px,27svh,305px);margin-bottom:16px}.how-guided .how-intro h2{font-size:clamp(29px,3.3vw,46px)}.how-guided .how-intro>p:last-child{display:none}.how-guided .how-guide-copy{font-size:clamp(19px,2vw,28px);letter-spacing:-.02em;font-weight:500;min-height:1.4em}.how-guided .how-guide-row{min-height:50px}.how-guided .how-scroll-track{height:750svh}.how-guided .how-signals path{stroke-width:4;mix-blend-mode:multiply}.how-guided .how-description{opacity:.65;transition:opacity .5s}.how-guided .is-focused .how-description{opacity:1}
@media(max-width:700px){.how-part .how-description{padding:0}.how-guided .how-logo{width:68px;height:56px}.how-guided .how-description{margin-bottom:14px}.how-guided .how-description h3{font-size:23px}.how-guided .how-visual{height:clamp(130px,28svh,270px)}.how-guided .how-guide-copy{font-size:20px}.how-guided .how-signals path{stroke-width:3}.how-guided .how-guide-row{min-height:78px}.how-guided .how-pin{gap:8px}}
@media(max-height:540px) and (orientation:landscape){.how-guided .how-logo{width:42px;height:34px;margin-bottom:4px}.how-guided .how-name{font-size:9px;margin-bottom:5px}.how-guided .how-description{margin-bottom:5px}.how-guided .how-description h3{font-size:16px}.how-guided .how-visual{height:26svh;margin-bottom:6px}.how-guided .how-guide-copy{font-size:17px}.how-guided .how-guide-row{min-height:28px}.how-guided .how-intro h2{font-size:26px}}
/* Keep each instruction physically attached to the hardware composition. */
.how-guided .how-pin{justify-content:flex-start}.how-demonstration{width:100%}.how-guided .how-demonstration{margin:auto 0;min-height:0;position:relative;isolation:isolate}.how-guided .how-ecosystem{margin:0 auto;position:relative;z-index:2;isolation:isolate}.how-ecosystem>.how-part{position:relative;z-index:0}.how-ecosystem>.how-signals{z-index:100;pointer-events:none;overflow:visible}.how-signals path,.how-guided .how-signals path{mix-blend-mode:normal}.how-guided .how-guide{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin:12px auto 0;text-align:center;max-width:1100px}.how-guided .how-guide-row{order:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:0}.how-guided .how-guide-copy{order:0;flex:none;width:100%;font-size:clamp(25px,3vw,42px);line-height:1.2;min-height:2.4em;display:flex;align-items:center;justify-content:center;text-align:center;margin:0;max-width:1000px}.how-guided .how-guide-step{order:1;min-width:0;width:auto;font-size:10px;letter-spacing:.12em}.how-guided .how-guide-hint{display:none}.how-guided .how-guide-track{order:1;width:min(240px,45%);margin:13px 0 0;height:2px}.how-guided .how-visual{margin-bottom:8px}
@media(max-width:700px){.how-guided .how-guide{margin-top:10px}.how-guided .how-guide-copy{font-size:clamp(24px,6.3vw,30px);min-height:2.4em}.how-guided .how-guide-row{gap:7px}.how-guided .how-guide-track{margin-top:10px}.how-guided .how-demonstration{margin:auto 0}}
@media(max-height:540px) and (orientation:landscape){.how-guided .how-guide{margin-top:4px}.how-guided .how-guide-copy{font-size:22px;min-height:1.2em}.how-guided .how-guide-row{gap:4px}.how-guided .how-guide-step{font-size:8px}.how-guided .how-guide-track{margin-top:6px}.how-guided .how-visual{margin-bottom:3px}}
/* Stacked text layers let outgoing and incoming instructions move independently. */
.how-guided .how-guide-copy{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;padding:8px 0;min-height:calc(2.4em + 16px)}
.how-copy-line{grid-area:1/1;display:block;width:100%;align-self:center;will-change:transform,opacity}
/* Mobile overview: all three identities and products stay visible together. */
@media(max-width:700px){
 .how-guided .how-ecosystem{display:grid;grid-template-columns:1.1fr .65fr 1.1fr;gap:3%;align-items:start}
 .how-guided .how-part{grid-area:auto;opacity:1;visibility:visible;pointer-events:auto;transition:none;min-width:0}
 .how-guided .how-part.is-focused{opacity:1;visibility:visible}
 .how-guided .how-description{min-height:100px;margin-bottom:10px;opacity:.7}
 .how-guided .how-logo{width:44px;height:40px;margin-bottom:8px}
 .how-guided .how-name{font-size:9px;letter-spacing:.09em;margin-bottom:7px}
 .how-guided .how-description h3{font-size:12px;line-height:1.25;letter-spacing:-.02em;max-width:125px;margin:auto}
 .how-guided .how-visual{height:clamp(95px,29vw,180px);margin-bottom:8px;opacity:.52;filter:saturate(.85);width:100%}
 .how-guided .how-part.is-focused .how-visual{opacity:1;filter:none}
 .how-guided .how-laptop>svg{width:100%;height:auto;max-height:100%;margin-bottom:4%}
 .how-guided .how-pebble{width:47%;max-width:none;margin:0 0 6%}
 .how-guided .how-bases{width:100%;gap:0;max-width:none}
 .how-guided .how-bases>div{width:50%}
 .how-guided .how-signals path{stroke-width:2}
 .how-guided .how-updated{font-size:8px;right:0;bottom:-9px;white-space:nowrap}
 .how-guided .how-guide{margin-top:22px}
 .how-guided .how-guide-copy{font-size:clamp(23px,6vw,30px)}
 .how-guided .how-intro h2{font-size:clamp(26px,6.8vw,38px)}
}
@media(prefers-reduced-motion:reduce){.how-copy-line{will-change:auto;transform:none!important;opacity:1!important}}

/* v109: three-product depth stage. Focus changes space as well as contrast. */
.how-guided .how-ecosystem{grid-template-columns:var(--how-columns,2.25fr 1fr 1fr);gap:0;align-items:end;overflow:visible}
.how-guided .how-part{transform-origin:50% 75%;transform:perspective(900px) rotateY(var(--how-angle,0deg)) scale(var(--how-scale,1));transition:none;min-width:0;z-index:var(--how-layer,0)}
.how-guided .how-description{min-height:104px}
.how-guided .how-visual{height:clamp(145px,28svh,310px);align-items:center;opacity:var(--how-opacity,1);filter:none;transition:none}
.how-guided .how-laptop>svg{margin:0;max-height:100%}
.how-guided .how-pebble{width:76%;max-width:220px;margin:0}
.how-guided .how-bases{align-items:center}
.how-guided .how-bases>div{width:min(50%,19svh)}
.how-guided .how-description{opacity:var(--how-opacity,1);transition:none}
@media(max-width:700px){
 .how-guided .how-ecosystem{grid-template-columns:var(--how-columns,2.25fr 1fr 1fr);width:100%;gap:0}
 .how-guided .how-part{grid-area:auto;margin:0;visibility:visible;opacity:1}
 .how-guided .how-description{min-height:90px;margin-bottom:8px}
 .how-guided .how-logo{width:42px;height:38px}
 .how-guided .how-description h3{font-size:11px;max-width:145px}
 .how-guided .how-name{font-size:8px;letter-spacing:.04em}
 .how-guided .how-visual{height:clamp(125px,38vw,190px);width:100%;opacity:var(--how-opacity,1)}
 .how-guided .how-pebble{width:90%;max-width:190px;margin:0}
 .how-guided .how-bases>div{width:50%}
 .how-guided .how-updated{display:none}
 .how-guided .how-guide{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.how-part{transform:none!important}}

/* v110: keep the mobile heading attached to the depth stage. */
@media(max-width:700px){
 .how-guided .how-pin{justify-content:center;gap:clamp(16px,3svh,24px)}
 .how-guided .how-intro{margin:0 auto}
 .how-guided .how-intro h2{margin-bottom:0}
 .how-guided .how-demonstration{margin:0}
}

/* v111: service promise leads into the three-part explanation. */
.how-opening{background:#f5f1e9;color:#27251f;min-height:88svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 6vw 88px}
.how-opening .how-eyebrow{color:#c7432b;margin:0 0 30px;font-size:12px;letter-spacing:.2em}
.how-opening h2{font-size:clamp(64px,9vw,144px);font-weight:600;line-height:.98;letter-spacing:-.055em;margin:0 0 38px;max-width:1200px}
.how-opening h2 span{color:#c7432b}
.how-opening-copy{font-size:clamp(18px,2vw,27px);line-height:1.5;max-width:820px;margin:0;color:#68635b;text-wrap:pretty}
.how-opening-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;margin-top:32px;font-size:12px;color:#79736a;letter-spacing:.03em}
@media(max-width:700px){.how-opening{min-height:78svh;padding:72px 7vw 64px}.how-opening .how-eyebrow{font-size:10px;margin-bottom:26px}.how-opening h2{font-size:clamp(48px,12.5vw,86px);margin-bottom:28px}.how-opening-copy{font-size:18px;max-width:390px}.how-opening-steps{font-size:10px;gap:10px 18px;margin-top:26px}}

/* v112: the service introduction flows directly into HOW IT WORKS. */
.how-opening{min-height:0;padding-bottom:24px}
@media(max-width:700px){
 .how-opening{min-height:0;padding-bottom:20px}
 .how-guided .how-pin{justify-content:flex-start;padding-top:20px}
}

/* v113: equal overview before the guided sequence begins. */
.how-guided .how-logo{width:calc(68px + 28px * var(--how-intro,0));height:calc(56px + 24px * var(--how-intro,0))}
.how-guided .how-name{font-size:calc(11px + 7px * var(--how-intro,0))}
.how-guided .how-description{min-height:calc(104px + 30px * var(--how-intro,0))}
.how-overview .how-description,.how-overview .how-visual{opacity:1}
.how-overview .how-name{color:#27251f}
@media(max-width:700px){
 .how-guided .how-logo{width:calc(42px + 18px * var(--how-intro,0));height:calc(38px + 16px * var(--how-intro,0))}
 .how-guided .how-name{font-size:calc(8px + 4px * var(--how-intro,0));letter-spacing:.03em}
 .how-guided .how-description{min-height:calc(90px + 24px * var(--how-intro,0))}
}

/* Closing and inquiry: quiet, readable, and shared with the existing palette. */
:root{--ejecta-blue:#3635b0;--ejecta-red:#c7432b;--paper:#f5f1e9;--ink:#27251f;--rule:#d7d1c6}
.closing{padding:100px 5vw 80px;background:var(--paper);text-align:center;position:relative}
.closing h2{font-size:clamp(34px,4.7vw,72px);line-height:1.08;letter-spacing:-.045em;font-weight:500;max-width:1300px;margin:0 auto 50px}
.closing img{display:block;width:100%;max-width:1400px;height:auto;object-fit:contain;margin:auto}
.business-section{position:relative;padding:90px max(6vw,calc((100vw - 1280px)/2));background:var(--paper);border-top:1px solid var(--rule);scroll-margin-top:32px}
.section-label{font-size:11px;letter-spacing:.17em;color:var(--ejecta-red);margin:0 0 22px;font-weight:600}
.business-section h2{font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.04em;font-weight:500;margin:0 0 26px}
.section-lead{font-size:18px;line-height:1.6;color:#625d56;max-width:680px;margin:0 0 40px}
.quote-panel{border-top:2px solid var(--ink);padding-top:24px}.quote-label{font-size:13px;color:var(--ejecta-blue);margin:0 0 32px;font-weight:600}
.quote-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.item-number{font-size:18px;color:var(--ejecta-red)}.quote-parts h3{font-size:23px;letter-spacing:-.025em;font-weight:500;margin:16px 0}.quote-parts p,.quote-bottom p{font-size:16px;line-height:1.6;color:#625d56;margin:0}
.quote-bottom{border-top:1px solid var(--rule);margin-top:36px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:32px}.quote-bottom p{max-width:650px}
.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;min-height:48px;background:var(--ejecta-blue);color:white;border:0;border-radius:3px;font:500 15px Arial,sans-serif;letter-spacing:0;text-decoration:none;white-space:nowrap;cursor:pointer}.contact-button:hover{background:#28278c}.contact-button:disabled{opacity:.65;cursor:wait}
.questions,.contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:9%}.questions{background:#eee9df}.questions h2{max-width:420px}
.question-list details{border-bottom:1px solid #cbc4b8}.question-list details:first-child{border-top:1px solid #cbc4b8}.question-list summary{font-size:18px;line-height:1.4;cursor:pointer;padding:22px 30px 22px 0;position:relative;list-style:none}.question-list summary::-webkit-details-marker{display:none}.question-list summary::after{content:'+';position:absolute;right:2px;top:22px;color:var(--ejecta-blue)}.question-list details[open] summary::after{content:'−'}.question-list details p{margin:0 0 24px;font-size:16px;color:#625d56;line-height:1.65}
.form-field{margin-bottom:22px}.form-field label{display:block;font-size:15px;margin-bottom:9px}.form-field label span{font-size:12px;color:#68635b}.form-field input,.form-field textarea{width:100%;background:#fffcf6;border:1px solid #9d968a;border-radius:3px;padding:13px;font:16px/1.5 Arial,sans-serif;color:var(--ink)}.form-field textarea{resize:vertical;min-height:130px}.field-help,.preview-note{font-size:13px;line-height:1.5;color:#625d56}.preview-note{border-left:2px solid var(--ejecta-blue);padding-left:12px;margin:0 0 24px}.field-help{margin:0 0 10px}.field-error{font-size:13px;color:#a12b1d;line-height:1.4;margin:6px 0 0}.field-error:empty{display:none}[aria-invalid=true]{border-color:#a12b1d!important}#form-status{font-size:14px;line-height:1.6;min-height:1.6em}a:focus-visible,summary:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--ejecta-blue);outline-offset:5px}.contact-button:focus-visible{outline-color:var(--ejecta-red)}#contact-heading:focus{outline:none}
.site-footer{position:relative;background:var(--paper);border-top:1px solid var(--rule);padding:32px 6vw 100px;align-items:center;font-size:12px;letter-spacing:0;color:#625d56;gap:24px}.site-footer img{width:125px;height:auto}.site-footer nav{display:flex;gap:25px}.site-footer a{color:var(--ink);text-decoration:none}.persistent-contact{position:fixed;right:24px;top:20px;z-index:1000;box-shadow:0 2px 10px #00000012}.persistent-contact[hidden]{display:none}body>header{padding-right:190px}
@media(max-width:700px){.closing{padding:70px 4vw 48px}.closing h2{font-size:clamp(32px,7.8vw,48px);margin-bottom:32px}.closing h2 br{display:none}.business-section{padding:60px 7vw;scroll-margin-top:20px}.business-section h2{font-size:36px}.section-lead{font-size:16px}.quote-parts,.questions,.contact-section{grid-template-columns:1fr;gap:30px}.quote-parts article+article{border-top:1px solid var(--rule);padding-top:24px}.quote-parts h3{margin-top:10px}.quote-bottom{display:block}.quote-bottom .contact-button{margin-top:24px}.question-list summary{font-size:17px}.site-footer{padding:30px 7vw calc(100px + env(safe-area-inset-bottom));flex-wrap:wrap}.persistent-contact{top:auto;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));padding:13px 21px}body>header{padding-right:4vw}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* v117: one viewport for the full closing composition, without cropping. */
.closing{height:100svh;min-height:0;padding:clamp(22px,4svh,40px) 4vw;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(14px,2svh,24px);align-items:center}
.closing h2{color:#27251f;font-size:clamp(28px,min(3.5vw,5.2svh),52px);line-height:1.08;max-width:1180px;margin:0 auto;letter-spacing:-.035em}
.closing img{width:100%;height:100%;min-height:0;max-width:none;object-fit:contain;margin:0}
.heading-pending{opacity:0;transform:translateY(24px)}
@media(max-width:900px){.heading-pending{transform:translateY(14px)}}
@media(max-width:700px){.closing{height:calc(100svh - 80px - env(safe-area-inset-bottom));padding:24px 4vw;gap:18px;grid-template-rows:auto minmax(0,1fr)}.closing h2{font-size:clamp(25px,min(6.7vw,4.5svh),34px);max-width:550px}.closing h2 br{display:none}}
@media(max-height:500px) and (orientation:landscape){.closing{padding:12px 4vw;gap:10px;height:100svh}.closing h2{font-size:22px;max-width:800px}.closing h2 br{display:none}}
@media(prefers-reduced-motion:reduce){.heading-pending{opacity:1;transform:none}}

/* v118: shared section labels and a single entrance target. */
#spaces .spaces-eyebrow,#why-paper .why-intro .why-label,#a-day .day-label,.how-opening .how-eyebrow,.business-section>.section-label,.business-section>div>.section-label{font-size:16px;line-height:1.4}
#experience-heading{max-width:1050px;text-wrap:balance}
@media(max-width:900px){
 #why-paper .why-image{aspect-ratio:15/7}
 #why-paper .why-image img{height:100%;aspect-ratio:auto;object-fit:contain}
}

/* v121: a clear title → image → body group on mobile. */
@media(max-width:900px){
 #why-paper .why-copy{display:contents}
 #why-paper .why-title{grid-column:1;grid-row:1;padding:24px 6vw 18px}
 #why-paper .why-title h3{margin-bottom:0}
 #why-paper .why-image{grid-column:1;grid-row:2}
 #why-paper .why-body{grid-column:1;grid-row:3;margin:0;padding:20px 6vw 28px}
 #why-paper .why-rows{gap:40px}
}

/* v122: crop mobile images to a 70%-height window, rather than letterboxing. */
@media(max-width:900px){
 #why-paper .why-image{aspect-ratio:15/7;overflow:hidden}
 #why-paper .why-image img{width:100%;height:100%;object-fit:cover;object-position:center}
}

/* v123: headings fail open, and CTA arrows never use emoji glyphs. */
.heading-pending{opacity:1;transform:none}
.cta-arrow{display:block;width:20px;height:20px;flex:0 0 20px}
/* v125: hidden only while armed, never reset a visible or completed heading. */
.heading-waiting{opacity:0}
@media(prefers-reduced-motion:reduce){.heading-waiting{opacity:1}}

/* v126: independently composed portrait introduction. */
#mobile-hero{display:none}
@media(max-width:700px){
 body>header,main>.stage{display:none}
 #mobile-hero{display:grid;position:relative;z-index:1;height:100svh;min-height:560px;grid-template-rows:auto minmax(0,1fr) auto auto;--hero-gap:14px;gap:var(--hero-gap);padding:16px 6vw max(18px,env(safe-area-inset-bottom));background:#f5f1e9;overflow:hidden}
 .mobile-wordmark{width:104px;height:auto;margin:0 auto}
 .mobile-hero-art{position:relative;min-height:0;isolation:isolate;margin:0 -6vw;overflow:hidden}
 .mobile-ink,.mobile-trails{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
 .mobile-hang{position:relative;z-index:1;display:block;height:100%;width:76%;object-fit:contain;margin:0 auto;animation:mobile-product 12s ease-in-out infinite}
 .mobile-red-orbit{animation:mobile-red 12s ease-in-out infinite;transform-origin:center}
 .mobile-blue-plane{animation:mobile-blue 12s ease-in-out infinite}
 .mobile-trails{z-index:2}.mobile-trails path{fill:none;stroke:#3635b0;stroke-width:3;stroke-linecap:round;stroke-dasharray:160 1400;animation:mobile-trail 10s linear infinite}.mobile-trails path+path{stroke:#ef4b2e;animation-delay:-.6s}
 .mobile-hero-copy{position:relative;z-index:3;text-align:left;padding-top:calc(6vw - var(--hero-gap))}.mobile-hero-copy h1{font-size:clamp(27px,7.6vw,39px);line-height:1.07;letter-spacing:-.04em;margin:0 0 12px;font-weight:600}.mobile-hero-copy h1 span{color:#3635b0}.mobile-hero-copy p{font-size:13px;line-height:1.45;max-width:300px;margin:0;color:#625d56}
 .mobile-explore{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;color:#27251f;text-decoration:none;font-size:14px;justify-self:center}
 #mobile-hero.is-paused *{animation-play-state:paused!important}
}
@keyframes mobile-product{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@keyframes mobile-red{0%,100%{transform:translate(-20px,20px)}50%{transform:translate(45px,-32px)}}
@keyframes mobile-blue{0%,100%{transform:translate(10px,32px)}50%{transform:translate(-25px,-35px)}}
@keyframes mobile-trail{from{stroke-dashoffset:1560}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){#mobile-hero *{animation:none!important}.mobile-trails{display:none}}
@media(max-width:700px) and (max-height:620px){#mobile-hero{--hero-gap:8px;min-height:480px;padding-top:10px}.mobile-hero-copy h1{font-size:27px}.mobile-hero-copy p{font-size:12px}.mobile-wordmark{width:90px}}

/* v127: use the original live animation, framed around its product area. */
@media(max-width:700px){
 .mobile-hero-art{container-type:size}
 .mobile-hero-art>.mobile-ink,.mobile-hero-art>.mobile-hang,.mobile-hero-art>.mobile-trails{display:none}
 .mobile-hero-art>.stage{display:block;position:absolute;top:50%;left:50%;width:177.7778cqh;height:100%;max-width:none;transform:translate(-50%,-50%) scale(var(--mobile-camera-zoom,1)) translateX(var(--mobile-camera-offset,-15%));transform-origin:50% 50%;overflow:visible;container-type:normal}
 .mobile-hero-art #scene{display:block;width:100%;height:100%;aspect-ratio:16/9;max-height:none}
 .mobile-hero-art #copyOverlay{display:none}
}

/* v133: art-directed, full-viewport closing. Headline remains live HTML. */
.closing{height:100svh;min-height:480px;display:block;padding:0;overflow:hidden;isolation:isolate;background:#eee9e1}
.closing-art{position:absolute;inset:0;z-index:-1;display:block}
.closing .closing-art img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom;margin:0}
.closing h2{position:relative;padding:clamp(28px,5svh,64px) 6vw 0;max-width:1240px;font-size:clamp(28px,min(3.4vw,5svh),58px);line-height:1.1;color:#171714;margin:0 auto;text-wrap:balance;letter-spacing:-.035em}
@media(max-width:700px) and (orientation:portrait){
 .closing{height:100svh;min-height:580px}
 .closing .closing-art img{object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,transparent,black 9%)}
 .closing h2{padding:7svh 6vw 0;font-size:clamp(28px,7.5vw,40px);max-width:560px;line-height:1.12}
 .closing h2 br{display:none}
}
@media(min-aspect-ratio:2/1){.closing .closing-art img{object-fit:contain}.closing h2{font-size:clamp(24px,4svh,42px);padding-top:3svh}}

/* v134: bring the closing statement toward the product composition. */
.closing h2{padding-top:11svh;font-weight:600}
@media(max-width:700px) and (orientation:portrait){.closing h2{padding-top:15svh}}
@media(min-aspect-ratio:2/1){.closing h2{padding-top:8svh}}

/* v135: desktop closing headline sizing. */
@media(min-width:701px){.closing h2{font-size:48px;line-height:1.4}}

/* v136: clear service summary and compact mobile contact navigation. */
.how-guide-row{flex-wrap:wrap}
.how-guide-hint{display:block;flex-basis:100%;font-size:12px;letter-spacing:0;text-align:center;color:#625d56;line-height:1.4}
.studio-intro{font-size:15px;line-height:1.6;color:#625d56;border-top:1px solid var(--rule);padding-top:24px;margin-top:32px;max-width:480px}
@media(max-width:700px){
 .persistent-contact{top:8px;right:12px;bottom:auto;min-height:36px;padding:7px 14px;font-size:13px;box-shadow:none;z-index:101}
 .persistent-contact .cta-arrow{width:16px;height:16px}
 body.contact-nav-visible::after{content:"EJECTA";font-size:12px;letter-spacing:.22em;display:flex;align-items:center;padding-left:6vw;position:fixed;inset:0 0 auto;height:52px;background:#f5f1e9;border-bottom:1px solid #ded8ce;z-index:100;pointer-events:none}
 html{scroll-padding-top:64px}
 .business-section{scroll-margin-top:64px}
 .how-guide-hint{display:block;font-size:11px}
 .how-guided .how-pin{top:52px;height:calc(100svh - 52px)}
}
@media(max-width:700px){
 .day-scroll .day-pin{top:52px;height:calc(100svh - 52px)}
 .spaces-intro{top:auto}
 .spaces-sticky{top:64px}
}

/* Energy comparison — editorial RISO composition, shared brand palette. */
.energy-comparison{position:relative;overflow:hidden;background:#f2f0ea;color:#292927;padding:clamp(32px,5svh,56px) 6vw}
.energy-inner{position:relative;max-width:1280px;margin:auto;isolation:isolate}
.energy-heading-group{position:relative;z-index:1;width:76%}
.energy-eyebrow{font-size:clamp(10px,1.1vw,14px);font-weight:600;letter-spacing:.2em;margin:0 0 20px}
.energy-comparison h2{font-size:clamp(40px,min(5.3vw,7.5svh),72px);line-height:1.06;letter-spacing:-.055em;font-weight:700;margin:0}
.energy-art{position:absolute;right:-1%;top:32px;width:30%;height:min(52svh,470px);object-fit:contain;object-position:right top;z-index:-1;mix-blend-mode:multiply;pointer-events:none}
.energy-stat{position:relative;width:70%;margin:28px 0 28px}
.energy-ratio{color:#3635b0;font-size:clamp(104px,min(15vw,21svh),190px);font-weight:700;letter-spacing:-.075em;line-height:.95;margin:0 0 10px}
.energy-unit{font-size:clamp(25px,2.6vw,34px);letter-spacing:-.035em;margin:0;line-height:1.2}.energy-unit sup{font-size:.45em;vertical-align:super;margin-left:4px}
.energy-saving{font-size:clamp(16px,1.5vw,20px);line-height:1.4;margin:12px 0 0;letter-spacing:-.025em}
.energy-chart{margin:0;position:relative}.energy-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:24px;align-items:center;margin:0 0 20px}
.energy-icon{width:48px;height:48px;display:block}.energy-ejecta-icon{padding:3px;mix-blend-mode:multiply}
.energy-bar-label{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:clamp(16px,1.5vw,20px);line-height:1.4;margin-bottom:8px}.energy-bar-label strong{white-space:nowrap;font-size:.95em}
.energy-track{height:18px;border-radius:999px;background:#dfddd7;overflow:hidden}.energy-track span{display:block;height:100%;border-radius:999px;background:#393938}.energy-track [data-bar-ejecta]{background:#3635b0}
.energy-chart figcaption{font-size:14px;line-height:1.65;color:#625d56;margin-top:18px;max-width:950px}
.energy-motion .energy-heading-group,.energy-motion .energy-bar-label,.energy-motion .energy-icon,.energy-motion .energy-ratio,.energy-motion .energy-saving{opacity:0}
.energy-heading-group.energy-enter{animation:energy-reveal .5s ease-out both}.energy-chart.energy-enter .energy-bar-label,.energy-chart.energy-enter .energy-icon{animation:energy-reveal .5s ease-out both}
.energy-stat.energy-enter .energy-ratio{animation:energy-number 3.5s cubic-bezier(.2,.55,.35,1) 1s both}.energy-stat.energy-enter .energy-saving{animation:energy-reveal .6s ease-out 4.5s both}
@keyframes energy-reveal{from{opacity:0}to{opacity:1}}@keyframes energy-number{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.energy-comparison{padding:32px 6vw}.energy-heading-group{width:100%}.energy-eyebrow{letter-spacing:.15em;font-size:10px;margin-bottom:18px}.energy-comparison h2{font-size:clamp(34px,9vw,48px)}.energy-art{width:28%;right:-3%;top:140px;height:220px;opacity:.85}.energy-stat{width:83%;margin:28px 0}.energy-ratio{font-size:clamp(96px,26vw,140px)}.energy-unit{font-size:25px}.energy-saving{font-size:16px;max-width:260px;margin-top:12px}.energy-row{grid-template-columns:40px minmax(0,1fr);gap:14px;margin-bottom:18px}.energy-icon{width:40px;height:44px}.energy-bar-label{font-size:15px;gap:8px;margin-bottom:10px}.energy-track{height:14px}.energy-chart figcaption{font-size:12px;line-height:1.65;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.energy-comparison *{animation:none!important;transform:none!important;opacity:1!important}}

/* v142: manufacturer reference and longer ratio, within the compact layout. */
.energy-ratio{font-size:clamp(88px,min(11vw,18svh),158px)}
.energy-source{display:inline-block;margin-top:6px;color:inherit;text-underline-offset:3px}
@media(max-width:600px){.energy-ratio{font-size:clamp(68px,19vw,110px)}.energy-bar-label strong{font-size:12px}.energy-bar-label{font-size:14px}}

/* v143: artwork owns a grid column; the full-width chart is a separate row. */
.energy-inner{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);column-gap:clamp(24px,4vw,64px);align-items:start}
.energy-heading-group{grid-column:1;grid-row:1;width:100%}
.energy-stat{grid-column:1;grid-row:2;width:100%;min-width:0}
.energy-art{position:static;grid-column:2;grid-row:1/3;align-self:stretch;justify-self:stretch;width:100%;height:100%;max-height:min(52svh,470px);min-height:0;object-fit:contain;object-position:right center;z-index:0;opacity:1}
.energy-chart{grid-column:1/-1;grid-row:3;min-width:0}
.energy-comparison h2{font-size:clamp(36px,min(4.6vw,7svh),64px)}
@media(max-width:600px){
 .energy-inner{grid-template-columns:minmax(0,1fr) minmax(0,.4fr);column-gap:16px}
 .energy-heading-group{grid-column:1/-1}
 .energy-stat{grid-column:1;grid-row:2;width:100%;margin:28px 0}
 .energy-art{grid-column:2;grid-row:2;align-self:center;height:180px;max-height:180px;object-position:right center}
 .energy-comparison h2{font-size:clamp(34px,9vw,48px)}
 .energy-ratio{font-size:clamp(58px,17vw,100px)}
 .energy-unit{font-size:clamp(20px,5.5vw,25px)}
 .energy-saving{font-size:14px;max-width:none}
}

/* v144: full-bleed static artwork, outside the information column. */
.energy-comparison{isolation:isolate;overflow:hidden;padding:clamp(32px,5svh,56px) 0}
.energy-background{position:absolute;inset:0 0 0 auto;width:43%;overflow:hidden;pointer-events:none;z-index:0;padding:0}
.energy-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center;border:0;border-radius:0;box-shadow:none}
.energy-inner{display:block;position:relative;z-index:1;width:48%;max-width:760px;margin:0 0 0 6%}
.energy-heading-group,.energy-stat,.energy-chart{width:100%;min-width:0}
.energy-stat{margin:24px 0}
.energy-comparison h2{font-size:clamp(34px,min(4.2vw,7svh),60px)}
.energy-ratio{font-size:clamp(80px,min(10vw,17svh),146px)}
.energy-bar-label{font-size:clamp(14px,1.3vw,18px);gap:8px}
.energy-bar-label strong{font-size:.85em}
.energy-chart figcaption{font-size:12px;line-height:1.6}
@media(max-width:800px){
 .energy-comparison{padding:32px 6vw 0}
 .energy-inner{width:100%;max-width:none;margin:0}
 .energy-background{position:relative;inset:auto;width:calc(100% + 12vw);height:clamp(180px,48vw,300px);margin:28px -6vw 0;z-index:0}
 .energy-comparison{display:flex;flex-direction:column}
 .energy-inner{order:0}.energy-background{order:1}
 .energy-background img{object-position:right 58%}
 .energy-comparison h2{font-size:clamp(34px,7vw,52px)}
 .energy-ratio{font-size:clamp(78px,19vw,140px)}
 .energy-unit{font-size:25px}.energy-saving{font-size:16px}
 .energy-bar-label{font-size:15px}.energy-bar-label strong{font-size:12px}
}

/* v145: mobile artwork beside the headline/stat, ending before the chart. */
@media(max-width:800px){
 .energy-comparison{display:block;padding:32px 6vw}
 .energy-summary{position:relative;isolation:isolate;display:flow-root}
 .energy-summary .energy-background{position:absolute;inset:-32px -6vw 0 auto;width:24vw;height:auto;margin:0;z-index:-1;overflow:hidden}
 .energy-summary .energy-background img{width:100%;height:100%;object-fit:cover;object-position:left center}
 .energy-heading-group,.energy-stat{width:76%}
 .energy-eyebrow{font-size:clamp(9px,1.9vw,12px);letter-spacing:.12em}
 .energy-comparison h2{font-size:clamp(26px,6.8vw,48px)}
 .energy-ratio{font-size:clamp(64px,17vw,125px)}
 .energy-unit{font-size:clamp(20px,5vw,25px)}
 .energy-saving{font-size:clamp(13px,3.3vw,16px)}
 .energy-chart{width:100%;margin-top:8px}
}

/* v146: explicit desktop section anchor and mobile summary anchor. */
.energy-background-mobile{display:none}
.energy-comparison>.energy-background-desktop{position:absolute;inset:0 0 0 auto;width:43%;height:auto;margin:0;z-index:0}
@media(max-width:800px){
 .energy-comparison>.energy-background-desktop{display:none}
 .energy-summary>.energy-background-mobile{display:block;position:absolute;inset:-32px -6vw 0 auto;width:24vw;height:auto;margin:0;z-index:-1}
 .energy-summary>.energy-background-mobile img{object-fit:cover;object-position:25% center}
}

/* Language navigation and Japanese typography. */
.language-switch{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;flex-shrink:0}
.language-switch a{color:inherit;text-decoration:none;padding:10px 4px;text-underline-offset:5px}
.language-switch a[aria-current=page]{text-decoration:underline;font-weight:700}
.language-switch a:hover{color:#3635b0}
html[lang=ja] body{font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-break:strict}
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3{letter-spacing:.01em;line-height:1.5;overflow-wrap:anywhere}
html[lang=ja] #finalCopy{font-size:3.7cqw;line-height:1.4;letter-spacing:.015em}
html[lang=ja] .energy-comparison h2{font-size:clamp(24px,3vw,44px)}
html[lang=ja] .closing h2{font-size:clamp(24px,3vw,42px);line-height:1.7}
html[lang=ja] .how-guide-copy{line-height:1.6}
@media(max-width:800px){html[lang=ja] .energy-comparison h2{font-size:clamp(22px,5.5vw,36px)}}
@media(max-width:700px){
 header .language-switch{position:fixed;top:8px;left:12px;z-index:110;background:#f5f1e9;padding:0 8px;border-radius:3px;gap:8px}
 body.contact-nav-visible::after{content:""}
 html[lang=ja] #mobile-hero-heading{font-size:clamp(27px,7.2vw,44px);line-height:1.5}
}

/* v153: Japanese copy rhythm and requested heading sizes. */
html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,
html[lang=ja] p,html[lang=ja] summary{letter-spacing:0;word-spacing:0;font-feature-settings:"palt" 1;overflow-wrap:normal;word-break:normal}
html[lang=ja] h3{line-height:1.3}
html[lang=ja] .how-opening h2{font-size:clamp(64px,7vw,144px);text-wrap:balance}
html[lang=ja] .closing h2{font-size:clamp(24px,12vw,42px);line-height:1.7}
html[lang=ja] .energy-ratio{letter-spacing:-.06em;white-space:nowrap}

/* v155: requested Japanese heading and independent mobile language navigation. */
html[lang=ja] .how-opening h2{font-size:clamp(64px,0vw,144px);line-height:1.3;text-wrap:balance}
.mobile-language-switch{display:none}
@media(max-width:700px){
 .mobile-language-switch{display:flex;position:fixed;top:calc(8px + env(safe-area-inset-top));left:12px;z-index:1001;background:#f5f1e9;padding:0 8px;gap:8px;border-radius:3px}
 .mobile-language-switch a{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:36px}
 body.hero-loading>.mobile-language-switch{visibility:hidden}
}

/* v156: requested responsive typography. */
@media(max-width:700px){
 html[lang=ja] #mobile-hero-heading{font-size:clamp(22px,6vw,44px);line-height:1.5}
 .business-section h2{font-size:28px}
}
@media(max-width:900px){
 #why-paper .why-title h3{margin-bottom:0;font-size:28px}
 html[lang=ja] .how-opening h2{font-size:clamp(40px,0vw,144px);line-height:1.3;text-wrap:balance}
 .how-guided .how-intro h2{font-size:clamp(30px,3.6vw,52px);line-height:1.4;margin-bottom:12px}
 html[lang=ja] .closing h2{font-size:clamp(24px,12vw,32px);line-height:1.7}
}

/* v157: mobile hero supporting copy. */
@media(max-width:700px){
 .mobile-hero-copy p{font-size:16px;line-height:1.45;max-width:300px;margin:0;color:#625d56}
}

/* v161: unobstructed photography with a separate card caption. */
.spaces-view{--space-caption-height:76px;aspect-ratio:auto;padding-bottom:var(--space-caption-height);box-sizing:content-box}
.spaces-view::before{content:"";display:block;aspect-ratio:1672/941}
.space-slide{display:flex;flex-direction:column;background:#f5f1e9}
.space-slide>img{height:calc(100% - var(--space-caption-height));flex:none;object-fit:contain}
.space-caption{position:static;flex:0 0 var(--space-caption-height);box-sizing:border-box;padding:0 24px;gap:12px;background:#f5f1e9;color:#27251f;text-shadow:none;font-size:18px;letter-spacing:0;line-height:1.3}
.space-caption .caption-emark{width:32px;height:34px}
.space-caption .space-type-label{font-size:16px;font-weight:400}
.space-caption .space-type-divider{font-size:18px;color:#625d56}
.space-caption strong{font-size:18px;letter-spacing:.06em;margin:0;font-weight:600}
@media(max-width:600px){
 .spaces-view{--space-caption-height:60px}
 .space-caption{padding:0 16px;gap:10px}
 .space-caption .caption-emark{width:27px;height:29px}
 .space-caption .space-type-label{font-size:14px}
 .space-caption strong{font-size:16px}
}

/* v162: HANG display size. */
.space-caption .space-type-size{font-size:14px;font-weight:400;letter-spacing:0;color:#625d56;white-space:nowrap}
@media(max-width:600px){.space-caption .space-type-size{font-size:12px}}

/* v164 — ROCK: playful printed forms, precise physical hardware. */
.rock-section{position:relative;z-index:5;background:#f5f1e9;color:#27251f;padding:clamp(48px,6vw,100px) 4vw;overflow:hidden;overflow:clip}
.rock-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,.85fr);gap:5vw;max-width:1760px;margin:auto;align-items:center}
.rock-art{position:relative;aspect-ratio:1.1;isolation:isolate;min-width:0}
.rock-art img{position:absolute;display:block;height:auto;pointer-events:none}
.rock-blue{width:53%;left:4%;top:26%;z-index:0;transform-origin:50% 49%}
.rock-red{width:64%;right:0;top:10%;z-index:1;mix-blend-mode:multiply;transform-origin:49.4% 50.8%}
.rock-word{position:absolute;top:0;left:0;font-size:clamp(90px,15.5vw,270px);font-weight:800;line-height:.9;letter-spacing:-.065em;color:#101010;z-index:2}
.rock-device{width:108%;left:-4%;top:6%;z-index:3}
.rock-copy h2,html[lang=ja] .rock-copy h2{font-size:clamp(28px,3vw,48px);line-height:1.35;letter-spacing:-.02em;margin:0 0 24px;text-wrap:balance}
.rock-copy p{font-size:clamp(16px,1.15vw,19px);line-height:1.75;margin:0 0 20px}
.rock-copy h3,html[lang=ja] .rock-copy h3{font-size:clamp(23px,2vw,32px);line-height:1.4;font-weight:500;margin:30px 0 24px}
.rock-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rock-features li{font-size:13px;line-height:1.65;padding-top:12px;border-top:1px solid #c9c3b8}
.rock-ready .rock-red,.rock-ready .rock-blue,.rock-ready .rock-device,.rock-ready .rock-word{opacity:0}
.rock-playing .rock-red{animation:rock-roll-red .6s both}
.rock-playing .rock-blue{animation:rock-roll-blue .55s .15s both}
.rock-playing .rock-device{animation:rock-device-in .5s .65s cubic-bezier(.16,1,.3,1) both}
.rock-playing .rock-word{animation:rock-word-in .35s 1.05s ease-out both}
@keyframes rock-roll-red{0%{opacity:1;transform:translate(-110vw,10px) rotate(-65deg)}45%{transform:translate(-24vw,-12px) rotate(-26deg)}80%{transform:translate(12px,2px) rotate(3deg)}100%{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes rock-roll-blue{0%{opacity:1;transform:translate(-110vw,-4px) rotate(-110deg)}42%{transform:translate(-28vw,-22px) rotate(-47deg)}80%{transform:translate(9px,3px) rotate(5deg)}100%{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes rock-device-in{from{opacity:1;transform:translateX(-110vw)}to{opacity:1;transform:translateX(0)}}
@keyframes rock-word-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.rock-section{padding:44px 6vw 56px}.rock-layout{grid-template-columns:1fr;gap:24px}.rock-art{aspect-ratio:1.08}.rock-word{font-size:25.5vw}.rock-copy h2,html[lang=ja] .rock-copy h2{font-size:30px}.rock-copy p{font-size:16px}.rock-features{gap:12px}.rock-features li{font-size:13px}}
@media(prefers-reduced-motion:reduce){.rock-section .rock-art>*{animation:none!important;transform:none!important;opacity:1!important}}

/* v166: one proportional ROCK composition across desktop and mobile. */
.rock-art{container-type:inline-size;aspect-ratio:812/730}
.rock-art .rock-word{left:6%;top:14%;font-family:Arial,Helvetica,sans-serif;font-size:32cqw;font-weight:800;line-height:.9;letter-spacing:-.065em;white-space:nowrap}
.rock-art .rock-blue{width:86%;left:-12.5%;top:-0.9%;right:auto}
.rock-art .rock-red{width:92%;left:21%;top:-10.6%;right:auto}
.rock-art .rock-device{width:94%;left:0;top:6%}

/* SCISSORS: approved abstract ink, precise hardware, one entrance. */
.scissors-section{position:relative;z-index:5;background:#f5f1e9;color:#27251f;padding:clamp(56px,7vw,112px) 5vw;overflow:hidden;overflow:clip}
.scissors-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:4vw;max-width:1600px;margin:auto;align-items:center}
.scissors-copy{min-width:0;container-type:inline-size}.scissors-label{font-size:12px;font-weight:650;letter-spacing:.17em;margin:0 0 20px}
.scissors-copy h2,html[lang=ja] .scissors-copy h2{font-size:clamp(28px,3vw,48px);font-size:min(clamp(28px,3vw,48px),8cqi);line-height:1.35;letter-spacing:-.02em;font-weight:700;margin:0 0 24px;white-space:nowrap}
.scissors-description{font-size:clamp(14px,1.05vw,17px);line-height:1.8;color:#68635b}.scissors-description p{margin:0 0 14px}
.scissors-features{list-style:none;display:grid;gap:19px;padding:0;margin:30px 0 0}.scissors-features li{display:flex;gap:14px;align-items:flex-start}.scissors-features img{flex:none;margin-top:1px}.scissors-features h3{font-size:11px;font-weight:650;letter-spacing:.09em;line-height:1.5;margin:0 0 4px}.scissors-features p{font-size:14px;line-height:1.6;margin:0;color:#68635b}
.scissors-visual{min-width:0}.scissors-art{position:relative;aspect-ratio:1.1;isolation:isolate;container-type:inline-size}.scissors-ink{position:absolute;inset:0;isolation:isolate;pointer-events:none}.scissors-shape{position:absolute;display:block;width:150%;max-width:none;left:-25%;top:-27%;height:auto;transform-origin:50% 60%;mix-blend-mode:multiply}.scissors-screen{position:absolute;width:100%;max-width:none;height:auto;left:0;top:32%;display:block;z-index:2;border:1px solid #d3d0c9;border-radius:5px;background:#f8f7f3}.scissors-note{font-size:10px;line-height:1.6;color:#827c73;max-width:540px;margin:12px auto 0;text-align:center}
.scissors-ready .scissors-shape,.scissors-ready .scissors-screen,.scissors-ready .scissors-word{opacity:0}
.scissors-playing .scissors-red{animation:scissors-close-red .55s both}
.scissors-playing .scissors-blue{animation:scissors-close-blue .55s both}
.scissors-playing .scissors-screen{animation:scissors-screen-in .4s .65s cubic-bezier(.22,1,.36,1) both}
@keyframes scissors-close-red{0%{opacity:0;transform:translateY(16px) rotate(-7deg);animation-timing-function:cubic-bezier(.4,0,.2,1)}54.55%{opacity:1;transform:translateY(0) rotate(22deg);animation-timing-function:cubic-bezier(.2,.8,.3,1)}84%{opacity:1;transform:rotate(-3deg)}100%{opacity:1;transform:rotate(0)}}
@keyframes scissors-close-blue{0%{opacity:0;transform:translateY(16px) rotate(7deg) scaleY(-1);animation-timing-function:cubic-bezier(.4,0,.2,1)}54.55%{opacity:1;transform:rotate(-22deg) scaleY(-1);animation-timing-function:cubic-bezier(.2,.8,.3,1)}84%{opacity:1;transform:rotate(3deg) scaleY(-1)}100%{opacity:1;transform:scaleY(-1)}}
@keyframes scissors-screen-in{from{opacity:1;transform:translateX(110vw)}to{opacity:1;transform:translateX(0)}}
@media(max-width:800px){.scissors-section{padding:56px 6vw 48px}.scissors-layout{grid-template-columns:1fr;gap:30px}.scissors-visual{order:-1}.scissors-copy h2,html[lang=ja] .scissors-copy h2{font-size:clamp(20px,6.1vw,30px);font-size:min(30px,8cqi)}.scissors-description{font-size:15px}.scissors-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.scissors-features p{font-size:13px}.scissors-art{aspect-ratio:1.15}.scissors-note{margin-top:0}.scissors-screen{top:29%}}
@media(max-width:420px){.scissors-features{grid-template-columns:1fr;gap:17px}}
@media(prefers-reduced-motion:reduce){.scissors-section .scissors-shape,.scissors-section .scissors-screen,.scissors-section .scissors-word{animation:none!important;opacity:1!important;transform:none!important}}
.scissors-note{margin-top:32px}
@media(max-width:800px){.scissors-art{aspect-ratio:1.1}.scissors-note{margin-top:24px}}

/* The word sits over the ink and slightly behind the dashboard screen. */
.scissors-word{position:absolute;left:5%;top:16.5%;font-family:Arial,Helvetica,sans-serif;font-size:20cqw;font-weight:800;line-height:.9;letter-spacing:-.065em;white-space:nowrap;color:#101010;z-index:1;pointer-events:none}
.scissors-playing .scissors-word{animation:scissors-word-in .35s 1.05s ease-out both}
@keyframes scissors-word-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.scissors-word{top:13.5%}}

/* Reference composition: oversized ink and title behind the clean dashboard. */
.scissors-section{padding:5vw 2.8vw 7vw}
.scissors-layout{grid-template-columns:minmax(0,36fr) minmax(0,60fr);gap:4%;max-width:2200px}
.scissors-label{display:none}
.scissors-copy h2,html[lang=ja] .scissors-copy h2{font-size:min(2.75vw,8cqi);margin-bottom:2.5vw}
.scissors-description{font-size:clamp(14px,1.18vw,25px)}
.scissors-description p{margin-bottom:1.4vw}
.scissors-features{gap:1.75vw;margin-top:2.7vw}
.scissors-features li{gap:1.5vw}
.scissors-features img{width:2vw;height:2vw}
.scissors-features h3{font-size:clamp(11px,.94vw,21px);letter-spacing:0}
.scissors-features p{font-size:clamp(13px,1.18vw,25px)}
.scissors-art{aspect-ratio:1.14}
.scissors-shape{width:230%;left:-32%;top:-67%}
.scissors-screen{width:94%;top:29%;border:clamp(3px,.35vw,7px) solid #aaa9a1;border-radius:clamp(16px,2.5vw,52px);box-shadow:0 3vw 2.8vw -1.5vw #3d352b45}
.scissors-word{left:15%;top:14%;font-size:20cqw}
.scissors-note{max-width:none;text-align:left;margin:1.5vw 1% 0;font-size:clamp(8px,.6vw,13px)}
@media(max-width:800px){
.scissors-section{padding:38px 6vw 48px}
.scissors-layout{grid-template-columns:1fr;gap:30px}
.scissors-copy h2,html[lang=ja] .scissors-copy h2{font-size:min(30px,8cqi);margin-bottom:24px}
.scissors-description{font-size:15px}.scissors-description p{margin-bottom:14px}
.scissors-features{gap:22px 16px;margin-top:30px}.scissors-features li{gap:14px}.scissors-features img{width:26px;height:26px}.scissors-features h3{font-size:11px}.scissors-features p{font-size:13px}
.scissors-art{aspect-ratio:1.1}.scissors-screen{width:100%;top:29%;border-width:2px;border-radius:16px}
.scissors-shape{width:190%;left:-29%;top:-44%}.scissors-word{left:5%;top:13.5%}.scissors-note{font-size:9px;margin:20px 0 0}
}
@media(min-width:801px){.scissors-shape{width:200%;left:-10%;top:-57%}.scissors-word{font-size:19cqw}.scissors-description{font-size:1.12vw}}

/* Both blades share a pivot; blue opens downward as in the supplied composition. */
.scissors-blue{transform:scaleY(-1)}
@media(prefers-reduced-motion:reduce){.scissors-section .scissors-blue{transform:scaleY(-1)!important}}
@media(min-width:801px){.scissors-section{padding-bottom:12vw}.scissors-shape{width:180%;left:0;top:-55%}}
@media(max-width:800px){.scissors-ink{overflow:hidden}}
@media(min-width:801px){.scissors-shape{left:-18%}}
@media(max-width:800px){.scissors-art{aspect-ratio:.95}.scissors-shape{width:145%;left:-5%;top:-38%}.scissors-ink{overflow:visible}.scissors-word{top:16%}}

/* Keep the concept note after all section content and bring mobile copy closer. */
.scissors-section > .scissors-note{position:relative;max-width:2200px;margin:4vw auto 0}
@media(max-width:800px){
.scissors-art{aspect-ratio:1.12}
.scissors-screen{top:34.2%}
.scissors-word{top:18.9%}
.scissors-shape{top:-44.8%}
.scissors-layout{gap:20px}
.scissors-section > .scissors-note{margin-top:30px;font-size:9px;line-height:1.7}
}

/* Match ROCK body typography and center the mobile product word. */
.scissors-description,.scissors-features p{font-size:clamp(16px,1.15vw,19px);line-height:1.75;color:inherit}
.scissors-description p{margin:0 0 20px}
@media(max-width:800px){
.scissors-description,.scissors-features p{font-size:16px}
.scissors-word{left:0;width:100%;text-align:center}
}
/* Tighter transitions between the ecosystem and the two product sections. */
#how-it-works,#how-it-works.how-guided{padding-bottom:0}
.scissors-section{padding-top:24px;padding-bottom:32px}
.rock-section{padding-top:24px}
@media(max-width:800px){.scissors-section{padding-top:16px;padding-bottom:16px}.rock-section{padding-top:16px}}

/* PAPER completes the three product names in the closing statement. */
.closing h2,html[lang=ja] .closing h2{padding-top:8svh;font-size:clamp(24px,2.8vw,42px);line-height:1.6}
.closing-line{display:block}
.closing-paper{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,8vw,124px);font-weight:800;line-height:1;letter-spacing:-.065em;margin-right:.12em;vertical-align:baseline}
@media(max-width:700px){
.closing h2,html[lang=ja] .closing h2{padding:10svh 4vw 0;font-size:clamp(18px,4.8vw,30px);line-height:1.8}
.closing-paper{font-size:clamp(48px,13vw,80px)}
}

/* Logo + name study, with the previous large-title edition archived separately. */
.product-title{display:flex;align-items:center;gap:16px;color:#101010;font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.025em}
.scissors-copy .product-title,.rock-copy .product-title,.closing > .product-title{font-size:clamp(28px,2.8vw,44px);line-height:1.1;margin:0 0 36px}
.product-title img{display:block;width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply}
.closing > .product-title{justify-content:center;padding-top:7svh;margin-bottom:20px;position:relative}
.closing > .product-title img{width:64px;height:64px;max-width:64px;margin:0;object-fit:contain}
.closing h2,html[lang=ja] .closing h2{padding-top:0;font-size:clamp(24px,2.8vw,42px);line-height:1.6}
@media(max-width:800px){
.scissors-copy .product-title,.rock-copy .product-title{font-size:28px;margin-bottom:24px;gap:12px}
.product-title img{width:46px;height:46px}
.closing > .product-title{padding-top:9svh;font-size:30px;gap:12px;margin-bottom:18px}
.closing > .product-title img{width:48px;height:48px}
.closing h2,html[lang=ja] .closing h2{padding-top:0;font-size:clamp(18px,4.8vw,30px)}
}
/* Closing title spacing and mobile heading aligned with ROCK. */
.closing > .product-title{justify-content:center;padding-top:7svh;margin-bottom:90px;position:relative}
@media(max-width:800px){
.closing h2,html[lang=ja] .closing h2{font-size:30px;line-height:1.35;letter-spacing:-.02em;font-weight:700;color:#27251f}
}

@media(max-width:800px){.closing > .product-title{margin-bottom:50px}}
/* Lift the desktop blue blade clear of the section's lower clipping edge. */
@media(min-width:801px){.scissors-blue{top:-72%}}

/* Mobile: stable geometry avoids rebuilding SVG routes during every scroll frame. */
@media(max-width:700px){
.how-guided .how-scroll-track{height:450svh}
.how-guided .how-ecosystem{grid-template-columns:1.1fr .75fr 1.1fr}
.how-guided .how-part{transform:none}
.how-guided .how-description,.how-guided .how-visual{opacity:.6;transition:opacity .2s ease}
.how-guided .is-focused .how-description,.how-guided .is-focused .how-visual,.how-overview .how-description,.how-overview .how-visual{opacity:1}
}
@media(max-width:700px){
.how-guided .how-logo{width:48px;height:44px}
.how-guided .how-name{font-size:10px}
.how-guided .how-description{min-height:100px}
}
@media(prefers-reduced-motion:reduce){.how-guided .how-scroll-track{height:auto}.how-description,.how-visual{transition:none!important}}
