/* =====================================================================
   RHUGWASANYE SMART TECH â€” Accueil (sample)
   Site tokens: aura / cream / ink / oxide / copper / deep / sage
   ===================================================================== */
.page-home{
  --aura:#dccabd; --aura-2:#d2bfb1; --cream:#f2ece1; --cream-2:#e9e1d4; --card:#f7f2ea;
  --ink:#15160f; --ink-2:#3a3a31; --muted:#6b675c;
  --oxid:#33443a; --oxid-2:#26332b; --copper:#9a5334; --copper-2:#7a3f25; --deep:#232b1e; --deep-2:#1a2016; --sage:#8e9489; --sage-2:#7d8478;
  --on-dark:#f2ece1; --on-dark-2:rgba(242,236,225,.7); --on-dark-3:rgba(242,236,225,.5);
  --line:rgba(21,22,15,.14); --line-2:rgba(21,22,15,.28); --line-d:rgba(242,236,225,.14); --line-d2:rgba(242,236,225,.28);
  --ok:#3d7a55; --night:#15160f; --night-2:#1d1e17;
  --disp:'Space Grotesk', system-ui, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --hdr:linear-gradient(180deg, rgba(250,248,244,.94), rgba(236,230,221,.94)); --hdr-ink:#15160f;
  color-scheme:light;
}
html[data-theme="dark"] .page-home{
  --copper:#d07e58; --aura:#1c1d16; --aura-2:#16170f; --cream:#15160f; --cream-2:#1b1c15; --card:#1f2019;
  --ink:#f2ece1; --ink-2:#d6cfc2; --muted:#a39c8e;
  --line:rgba(242,236,225,.12); --line-2:rgba(242,236,225,.26);
  --ok:#7cc497;
  --hdr:linear-gradient(180deg, rgba(40,41,33,.95), rgba(29,30,23,.95)); --hdr-ink:#f2ece1;
  color-scheme:dark;
}
*{box-sizing:border-box}
.page-home [hidden]{display:none !important}
.page-home html{scroll-behavior:smooth}
.page-home{margin:0; background:var(--cream); color:var(--ink); font-family:var(--disp); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; overflow-x:hidden; transition:background-color .4s, color .4s}
.page-home a{color:inherit; text-decoration:none}
.page-home button{font:inherit; color:inherit}
.page-home h1, .page-home h2, .page-home h3, .page-home h4, .page-home p{margin:0}
.page-home .container{max-width:1240px; margin:0 auto; padding:0 32px}
.page-home .mono{font-family:var(--mono)}
.page-home svg.ln{fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:square; stroke-linejoin:miter}
.page-home svg.ln *{vector-effect:non-scaling-stroke}
.page-home .grid-lines{background-image:linear-gradient(90deg, var(--gl, var(--line)) 1px, transparent 1px); background-size:144px 100%}

/* ---------- Header (stand-in: the real site keeps its own header) ---------- */
@media (max-width:1100px){
}


/* ---------- Shared section bits ---------- */
.page-home .section{position:relative; padding:120px 0}
.page-home .kicker{display:inline-block; font:500 13.5px var(--mono); letter-spacing:.2em; text-transform:uppercase; color:var(--muted)}
.page-home .on-dark{color:var(--on-dark); --gl:var(--line-d)}
.page-home .on-dark .kicker{color:var(--on-dark-3)}
.page-home .section-head{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:end; margin-bottom:56px}
.page-home .section-head h2{margin-top:16px; font-weight:500; font-size:clamp(34px,4.4vw,60px); line-height:1.02; letter-spacing:-.02em}
.page-home .section-head p{font-size:18px; color:var(--ink-2); max-width:46ch}
.page-home .on-dark .section-head p{color:var(--on-dark-2)}
.page-home .btn{display:inline-flex; align-items:center; gap:12px; height:56px; padding:0 30px; border:1px solid currentColor; font:500 14px var(--mono); letter-spacing:.18em; text-transform:uppercase; cursor:pointer; background:none; transition:background .3s, color .3s, border-color .3s}
.page-home .btn svg{transition:transform .35s var(--ease)}
.page-home .btn:hover svg{transform:translateX(4px)}
.page-home .btn-ink{background:var(--ink); color:var(--cream); border-color:var(--ink)}
.page-home .btn-ink:hover{background:var(--copper); border-color:var(--copper); color:#fff}
.page-home .btn-line:hover{background:var(--ink); color:var(--cream)}
.page-home .on-dark .btn-line:hover{background:var(--on-dark); color:var(--ink)}
.page-home .ulink{display:inline-flex; align-items:center; gap:10px; padding-bottom:6px; border-bottom:1px solid currentColor; font:500 14px var(--mono); letter-spacing:.18em; text-transform:uppercase}
.page-home .ulink:hover{color:var(--copper)}
.page-home .flags{display:flex; flex-wrap:wrap; gap:8px; margin-top:26px}
.page-home .flag{padding:8px 14px; border:1px solid currentColor; font:500 12.5px var(--mono); letter-spacing:.14em; text-transform:uppercase; opacity:.85}
.page-home .spec-rows{margin:34px 0 0; border-top:1px solid var(--line-2)}
.page-home .on-dark .spec-rows{border-color:var(--line-d2)}
.page-home .spec-row{display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--line-2); font:500 14px var(--mono); letter-spacing:.06em}
.page-home .on-dark .spec-row{border-color:var(--line-d)}
.page-home .spec-row dt{letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.page-home .on-dark .spec-row dt{color:var(--on-dark-3)}
.page-home .spec-row dd{margin:0; text-align:right}

/* reveal */
.page-home .rv{opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); transition-delay:var(--dl,0s)}
.page-home .rv.in{opacity:1; transform:none}
.page-home .words .w{display:block; overflow:hidden; padding-bottom:.06em}
.page-home .words .w span{display:inline-block; transform:translateY(105%); transition:transform 1s var(--ease); transition-delay:calc(var(--i,0) * 90ms)}
.page-home .words.in .w span{transform:none}
@media (min-width:641px){ .hero h1 .w{white-space:nowrap} }

/* ======================= HERO ======================= */
.page-home .hero{background-color:var(--aura-2); position:relative; min-height:100svh; display:flex; flex-direction:column; padding-top:132px; background:linear-gradient(180deg, var(--aura) 0%, var(--aura-2) 100%); overflow:hidden}
.page-home .hero-grid{flex:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:'copy stage' 'read stage'; gap:24px 40px; align-items:center; padding-bottom:36px}
.page-home .h-copy{grid-area:copy; align-self:end}
.page-home .h-read{grid-area:read; align-self:start}
.page-home .h-stage{grid-area:stage; position:relative}
.page-home .hero h1{margin-top:18px; font-weight:500; font-size:clamp(36px, 3.75vw, 60px); line-height:.98; letter-spacing:-.025em}
.page-home .hero .lead{max-width:44ch; margin-top:22px; font-size:19px; line-height:1.55; color:var(--ink-2)}
.page-home .ctas{display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; margin-top:32px}
.page-home .readout{margin:0; max-width:560px; border:1px solid var(--line-2); padding:4px 22px; font:500 13px var(--mono); letter-spacing:.08em; background:color-mix(in srgb, var(--card) 40%, transparent)}
.page-home .readout div{display:flex; justify-content:space-between; gap:18px; padding:11px 0; border-bottom:1px solid var(--line)}
.page-home .readout div:last-child{border-bottom:0}
.page-home .readout dt{letter-spacing:.16em; color:var(--muted)} .readout dd{margin:0; text-align:right}

/* 3D turntable */
.page-home .stage{position:relative; height:clamp(400px, 48vw, 680px); touch-action:pan-y; cursor:grab; user-select:none}
.page-home .gl{position:absolute; inset:0; width:100%; height:100%; display:block}
.page-home .gl-fallback{position:absolute; inset:18%; display:none; color:currentColor; opacity:.7}
.page-home .gl-fallback svg{width:100%; height:100%}
.page-home .no-gl .gl{display:none} .no-gl .gl-fallback{display:block}
.page-home .gl{opacity:0; transition:opacity 1s var(--ease)} .gl.on{opacity:1}
.page-home .stage.drag{cursor:grabbing}
.page-home .scaler{position:absolute; left:50%; top:60%; width:0; height:0; transform:scale(var(--k,1)); transform-style:preserve-3d}
.page-home .tiltwrap{transform-style:preserve-3d; transform:rotateX(var(--tx,-14deg)) rotateY(var(--ty,0deg)); transition:transform 1s var(--ease)}
.page-home .disc{position:absolute; left:-300px; top:-300px; width:600px; height:600px; transform-style:preserve-3d; transform:rotateX(90deg) rotateZ(var(--rot,0deg))}
.page-home .disc i{position:absolute; inset:0; border-radius:50%}
.page-home .disc .d-shadow{inset:-6%; background:radial-gradient(closest-side, rgba(40,25,15,.32), transparent); transform:translateZ(-60px); filter:blur(14px)}
.page-home .disc .d3{background:#a99280; transform:translateZ(-18px)}
.page-home .disc .d2{background:#bba491; transform:translateZ(-12px)}
.page-home .disc .d1{background:#c9b4a2; transform:translateZ(-6px)}
.page-home .disc .d0{background:radial-gradient(circle, #efe5d9 0 52%, #e6d9cb 52.3% 100%); box-shadow:inset 0 0 0 1px rgba(21,22,15,.12)}
.page-home .disc .ticks{inset:3%; background:repeating-conic-gradient(rgba(21,22,15,.16) 0 .6deg, transparent .6deg 6deg); -webkit-mask:radial-gradient(circle, transparent 88%, #000 88.5%); mask:radial-gradient(circle, transparent 88%, #000 88.5%); transform:translateZ(1px)}
.page-home .disc .ring{inset:24%; border:1px dashed rgba(21,22,15,.2); transform:translateZ(1px)}
.page-home :root[data-theme="dark"] .disc .d0{background:radial-gradient(circle, #34352b 0 52%, #2c2d24 52.3% 100%)}
.page-home :root[data-theme="dark"] .disc .d1{background:#26271f} :root[data-theme="dark"] .disc .d2{background:#1f2019} :root[data-theme="dark"] .disc .d3{background:#16170f}
.page-home .item{position:absolute; left:0; top:0; width:250px; height:175px; margin:-175px 0 0 -125px; transform-style:preserve-3d; cursor:pointer}
.page-home .item svg{display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 14px 10px rgba(40,22,10,.22)); transition:transform .5s var(--ease)}
.page-home .item:hover svg{transform:translateY(-8px)}
.page-home .callout, .page-home .stage-tools, .page-home .drag-hint{z-index:2}
.page-home .callout{position:absolute; left:0; bottom:6px; min-width:250px; padding:14px 18px; border:1px solid var(--line-2); background:var(--card); font-family:var(--mono)}
.page-home .callout .c-k{font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); display:flex; justify-content:space-between; gap:16px}
.page-home .callout .c-n{display:block; margin-top:8px; font:500 19px var(--disp); letter-spacing:-.01em}
.page-home .callout .c-p{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:10px; font-size:15px; font-weight:600; letter-spacing:.04em}
.page-home .callout .c-p a{font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--copper); display:inline-flex; gap:6px; align-items:center}
.page-home .callout .swap{animation:swap .5s var(--ease)}
@keyframes swap{from{opacity:0; transform:translateY(6px)}}
.page-home .stage-tools{position:absolute; right:0; bottom:6px; display:flex; gap:8px}
.page-home .stage-tools button{width:42px; height:42px; border:1px solid var(--line-2); background:color-mix(in srgb, var(--card) 60%, transparent); cursor:pointer; display:grid; place-items:center; color:var(--ink)}
.page-home .stage-tools button:hover{border-color:var(--ink)}
.page-home .drag-hint{position:absolute; right:0; top:0; font:500 11.5px var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:8px}
.page-home .hero-strip{border-top:1px solid var(--line-2)}
.page-home .hero-strip .container{display:flex; align-items:center; gap:30px; padding-top:18px; padding-bottom:20px}
.page-home .ticker{flex:1; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent)}
.page-home .ticker-track{display:flex; width:max-content; animation:tick 46s linear infinite}
.page-home .ticker:hover .ticker-track{animation-play-state:paused}
.page-home .ticker-track a{display:inline-flex; align-items:center; gap:14px; padding-right:34px; font:500 13px var(--mono); letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; color:var(--ink-2)}
.page-home .ticker-track a:hover{color:var(--copper)}
.page-home .ticker-track a::after{content:""; width:5px; height:5px; background:currentColor; opacity:.5}
@keyframes tick{to{transform:translateX(-50%)}}
.page-home .tagline{font:500 13.5px var(--mono); letter-spacing:.24em; text-transform:uppercase; white-space:nowrap}

/* ======================= 01 WHY ======================= */
.page-home .why{background:var(--cream)}
.page-home .cap-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-d); color:var(--on-dark)}
.page-home .cap-col{background:var(--oxid); padding:40px 36px 34px}
.page-home .cap-ic{width:52px; height:52px; color:var(--on-dark)}
.page-home .cap-ic path, .page-home .cap-ic circle, .page-home .cap-ic rect{stroke-dasharray:var(--len,200); stroke-dashoffset:var(--len,200); transition:stroke-dashoffset 1.6s var(--ease) .2s}
.page-home .cap-col.in .cap-ic path, .page-home .cap-col.in .cap-ic circle, .page-home .cap-col.in .cap-ic rect{stroke-dashoffset:0}
.page-home .cap-col h3{margin-top:22px; font-weight:500; font-size:26px; letter-spacing:-.01em}
.page-home .cap-item{padding:20px 0; border-top:1px solid var(--line-d); opacity:0; transform:translateY(12px); transition:opacity .7s var(--ease), transform .7s var(--ease); transition-delay:calc(.3s + var(--i) * 90ms)}
.page-home .cap-col h3 + .cap-item{margin-top:22px}
.page-home .cap-col.in .cap-item{opacity:1; transform:none}
.page-home .cap-item h4{font-weight:500; font-size:17px}
.page-home .cap-item p{margin-top:6px; color:var(--on-dark-2); font-size:15.5px; line-height:1.55}

/* ======================= 02 NEW ======================= */
.page-home .new{background-color:var(--oxid-2); background:linear-gradient(180deg, var(--oxid-2), var(--oxid))}
.page-home .log{width:100%; border-collapse:collapse; font-size:16px}
.page-home .log th{padding:0 18px 18px; text-align:left; font:500 12.5px var(--mono); letter-spacing:.2em; text-transform:uppercase; color:var(--on-dark-3); border-bottom:1px solid var(--line-d2)}
.page-home .log td{padding:24px 18px; border-bottom:1px solid var(--line-d); transition:background .25s}
.page-home .log .m{font:500 15px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark-2)}
.page-home .log .nm a{font-weight:500; font-size:18px}
.page-home .log .nm a:hover{text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px}
.page-home .log .st span{display:inline-block; padding:6px 12px; border:1px solid var(--line-d2); font:500 12px var(--mono); letter-spacing:.16em; text-transform:uppercase}
.page-home .peek{position:fixed; left:0; top:0; z-index:40; width:180px; height:130px; padding:12px; border:1px solid var(--line-d2); background:var(--oxid-2); color:var(--on-dark); pointer-events:none; opacity:0; transform:translate(-50%,-120%) scale(.9); transition:opacity .25s, transform .35s var(--ease)}
.page-home .peek.on{opacity:1; transform:translate(-50%,-120%) scale(1)}
.page-home .peek svg{width:100%; height:100%}

/* ======================= 03 SELECTION / 04 COMPARE ======================= */
.page-home .pick{background:var(--cream)}
.page-home .cards{display:grid; grid-template-columns:repeat(4,1fr); gap:34px}
.page-home .p-card{display:flex; flex-direction:column; perspective:900px}
.page-home .p-media{position:relative; aspect-ratio:4/3; border:1px solid var(--line-2); background:var(--card); overflow:hidden; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .5s var(--ease), border-color .3s}
.page-home .p-card:hover .p-media{border-color:var(--ink)}
.page-home .p-media svg.ln{position:absolute; left:6%; top:4%; width:88%; height:82%; color:var(--ink); transition:transform .6s var(--ease)}
.page-home .p-media .floor{position:absolute; left:28%; right:28%; bottom:14%; height:6%; border-radius:50%; background:var(--ink); opacity:.09; transition:transform .6s var(--ease)}
.page-home .p-card:hover .p-media svg.ln{transform:translateY(-8px)}
.page-home .p-card:hover .floor{transform:scale(.8)}
.page-home .badges{position:absolute; left:14px; top:14px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; z-index:2}
.page-home .chip{padding:6px 11px; font:500 12px var(--mono); letter-spacing:.14em; text-transform:uppercase}
.page-home .chip-solid{background:var(--ink); color:var(--cream)}
.page-home .chip-copper{border:1px solid var(--line-2); color:var(--copper); background:var(--card)}
.page-home .quick{position:absolute; left:14px; right:14px; bottom:14px; z-index:2; display:flex; align-items:center; justify-content:center; gap:10px; height:46px; background:var(--ink); color:var(--cream); font:500 13px var(--mono); letter-spacing:.18em; text-transform:uppercase; transform:translateY(calc(100% + 20px)); transition:transform .5s var(--ease)}
.page-home .p-card:hover .quick, .page-home .p-card:focus-within .quick{transform:none}
@media (hover:none){ .quick{transform:none} }
.page-home .p-cat{margin-top:18px; font:500 12.5px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.page-home .p-name{display:block; margin-top:8px; font-size:20px; line-height:1.3; min-height:2.6em}
.page-home .p-price{display:flex; gap:12px; align-items:baseline; margin-top:12px; font:600 20px var(--mono)}
.page-home .p-old{font-weight:500; font-size:14.5px; color:var(--muted); text-decoration:line-through}
.page-home .p-stock{margin-top:10px; font:500 12.5px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--ok)}
.page-home .more-row{margin-top:56px}
.page-home .compare{background:var(--cream-2)}
.page-home .cmp{width:100%; border-collapse:collapse}
.page-home .cmp thead th{padding:0 22px 20px; text-align:left; font:500 12.5px var(--mono); letter-spacing:.2em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--line-2)}
.page-home .cmp .m{font:500 16px var(--mono); letter-spacing:.1em; text-transform:uppercase; white-space:nowrap}
.page-home .scroll-x{overflow-x:auto}

/* ======================= SPLITS (05-07) ======================= */
.page-home .split{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center}
.page-home .split.sr .s-copy{order:2}
.page-home .split h2{margin-top:18px; font-weight:500; font-size:clamp(46px, 5.6vw, 84px); line-height:1; letter-spacing:-.025em}
.page-home .split .s-lead{margin-top:22px; font-size:18.5px; line-height:1.6; max-width:44ch; color:var(--ink-2)}
.page-home .on-dark .s-lead{color:var(--on-dark-2)}
.page-home .s-cta{margin-top:30px}
.page-home .frame{position:relative; aspect-ratio:1/1; border:1px solid var(--line-2); overflow:hidden; perspective:1200px}
.page-home .on-dark .frame{border-color:var(--line-d2)}
.page-home .frame-tag{position:absolute; left:16px; top:14px; font:500 11.5px var(--mono); letter-spacing:.2em; text-transform:uppercase; opacity:.7; z-index:2}
.page-home .frame-tag.r{left:auto; right:16px}
.page-home .sec-pc{background-color:var(--aura-2); background:linear-gradient(180deg, var(--aura), var(--aura-2))}
.page-home .sec-phone{background-color:#6e3a24; background:linear-gradient(160deg, #9a5334, #6e3a24)}
.page-home .sec-audio{background-color:var(--oxid-2); background:linear-gradient(160deg, var(--oxid), var(--oxid-2))}

/* laptop (opens with scroll) */
.page-home .lap-scale{position:absolute; left:50%; top:62%; width:0; height:0; transform:scale(var(--k,1)); transform-style:preserve-3d}
.page-home .laptop{position:absolute; left:-160px; top:0; width:320px; height:0; transform-style:preserve-3d; transform:rotateX(-22deg) rotateY(-28deg)}
.page-home .lap-base{position:absolute; left:0; top:-105px; width:320px; height:210px; transform-style:preserve-3d; transform:rotateX(90deg)}
.page-home .lap-base i{position:absolute; inset:0; border-radius:10px}
.page-home .lap-base .b3{background:#3a3c35; transform:translateZ(-10px)}
.page-home .lap-base .b2{background:#44463f; transform:translateZ(-5px)}
.page-home .lap-base .b0{background:linear-gradient(180deg, #5b5d55, #4b4d46); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.page-home .lap-base .keys{inset:18px 22px 76px; border-radius:4px; background:repeating-linear-gradient(90deg, #2c2e28 0 17px, transparent 17px 20px), #3c3e37; -webkit-mask:repeating-linear-gradient(0deg, #000 0 16px, transparent 16px 19px); mask:repeating-linear-gradient(0deg, #000 0 16px, transparent 16px 19px)}
.page-home .lap-base .pad{left:115px; right:115px; top:auto; bottom:14px; height:52px; background:#53554e; border-radius:5px; inset:auto 115px 14px 115px}
.page-home .lap-shadow{position:absolute; left:-30px; top:-140px; width:380px; height:280px; border-radius:50%; background:radial-gradient(closest-side, rgba(40,25,15,.35), transparent); transform:rotateX(90deg) translateZ(-14px); filter:blur(10px)}
.page-home .lid{position:absolute; left:0; top:-206px; width:320px; height:206px; transform-origin:50% 100%; transform-style:preserve-3d; transform:translateZ(-105px) rotateX(var(--lid,-90deg))}
.page-home .lid .back{position:absolute; inset:0; border-radius:10px 10px 4px 4px; background:linear-gradient(180deg, #55574f, #44463f); transform:translateZ(-2px) rotateY(180deg); backface-visibility:hidden}
.page-home .lid .back::after{content:"RST"; position:absolute; inset:0; display:grid; place-items:center; font:700 22px var(--disp); letter-spacing:.3em; color:rgba(255,255,255,.14)}
.page-home .lid .bezel{position:absolute; inset:0; border-radius:10px 10px 4px 4px; background:#1b1c18; backface-visibility:hidden; padding:12px}
.page-home .lid .screen{position:relative; width:100%; height:100%; border-radius:3px; overflow:hidden; background:linear-gradient(160deg, #20262c, #11161b)}
.page-home .lid .screen .ui{position:absolute; inset:0; padding:14px; opacity:var(--scr,0); transition:opacity .4s; font-family:var(--mono); color:#d9e1e8}
.page-home .ui .bar{display:flex; justify-content:space-between; font-size:8px; letter-spacing:.2em; opacity:.7}
.page-home .ui .big{margin-top:30px; font:600 22px var(--disp); letter-spacing:.06em}
.page-home .ui .row{display:flex; gap:6px; margin-top:10px}
.page-home .ui .row i{flex:1; height:30px; border-radius:3px; background:rgba(217,225,232,.12)}
.page-home .ui .ok{margin-top:12px; font-size:8px; letter-spacing:.2em; color:#9fd3b0}

/* phone (turns with scroll) */
.page-home .ph-scale{position:absolute; left:50%; top:50%; width:0; height:0; transform:scale(var(--k,1)); transform-style:preserve-3d}
.page-home .phone{position:absolute; left:-80px; top:-160px; width:160px; height:320px; transform-style:preserve-3d; transform:rotateX(8deg) rotateY(var(--ph,160deg))}
.page-home .phone .pf{position:absolute; border-radius:24px; backface-visibility:hidden}
.page-home .phone .front{inset:0; background:#16171a; transform:translateZ(9px); padding:8px}
.page-home .phone .front .scr{width:100%; height:100%; border-radius:18px; background:linear-gradient(170deg, #2f3e5c, #141b2a); position:relative; overflow:hidden; color:#e8eef6; font-family:var(--mono)}
.page-home .phone .front .scr::before{content:""; position:absolute; left:50%; top:10px; width:56px; height:16px; margin-left:-28px; border-radius:10px; background:#0b0c0e}
.page-home .scr .time{position:absolute; left:0; right:0; top:56px; text-align:center; font:500 40px var(--disp); letter-spacing:-.02em}
.page-home .scr .date{position:absolute; left:0; right:0; top:104px; text-align:center; font-size:9px; letter-spacing:.2em; opacity:.75}
.page-home .scr .note{position:absolute; left:12px; right:12px; bottom:22px; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.12); font-size:8.5px; letter-spacing:.12em; line-height:1.6}
.page-home .scr .note b{display:block; font:600 11px var(--disp); letter-spacing:.02em}
.page-home .phone .back{inset:0; background:linear-gradient(160deg, #5c5f58, #3b3d38); transform:rotateY(180deg) translateZ(9px)}
.page-home .phone .cam{position:absolute; right:14px; top:14px; width:66px; height:92px; border-radius:16px; background:#2d2f2a; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.page-home .phone .cam i{position:absolute; width:26px; height:26px; border-radius:50%; background:radial-gradient(circle, #0c0d0f 45%, #1d1f22 47% 62%, #b9774f 64% 70%, #2d2f2a 72%)}
.page-home .phone .cam i:nth-child(1){left:6px; top:8px} .phone .cam i:nth-child(2){left:6px; top:56px} .phone .cam i:nth-child(3){left:36px; top:32px; width:18px; height:18px}
.page-home .phone .back::after{content:"RST"; position:absolute; left:0; right:0; bottom:40px; text-align:center; font:700 13px var(--disp); letter-spacing:.4em; color:rgba(255,255,255,.2)}
.page-home .phone .side{position:absolute; top:12px; bottom:12px; width:18px; background:#26272a; left:71px}
.page-home .phone .side.l{transform:rotateY(-90deg) translateZ(80px)}
.page-home .phone .side.r{transform:rotateY(90deg) translateZ(80px)}
.page-home .phone .tb{position:absolute; left:12px; right:12px; height:18px; background:#26272a; top:151px}
.page-home .phone .tb.t{transform:rotateX(90deg) translateZ(160px)}
.page-home .phone .tb.b{transform:rotateX(-90deg) translateZ(160px)}
.page-home .ph-shadow{position:absolute; left:-90px; top:150px; width:180px; height:46px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.35), transparent); filter:blur(6px)}

/* audio (sound waves grow with scroll) */
.page-home .audio-art{position:absolute; inset:12% 10%; display:grid; place-items:center; color:var(--on-dark)}
.page-home .audio-art svg.hp{width:62%; height:auto; position:relative; z-index:2}
.page-home .waves{position:absolute; inset:0; display:grid; place-items:center; pointer-events:none}
.page-home .waves i{position:absolute; width:34%; aspect-ratio:1; border-radius:50%; border:1.5px solid var(--on-dark); opacity:0; animation:wave 3.2s ease-out infinite; animation-delay:calc(var(--i) * .8s); animation-play-state:var(--wps,paused)}
@keyframes wave{0%{opacity:calc(var(--amp,.2) * .9); transform:scale(.9)}100%{opacity:0; transform:scale(calc(1.4 + var(--amp,.2) * 1.6))}}
.page-home .levels{position:absolute; left:16px; bottom:16px; display:flex; gap:16px; font:500 11.5px var(--mono); letter-spacing:.18em; text-transform:uppercase; z-index:2}
.page-home .levels span{opacity:.4; transition:opacity .4s} .levels span.on{opacity:1}
.page-home .eq{position:absolute; right:18px; bottom:18px; display:flex; align-items:flex-end; gap:4px; height:40px; z-index:2}
.page-home .eq i{width:5px; background:var(--on-dark); height:calc(10% + var(--amp,.2) * 90% * var(--h)); transition:height .5s var(--ease); animation:eq 1s ease-in-out infinite alternate; animation-delay:calc(var(--h) * -1s); animation-play-state:var(--wps,paused)}
@keyframes eq{to{transform:scaleY(.55)}}
.page-home .eq{transform-origin:bottom}

/* ======================= 08 ONE STANDARD (cube) ======================= */
.page-home .story{background:var(--night); color:var(--on-dark); --gl:var(--line-d)}
.page-home .story .kicker{color:var(--on-dark-3)}
.page-home .show-wrap{position:relative; aspect-ratio:4/3; border:1px solid var(--line-d2); overflow:hidden; touch-action:pan-y; cursor:grab; user-select:none;
  background:radial-gradient(70% 60% at 50% 62%, rgba(154,83,52,.16), transparent 70%), radial-gradient(50% 40% at 50% 8%, rgba(242,236,225,.06), transparent 70%)}
.page-home .show-wrap.drag{cursor:grabbing}
.page-home .show-wrap .gl-fallback{inset:16% 22% 24%; color:var(--on-dark)}
.page-home .show-hud{position:absolute; inset:0; pointer-events:none; z-index:2; font:500 11.5px var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--on-dark-2)}
.page-home .show-top{position:absolute; left:18px; right:18px; top:16px; display:flex; justify-content:space-between; gap:16px; align-items:flex-start}
.page-home .show-name{display:block; margin-top:10px; font:500 clamp(17px,1.6vw,22px) var(--disp); letter-spacing:-.01em; text-transform:none; color:var(--on-dark)}
.page-home .show-name.swap{animation:swap .55s var(--ease)}
.page-home .show-check{text-align:right; white-space:nowrap}
.page-home .show-check b{font-weight:500; color:var(--on-dark); font-variant-numeric:tabular-nums}
.page-home .show-check .bar{display:block; width:120px; height:2px; margin:10px 0 0 auto; background:var(--line-d2); position:relative; overflow:hidden}
.page-home .show-check .bar i{position:absolute; inset:0; background:#c07a50; transform-origin:left; transform:scaleX(var(--c,0))}
.page-home .show-check .ok{display:block; margin-top:8px; color:#c07a50; opacity:0; transition:opacity .4s}
.page-home .show-check.done .ok{opacity:1}
.page-home .show-tabs{position:absolute; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-d); pointer-events:auto; z-index:3}
.page-home .show-tabs button{position:relative; padding:15px 6px 16px; background:none; border:0; border-left:1px solid var(--line-d); color:var(--on-dark-3); font:500 11px var(--mono); letter-spacing:.16em; text-transform:uppercase; cursor:pointer; transition:color .3s}
.page-home .show-tabs button:first-child{border-left:0}
.page-home .show-tabs button:hover, .page-home .show-tabs button.on{color:var(--on-dark)}
.page-home .show-tabs button::after{content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:var(--on-dark); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease)}
.page-home .show-tabs button.on::after{transform:scaleX(1)}
@media (max-width:640px){
.page-home .show-wrap{aspect-ratio:auto; height:clamp(400px,118vw,480px)}
.page-home .show-tabs button{font-size:10px; letter-spacing:.1em; padding:13px 2px 14px}
.page-home .show-check .bar{width:84px}
}

/* ======================= 09 NUMBERS ======================= */
.page-home .numbers{background:var(--deep)}
.page-home .stat-grid{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-d2)}
.page-home .stat{padding:34px 26px 30px 0}
.page-home .stat + .stat{padding-left:26px; border-left:1px solid var(--line-d)}
.page-home .stat-num{font:500 clamp(46px,5.2vw,78px)/1 var(--disp); letter-spacing:-.03em}
.page-home .stat-label{margin-top:14px; font:500 12.5px var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--on-dark-3)}
.page-home .stat .bar{margin-top:22px; height:2px; background:var(--line-d)}
.page-home .stat .bar i{display:block; height:100%; width:0; background:var(--copper); transition:width 1.8s var(--ease)}
.page-home .stat.in .bar i{width:var(--w)}

/* ======================= 10 TEAM ======================= */
.page-home .team{background:var(--deep-2)}
.page-home .team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.page-home .tcard{position:relative; aspect-ratio:3/4; perspective:1000px; cursor:pointer; background:none; border:0; padding:0; text-align:left; color:var(--on-dark)}
.page-home .tinner{position:absolute; inset:0; transform-style:preserve-3d; transition:transform .8s var(--ease)}
.page-home .tside{position:absolute; inset:0; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line-d2); backface-visibility:hidden}
.page-home .tfront{background:linear-gradient(180deg, #2a3324, #1d2419)}
.page-home .tback{background:var(--oxid); transform:rotateY(180deg); justify-content:space-between}
.page-home .avatar{flex:1; display:grid; place-items:center; margin-bottom:18px; border:1px solid var(--line-d); font:500 46px var(--mono); letter-spacing:.06em; color:var(--on-dark-2); background:repeating-linear-gradient(135deg, transparent 0 9px, rgba(242,236,225,.03) 9px 10px)}
.page-home .tcard h3{font-weight:500; font-size:19px}
.page-home .tcard .role{margin-top:6px; font:500 11.5px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--on-dark-3); line-height:1.6}
.page-home .tback p{font-size:15px; line-height:1.6; color:var(--on-dark-2)}
.page-home .tback .tb-k{font:500 11.5px var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--on-dark-3)}
.page-home .flip-hint{position:absolute; right:16px; top:14px; font:500 10.5px var(--mono); letter-spacing:.18em; color:var(--on-dark-3); text-transform:uppercase}

/* ======================= 11 BRANDS ======================= */
.page-home .brands{background:var(--deep-2); padding:90px 0}
.page-home .brand-strip{overflow:hidden; border-top:1px solid var(--line-d2); border-bottom:1px solid var(--line-d2); padding:34px 0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.page-home .brand-track{display:flex; width:max-content; animation:tick 36s linear infinite}
.page-home .brand-strip:hover .brand-track{animation-play-state:paused}
.page-home .brand-track span{padding:0 46px; font:600 clamp(40px,6vw,86px)/1 var(--disp); letter-spacing:.02em; color:transparent; -webkit-text-stroke:1px rgba(242,236,225,.55); transition:color .3s}
.page-home .brand-track span:hover{color:var(--on-dark)}

/* ======================= 12 REVIEWS ======================= */
.page-home .reviews{background:var(--sage); color:var(--ink)}
.page-home .reviews .kicker{color:rgba(21,22,15,.6)}
.page-home .reviews .section-head p{color:rgba(21,22,15,.75)}
.page-home .rev-list{border-top:1px solid rgba(21,22,15,.25)}
.page-home .rev{display:grid; grid-template-columns:220px 1fr 140px; gap:12px 30px; padding:30px 0; border-bottom:1px solid rgba(21,22,15,.25)}
.page-home .rev .src{font:500 12.5px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:rgba(21,22,15,.62); line-height:1.6}
.page-home .rev h3{font-weight:500; font-size:clamp(21px,2.2vw,28px); letter-spacing:-.01em; line-height:1.2}
.page-home .rev p{grid-column:2; color:rgba(21,22,15,.75); max-width:62ch; font-size:16.5px}
.page-home .rev time{font:500 12.5px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:rgba(21,22,15,.62); text-align:right}
.page-home .rev .q{display:inline-block; overflow:hidden}
.page-home .rev .q span{display:inline-block; transform:translateY(100%); transition:transform .9s var(--ease)}
.page-home .rev.in .q span{transform:none}

/* ======================= 13 VISIT + CONTACT ======================= */
.page-home .visit{background-color:var(--sage-2); background:linear-gradient(180deg, var(--sage), var(--sage-2)); color:var(--ink); padding:120px 0 140px}
.page-home .visit .kicker{color:rgba(21,22,15,.6)}
.page-home .store-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start}
.page-home .visit h2{margin-top:16px; font-weight:500; font-size:clamp(32px,3.8vw,52px); line-height:1.05; letter-spacing:-.02em}
.page-home .visit .dim{margin-top:18px; font-size:18px; max-width:44ch; color:rgba(21,22,15,.75)}
.page-home .info-panel{border:1px solid rgba(21,22,15,.3); padding:24px 26px; background:rgba(242,236,225,.18)}
.page-home .info-panel h3{font-weight:500; font-size:22px}
.page-home .info-row{display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid rgba(21,22,15,.18); font:500 14px var(--mono); letter-spacing:.06em}
.page-home .info-row:last-child{border-bottom:0}
.page-home .info-row span:first-child{letter-spacing:.16em; text-transform:uppercase; color:rgba(21,22,15,.6)}
.page-home .info-row a{border-bottom:1px solid currentColor}
.page-home .contact-cta{margin-top:110px; padding-top:60px; border-top:1px solid rgba(21,22,15,.3); display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:end}
.page-home .contact-cta h2{font-size:clamp(36px,5vw,72px); line-height:1.02}
.page-home .contact-info{justify-self:end; text-align:right; font:500 16px var(--mono); letter-spacing:.06em; line-height:2}

/* ======================= FOOTER ======================= */
.page-home .site-footer{background:var(--night); color:var(--on-dark); padding:80px 0 30px}
.page-home :root[data-theme="dark"] .site-footer{background:#0f100b}
.page-home .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px}
.page-home .site-footer p{margin-top:18px; max-width:34ch; font-size:15px; color:var(--on-dark-2)}
.page-home .site-footer h3{font:500 12.5px var(--mono); letter-spacing:.2em; text-transform:uppercase; color:var(--on-dark-3)}
.page-home .site-footer ul{list-style:none; margin:20px 0 0; padding:0; display:grid; gap:12px; font-size:15.5px}
.page-home .site-footer ul a:hover{color:var(--copper)}
.page-home .footer-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:60px; padding-top:22px; border-top:1px solid var(--line-d); font:500 12px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--on-dark-3)}
.page-home .footer-bottom button{border:0; background:none; padding:0; cursor:pointer; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; text-decoration:underline; text-underline-offset:4px}

/* ======================= RESPONSIVE ======================= */
@media (max-width:1100px){
.page-home .cards{grid-template-columns:repeat(2,1fr)}
.page-home .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
.page-home .hero{min-height:auto}
.page-home .hero-grid{grid-template-columns:1fr; grid-template-areas:'copy' 'stage' 'read'}
.page-home .stage{height:clamp(380px, 70vw, 560px)}
.page-home .readout{max-width:none; display:grid; grid-template-columns:1fr 1fr; column-gap:30px}
.page-home .readout div:nth-last-child(2){border-bottom:0}
.page-home .section-head{grid-template-columns:1fr; gap:18px}
.page-home .cap-grid{grid-template-columns:1fr}
.page-home .split{grid-template-columns:1fr; gap:44px}
.page-home .split.sr .s-copy{order:0}
.page-home .stat-grid{grid-template-columns:1fr 1fr}
.page-home .stat:nth-child(3){padding-left:0; border-left:0}
.page-home .stat:nth-child(n+3){border-top:1px solid var(--line-d)}
.page-home .store-grid, .page-home .contact-cta{grid-template-columns:1fr}
.page-home .contact-info{justify-self:start; text-align:left}
.page-home .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.page-home .container{padding:0 18px}
.page-home .section{padding:84px 0}
.page-home .hero{padding-top:106px}
.page-home .hero .lead{font-size:17px}
.page-home .ctas .btn{width:100%; justify-content:center}
.page-home .stage{height:clamp(470px, 128vw, 560px)}
.page-home .stage .gl{height:calc(100% - 128px)}
.page-home .readout{display:block; padding:4px 16px}
.page-home .readout div:nth-last-child(2){border-bottom:1px solid var(--line)}
.page-home .readout dd{font-size:12.5px}
.page-home .callout{min-width:0; right:96px; padding:10px 12px}
.page-home .callout .c-n{font-size:16px}
.page-home .drag-hint, .page-home .frame-tag.r{display:none}
.page-home .hero-strip .container{flex-direction:column; align-items:flex-start; gap:12px}
.page-home .ticker{width:100%}
.page-home .cap-col{padding:30px 22px}
.page-home .log thead{display:none}
.page-home .log, .page-home .log tbody, .page-home .log tr, .page-home .log td{display:block; width:100%}
.page-home .log tr{display:grid !important; grid-template-columns:1fr auto; padding:18px 0; border-bottom:1px solid var(--line-d)}
.page-home .log td{padding:4px 0; border:0}
.page-home .log td.ref{grid-column:1/-1}
.page-home .log td.nm{grid-column:1/-1}
.page-home .log td.st{grid-column:2; grid-row:3; text-align:right}
.page-home .cards{grid-template-columns:1fr 1fr; gap:22px 14px}
.page-home .p-name{font-size:16px} .p-price{font-size:16px} .chip{font-size:10.5px; padding:5px 8px}
.page-home .cmp thead{display:none}
.page-home .cmp tr{padding:20px 0; border-bottom:1px solid var(--line-2)}
.page-home .team-grid{grid-template-columns:1fr 1fr; gap:12px}
.page-home .tside{padding:14px} .avatar{font-size:32px} .tcard h3{font-size:16px} .tback p{font-size:13px}
.page-home .rev{grid-template-columns:1fr; gap:8px} .rev p{grid-column:1} .rev time{text-align:left}
.page-home .footer-grid{grid-template-columns:1fr}
.page-home .stat{padding-right:14px} .stat + .stat{padding-left:14px}
}
.page-home html.still *{animation-play-state:paused !important}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation:none !important; transition:none !important}
.page-home .words .w span, .page-home .rev .q span{transform:none !important}
}

.page-home .still-btn{background:none; border:1px solid currentColor; padding:10px 16px; font:500 12px var(--mono); letter-spacing:.16em; text-transform:uppercase; color:inherit; cursor:pointer; opacity:.75}
.page-home .still-btn:hover{opacity:1}

.page-home .cap-col { color: var(--on-dark); }

.page-home .hero{background-color:var(--aura-2)}
.page-home .new{background-color:var(--oxid-2)}
.page-home .sec-pc{background-color:var(--aura-2)}
.page-home .sec-phone{background-color:#6e3a24}
.page-home .sec-audio{background-color:var(--oxid-2)}
.page-home .visit{background-color:var(--sage-2)}
.page-home .story{background-color:var(--night)}
.page-home .site-footer{background-color:var(--night)}

.page-home .pt-word{color:var(--ink)}

html[data-theme="dark"] .page-home .reviews{color:var(--night)}
html[data-theme="dark"] .page-home .reviews .kicker{color:rgba(21,22,15,.6)}
html[data-theme="dark"] .page-home .reviews .section-head p{color:rgba(21,22,15,.75)}

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

#team{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px}
#team .tcard{position:relative; aspect-ratio:3/4; min-width:0; perspective:1000px; background:none; border:0; padding:0; text-align:left; cursor:pointer}
#team .tinner{position:absolute; inset:0; transform-style:preserve-3d; transition:transform .8s cubic-bezier(.2,.8,.2,1)}
#team .tcard:hover .tinner, #team .tcard:focus-visible .tinner, #team .tcard.flip .tinner{transform:rotateY(180deg)}
#team .tside{position:absolute; inset:0; display:flex; flex-direction:column; padding:18px; overflow:hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden}
#team .tback{transform:rotateY(180deg); justify-content:space-between; overflow:auto}
#team .avatar{position:relative; flex:1 1 auto; min-height:0; margin-bottom:16px; overflow:hidden; isolation:isolate; display:grid; place-items:center}
#team .avatar img{position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 22%; display:block; z-index:1; transition:transform .8s cubic-bezier(.2,.8,.2,1)}
#team .tcard:hover .avatar img{transform:scale(1.04)}
#team .avatar.has-photo::after{content:""; position:absolute; left:0; right:0; bottom:0; height:38%; background:linear-gradient(transparent, rgba(0,0,0,.35)); z-index:2; pointer-events:none}
#team .avatar.has-photo .ini{visibility:hidden}
#team .flip-hint{position:absolute; right:14px; top:12px; z-index:3}
#team h3{font-size:19px; line-height:1.25; margin:0}
#team .tback p{font-size:15px; line-height:1.6; margin:12px 0}
#team .tb-links{display:block; font-size:13px; line-height:1.6; word-break:break-word}
@media (max-width:1100px){ #team{grid-template-columns:repeat(3, minmax(0,1fr))} }
@media (max-width:640px){ #team{grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px} #team .tside{padding:12px} #team h3{font-size:15px} #team .tback p{font-size:13px} }

@media (max-width:520px){ .page-home .site-header .wordmark{white-space:normal; line-height:1.05; font-size:11px; letter-spacing:.12em} }
