/* Monvetra · monvetra.com
   Tokens follow the Monvetra design system (tokens.json): ivory light theme, graphite dark theme, walnut accent,
   bronze only for material representation. Cormorant Garamond for display, Jost for text. */

@font-face{font-family:"Cormorant Garamond";font-weight:500;font-display:swap;src:url(/assets/fonts/CormorantGaramond-500.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-display:swap;src:url(/assets/fonts/CormorantGaramond-600.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:400;font-display:swap;src:url(/assets/fonts/Jost-400.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:500;font-display:swap;src:url(/assets/fonts/Jost-500.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Amiri;font-weight:400;font-display:swap;src:url(/assets/fonts/amiri-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Amiri;font-weight:700;font-display:swap;src:url(/assets/fonts/amiri-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

:root{
  --surface:#F5F1EA; --raised:#FBF8F2; --sunken:#ECE6DB; --line:#D9D1C3; --line-strong:#7F776B;
  --ink:#22252A; --muted:#5E574D; --accent:#6B4A33; --accent-soft:#EDE3D8; --metal:#8A6A43; --on-ink:#F5F1EA;
  --dark-bg:#22252A; --dark-ink:#F5F1EA; --dark-muted:#B9B2A6; --dark-line:#3A3E45; --pin:#6B4A33;
  --ok:#2E6B4F; --bad:#9B3B2E; --grid:rgba(34,37,42,.055);
  --serif:"Cormorant Garamond","Cormorant",Garamond,Georgia,serif;
  --sans:Jost,"Futura PT","Century Gothic","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gut:16px; --max:1320px; --hdr:72px;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --surface:#1A1C20; --raised:#22252A; --sunken:#15171A; --line:#3A3E45; --line-strong:#6F737B;
    --ink:#F5F1EA; --muted:#B9B2A6; --accent:#B08560; --accent-soft:#2E241C; --metal:#A8844B; --on-ink:#22252A;
    --dark-bg:#111316; --dark-line:#2C3036; --pin:#B08560; --ok:#7FB79A; --bad:#E0907F; --grid:rgba(245,241,234,.045);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --surface:#1A1C20; --raised:#22252A; --sunken:#15171A; --line:#3A3E45; --line-strong:#6F737B;
  --ink:#F5F1EA; --muted:#B9B2A6; --accent:#B08560; --accent-soft:#2E241C; --metal:#A8844B; --on-ink:#22252A;
  --dark-bg:#111316; --dark-line:#2C3036; --pin:#B08560; --ok:#7FB79A; --bad:#E0907F; --grid:rgba(245,241,234,.045);
  color-scheme:dark;
}
@media (min-width:720px){:root{--gut:32px;--hdr:84px}}
@media (min-width:1200px){:root{--gut:56px;--hdr:96px}}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:26px;
  font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
[dir="rtl"] body,[lang="ar"] body{font-family:"IBM Plex Sans Arabic",var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}
h1,h2,h3{margin:0;font-weight:500;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0}
figure{margin:0}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:fixed;inset-inline-start:12px;top:-80px;z-index:100;background:var(--ink);color:var(--surface);padding:10px 16px;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ---------------------------------------------------------------- type */
.display-xl{font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.2vw,80px);line-height:1.05;letter-spacing:-.01em}
.display{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.2vw,52px);line-height:1.1;letter-spacing:-.005em}
.heading{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,34px);line-height:1.18}
.title{font-family:var(--serif);font-weight:600;font-size:24px;line-height:30px}
.caps{font-family:var(--serif);font-weight:600;font-size:15px;line-height:20px;letter-spacing:.3em;text-transform:uppercase}
.eyebrow{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.body-lg{font-size:19px;line-height:30px}
.small{font-size:14px;line-height:22px}
.muted{color:var(--muted)}
.measure{max-width:680px}
.measure-wide{max-width:900px}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.num{font-family:var(--serif);font-weight:500;font-size:clamp(44px,5vw,64px);line-height:1}
.num-sm{font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:.2em;color:var(--muted)}
[lang="ar"] .display-xl,[lang="ar"] .display,[lang="ar"] .heading,[lang="ar"] .title{font-family:Amiri,var(--serif);letter-spacing:0;line-height:1.35}
[lang="ar"] .eyebrow,[lang="ar"] .caps{letter-spacing:.04em}
[lang="ar"] .body-lg{line-height:32px}
.display+.body-lg,.display-xl+.body-lg,.heading+.body-lg,.display+p,.heading+p{margin-top:24px}
.body-lg+p,.body-lg+.btns,p+.btns,p+.btn,.body-lg+.btn,.measure+.btn,.measure+.vform,p+.vform{margin-top:32px}

/* ---------------------------------------------------------------- buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid transparent;border-radius:2px;
  font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;
  transition:background-color .2s,color .2s,border-color .2s}
[lang="ar"] .btn{letter-spacing:0;font-size:15px}
.btn-ink{background:var(--ink);color:var(--surface)}
.btn-ink:hover{background:var(--accent);color:#fff}
.btn-line{border-color:var(--line-strong);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--ink);background:var(--ink);color:var(--surface)}
.btn-line-inv{border-color:rgba(245,241,234,.5);color:#F5F1EA;background:transparent}
.btn-line-inv:hover{background:#F5F1EA;color:#22252A;border-color:#F5F1EA}
.btn-ivory{background:#F5F1EA;color:#22252A}
.btn-ivory:hover{background:#B08560;color:#fff}
.btn[disabled]{opacity:.5;cursor:progress}
.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink)}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.icon-btn[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.link-arrow{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line-strong);padding-bottom:4px;align-self:flex-start}
.copy{border:0;background:none;padding:0 0 1px;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:.2em}
.sec-ink .copy,.sec-dark .copy{color:#F5F1EA}

/* ---------------------------------------------------------------- header */
.hdr{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.hdr-in{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut);height:var(--hdr);display:flex;align-items:center;gap:24px}
.logo{display:flex;align-items:center;color:var(--ink);flex:none;-webkit-touch-callout:none;user-select:none}
.logo-svg{height:28px;width:auto;display:block}
.logo-svg .pin,.mark-svg .pin{fill:var(--pin)}
@media (min-width:720px){.logo-svg{height:34px}}
.nav{display:none;gap:32px;margin-inline-start:auto}
.nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding-block:6px;border-bottom:1px solid transparent}
[lang="ar"] .nav a{letter-spacing:0;font-size:15px}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--ink)}
.ctl{display:flex;align-items:center;gap:8px;margin-inline-start:auto}
.langs{display:none;gap:4px;margin-inline-end:8px}
.langs a{color:var(--muted);text-decoration:none;font-size:12px;letter-spacing:.12em;padding:6px 6px;border-bottom:1px solid transparent}
.langs a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
.hdr-cta{display:none}
#themeBtn,#liteBtn{display:none}
@media (min-width:720px){.langs{display:flex}#themeBtn,#liteBtn{display:inline-flex}}
@media (min-width:1100px){.nav{display:flex}.ctl{margin-inline-start:32px}.burger{display:none}.hdr-cta{display:inline-flex;min-height:44px;padding:0 20px}}
.mnav{position:fixed;inset:var(--hdr) 0 0 0;z-index:39;background:var(--surface);padding:40px var(--gut);display:flex;flex-direction:column;gap:6px;overflow:auto}
.mnav>a{font-family:var(--serif);font-size:clamp(32px,9vw,44px);line-height:1.25;color:var(--ink);text-decoration:none}
[lang="ar"] .mnav>a{font-family:Amiri,var(--serif)}
.mnav-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.mnav-row a{color:var(--muted);text-decoration:none}
.mnav-row a[aria-current]{color:var(--ink);text-decoration:underline}

/* ---------------------------------------------------------------- background grid (from the drawing board) */
#grid{position:fixed;inset:0;z-index:0;pointer-events:none;width:100%;height:100%}
main,.ftr{position:relative;z-index:1}
.lite #grid{display:none}

/* ---------------------------------------------------------------- sections */
.sec{padding-block:clamp(64px,9vw,120px)}
.sec-top{padding-block:clamp(40px,6vw,88px) clamp(64px,8vw,112px)}
.sec-sunken{background:var(--sunken)}
.sec-dark{background:var(--dark-bg);color:#F5F1EA}
.sec-dark .eyebrow,.sec-dark .muted,.muted-inv{color:#B9B2A6}
.sec-ink{background:var(--ink);color:var(--surface)}
.sec-head{margin-bottom:48px}
.split{display:grid;gap:48px;align-items:center}
@media (min-width:960px){.split{grid-template-columns:1fr 1fr;gap:80px}.split-img{grid-template-columns:1.1fr 1fr}}
.two{display:grid;gap:48px}
@media (min-width:860px){.two{grid-template-columns:1fr 1fr;gap:32px}}
.wide-img{margin-block:48px 32px}
.table-wrap{overflow-x:auto;max-width:100%}

/* ---------------------------------------------------------------- hero */
.hero{padding-block:clamp(40px,6vw,88px) 0}
.hero-grid{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px}}
.hero h1 span{display:block}
.hero .lead{margin-top:28px;font-size:19px;line-height:30px;color:var(--muted);max-width:560px}
.hero .btns{margin-top:36px}
.hero-img{margin-top:clamp(40px,6vw,80px)}
.hero-img img{width:100%}
.hero-img figcaption{margin-top:12px}

.stage{position:relative;width:100%;max-width:min(440px,74vw);aspect-ratio:1;justify-self:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.stage:focus-visible{outline-offset:8px}
.stage .mk{width:100%;height:100%;overflow:visible}
.stage .pc{fill:var(--ink);transition:transform 1.2s var(--ease);transform-box:view-box;transform-origin:50px 50px}
.stage .pc.pin{fill:var(--pin)}
.stage .dim line{stroke:var(--accent);stroke-width:.25}
.stage .dim text{fill:var(--accent);font-family:var(--mono);font-size:2.8px;letter-spacing:.05em}
.stage .dim .dim-note{font-size:2.4px}
.stage .dim,.stage .cn{opacity:0;transition:opacity .6s}
.stage .cn circle{fill:var(--accent)}
.stage.xp .dim,.stage.xp .cn{opacity:1;transition-delay:.35s}
.stage-hint{position:absolute;top:-4px;inset-inline-end:0;color:var(--muted)}
.hud{position:absolute;inset-inline:0;bottom:-18px;display:flex;justify-content:space-between;color:var(--muted)}

/* ---------------------------------------------------------------- collection */
.col-grid{display:grid;gap:24px}
@media (min-width:960px){.col-grid{grid-template-columns:3fr 2fr}}
.card-product{display:grid;background:var(--raised);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .3s}
.card-product:hover{border-color:var(--line-strong)}
@media (min-width:720px){.card-product{grid-template-columns:1fr 1fr}}
.cp-img{background:var(--sunken)}
.cp-img img{width:100%;height:100%;object-fit:cover}
.cp-body{display:flex;flex-direction:column;gap:12px;padding:32px}
.cp-body .link-arrow{margin-top:auto}
.card-next{border:1px dashed var(--line-strong);display:flex;flex-direction:column;justify-content:flex-end;gap:24px;padding:32px;min-height:220px}
.next-mark{width:64px;height:64px;fill:none;stroke:var(--line-strong);stroke-width:1}

.three{list-style:none;display:grid;gap:40px;margin-top:48px;counter-reset:x}
@media (min-width:860px){.three{grid-template-columns:repeat(3,1fr);gap:48px}}
.three li{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line-strong);padding-top:24px}

/* ---------------------------------------------------------------- serial plate + verify form */
.plate-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.plate{width:100%;max-width:440px;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))}
.plate-cap{text-align:center}
.vform{display:grid;gap:10px;max-width:560px}
.vrow{display:flex;flex-wrap:wrap;gap:8px}
.field{flex:1 1 220px;min-height:48px;border:1px solid var(--line-strong);background:var(--raised);border-radius:2px;padding:0 14px;color:var(--ink);min-width:0}
.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.mono-in{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.14em;text-transform:uppercase}
.mono-in::placeholder{font-family:var(--sans);font-weight:400;font-size:15px;letter-spacing:.02em;text-transform:none;color:var(--muted)}

/* ---------------------------------------------------------------- knock-down figures */
.figures{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:40px 0 0}
.figures div{background:var(--surface);padding:24px 20px}
.figures dt{margin-bottom:8px}
.figures dd{margin:0;color:var(--muted);font-size:14px;line-height:20px}

/* ---------------------------------------------------------------- projects */
.aud{list-style:none;border-top:1px solid var(--line-strong)}
.aud li{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.2;padding:18px 0;border-bottom:1px solid var(--line)}
[lang="ar"] .aud li{font-family:Amiri,var(--serif)}
.svc{border-top:1px solid var(--line-strong);margin-top:40px}
.svc details{border-bottom:1px solid var(--line)}
.svc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;padding:24px 0}
.svc summary::-webkit-details-marker{display:none}
.svc-h{font-family:var(--serif);font-size:clamp(26px,3.4vw,44px);line-height:1.1;transition:color .3s}
[lang="ar"] .svc-h{font-family:Amiri,var(--serif)}
.svc summary:hover .svc-h{color:var(--accent)}
.pl{width:20px;height:20px;position:relative;justify-self:end}
.pl::before,.pl::after{content:"";position:absolute;inset-inline:0;top:50%;height:1px;background:var(--ink);transition:transform .35s var(--ease)}
.pl::after{transform:rotate(90deg)}
.svc details[open] .pl::after{transform:rotate(0)}
.svc-body{display:grid;gap:20px;padding:0 0 32px;padding-inline-start:60px}
@media (max-width:600px){.svc-body{padding-inline-start:0}.svc summary{grid-template-columns:36px 1fr 20px}}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tags li{border:1px solid var(--line-strong);padding:4px 12px;border-radius:20px;font-size:13px}
.proc-wrap{position:relative;margin-top:48px}
.rail{position:absolute;inset-inline-start:15px;top:0;bottom:0;width:1px;background:var(--line-strong)}
.rail i{position:absolute;inset-inline-start:0;top:0;width:1px;height:0;background:var(--accent)}
.proc{list-style:none;display:grid}
.step{display:grid;grid-template-columns:32px 1fr;gap:20px;padding-bottom:40px;position:relative;align-content:start}
.dot{width:31px;height:31px;border:1px solid var(--line-strong);border-radius:50%;background:var(--sunken);display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.05em;position:relative;z-index:1;transition:background .4s,color .4s,border-color .4s}
.step.on .dot{background:var(--accent);border-color:var(--accent);color:#fff}
.step .title{margin-bottom:8px}
@media (min-width:960px){
  .rail{inset-inline:0;top:15px;bottom:auto;width:auto;height:1px}
  .rail i{height:1px;width:0}
  .proc{grid-template-columns:repeat(5,1fr);gap:24px}
  .step{grid-template-columns:1fr;gap:20px;padding:0}
}

/* ---------------------------------------------------------------- contact band */
.contact{display:grid;gap:32px;align-items:end}
@media (min-width:960px){.contact{grid-template-columns:1fr auto}}
.contact .body-lg{margin-top:16px;opacity:.85}
.contact-actions{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.big-mail{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.2;word-break:break-all}
.sec-ink .btn-line-inv{border-color:currentColor;color:inherit}
.sec-ink .btn-ivory{background:var(--surface);color:var(--ink)}

/* ---------------------------------------------------------------- product */
.crumbs{color:var(--muted);margin-bottom:32px;display:flex;gap:8px}
.crumbs a{color:var(--muted)}
.p-grid{display:grid;gap:48px;align-items:start}
@media (min-width:1100px){.p-grid{grid-template-columns:1.25fr 1fr;gap:64px}}
.p-hero img{width:100%}
.p-hero figcaption{margin-top:10px}
.p-info{display:flex;flex-direction:column;gap:16px}
.code-title{letter-spacing:.06em}
.specs{margin:16px 0 8px;border-top:1px solid var(--line)}
.specs div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.specs dt{color:var(--muted);font-size:14px}
.specs dd{margin:0}
.code-read{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
@media (min-width:860px){.code-read{grid-template-columns:repeat(3,1fr)}}
.code-read div{background:var(--surface);padding:28px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.code-read dt{font-family:var(--serif);font-weight:500;font-size:72px;line-height:.8;color:var(--accent)}
.code-read dd{margin:0;display:flex;flex-direction:column;gap:8px}
.detail{display:flex;flex-direction:column;gap:20px}
.detail figcaption{display:flex;flex-direction:column;gap:8px}
.parts{width:100%;border-collapse:collapse;margin-top:32px;font-size:15px}
.parts th,.parts td{text-align:start;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
[dir="rtl"] .parts th,[dir="rtl"] .parts td{padding:10px 0 10px 12px}
.parts thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;border-bottom-color:var(--line-strong)}
.parts td:nth-child(n+2){font-variant-numeric:tabular-nums}
.parts tfoot th,.parts tfoot td{border-bottom:0;font-weight:500}
.care{list-style:none;display:grid;gap:0;border-top:1px solid var(--line-strong)}
.care li{padding:16px 0;border-bottom:1px solid var(--line)}

/* ---------------------------------------------------------------- quote form */
.q-grid{display:grid;gap:56px}
@media (min-width:1000px){.q-grid{grid-template-columns:5fr 7fr;gap:80px}}
.q-side{display:flex;flex-direction:column;gap:24px}
.q-steps{list-style:none;display:grid;gap:16px;border-top:1px solid var(--line);padding-top:24px}
.q-steps li{display:grid;grid-template-columns:40px 1fr;gap:12px}
.qform{display:grid;gap:20px;background:var(--raised);border:1px solid var(--line);padding:clamp(20px,4vw,40px)}
.qform label{display:grid;gap:8px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
[lang="ar"] .qform label{letter-spacing:0;font-size:14px}
.qform .opt{text-transform:none;letter-spacing:0;font-weight:400}
.qform input,.qform select,.qform textarea{min-height:48px;border:1px solid var(--line-strong);border-radius:2px;background:var(--surface);padding:10px 12px;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);width:100%;min-width:0}
.qform textarea{resize:vertical}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.r2,.r3{display:grid;gap:20px}
@media (min-width:640px){.r2{grid-template-columns:1fr 1fr}.r3{grid-template-columns:2fr 1fr 1fr}}
.help{margin-top:-12px}
.qform .chk{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;color:var(--ink);line-height:22px}
.qform .chk input{width:20px;height:20px;min-height:0;margin-top:1px;accent-color:var(--accent);flex:none}
.hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;opacity:0}
.qmsg,.msg{min-height:24px;font-size:15px}
.qmsg.ok,.msg.ok{color:var(--ok)}
.qmsg.err,.msg.err{color:var(--bad)}

/* ---------------------------------------------------------------- passport */
.vout{margin-top:48px}
.vnote{max-width:680px;border-inline-start:2px solid var(--line-strong);padding:8px 0;padding-inline-start:20px}
.vnote.err{border-color:var(--bad)}
.passport{background:var(--raised);border:1px solid var(--line);padding:clamp(20px,4vw,48px);display:grid;gap:40px}
.pp-head{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.pp-head{grid-template-columns:1fr 360px}}
.pp-status{display:flex;align-items:center;gap:10px;color:var(--ok);letter-spacing:.2em}
.pp-status.warn{color:var(--bad)}
.seal{width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 20%,transparent)}
.pp-title{letter-spacing:.06em;margin:12px 0 8px}
.pp-plate svg{width:100%;height:auto}
.pp-cols{display:grid;gap:40px}
@media (min-width:900px){.pp-cols{grid-template-columns:1fr 1fr;gap:56px}}
.pp-cols h3{margin-bottom:8px}
.pp-parts{margin-top:0}
.timeline{list-style:none;border-inline-start:1px solid var(--line-strong);padding-inline-start:20px;display:grid;gap:14px;margin-top:16px}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;inset-inline-start:-24.5px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.timeline .when{color:var(--muted);font-size:13px;display:block}
.chain{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;align-items:flex-start}
.chain.ok::before{content:"";flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--ok)}
.chain.bad{color:var(--bad)}
.pp-actions{display:grid;gap:16px}
@media (min-width:900px){.pp-actions{grid-template-columns:1fr 1fr}}
.pp-box{border:1px solid var(--line);padding:20px}
.pp-box summary{cursor:pointer}
.pp-box[open] summary{margin-bottom:12px}
.pp-box p{margin-bottom:12px}
.stack{display:grid;gap:12px}
.stack label{display:grid;gap:6px;font-size:13px;color:var(--muted)}

/* ---------------------------------------------------------------- prose (privacy) */
.prose{max-width:760px}
.prose h2{font-family:var(--serif);font-size:30px;line-height:1.2;margin:48px 0 12px}
.prose h3{font-size:17px;font-weight:500;margin:24px 0 6px}
[lang="ar"] .prose h2{font-family:Amiri,var(--serif)}
.prose p{margin-bottom:12px}
.prose .lead{font-size:19px;line-height:30px;margin-top:24px}

/* ---------------------------------------------------------------- 404 */
.nf-mark{width:120px;height:120px;margin-bottom:32px}
.nf-mark path{fill:var(--ink)}.nf-mark circle{fill:var(--pin)}
.nf .display{margin:12px 0 16px}
.nf .body-lg{margin-bottom:32px}

/* ---------------------------------------------------------------- footer */
.ftr{border-top:1px solid var(--line);background:var(--surface);padding-block:56px calc(40px + env(safe-area-inset-bottom,0px))}
.ftr-in{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut);display:grid;gap:40px}
@media (min-width:860px){.ftr-in{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.ftr-brand{display:flex;flex-direction:column;gap:16px;color:var(--muted);font-size:14px}
.ftr-mark{color:var(--ink);width:44px}
.ftr-mark .mark-svg{width:44px;height:44px;fill:currentColor}
.ftr-h{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ftr ul{list-style:none;display:grid;gap:8px;font-size:15px}
.ftr ul a{color:var(--ink);text-decoration:none}
.ftr ul a:hover{text-decoration:underline}
.email{font-size:15px}
.ftr-base{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:24px;font-size:13px;color:var(--muted)}
.ftr-base a{color:var(--muted)}
.egg-meter{font-family:var(--mono);font-size:11px;letter-spacing:.08em;cursor:default}

/* ---------------------------------------------------------------- toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);z-index:90;background:var(--ink);color:var(--surface);
  padding:12px 20px;font-size:15px;max-width:calc(100% - 32px);text-align:center;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s var(--ease)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast em{font-family:var(--serif);font-size:19px;font-style:italic}

/* ---------------------------------------------------------------- lite mode */
.lite *,.lite *::before,.lite *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}}

/* ---------------------------------------------------------------- blueprint mode (hidden detail) */
.bp{--surface:#0F2A3A;--raised:#12334A;--sunken:#0C2331;--line:rgba(216,236,245,.22);--line-strong:rgba(216,236,245,.45);--ink:#D8ECF5;--muted:#8FB6C9;
  --accent:#F0D58A;--pin:#F0D58A;--accent-soft:#16384D;--dark-bg:#0C2331;--grid:rgba(216,236,245,.09);color-scheme:dark}
.bp img{filter:grayscale(1) contrast(1.15) brightness(.9) sepia(.3) hue-rotate(160deg)}
.bp .stage .pc{fill:transparent;stroke:var(--ink);stroke-width:.35}
.bp .btn,.bp .card-product,.bp .qform,.bp .passport{border-style:dashed}
.bp .plate{filter:grayscale(1) invert(.85) sepia(.4) hue-rotate(160deg)}
