/* =====================================================================
   GP Robotic — design system (same tokens, type and components as gpautomatic.com)
   ===================================================================== */

/* ---------- self-hosted display / body / mono faces (Barlow family + IBM Plex Mono; Roboto for Cyrillic) */
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-condensed-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-condensed-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/barlow-condensed-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/barlow-condensed-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/roboto-condensed-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/roboto-condensed-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/roboto-condensed-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Condensed';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/roboto-condensed-cyrillic-ext-600-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/barlow-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/barlow-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/barlow-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/barlow-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/roboto-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/roboto-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/roboto-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'GPR Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'GPR Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-mono-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'GPR Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-mono-cyrillic-ext-500-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"GPR Arabic";src:local("Noto Kufi Arabic"),local("NotoKufiArabic-Regular"),local("Noto Naskh Arabic"),local("Noto Sans Arabic"),local("SF Arabic"),local("Geeza Pro"),local("Al Nile"),local("Damascus"),local("Segoe UI"),local("Tahoma"),local("Arial"),local("Droid Arabic Naskh"),local("DejaVu Sans");unicode-range:U+0600-06FF,U+0750-077F,U+0870-089F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;font-display:swap}

/* ---------- tokens */
:root{
  --ink:#0d0e10;--ink-2:#131518;--ink-3:#1b1e22;
  --bone:#f1ede4;--bone-2:#e8e3d7;--alu:#9ba1a6;
  --sun:#eda63e;--sun-deep:#c9852c;
  --line-d:rgba(241,237,228,.13);--line-l:rgba(13,14,16,.13);
  --tx-d:#f1ede4;--tx-d-dim:rgba(241,237,228,.55);--tx-l:#121316;--tx-l-dim:rgba(18,19,22,.58);
  --ga:#e07a2f;--gb:#1f9e89;--gc:#3a78d6;--gd:#8e9ba4;
  --font-sans:"Archivo","Helvetica Neue",-apple-system,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,"Cascadia Code",Consolas,monospace;
  --display:"GPR Condensed","Barlow Condensed","Roboto Condensed","Arial Narrow",sans-serif;
  --body:"GPR Sans","Barlow","Helvetica Neue",Arial,sans-serif;
  --mono:"GPR Mono","IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --pad:clamp(20px,4vw,64px);
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,.05,.36,1);
  interpolate-size:allow-keywords;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;scrollbar-color:#3a3b40 #101114;scrollbar-width:thin;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{height:auto}
body{font-family:var(--font-sans);background:var(--ink);color:var(--tx-d);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .9s var(--ease-io);line-height:1.5}
body.theme-light{background:var(--bone)}
::selection{background:var(--sun);color:var(--ink)}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;background:none;border:none;color:inherit;cursor:pointer}
img,svg,canvas,video{display:block;max-width:100%}
img{height:auto}
.solid-grid>*,.fab-strip>*,.b2b-lead>*,.b2b-grid>*,.proj-grid>*,.sys-grid>*,.kspecs>*,.spec-row>*,.feat-grid>*,.duo-gal>*,.story-grid>*,.form-wrap>*,.f-grid>*,.t-meta>*,.cat-grid>*,.conf-opts>*,.conf-models>*,.footer-cols>*,.pd-hero>*,.conf-wrap>*{min-width:0}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.display{font-weight:800;text-transform:uppercase;letter-spacing:-.028em;line-height:1;overflow-wrap:break-word}
section[id]{scroll-margin-top:70px}
.skip{position:fixed;left:-9999px;top:0;z-index:999;background:var(--sun);color:var(--ink);padding:10px 18px;font-family:var(--font-mono)}
.skip:focus{left:16px;top:16px}
.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- film grain, cursor, scroll progress, toast */
.grain{position:fixed;inset:-100px;z-index:200;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 8s steps(10) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}10%{transform:translate(-5%,-8%)}20%{transform:translate(-12%,3%)}30%{transform:translate(6%,-10%)}40%{transform:translate(-4%,12%)}50%{transform:translate(-10%,4%)}60%{transform:translate(10%,0)}70%{transform:translate(0,10%)}80%{transform:translate(-12%,0)}90%{transform:translate(9%,4%)}}
.cursor{position:fixed;top:0;left:0;z-index:300;pointer-events:none;width:10px;height:10px;border-radius:50%;background:var(--sun);transform:translate(-50%,-50%);transition:width .35s var(--ease-out),height .35s var(--ease-out),opacity .3s;opacity:0}
.cursor.is-live{opacity:1}
.cursor.is-hover{width:56px;height:56px;background:#fff0;border:1px solid var(--sun)}
.cursor .cursor-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--sun);opacity:0;transition:opacity .25s;white-space:nowrap}
.cursor.is-hover .cursor-label{opacity:1}
@media (hover:none),(pointer:coarse){.cursor{display:none}}
#gpr-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:150;background:linear-gradient(90deg,var(--sun),#f6c368);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
[dir="rtl"] #gpr-progress{transform-origin:100% 50%}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);z-index:500;background:var(--ink-3);color:var(--tx-d);border:1px solid var(--line-d);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;padding:14px 22px;border-radius:100px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);max-width:calc(100vw - 32px);text-align:center;display:flex;gap:14px;align-items:center}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:var(--sun);border-bottom:1px solid currentColor;white-space:nowrap}

/* ---------- header / nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px var(--pad);transition:padding .45s var(--ease-out),background .4s ease,box-shadow .4s ease,border-color .4s ease;border-bottom:1px solid transparent}
.nav.is-scrolled{padding:12px var(--pad);background:rgb(13 14 16 / .82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgb(0 0 0 / .35);border-bottom:1px solid rgb(255 255 255 / .06)}
body.theme-light .nav.is-scrolled{background:color-mix(in srgb,var(--bone) 78%,transparent);border-bottom:1px solid var(--line-l);box-shadow:none}
.lgw{display:inline-flex;align-items:center}
.lgw svg{height:100%;width:auto;display:block}
.nav-logo{display:flex;align-items:center;gap:10px;color:var(--tx-d);transition:color .6s;flex:none}
body.theme-light .nav-logo{color:var(--tx-l)}
.nav-logo .lgw{height:22px}
.nav-logo b{font-weight:800;letter-spacing:.08em;font-size:14.5px;white-space:nowrap}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-d-dim);transition:color .4s;position:relative;padding:6px 0;white-space:nowrap}
body.theme-light .nav-links a{color:var(--tx-l-dim)}
body.theme-light .nav .btn{color:#9a5f14;border-color:var(--sun-deep)}
body.theme-light .nav .btn::before{background:var(--sun-deep)}
body.theme-light .nav .btn:hover{color:var(--bone)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--sun);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--tx-d)}
body.theme-light .nav-links a:hover,body.theme-light .nav-links a[aria-current="page"]{color:var(--tx-l)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:18px}
.lang{display:flex;gap:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em}
.lang a{display:inline-flex;align-items:center;padding:6px 9px;color:rgb(241 237 228 / .78);border:1px solid #fff0;border-radius:3px;transition:.25s;white-space:nowrap}
.lang a:hover{color:var(--sun)}
.lang a.on{color:var(--sun);border:1px solid var(--sun);background:rgb(237 166 62 / .12)}
/* language dropdown (8 languages) */
.lang-dd{position:relative}
.lang-cur{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line-d);border-radius:3px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;color:var(--tx-d);white-space:nowrap;transition:border-color .25s,color .25s,background-color .25s}
.lang-cur .icon{width:14px;height:14px;stroke-width:1.6}
.lang-cur .lang-caret{width:11px;height:11px;transition:transform .35s var(--ease-out)}
.lang-cur:hover,.lang-dd.open .lang-cur{border-color:var(--sun);color:var(--sun)}
.lang-dd.open .lang-caret{transform:rotate(180deg)}
body.theme-light .lang-cur{color:var(--tx-l);border-color:var(--line-l)}
body.theme-light .lang-cur:hover,body.theme-light .lang-dd.open .lang-cur{border-color:var(--sun-deep);color:var(--sun-deep)}
.lang-list{position:absolute;top:calc(100% + 10px);inset-inline-end:0;width:236px;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:6px;background:rgb(19 21 24 / .97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-d);border-radius:4px;box-shadow:0 18px 50px rgb(0 0 0 / .45);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .35s var(--ease-out),visibility 0s linear .35s;z-index:5}
.lang-dd.open .lang-list{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .35s var(--ease-out),visibility 0s}
.lang-list a{display:flex;align-items:baseline;gap:9px;padding:9px 10px;border-radius:3px;color:var(--tx-d-dim);font-family:var(--body);font-size:13.5px;line-height:1.2;white-space:nowrap;transition:background-color .2s,color .2s}
.lang-list a b{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;font-weight:500;color:var(--tx-d);min-width:20px}
.lang-list a:hover,.lang-list a:focus-visible{background:rgb(255 255 255 / .06);color:var(--tx-d)}
.lang-list a.on{background:rgb(237 166 62 / .12);color:var(--sun)}
.lang-list a.on b{color:var(--sun)}
.qcount{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-inline-start:2px;border-radius:9px;background:var(--sun);color:var(--ink);font-size:10px;letter-spacing:0;font-weight:600;position:relative;z-index:1}
.qcount[data-n="0"]{display:none}

/* ---------- buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:13px 26px;border-radius:100px;border:1px solid var(--sun);color:var(--sun);overflow:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),color .4s var(--ease-out);cursor:pointer;white-space:nowrap;will-change:transform;text-align:center}
.btn::before{content:"";position:absolute;inset:0;background:var(--sun);transform:translateY(101%);transition:transform .5s var(--ease-out);border-radius:100px}
.btn::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgb(255 255 255 / .34) 50%,transparent 62%);transform:translateX(-140%);transition:none}
.btn:hover::before{transform:translateY(0)}
.btn:hover::after{transform:translateX(140%);transition:transform .7s cubic-bezier(.4,0,.2,1)}
.btn:hover{color:var(--ink)}
.btn:active{transform:scale(.965)}
.btn span,.btn .ar,.btn .icon,.btn .qcount{position:relative;z-index:1}
.btn .ar{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.btn:hover .ar{transform:translateX(4px)}
[dir="rtl"] .btn .ar{transform:scaleX(-1)}
[dir="rtl"] .btn:hover .ar{transform:scaleX(-1) translateX(4px)}
.btn.b-solid{background:var(--sun);color:var(--ink)}
.btn.b-solid::before{background:var(--bone)}
.btn.ghost-d{border-color:var(--line-d);color:var(--tx-d)}
.btn.ghost-d::before{background:var(--tx-d)}
.btn.ghost-d:hover{color:var(--ink)}
.btn.ghost-l{border-color:var(--line-l);color:var(--tx-l)}
.btn.ghost-l::before{background:var(--tx-l)}
.btn.ghost-l:hover{color:var(--bone)}
.btn.sm{padding:10px 18px;font-size:10px;letter-spacing:.12em}
.btn[disabled]{opacity:.45;pointer-events:none}
.link-arrow{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-l);border-bottom:1px solid var(--line-l);padding-bottom:6px;transition:gap .3s var(--ease-out)}
.link-arrow:hover{gap:16px}
.link-arrow span{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.link-arrow:hover span{transform:translateX(5px)}
[dir="rtl"] .link-arrow span{transform:scaleX(-1)}
[dir="rtl"] .link-arrow:hover span{transform:scaleX(-1) translateX(5px)}
.dark .link-arrow,.link-arrow.on-dark{color:var(--tx-d);border-color:var(--line-d)}

/* ---------- burger + full-screen menu */
.burger{display:none;flex-direction:column;gap:5px;padding:10px;z-index:190;position:relative}
.burger i{width:26px;height:1.5px;background:var(--tx-d);transition:transform .4s var(--ease-out),opacity .3s;display:block}
body.theme-light .burger i{background:var(--tx-l)}
.menu-open .burger i{background:var(--tx-d)!important}
.menu-open .burger i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0}
.menu-open .burger i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.menu-overlay{position:fixed;inset:0;z-index:180;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;padding:100px var(--pad) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-io);overflow-y:auto;visibility:hidden}
.menu-overlay.open{clip-path:inset(0 0 0% 0);visibility:visible}
.menu-overlay a.m-link{display:block;font-size:clamp(34px,8vw,60px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.12;color:var(--tx-d);padding:6px 0;border-bottom:1px solid var(--line-d);transition:color .3s}
.menu-overlay a.m-link:hover{color:var(--sun)}
.menu-overlay a.m-link small{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--sun);vertical-align:top;margin-inline-end:14px;font-weight:500}
.lang-menu{margin-top:26px;gap:8px;flex-wrap:wrap;font-size:11px}
.lang-menu a{padding:10px 14px;border:1px solid var(--line-d);border-radius:4px}
.menu-foot{margin-top:30px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--tx-d-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em}
.menu-foot a:hover{color:var(--sun)}
@media (min-width:1181px){.lang-menu{display:none}}
@media (max-width:1440px){.nav-links{gap:24px}.nav-links a{letter-spacing:.13em}}
@media (max-width:1360px){.nav-links{gap:18px}.nav-links a{letter-spacing:.09em}.nav-right{gap:12px}.nav .btn{padding:12px 18px;letter-spacing:.12em}}
@media (max-width:1260px){.nav-links{gap:14px}.nav-links a{letter-spacing:.05em;font-size:10.5px}.nav-logo b{font-size:13.5px}}
@media (max-width:1180px){.nav-links{display:none}.burger{display:flex}}
@media (max-width:640px){.nav .btn{display:none}}
@media (max-width:480px){.nav-logo b{display:none}.nav-logo .lgw{height:26px}.nav-right{gap:8px}.lang-cur{padding:7px 8px}}

/* =====================================================================
   3D product tour (hero) — same layout and motion as the GP Automatic "Ürün Turu"
   ===================================================================== */
.tour{--gph-offset:0px;--ink:#0d1012;--fog:#aab4b9;--txt:#f4f6f6;--line:rgba(255,255,255,.26);--grp:var(--ga);--gx:clamp(20px,4.2vw,64px);position:relative;height:calc(100vh - var(--gph-offset));height:calc(100svh - var(--gph-offset));min-height:420px;overflow:hidden;background:#0d0e10;color:var(--txt);font-family:var(--body);isolation:isolate;-webkit-tap-highlight-color:transparent}
.tour-stage{position:absolute;inset:0;z-index:0;background:#0d0e10}
.tour-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s cubic-bezier(.33,0,.2,1);pointer-events:none;display:block;max-width:none}
.tour-layer.is-on{opacity:1}
canvas.tour-layer{object-fit:fill}
.tour-shade{position:absolute;inset:0;z-index:9999;pointer-events:none;background:linear-gradient(90deg,rgb(8 10 12 / .76) 0%,rgb(8 10 12 / .44) 30%,#fff0 60%),linear-gradient(0deg,rgb(8 10 12 / .70) 0%,rgb(8 10 12 / .28) 24%,#fff0 42%),linear-gradient(180deg,rgb(8 10 12 / .46) 0%,#fff0 22%),linear-gradient(270deg,rgb(8 10 12 / .34) 0%,#fff0 26%)}
.tour-title,.tour-name,.tour-lead,.tour-sub,.tour-kicker,.tour-count,.tour-rail button,.tour-cue,.tour-skip,.tour-legend li{text-shadow:0 1px 2px rgb(0 0 0 / .6),0 2px 14px rgb(0 0 0 / .45)}
.tour-ui{position:absolute;inset:0;z-index:1;pointer-events:none}
.tour-ui a,.tour-ui button{pointer-events:auto}
.tour-kicker{display:flex;align-items:center;gap:10px;font:500 12px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fog)}
.tour-dot{width:9px;height:9px;border-radius:50%;background:var(--grp);flex:none;transition:background-color .4s}
.tour-intro,.tour-outro{position:absolute;left:var(--gx);bottom:calc(var(--gx) + 64px);max-width:min(704px,70vw);opacity:0;transform:translateY(16px);visibility:hidden;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1),visibility 0s linear .6s}
.tour-intro.is-in,.tour-outro.is-in{opacity:1;transform:none;visibility:visible;transition:opacity .6s ease .15s,transform .8s cubic-bezier(.2,.7,.2,1) .15s,visibility 0s}
.tour-title{margin:.22em 0 .16em;font:600 clamp(58px,9.4vw,148px)/.84 var(--display);letter-spacing:.005em;text-wrap:balance}
.tour-title small{display:block;font-size:.3em;line-height:1.2;letter-spacing:.02em;font-weight:500;margin-top:.35em;color:var(--ga)}
.tour-lead{max-width:512px;font:400 clamp(17px,1.45vw,21px)/1.45 var(--body);color:#dde3e5}
.tour-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fog);padding:6px 10px;opacity:0;transition:opacity .5s ease}
.tour[data-stage="0"] .tour-cue.is-ready{opacity:1}
.tour-cue i{position:relative;width:1px;height:38px;background:rgb(255 255 255 / .22);overflow:hidden}
.tour-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#fff;animation:tour-drip 1.8s cubic-bezier(.6,0,.3,1) infinite}
@keyframes tour-drip{to{top:100%}}
@keyframes tour-slide{to{left:100%}}
.tour-card{position:absolute;left:var(--gx);bottom:calc(var(--gx) + 30px);max-width:min(640px,60vw);opacity:0;transform:translateY(14px);visibility:hidden;transition:opacity .35s ease,transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s}
.tour-card.is-in{opacity:1;transform:none;visibility:visible;transition:opacity .55s ease,transform .7s cubic-bezier(.2,.7,.2,1),visibility 0s}
.tour-index{display:flex;align-items:center;gap:14px;margin:0 0 14px;font:500 13px/1 var(--mono);letter-spacing:.06em}
.tour-code{background:var(--grp);color:#fff;padding:6px 8px 5px;border-radius:3px;transition:background-color .4s}
.tour-count{color:var(--fog);font-variant-numeric:tabular-nums}
.tour-name{margin:.16em 0 .14em;font:600 clamp(50px,7.4vw,112px)/.88 var(--display);letter-spacing:.005em;text-wrap:balance}
.tour-sub{max-width:544px;font:400 clamp(17px,1.45vw,21px)/1.45 var(--body);color:#e1e6e8}
.tour-specs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.tour-specs li{font:500 12px/1 var(--mono);letter-spacing:.03em;padding:8px 10px 7px;border:1px solid var(--line);border-radius:2px;background:rgb(13 16 18 / .5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tour-specs:empty{display:none}
.tour-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tour-intro .tour-actions{margin-top:26px}
.tour-card .tour-actions{gap:10px}
.tour-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 18px 12px;font:600 15px/1 var(--body);letter-spacing:.02em;color:#fff;border:1px solid rgb(255 255 255 / .6);border-radius:2px;background:rgb(13 16 18 / .42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .25s,color .25s,border-color .25s;cursor:pointer}
.tour-btn:hover{background:#fff;color:#0d1012;border-color:#fff}
.tour-btn--solid{background:var(--grp);border-color:var(--grp)}
.tour-btn--solid:hover{background:#fff;border-color:#fff}
.tour-btn:focus-visible,.tour-rail button:focus-visible,.tour-skip:focus-visible,.tour-cue:focus-visible{outline:2px solid #fff;outline-offset:3px}
[dir="rtl"] .tour-btn span[aria-hidden]{display:inline-block;transform:scaleX(-1)}
.tour-legend{display:flex;flex-wrap:wrap;gap:14px 18px;margin:20px 0 0}
.tour-legend li{display:flex;align-items:center;gap:8px;font:500 12px/1 var(--mono);color:#dfe5e7}
.tour-legend b{width:18px;height:18px;border-radius:2px;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .35)}
.tour-rail{position:absolute;right:var(--gx);top:50%;transform:translateY(-50%)}
.tour-rail ol{display:flex;flex-direction:column;gap:1px}
.tour-rail button{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%;padding:5px 0;font:500 11px/1 var(--mono);letter-spacing:.06em;color:rgb(255 255 255 / .68);transition:color .3s}
.tour-rail .n{font:500 14px/1 var(--body);letter-spacing:.01em;white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.tour-rail .c{width:20px;text-align:right}
.tour-rail button::after{content:"";width:12px;height:2px;background:currentColor;flex:none;transition:width .35s cubic-bezier(.2,.7,.2,1),background-color .3s}
.tour-rail button:hover{color:#fff}
.tour-rail button:hover .n,.tour-rail button[aria-current="true"] .n{opacity:1;transform:none}
.tour-rail button[aria-current="true"]{color:#fff}
.tour-rail button[aria-current="true"]::after{width:30px;background:var(--c,#fff)}
.tour-bar{position:absolute;left:var(--gx);right:var(--gx);bottom:18px;display:flex;align-items:center;justify-content:flex-end;gap:18px}
.tour-skip{display:inline-flex;align-items:center;gap:8px;padding:8px 0;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fog);transition:color .25s}
.tour-skip:hover{color:#fff}
.tour-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgb(255 255 255 / .14)}
.tour-progress i{display:block;height:100%;width:var(--p,0%);background:var(--grp);transition:width .7s cubic-bezier(.2,.7,.2,1),background-color .4s}
[dir="rtl"] .tour-progress i{margin-inline-start:auto}
.tour-load{position:absolute;left:0;bottom:3px;height:2px;width:22%;background:rgb(255 255 255 / .7);opacity:0;transition:opacity .2s;animation:tour-load 1.1s ease-in-out infinite}
.tour.is-loading .tour-load{opacity:1}
@keyframes tour-load{from{transform:translateX(-100%)}to{transform:translateX(460%)}}
.tour-hint{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgb(255 255 255 / .42);white-space:nowrap}
.tour:not([dir="rtl"]) .tour-bar{right:calc(var(--gx) + 58px)}
.tour-bar .tour-hint{order:-1}
@media (max-width:820px){
  .tour-rail,.tour-hint{display:none}
  .tour-shade{background:linear-gradient(0deg,rgb(8 10 12 / .88) 0%,rgb(8 10 12 / .55) 32%,#fff0 62%),linear-gradient(180deg,rgb(8 10 12 / .5) 0%,#fff0 20%)}
  .tour-card,.tour-intro,.tour-outro{left:18px;right:18px;max-width:none;bottom:60px}
  .tour-intro{bottom:96px}
  .tour-name{font-size:clamp(42px,12vw,72px)}
  .tour-title{font-size:clamp(54px,16vw,92px)}
  .tour-sub,.tour-lead{font-size:16px}
  .tour-specs{margin-top:14px}
  .tour-specs li{font-size:11px}
  .tour-actions{margin-top:18px}
  .tour-btn{padding:12px 15px 11px;font-size:14px}
  .tour-card .tour-actions .tour-btn{padding:11px 13px 10px;font-size:13px}
  .tour-cue{bottom:30px;left:18px;transform:none;flex-direction:row;gap:12px;padding:6px 0}
  .tour-cue i{width:38px;height:1px}
  .tour-cue i::after{top:0;left:-40%;width:40%;height:1px;animation-name:tour-slide}
  .tour-bar{left:18px;right:18px;bottom:16px}
  .tour:not([dir="rtl"]) .tour-bar{right:72px}
}
@media (max-height:560px){.tour-specs,.tour-legend,.tour-rail{display:none}}
.tour[dir="rtl"] .tour-card,.tour[dir="rtl"] .tour-intro,.tour[dir="rtl"] .tour-outro{left:auto;right:var(--gx)}
.tour[dir="rtl"] .tour-rail{right:auto;left:var(--gx)}
.tour[dir="rtl"] .tour-rail button{flex-direction:row-reverse;justify-content:flex-end}
.tour[dir="rtl"] .tour-rail .n{transform:translateX(-8px)}
.tour[dir="rtl"] .tour-rail button:hover .n,.tour[dir="rtl"] .tour-rail button[aria-current="true"] .n{transform:none}
.tour[dir="rtl"] .tour-rail .c{text-align:left}
.tour[dir="rtl"] .tour-bar{justify-content:flex-start}
.tour[dir="rtl"] .tour-bar .tour-hint{order:1}
.tour[dir="rtl"] .tour-shade{background:linear-gradient(270deg,rgb(8 10 12 / .76) 0%,rgb(8 10 12 / .44) 30%,#fff0 60%),linear-gradient(0deg,rgb(8 10 12 / .70) 0%,rgb(8 10 12 / .28) 24%,#fff0 42%),linear-gradient(180deg,rgb(8 10 12 / .46) 0%,#fff0 22%),linear-gradient(90deg,rgb(8 10 12 / .34) 0%,#fff0 26%)}
@media (min-width:821px){.tour[dir="rtl"] .tour-card{bottom:calc(var(--gx) + 84px)}.tour[dir="rtl"] .tour-intro,.tour[dir="rtl"] .tour-outro{bottom:calc(var(--gx) + 110px)}}
@media (max-width:820px){.tour[dir="rtl"] .tour-card,.tour[dir="rtl"] .tour-intro,.tour[dir="rtl"] .tour-outro{left:18px;right:18px}.tour[dir="rtl"] .tour-cue{left:auto;right:18px;flex-direction:row-reverse}.tour[dir="rtl"] .tour-bar{left:18px;right:18px}}
.tour[lang="zh"],.tour[lang="ja"]{--display:"PingFang SC","Hiragino Sans","Hiragino Sans GB","Microsoft YaHei","Yu Gothic","Noto Sans CJK SC","Noto Sans SC","Noto Sans JP",sans-serif;--body:var(--display)}
.tour[lang="ja"]{--display:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP","Noto Sans CJK JP",sans-serif;--body:var(--display)}
.tour[lang="ar"]{--display:"GPR Arabic","Geeza Pro","Noto Naskh Arabic","Segoe UI",Tahoma,sans-serif;--body:var(--display)}
.tour[lang="zh"] .tour-title,.tour[lang="ar"] .tour-title,.tour[lang="ja"] .tour-title{font-size:clamp(44px,6.6vw,104px);line-height:1.05}
.tour[lang="zh"] .tour-name,.tour[lang="ar"] .tour-name,.tour[lang="ja"] .tour-name{font-size:clamp(38px,5.4vw,84px);line-height:1.1}
.tour[lang="ru"] .tour-name,.tour[lang="de"] .tour-name,.tour[lang="es"] .tour-name{font-size:clamp(42px,6vw,92px)}
@media (prefers-reduced-motion:reduce){.tour-layer,.tour-card,.tour-intro,.tour-outro,.tour-progress i{transition-duration:.01s;transition-delay:0s}.tour-cue i::after,.tour-load{animation:none}}

/* =====================================================================
   Home sections
   ===================================================================== */
.section{position:relative}
.marquee{position:relative;overflow:hidden;padding:20px 0;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);background:var(--ink);transition:background .9s var(--ease-io)}
.marquee-track{display:flex;gap:0;width:max-content;will-change:transform}
.marquee-chunk{display:flex;align-items:center;white-space:nowrap}
.marquee-chunk b{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(15px,1.8vw,22px);color:var(--tx-d)}
.marquee-chunk .dot{margin:0 26px;color:var(--sun);font-size:12px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:26px var(--pad);border-bottom:1px solid var(--line-l)}
.dark .sec-head,.sec-head.on-dark{border-color:var(--line-d)}
.sec-head .mono{color:var(--tx-l-dim)}
.dark .sec-head .mono,.sec-head.on-dark .mono{color:var(--tx-d-dim)}
.sec-head .mono:last-child{text-align:end}
.rv{overflow:hidden}
.rv>.rv-in{display:block;padding:.09em .04em .05em 0;margin-bottom:-.05em;transform:translateY(110%);transition:transform 1s var(--ease-out)}
.rv.in>.rv-in{transform:translateY(0)}
.fade{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.fade.in{opacity:1;transform:translateY(0)}
[data-parallax]{will-change:transform}
img.gpr-wait{opacity:0}
img.gpr-come{opacity:1;transition:opacity .5s ease}

/* showcase */
.showcase{position:relative;height:112svh;overflow:hidden;background:var(--ink)}
.showcase-img{position:absolute;left:0;right:0;top:-8%;height:116%;width:100%;object-fit:cover}
.showcase-veil{position:absolute;inset:0;background:linear-gradient(to top,rgb(13 14 16 / .92),rgb(13 14 16 / .1) 38%,rgb(13 14 16 / .3))}
.showcase-body{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 var(--pad) clamp(26px,5vh,54px);color:var(--tx-d);flex-wrap:wrap}
.showcase-title{font-size:clamp(40px,7.5vw,110px);color:#fff0;-webkit-text-stroke:1.2px rgb(241 237 228 / .6)}
.showcase-meta{text-align:end;color:var(--tx-d-dim);line-height:1.8}
@media (max-width:900px){.showcase{height:74svh}.showcase-meta{text-align:start}}

/* manifesto (light) */
.manifesto{color:var(--tx-l);padding:0 0 clamp(70px,10vh,130px);overflow:hidden}
.manifesto-body{padding:clamp(90px,13vh,150px) var(--pad) 0;max-width:1280px;position:relative}
.manifesto-line{font-size:clamp(30px,4.6vw,64px);font-weight:700;letter-spacing:-.025em;line-height:1.14}
.manifesto-line .w{display:inline-block;opacity:.14;transform:translateY(.25em);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.manifesto-line .w.on{opacity:1;transform:translateY(0)}
.manifesto-line .sun-w{color:var(--sun-deep)}
.manifesto-foot{display:flex;gap:clamp(24px,6vw,120px);margin-top:clamp(36px,6vh,70px);padding:0 var(--pad);align-items:flex-start;flex-wrap:wrap;position:relative}
.manifesto-foot p{max-width:380px;font-size:15px;line-height:1.7;color:var(--tx-l-dim)}
.shadow-sweep{position:absolute;inset:0;pointer-events:none;opacity:.5;background:repeating-linear-gradient(115deg,#fff0 0 90px,rgb(18 19 22 / .055) 90px 150px);will-change:transform}

/* horizontal robot track (light) */
.products{position:relative}
.products-pin{position:sticky;top:0;height:100svh;overflow:hidden}
.products-track{display:flex;height:100%;will-change:transform}
.p-panel{flex:0 0 auto;width:clamp(320px,86vw,760px);height:100%;color:var(--tx-l);border-inline-end:1px solid var(--line-l);padding:110px clamp(24px,3.5vw,56px) clamp(24px,4vh,48px);display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:relative;background:var(--bone)}
.p-intro{width:clamp(300px,42vw,520px);justify-content:center;gap:28px}
.p-name{font-size:clamp(30px,3.6vw,52px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:.95}
.p-desc{font-size:14px;line-height:1.65;color:var(--tx-l-dim);max-width:400px}
.p-card{flex:0 0 auto;width:clamp(280px,26vw,400px);height:100%;border-inline-end:1px solid var(--line-l);padding:104px clamp(18px,1.8vw,28px) 44px;display:flex;flex-direction:column;gap:13px;background:var(--bone);color:var(--tx-l);position:relative;transition:background .45s}
.p-card:nth-child(even){background:var(--ink-2);color:var(--tx-d);border-color:var(--line-d)}
.p-card:hover{background:var(--bone-2)}
.p-card:nth-child(even):hover{background:var(--ink-3)}
.pc-num{color:var(--sun-deep)}
.p-card:nth-child(even) .pc-num{color:var(--sun)}
.pc-imgw{display:block;overflow:hidden;border:1px solid var(--line-l);background:radial-gradient(circle at 50% 60%,rgb(255 255 255 / .55),rgb(255 255 255 / 0) 70%)}
.p-card:nth-child(even) .pc-imgw{border-color:var(--line-d);background:radial-gradient(circle at 50% 60%,rgb(255 255 255 / .06),rgb(255 255 255 / 0) 70%)}
.pc-img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;transition:transform .8s var(--ease-out);padding:6%}
.p-card:hover .pc-img{transform:scale(1.06)}
.pc-name{font-size:clamp(18px,1.7vw,24px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.pc-desc{font-size:12.5px;line-height:1.55;color:var(--tx-l-dim);flex:1}
.p-card:nth-child(even) .pc-desc{color:var(--tx-d-dim)}
.pc-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--tx-l-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.p-card:nth-child(even) .pc-meta{color:var(--tx-d-dim)}
.pc-go{margin-top:auto;color:inherit;letter-spacing:.16em;display:flex;gap:8px;align-items:center}
.pc-go i{font-style:normal;transition:transform .3s var(--ease-out)}
.p-card:hover .pc-go i{transform:translateX(6px)}
[dir="rtl"] .pc-go i{transform:scaleX(-1)}
.p-progress{position:absolute;left:var(--pad);right:var(--pad);bottom:13px;height:1px;background:var(--line-l);z-index:5}
.p-progress i{display:block;height:100%;background:var(--sun-deep);width:0}

/* featured robot (like the SOLIDROLL block) */
.solid{color:var(--tx-d);padding:clamp(80px,12vh,150px) var(--pad);position:relative;overflow:hidden}
.solid-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,80px);align-items:center;position:relative;z-index:2}
.solid-kicker{color:var(--sun);margin-bottom:22px;display:block}
.solid-title{font-size:clamp(44px,7vw,104px)}
.solid-title small{display:block;font-size:clamp(13px,1.4vw,18px);font-weight:500;letter-spacing:.34em;margin-top:14px;color:var(--tx-d-dim)}
.solid-copy{margin-top:26px;max-width:460px;font-size:15px;line-height:1.7;color:var(--tx-d-dim)}
.solid-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin-top:44px}
.stat{background:var(--ink);padding:26px 20px}
.stat b{display:block;font-size:clamp(26px,3vw,44px);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat b em{font-style:normal;color:var(--sun)}
.stat b small{font-size:.45em;font-weight:600;letter-spacing:.02em;margin-inline-start:4px;color:var(--tx-d-dim)}
.stat span{display:block;margin-top:8px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-d-dim)}
.solid-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.solid-visual{position:relative;aspect-ratio:4/5;border:1px solid var(--line-d);overflow:hidden;background:radial-gradient(120% 90% at 50% 70%,#1b1e22,#0d0e10)}
.solid-visual canvas,.solid-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.solid-visual .tag,.p-cap{position:absolute;left:14px;bottom:12px;z-index:3;color:rgb(241 237 228 / .9);background:rgb(13 14 16 / .5);padding:6px 10px;border-radius:3px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
[dir="rtl"] .solid-visual .tag,[dir="rtl"] .p-cap{left:auto;right:14px}

/* process rows */
.process{color:var(--tx-d);padding-bottom:clamp(70px,10vh,120px)}
.proc-rows{border-top:1px solid var(--line-d)}
.proc-row{display:grid;grid-template-columns:90px 1fr 1.2fr auto;gap:clamp(16px,3vw,48px);align-items:center;padding:clamp(24px,4vh,42px) var(--pad);border-bottom:1px solid var(--line-d);position:relative;overflow:hidden;transition:background .3s ease,padding-inline-start .3s cubic-bezier(.22,1,.36,1)}
.proc-row::before{content:"";position:absolute;inset:0;background:var(--ink-3);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out);z-index:0}
.proc-row:hover::before{transform:scaleY(1)}
.proc-row:hover{padding-inline-start:calc(var(--pad) + 14px)}
.proc-row>*{position:relative;z-index:1}
.proc-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--sun)}
.proc-name{font-size:clamp(22px,2.8vw,38px);font-weight:800;text-transform:uppercase;letter-spacing:-.015em}
.proc-desc{font-size:14px;line-height:1.6;color:var(--tx-d-dim);max-width:420px}
.proc-days{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--tx-d-dim);white-space:nowrap;text-transform:uppercase}
.fab-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:clamp(30px,5vh,52px) var(--pad) 0;flex-wrap:wrap}
.fab-head .mono{color:var(--sun)}
.fab-head .mono+.mono{color:var(--tx-d-dim)}
.fab-strip{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;padding:18px var(--pad) 0}
.fab-strip figure{position:relative;border:1px solid var(--line-d);overflow:hidden;margin:0}
.fab-strip img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/10;transition:transform .9s var(--ease-out)}
.fab-strip figure:hover img{transform:scale(1.04)}

/* B2B */
.b2b{color:var(--tx-d);padding-bottom:clamp(70px,10vh,120px);position:relative;overflow:hidden}
.b2b-stripes{position:absolute;inset:0;pointer-events:none;opacity:.4;background:repeating-linear-gradient(115deg,#fff0 0 120px,rgb(241 237 228 / .028) 120px 180px)}
.b2b-lead{padding:clamp(30px,5vh,56px) var(--pad) 0;position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center}
.b2b-visual{position:relative;border:1px solid var(--line-d);overflow:hidden}
.b2b-visual img{width:100%;display:block;object-fit:cover;aspect-ratio:3/2;transition:transform .9s var(--ease-out)}
.b2b-visual:hover img{transform:scale(1.04)}
.b2b-lead h2{font-size:clamp(28px,3.8vw,54px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05}
.b2b-lead h2 em{font-style:normal;color:var(--sun)}
.b2b-lead p{margin-top:16px;font-size:15px;line-height:1.7;color:var(--tx-d-dim);max-width:560px}
.b2b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin:clamp(28px,5vh,54px) var(--pad) 0;position:relative}
.b2b-card{background:var(--ink);padding:clamp(24px,3vw,40px);min-height:290px;display:flex;flex-direction:column;gap:15px;position:relative;overflow:hidden;transition:background .5s}
.b2b-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 26px,rgb(237 166 62 / .05) 26px 30px);opacity:0;transition:opacity .5s}
.b2b-card:hover::before{opacity:1}
.b2b-card:hover{background:var(--ink-3)}
.b2b-card>*{position:relative;z-index:1}
.b2b-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--sun)}
.b2b-name{font-size:clamp(20px,2vw,28px);font-weight:800;text-transform:uppercase;letter-spacing:-.015em;line-height:1.06}
.b2b-desc{font-size:14px;line-height:1.65;color:var(--tx-d-dim);flex:1}
.b2b-cta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:clamp(28px,5vh,48px) var(--pad) 0;position:relative}
.b2b-cta-row .mono{color:var(--tx-d-dim)}

/* projects / applications (light) */
.projects{color:var(--tx-l);padding-bottom:clamp(70px,10vh,130px)}
.proj-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;padding:clamp(28px,4vh,48px) var(--pad) 0}
.proj{position:relative;overflow:hidden;border:1px solid var(--line-l);background:#101113;margin:0}
.proj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out)}
.proj:hover img{transform:scale(1.05)}
.proj::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,#fff0 0 64px,rgb(13 14 16 / .16) 64px 96px);opacity:0;transition:opacity .5s;pointer-events:none}
.proj:hover::after{opacity:1}
.proj-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;gap:10px;padding:36px 14px 12px;background:linear-gradient(to top,rgb(13 14 16 / .78),transparent);color:rgb(241 237 228 / .92)}
.proj-1{grid-column:1/7;aspect-ratio:4/3}.proj-2{grid-column:7/13;aspect-ratio:4/3}
.proj-3{grid-column:1/5;aspect-ratio:1/1}.proj-4{grid-column:5/9;aspect-ratio:1/1}.proj-5{grid-column:9/13;aspect-ratio:1/1}
.proj-note{margin:26px var(--pad) 0;padding:16px 20px;border-inline-start:2px solid var(--sun-deep);font-size:13px;line-height:1.6;color:var(--tx-l-dim);max-width:640px;background:rgb(201 133 44 / .06)}

/* sectors marquee (refs) */
.refs{color:var(--tx-d);padding-bottom:clamp(30px,5vh,60px)}
.marquee.refs{border:none;background:#fff0;padding:clamp(22px,4vh,40px) 0 0}
.marquee.refs .marquee-chunk b{font-size:clamp(14px,1.6vw,20px);color:var(--tx-d-dim);font-weight:600;letter-spacing:.05em;text-transform:none}
.marquee.refs .dot{opacity:.55}

/* CTA */
.cta{position:relative;color:var(--tx-d);overflow:hidden;padding:clamp(90px,16vh,190px) var(--pad);text-align:center}
.cta-glow{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:min(70vw,900px);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgb(237 166 62 / .16) 0%,rgb(237 166 62 / .05) 42%,transparent 70%)}
.cta-kicker{color:var(--tx-d-dim);display:block;margin-bottom:20px}
.cta-title{font-size:clamp(46px,9.5vw,150px);position:relative;z-index:2}
.cta-title .accent{color:#fff0;-webkit-text-stroke:1.5px var(--sun)}
.cta-actions{margin-top:44px;display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;position:relative;z-index:2}
.cta-contacts{margin-top:54px;display:flex;gap:clamp(20px,5vw,70px);justify-content:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--tx-d-dim);position:relative;z-index:2;text-transform:uppercase}
.cta-contacts a{border-bottom:1px solid var(--line-d);padding-bottom:4px;transition:color .3s,border-color .3s;text-transform:none}
.cta-contacts a:hover{color:var(--sun);border-color:var(--sun)}

/* guides list */
.guides{padding:clamp(30px,5vh,56px) var(--pad);color:var(--tx-d)}
.guides h2{font-size:20px;margin:0 0 14px;font-weight:700}
.guides ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.guides li a{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line-d);border-radius:10px;padding:14px 16px;font-weight:600;transition:border-color .3s,color .3s,background .3s}
.guides li a:hover{border-color:var(--sun);color:var(--sun);background:rgb(237 166 62 / .05)}
.guides li a span{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--tx-d-dim);text-transform:uppercase}

/* =====================================================================
   Footer, floating buttons, cookie notice
   ===================================================================== */
.footer{background:#0a0b0c;color:var(--tx-d);border-top:1px solid var(--line-d);overflow:hidden}
.footer-mark{padding:clamp(30px,6vh,70px) var(--pad) 0}
.footer-mark .fm-txt{font-size:clamp(40px,11vw,190px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1;color:#fff0;-webkit-text-stroke:1px rgb(241 237 228 / .22);white-space:nowrap;text-align:center;overflow:hidden;padding:.05em 0}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:clamp(24px,4vw,60px);padding:clamp(40px,7vh,80px) var(--pad)}
.footer h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--tx-d-dim);margin-bottom:18px;font-weight:500}
.footer-lockup{height:62px;color:var(--tx-d)}
.footer li{margin-bottom:10px}
.footer li a{font-size:14px;color:var(--tx-d);opacity:.85;transition:opacity .3s,color .3s}
.footer li a:hover{opacity:1;color:var(--sun)}
.footer li .new{color:var(--sun);font-size:9px;letter-spacing:.1em;font-family:var(--font-mono);margin-inline-start:4px}
.footer-brand p{max-width:300px;font-size:13.5px;line-height:1.7;color:var(--tx-d-dim);margin-top:16px}
.footer-langs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.footer-langs a{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;padding:7px 12px;border:1px solid var(--line-d);border-radius:100px;color:var(--tx-d-dim);transition:.3s}
.footer-langs a.on,.footer-langs a:hover{border-color:var(--sun);color:var(--sun)}
.footer-addr{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--tx-d-dim);line-height:1.8;text-transform:uppercase}
.footer-cities{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;padding:16px var(--pad);border-top:1px solid var(--line-d)}
.footer-cities .fc-label{font-size:10px;letter-spacing:.14em;color:var(--tx-d-dim)}
.footer-cities .fc-links{display:flex;gap:16px;flex-wrap:wrap;align-items:baseline}
.footer-cities .fc-links a,.footer-cities .fc-links span{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--tx-d-dim);transition:color .3s}
.footer-cities .fc-links a:hover{color:var(--sun)}
.footer-cities .fc-more{font-size:10px;letter-spacing:.12em;color:var(--tx-d-dim);opacity:.55}
.footer-base{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px var(--pad);border-top:1px solid var(--line-d);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--tx-d-dim);text-transform:uppercase}
.footer-base .sun-txt{color:var(--sun)}
@media (min-width:641px){.footer-base{padding-inline-end:calc(var(--pad) + 64px)}}
.footer-base a,.footer-base button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .3s}
.footer-base a:hover,.footer-base button:hover{color:var(--sun)}
.footer-base .fb-links{display:flex;gap:18px;flex-wrap:wrap}
#gpr-fabs{position:fixed;inset-block-end:20px;inset-inline-end:20px;z-index:90;display:flex;flex-direction:column;align-items:center;gap:10px}
.gpr-fab{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink-2);border:1px solid var(--line-d);color:var(--bone);cursor:pointer;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,color .3s,opacity .35s,visibility .35s}
.gpr-fab svg{width:21px;height:21px;fill:currentColor}
.gpr-fab:hover{transform:translateY(-3px);border-color:var(--sun);color:var(--sun)}
.gpr-fab.wa{position:relative;color:var(--sun)}
.gpr-fab.wa::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgb(237 166 62 / .55);animation:gprPulse 3.6s ease-out infinite;pointer-events:none}
@keyframes gprPulse{0%{transform:scale(1);opacity:.8}55%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
#gpr-top{opacity:0;visibility:hidden;transform:translateY(6px)}
#gpr-top.show{opacity:1;visibility:visible;transform:none}
@media (max-width:640px){#gpr-fabs{inset-block-end:14px;inset-inline-end:14px}.gpr-fab{width:44px;height:44px}}
body.menu-open #gpr-fabs{opacity:0;visibility:hidden}
.cookie{position:fixed;right:20px;bottom:20px;z-index:95;max-width:400px;background:var(--ink-2);border:1px solid var(--line-d);padding:16px 18px;color:var(--tx-d);box-shadow:0 18px 44px rgb(0 0 0 / .42)}
[dir="rtl"] .cookie{right:auto;left:20px}
.has-cookie #gpr-fabs{opacity:0;visibility:hidden}
@media (min-width:821px){.page-home .cookie{bottom:64px}}
.cookie p{font-size:13px;line-height:1.6;color:var(--tx-d-dim)}
.cookie .mono{color:var(--sun);display:block;margin-bottom:8px;font-size:10px}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.cookie p a{color:var(--sun);border-bottom:1px solid rgb(237 166 62 / .45);white-space:nowrap;transition:border-color .25s}
.cookie p a:hover{border-color:var(--sun)}
@media (max-width:820px){.cookie{left:12px;right:12px;bottom:12px;max-width:none}[dir="rtl"] .cookie{left:12px;right:12px}}

/* =====================================================================
   Inner pages
   ===================================================================== */
main.gpr-page{display:block}
.page-hero{position:relative;padding:clamp(120px,16vh,180px) var(--pad) clamp(30px,5vh,54px);color:var(--tx-d)}
.page-hero .crumb{color:var(--sun);display:block;margin-bottom:18px}
.page-hero .crumb a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(40px,7.5vw,110px)}
.page-hero .ph-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.page-hero .ph-row>*{min-width:0}
.page-hero .ph-meta{text-align:end;color:var(--tx-d-dim);max-width:360px;line-height:1.8}
.page-hero .ph-lead{max-width:640px;margin-top:22px;font-size:16px;line-height:1.7;color:var(--tx-d-dim)}
.gpr-light .page-hero,.light .page-hero{color:var(--tx-l)}
.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line-d);border-radius:100px;color:var(--tx-d-dim);transition:border-color .3s,color .3s,background .3s}
button.chip{cursor:pointer}
.chip:hover,.chip[aria-pressed="true"]{border-color:var(--sun);color:var(--sun)}
.chip[aria-pressed="true"]{background:rgb(237 166 62 / .1)}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--sun))}
.page-banner{position:relative;overflow:hidden;height:clamp(300px,56vh,620px);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.page-banner img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.page-banner .p-cap{z-index:3}
.wrap{padding:clamp(26px,4vh,44px) var(--pad) 0}

/* catalog toolbar + system cards */
.toolbar{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;padding:22px var(--pad);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);position:sticky;top:57px;z-index:20;background:rgb(13 14 16 / .9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.toolbar .chip-row{margin:0}
.tb-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search{position:relative;display:flex;align-items:center}
.search input{background:#fff0;border:none;border-bottom:1px solid var(--line-d);padding:9px 4px 9px 26px;font-size:14px;width:220px;color:var(--tx-d);border-radius:0;transition:border-color .3s}
[dir="rtl"] .search input{padding:9px 26px 9px 4px}
.search input:focus{outline:none;border-color:var(--sun)}
.search .icon{position:absolute;inset-inline-start:2px;color:var(--tx-d-dim);font-size:15px}
.sel{background:#fff0;border:1px solid var(--line-d);border-radius:100px;padding:9px 34px 9px 14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-d-dim);-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
[dir="rtl"] .sel{padding:9px 14px 9px 34px;background-position:17px 50%,12px 50%}
.sel option{background:var(--ink-2);color:var(--tx-d)}
.results{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--tx-d-dim);text-transform:uppercase}
.sys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1px;background:var(--line-d);border-bottom:1px solid var(--line-d)}
.sys-card{background:var(--ink);padding:clamp(20px,2vw,30px);display:flex;flex-direction:column;gap:12px;position:relative;transition:background .45s}
.sys-card:hover{background:var(--ink-3)}
.sys-card .sc-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sc-code{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:#fff;background:var(--grp,var(--ga));padding:5px 7px 4px;border-radius:3px}
.sc-cat{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--tx-d-dim);text-transform:uppercase}
.sc-img{display:block;aspect-ratio:1/1;overflow:hidden;background:radial-gradient(circle at 50% 62%,rgb(255 255 255 / .07),rgb(255 255 255 / 0) 68%);border:1px solid var(--line-d)}
.sc-img img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform .8s var(--ease-out)}
.sys-card:hover .sc-img img{transform:scale(1.05)}
.sc-name{font-size:clamp(19px,1.6vw,23px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.08}
.sc-name a::after{content:"";position:absolute;inset:0;z-index:1}
.sc-desc{font-size:13px;line-height:1.6;color:var(--tx-d-dim)}
.sc-specs{display:flex;flex-wrap:wrap;gap:6px}
.sc-specs span{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:6px 8px 5px;border:1px solid var(--line-d);border-radius:2px;color:var(--tx-d)}
.sc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px}
.sc-price{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--tx-d-dim);text-transform:uppercase}
.addq{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--sun);border-radius:100px;color:var(--sun);transition:background .3s,color .3s}
.addq:hover,.addq.is-in{background:var(--sun);color:var(--ink)}
.empty-note{padding:60px var(--pad);text-align:center;color:var(--tx-d-dim)}

/* product page */
.pd-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,60px);padding:0 var(--pad) clamp(30px,5vh,60px);align-items:stretch}
.app-shell{position:relative;background:#0d0e10;border:1px solid var(--line-d);display:flex;flex-direction:column;min-height:0}
.app-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:44px;padding:0 14px;background:#101114;border-bottom:1px solid var(--line-d);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.app-bar-t{color:var(--tx-d-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
@media (max-width:640px){.app-fs>span:not(.sr-only){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.app-fs{padding:7px 9px}.app-bar{padding:0 10px}}
.app-tools{display:flex;gap:8px;align-items:center}
.app-fs{display:inline-flex;align-items:center;gap:7px;flex:none;cursor:pointer;padding:7px 13px;border-radius:100px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--tx-d);background:#fff0;border:1px solid var(--line-d);transition:.25s;text-transform:uppercase}
.app-fs:hover,.app-fs[aria-pressed="true"]{color:var(--sun);border-color:var(--sun)}
.app-fs .icon{font-size:13px}
.viewer{position:relative;flex:1;min-height:440px;background:radial-gradient(120% 90% at 50% 75%,#1c1f23,#0d0e10 70%);overflow:hidden;touch-action:none}
.viewer canvas{position:absolute;inset:0;width:100%;height:100%}
.viewer img.viewer-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;transition:opacity .6s}
.viewer.is-live img.viewer-poster{opacity:0}
.viewer-hint{position:absolute;left:14px;bottom:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--tx-d-dim);text-transform:uppercase;pointer-events:none}
[dir="rtl"] .viewer-hint{left:auto;right:14px}
.viewer-load{position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--sun),transparent);animation:tour-load 1.1s ease-in-out infinite;opacity:0}
.viewer.is-loading .viewer-load{opacity:1}
.app-shell:fullscreen,.app-shell.app-max{border:0}
.app-shell.app-max{position:fixed;inset:0;z-index:200}
.app-shell:fullscreen .viewer,.app-shell.app-max .viewer{min-height:0;height:calc(100svh - 44px)}
body.app-locked{overflow:hidden}
.pd-side{display:flex;flex-direction:column;gap:18px}
.pd-code{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}
.pd-sum{font-size:16px;line-height:1.7;color:var(--tx-d-dim)}
.kspecs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d)}
.kspecs div{background:var(--ink);padding:16px 14px}
.kspecs b{display:block;font-size:clamp(20px,2vw,28px);font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.kspecs b small{font-size:.5em;font-weight:600;color:var(--tx-d-dim);margin-inline-start:3px}
.kspecs span{display:block;margin-top:6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;color:var(--tx-d-dim);text-transform:uppercase}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-d);border-radius:100px;overflow:hidden}
.qty button{width:40px;height:40px;display:grid;place-items:center;color:var(--tx-d);transition:color .3s,background .3s}
.qty button:hover{color:var(--sun);background:rgb(237 166 62 / .08)}
.qty input{width:46px;text-align:center;background:#fff0;border:none;font-family:var(--font-mono);font-size:13px;-moz-appearance:textfield;appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pd-buy{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.assure{display:grid;gap:8px;margin-top:6px}
.assure li{display:flex;gap:10px;align-items:baseline;font-size:13.5px;color:var(--tx-d-dim);line-height:1.5}
.assure li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sun);flex:none;transform:translateY(-2px)}
.spec-wrap{color:var(--tx-d);padding-bottom:clamp(60px,9vh,110px)}
.spec-table{margin:clamp(26px,4vh,44px) var(--pad) 0;border:1px solid var(--line-d)}
.spec-row{display:grid;grid-template-columns:1fr 1.4fr;border-bottom:1px solid var(--line-d)}
.spec-row:last-child{border-bottom:none}
.spec-row dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-d-dim);padding:16px clamp(14px,2vw,26px);border-inline-end:1px solid var(--line-d)}
.spec-row dd{font-size:14.5px;padding:14px clamp(14px,2vw,26px);font-weight:500}
.spec-note{margin:14px var(--pad) 0;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--tx-d-dim)}
.feat-wrap{color:var(--tx-l);padding-bottom:clamp(60px,9vh,110px)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-l);border:1px solid var(--line-l);margin:clamp(26px,4vh,44px) var(--pad) 0}
.feat{background:var(--bone);padding:clamp(22px,2.6vw,34px);min-height:190px;display:flex;flex-direction:column;gap:12px;transition:background .4s}
.feat:hover{background:var(--bone-2)}
.feat .f-num{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--sun-deep)}
.feat h3{font-size:clamp(17px,1.5vw,21px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.feat p{font-size:13.5px;line-height:1.6;color:var(--tx-l-dim)}
.feat-grid.dark-g{background:var(--line-d);border-color:var(--line-d)}
.feat-grid.dark-g .feat{background:var(--ink);color:var(--tx-d)}
.feat-grid.dark-g .feat:hover{background:var(--ink-3)}
.feat-grid.dark-g .feat p{color:var(--tx-d-dim)}
.feat-grid.dark-g .f-num{color:var(--sun)}
.other-sys{padding:clamp(30px,5vh,50px) var(--pad) 0;display:flex;gap:clamp(16px,3vw,40px);flex-wrap:wrap;align-items:center}
.other-sys .mono{color:var(--tx-d-dim)}
.other-sys a{font-weight:700;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(16px,1.6vw,22px);border-bottom:1px solid var(--line-d);padding-bottom:4px;transition:color .3s,border-color .3s}
.other-sys a:hover{color:var(--sun);border-color:var(--sun)}
.duo-gal{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;padding:clamp(26px,4vh,44px) var(--pad) 0}
.duo-gal figure{position:relative;overflow:hidden;border:1px solid var(--line-d);margin:0}
.duo-gal img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/10;transition:transform .9s var(--ease-out)}
.duo-gal figure:hover img{transform:scale(1.04)}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,4vw,70px);align-items:center;padding:clamp(30px,5vh,60px) var(--pad) 0}
.story-grid p{font-size:15.5px;line-height:1.75;color:var(--tx-l-dim);margin-bottom:16px}
.story-grid .story-img{position:relative;border:1px solid var(--line-l);overflow:hidden}
.story-grid .story-img img{width:100%;display:block;object-fit:cover;aspect-ratio:4/3}
.mile-rows{border-top:1px solid var(--line-l);margin-top:clamp(36px,6vh,64px)}
.mile{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:clamp(14px,3vw,44px);align-items:baseline;padding:clamp(18px,3vh,30px) var(--pad);border-bottom:1px solid var(--line-l);transition:background .4s}
.mile:hover{background:var(--bone-2)}
.mile .m-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--sun-deep)}
.mile h3{font-size:clamp(18px,2.2vw,28px);font-weight:800;text-transform:uppercase}
.mile p{font-size:13.5px;line-height:1.6;color:var(--tx-l-dim)}
.light-sec{color:var(--tx-l)}

/* forms */
.form-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,80px);padding:clamp(30px,5vh,60px) var(--pad) clamp(70px,10vh,120px);color:var(--tx-d)}
.form-wrap.solo{grid-template-columns:minmax(0,820px)}
.f-title{font-size:clamp(22px,2.6vw,34px);font-weight:800;text-transform:uppercase;letter-spacing:-.015em;margin-bottom:8px}
.f-sub{font-size:14px;line-height:1.65;color:var(--tx-d-dim);margin-bottom:26px;max-width:560px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}
.f-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.f-field.full{grid-column:1/-1}
.f-field label,.f-field .f-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-d-dim)}
.f-field label small{letter-spacing:.08em;opacity:.7;text-transform:none}
.f-field input,.f-field select,.f-field textarea{background:#fff0;border:none;border-bottom:1px solid var(--line-d);color:var(--tx-d);font:inherit;font-size:15px;padding:9px 2px;border-radius:0;transition:border-color .3s;-webkit-appearance:none;appearance:none;width:100%}
.f-field select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
[dir="rtl"] .f-field select{background-position:12px 55%,7px 55%}
.f-field select option{background:var(--ink-2);color:var(--tx-d)}
.f-field textarea{min-height:110px;resize:vertical}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:none;border-color:var(--sun)}
.f-field.has-error input,.f-field.has-error select,.f-field.has-error textarea{border-color:#e0695a}
.f-err{font-size:12px;color:#e8897c;min-height:0}
.f-checks{display:flex;flex-wrap:wrap;gap:8px}
.f-checks label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-d);padding:9px 12px;font-size:13px;cursor:pointer;transition:border-color .3s;text-transform:none;letter-spacing:0;font-family:inherit;color:var(--tx-d)}
.f-checks label:hover{border-color:var(--sun)}
.f-checks input{accent-color:var(--sun);width:15px;height:15px}
.f-check{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.f-check input{width:16px;height:16px;margin-top:2px;accent-color:var(--sun);flex:none}
.f-check span{font-size:12.5px;line-height:1.55;color:var(--tx-d-dim)}
.f-check a{color:var(--tx-d);text-decoration:underline;text-underline-offset:3px}
.f-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.f-actions .mono{color:var(--tx-d-dim)}
.gpr-hp{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.info-card{border:1px solid var(--line-d);padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:18px;height:max-content}
.info-card .mono{color:var(--tx-d-dim)}
.info-card a{font-size:16px;font-weight:600;transition:color .3s}
.info-card a:hover{color:var(--sun)}
.info-card .ic-row{display:flex;flex-direction:column;gap:6px}
.coords{border:1px dashed var(--line-d);padding:18px;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--tx-d-dim);line-height:2;text-transform:uppercase}
.ready{border:1px dashed var(--sun);padding:20px;margin-top:22px;display:grid;gap:12px}
.ready pre{font-family:var(--font-mono);font-size:11.5px;line-height:1.8;color:var(--tx-d);white-space:pre-wrap;max-height:260px;overflow:auto}
.ready .mono{color:var(--sun)}
.ready-btns{display:flex;gap:10px;flex-wrap:wrap}
.sent{border:1px solid var(--gb);padding:20px;margin-top:22px;color:var(--tx-d)}

/* quote list */
.q-list{border-top:1px solid var(--line-d)}
.q-item{display:grid;grid-template-columns:88px 1fr auto auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-d)}
.q-item img{width:88px;height:88px;object-fit:contain;background:radial-gradient(circle,rgb(255 255 255 / .07),transparent 70%);border:1px solid var(--line-d)}
.q-item h3{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.q-item h3 a:hover{color:var(--sun)}
.q-item .mono{color:var(--tx-d-dim);font-size:10px;display:block;margin-top:4px}
.q-rm{width:36px;height:36px;border:1px solid var(--line-d);border-radius:50%;display:grid;place-items:center;color:var(--tx-d-dim);transition:.3s}
.q-rm:hover{border-color:#e0695a;color:#e0695a}
.q-empty{border:1px dashed var(--line-d);padding:clamp(30px,5vh,54px);text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.q-empty .mono{color:var(--sun)}
.q-empty p{max-width:46ch;color:var(--tx-d-dim);line-height:1.6}
.q-tools{display:flex;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.q-tools button{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-d-dim);border-bottom:1px solid var(--line-d)}
.q-tools button:hover{color:#e0695a}

/* order tracking */
.track{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(30px,5vw,80px);padding:clamp(24px,4vh,50px) var(--pad) clamp(70px,10vh,120px);color:var(--tx-d)}
.track-form{display:flex;flex-direction:column;gap:22px}
.track-out{border:1px solid var(--line-d);padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:18px;min-height:240px}
.track-out .mono{color:var(--sun)}
.track-out h3{font-size:clamp(20px,2.2vw,28px);font-weight:800;text-transform:uppercase}
.t-steps{display:grid;gap:0;border-inline-start:1px solid var(--line-d);margin-inline-start:6px}
.t-step{position:relative;padding:10px 0 10px 22px;color:var(--tx-d-dim);font-size:14px}
[dir="rtl"] .t-step{padding:10px 22px 10px 0}
.t-step::before{content:"";position:absolute;inset-inline-start:-6px;top:15px;width:11px;height:11px;border-radius:50%;background:var(--ink);border:1px solid var(--line-d)}
.t-step.done{color:var(--tx-d)}
.t-step.done::before{background:var(--sun);border-color:var(--sun)}
.t-step.now{color:var(--tx-d);font-weight:600}
.t-step.now::before{background:var(--ink);border:2px solid var(--sun);box-shadow:0 0 0 4px rgb(237 166 62 / .18)}
.t-step small{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--tx-d-dim);margin-top:3px}
.t-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-d);border:1px solid var(--line-d)}
.t-meta div{background:var(--ink);padding:12px 14px}
.t-meta span{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;color:var(--tx-d-dim);text-transform:uppercase}
.t-meta b{display:block;margin-top:4px;font-size:15px}
.t-err{border:1px solid #b4443c;color:#e8897c;padding:12px 14px;font-size:13px;line-height:1.5}

/* catalogue PDFs */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(18px,3vw,34px);padding:clamp(22px,3.5vh,38px) var(--pad) 0}
.cat-card{border:1px solid var(--line-d);background:var(--ink-2);display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .45s ease}
.cat-card:hover{transform:translateY(-6px);border-color:rgb(237 166 62 / .45);box-shadow:0 18px 44px rgb(0 0 0 / .42),0 0 0 1px rgb(237 166 62 / .12)}
.cat-cover{position:relative;display:block;aspect-ratio:1/1.414;overflow:hidden;background:var(--ink-3)}
.cat-cover img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease-out)}
.cat-card:hover .cat-cover img{transform:scale(1.045)}
.cat-blinds{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none}
.cat-blinds i{flex:1;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease-io);opacity:.32}
.cat-card:hover .cat-blinds i{transform:scaleY(1)}
.cat-card:hover .cat-blinds i:nth-child(2){transition-delay:.05s}
.cat-card:hover .cat-blinds i:nth-child(3){transition-delay:.1s}
.cat-card:hover .cat-blinds i:nth-child(4){transition-delay:.15s}
.cat-meta{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.cat-no{font-size:10px;letter-spacing:.2em;color:var(--sun)}
.cat-meta h3{font-size:clamp(17px,1.6vw,21px);font-weight:700;line-height:1.3}
.cat-meta p{font-size:10.5px;letter-spacing:.12em;color:var(--tx-d-dim)}
.cat-actions{display:flex;gap:10px;margin-top:auto;padding-top:14px;flex-wrap:wrap}
.cat-actions .btn{padding:12px 22px;font-size:11px}

/* legal */
.legal{padding:clamp(30px,5vh,60px) var(--pad) clamp(50px,9vh,110px);max-width:1180px;color:var(--tx-d)}
.legal-intro{font-size:clamp(17px,2vw,22px);line-height:1.55;max-width:62ch;color:var(--tx-d);padding-bottom:clamp(26px,4vh,44px);border-bottom:1px solid var(--line-d)}
.legal-note{margin-top:18px;font-size:13px;color:var(--tx-d-dim);border-inline-start:2px solid var(--sun);padding:8px 14px;background:rgb(237 166 62 / .05)}
.legal-sec{display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(14px,3vw,40px);padding:clamp(24px,4vh,40px) 0;border-bottom:1px solid var(--line-d)}
.legal-num{font-size:11px;letter-spacing:.14em;color:var(--sun);padding-top:.5em}
.legal-body{max-width:74ch}
.legal-body h2{font-size:clamp(19px,2.2vw,26px);font-weight:600;letter-spacing:-.01em;margin-bottom:.75em;line-height:1.2}
.legal-body h3{font-size:16px;font-weight:600;margin:1.1em 0 .5em}
.legal-body p,.legal-body li{font-size:clamp(14.5px,1.35vw,16.5px);line-height:1.72;color:var(--tx-d-dim);margin-bottom:.85em}
.legal-body ul{list-style:disc;padding-inline-start:1.2em}
.legal-body table{width:100%;border-collapse:collapse;margin:.6em 0 1.4em;font-size:13.5px;display:block;overflow-x:auto}
.legal-body th,.legal-body td{border:1px solid var(--line-d);padding:8px 10px;text-align:start;vertical-align:top;color:var(--tx-d-dim)}
.legal-body th{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.legal-body strong{color:var(--tx-d);font-weight:600}
.legal-body li::marker{color:var(--sun)}
.legal-body a{color:var(--tx-d);text-decoration:underline;text-underline-offset:3px}
.legal-date{font-size:10px;letter-spacing:.14em;color:var(--tx-d-dim);padding-top:clamp(22px,3.5vh,34px)}
@media(max-width:720px){.legal-sec{grid-template-columns:1fr;gap:6px}.legal-num{padding-top:0}}

/* article (guides) */
.gpr-article{max-width:74ch;margin:0 auto;padding:clamp(26px,4vh,50px) var(--pad) clamp(50px,8vh,90px);color:var(--tx-d);font-size:16px;line-height:1.75}
.gpr-article h2{font-size:clamp(21px,2.6vw,30px);margin:2.2em 0 .7em;letter-spacing:-.01em;color:var(--bone);line-height:1.25}
.gpr-article h3{font-size:clamp(17px,2vw,21px);margin:1.8em 0 .5em;color:var(--bone)}
.gpr-article p{margin:0 0 1.1em;color:var(--tx-d-dim)}
.gpr-article ul,.gpr-article ol{margin:0 0 1.2em;padding-inline-start:1.3em;color:var(--tx-d-dim)}
.gpr-article ul{list-style:disc}
.gpr-article ol{list-style:decimal}
.gpr-article li{margin:0 0 .45em}
.gpr-article li::marker{color:var(--sun)}
.gpr-article a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgb(237 166 62 / .6)}
.gpr-article a:hover{color:var(--sun)}
.gpr-article strong{color:var(--bone);font-weight:600}
.gpr-article blockquote{margin:1.4em 0;padding:14px 18px;border-inline-start:2px solid var(--sun);background:var(--ink-2);color:var(--tx-d-dim);font-size:14.5px}
.gpr-article table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:14px}
.gpr-article th,.gpr-article td{border:1px solid var(--line-d);padding:10px 12px;text-align:start;vertical-align:top}
.gpr-article th{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-d-dim);background:rgb(255 255 255 / .02)}
.gpr-article .toc{border:1px solid var(--line-d);padding:16px 18px;margin:0 0 2em;font-size:14px}
.gpr-article .toc .mono{color:var(--sun);display:block;margin-bottom:8px}
.gpr-note{font-size:12.5px;color:var(--tx-d-dim);border:1px solid var(--line-d);padding:12px 16px;margin:1.6em 0}

/* FAQ */
.faq-wrap{padding:clamp(40px,7vh,84px) var(--pad) clamp(50px,8vh,100px);color:var(--tx-d);max-width:1060px}
.faq-wrap .crumb{color:var(--sun);display:block;margin-bottom:14px}
.faq-title{font-size:clamp(26px,3.4vw,44px);margin:0 0 clamp(20px,3vh,34px)}
.faq-item{border-top:1px solid var(--line-d)}
.faq-item:last-of-type{border-bottom:1px solid var(--line-d)}
.faq-item summary{display:flex;align-items:baseline;gap:18px;list-style:none;cursor:pointer;padding:clamp(16px,2.4vh,22px) 0;font-weight:600;font-size:clamp(15px,1.5vw,19px);transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover,.faq-item[open] summary{color:var(--sun)}
.faq-no{font-size:10px;letter-spacing:.14em;color:var(--sun);flex:0 0 auto}
.faq-ic{margin-inline-start:auto;flex:0 0 auto;position:relative;width:12px;height:12px;align-self:center;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:currentColor;transition:transform .3s}
.faq-ic::before{left:0;top:5px;width:12px;height:2px}
.faq-ic::after{left:5px;top:0;width:2px;height:12px}
.faq-item[open] .faq-ic{transform:rotate(45deg)}
.faq-item::details-content{block-size:0;overflow:hidden;transition:block-size .38s cubic-bezier(.22,1,.36,1),content-visibility .38s allow-discrete}
.faq-item[open]::details-content{block-size:auto}
.faq-body{padding:0 0 clamp(18px,2.6vh,26px);max-width:76ch}
.faq-body p{margin:0;color:var(--tx-d-dim);line-height:1.75;font-size:clamp(14px,1.35vw,16.5px)}

/* configurator */
.conf-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,60px);padding:clamp(26px,4vh,50px) var(--pad) clamp(70px,10vh,120px);color:var(--tx-d)}
.conf-visual{position:relative}
.conf-visual .viewer{min-height:520px;aspect-ratio:4/3}
.conf-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .4s}
.viewer.has-photo .conf-photo{opacity:1}
.viewer.has-photo{background:#000}
.conf-sum{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-top:1px solid var(--line-d)}
.conf-controls{display:flex;flex-direction:column;gap:26px}
.conf-group .head{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-d-dim);display:flex;justify-content:space-between;margin-bottom:12px;gap:10px}
.conf-group .head b{color:var(--sun);font-weight:600}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:2px;background:var(--line-d);border-radius:2px;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--sun);cursor:pointer;border:3px solid var(--ink)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--sun);cursor:pointer;border:3px solid var(--ink)}
.conf-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.copt{display:flex;gap:10px;align-items:center;border:1px solid var(--line-d);padding:11px 12px;cursor:pointer;transition:border-color .3s,background .3s;font-size:13px;line-height:1.35}
.copt:hover{border-color:var(--sun)}
.copt input{accent-color:var(--sun);width:15px;height:15px;flex:none}
.copt:has(input:checked){border-color:var(--sun);background:rgb(237 166 62 / .06)}
.conf-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.cmod{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line-d);padding:10px 12px;cursor:pointer;transition:border-color .3s,background .3s;text-align:start}
.cmod:hover{border-color:var(--sun)}
.cmod[aria-pressed="true"]{border-color:var(--sun);background:rgb(237 166 62 / .08)}
.cmod b{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:-.01em}
.cmod span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;color:var(--tx-d-dim);text-transform:uppercase}
.cmod .mt{color:var(--sun)}
.conf-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:6px}
.conf-match{border:1px solid var(--line-d);padding:16px 18px;display:grid;gap:6px}
.conf-match .mono{color:var(--sun)}
.conf-match b{font-size:20px;font-weight:800;text-transform:uppercase}
.conf-match p{font-size:13px;color:var(--tx-d-dim);line-height:1.6}
.swatches{display:flex;gap:10px}
.swatch{width:40px;height:40px;border-radius:6px;border:1px solid var(--line-d);cursor:pointer;position:relative;transition:transform .2s}
.swatch[aria-pressed="true"]{outline:2px solid var(--sun);outline-offset:3px}
.swatch:hover{transform:translateY(-2px)}

/* bt-out (dealer tool summary) */
.bt-out{border:1px dashed var(--line-d);padding:20px;margin-top:20px}
.bt-out pre{font-family:var(--font-mono);font-size:11.5px;line-height:1.8;color:var(--tx-d);white-space:pre-wrap}

/* 404 */
.nf{min-height:80svh;display:flex;flex-direction:column;justify-content:center;padding:140px var(--pad) 80px;gap:20px}
.nf .display{font-size:clamp(70px,16vw,220px);color:#fff0;-webkit-text-stroke:1.5px var(--sun)}
.nf p{max-width:46ch;color:var(--tx-d-dim);line-height:1.7}

/* light page sections */
.light-block{background:var(--bone);color:var(--tx-l)}
.light-block .sec-head{border-color:var(--line-l)}
.light-block .sec-head .mono{color:var(--tx-l-dim)}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:900px){
  .products-pin{position:static;height:auto}
  .products-track{flex-direction:column;transform:none!important}
  .p-panel{width:100%;height:auto;min-height:auto;border-inline-end:none;border-bottom:1px solid var(--line-l);padding-top:44px}
  .p-card{width:100%;border-inline-end:none;border-bottom:1px solid var(--line-l);padding-top:30px;height:auto}
  .p-card:nth-child(even){border-color:var(--line-d)}
  .pc-img{aspect-ratio:16/10}
  .p-progress{display:none}
  .solid-grid{grid-template-columns:1fr}
  .solid-stats{grid-template-columns:1fr 1fr}
  .stat:last-child{grid-column:1/3}
  .proc-row{grid-template-columns:48px 1fr;grid-template-rows:auto auto;row-gap:10px}
  .proc-desc{grid-column:2}
  .proc-days{grid-column:2;justify-self:start}
  .proj-1,.proj-2{grid-column:1/13}
  .proj-3,.proj-4,.proj-5{grid-column:span 12}
  .b2b-grid{grid-template-columns:1fr}
  .b2b-card{min-height:auto}
  .b2b-lead{grid-template-columns:1fr}
  .fab-strip{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/3}
  .feat-grid{grid-template-columns:1fr}
  .spec-row{grid-template-columns:1fr}
  .spec-row dt{border-inline-end:none;border-bottom:1px dashed var(--line-d);padding-bottom:8px}
  .duo-gal,.story-grid{grid-template-columns:1fr}
  .mile{grid-template-columns:52px 1fr}
  .mile p{grid-column:2}
  .form-wrap,.conf-wrap,.track,.pd-hero{grid-template-columns:minmax(0,1fr)}
  .f-grid{grid-template-columns:1fr}
  .conf-opts{grid-template-columns:1fr}
  .viewer{min-height:360px}
  .conf-visual .viewer{min-height:340px}
  .toolbar{position:static}
  .q-item{grid-template-columns:64px 1fr;grid-template-rows:auto auto}
  .q-item img{width:64px;height:64px}
  .q-item .qty{grid-column:2}
  .q-item .q-rm{grid-column:2;justify-self:start}
}
@media (max-width:560px){.kspecs{grid-template-columns:1fr 1fr}.kspecs div:last-child{grid-column:1/3}.search input{width:100%}.tb-right{width:100%}.search{flex:1}}

/* =====================================================================
   RTL + scripts
   ===================================================================== */
[dir="rtl"] .nav-links a::after{left:auto;right:0}
[dir="rtl"] .products-track,[dir="rtl"] .p-panel,[dir="rtl"] .marquee,[dir="rtl"] .marquee-track,[dir="rtl"] .sun-txt{direction:ltr}
[dir="rtl"] .p-panel>*,[dir="rtl"] .p-card>*{direction:rtl}
[dir="rtl"] a[href^="mailto:"],[dir="rtl"] a[href^="tel:"]{unicode-bidi:plaintext;display:inline-block}
[dir="rtl"] [dir="ltr"]{direction:ltr;unicode-bidi:embed;display:inline-block}
[dir="rtl"] .showcase-meta,[dir="rtl"] .page-hero .ph-meta{text-align:start}
.lang-ar,.lang-ar *{letter-spacing:0!important}
.lang-ar{--font-mono:"GPR Arabic",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--font-sans:"GPR Arabic","Archivo","Helvetica Neue",-apple-system,"Segoe UI",Arial,sans-serif}
[dir="rtl"] .mono,[dir="rtl"] .crumb,[dir="rtl"] .spec-note,[dir="rtl"] .app-bar{font-family:var(--font-mono);letter-spacing:0}
.lang-ar .display,.lang-ar .m-link,.lang-ar .btn{font-family:var(--font-sans)}
[dir="rtl"] .display{letter-spacing:0}
.lang-ar .display,.lang-ar .mono,.lang-ar .chip{text-transform:none}
.lang-zh .mono,.lang-zh .crumb,.lang-zh .spec-note,.lang-zh .app-bar,.lang-zh .display{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;letter-spacing:0}
.lang-ja .mono,.lang-ja .crumb,.lang-ja .spec-note,.lang-ja .app-bar,.lang-ja .display{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP",sans-serif;letter-spacing:0}
.lang-zh,.lang-ja{word-break:normal;line-break:strict}
.lang-zh body,.lang-ja body{font-family:"PingFang SC","Hiragino Sans","Microsoft YaHei","Yu Gothic","Noto Sans SC","Noto Sans JP",var(--font-sans)}

/* =====================================================================
   Motion preferences + page transitions
   ===================================================================== */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:gprOut .22s ease both}
  ::view-transition-new(root){animation:gprIn .3s ease both}
  @keyframes gprOut{to{opacity:0;transform:translateY(-8px)}}
  @keyframes gprIn{from{opacity:0;transform:translateY(10px)}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01s!important;transition-duration:.01s!important}
  .rv>.rv-in{transform:none}.fade{opacity:1;transform:none}.manifesto-line .w{opacity:1;transform:none}
  .btn::after,.gpr-fab.wa::before{animation:none;transition:none}
}
