/* Alshaariga Aldahabia Alawela - "First Light"
   Warm blush/cream base, night-aubergine bands, magenta + amber accents; dawn gradients only in heroes and thin rules.
   Motifs: eight-point star (shamsa) tiling, rays from the east (inline-start) corner, mashrabiya lattice frames, zellige strips.
   Logical properties throughout (RTL Arabic primary, LTR English). No inline styles: dynamic values are CSS variables set from app.js. */

/* ---------------------------------------------------------------- fonts (self-hosted, OFL) */
@font-face{font-family:"Aref Ruqaa";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/aref-ruqaa-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-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:"Noto Naskh Arabic";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/noto-naskh-arabic-arabic-wght-normal.woff2) format("woff2-variations"),url(fonts/noto-naskh-arabic-arabic-wght-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-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:"Red Hat Display";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/red-hat-display-latin-wght-normal.woff2) format("woff2-variations"),url(fonts/red-hat-display-latin-wght-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:"Red Hat Display";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/red-hat-display-latin-ext-wght-normal.woff2) format("woff2-variations"),url(fonts/red-hat-display-latin-ext-wght-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:"Red Hat Text";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/red-hat-text-latin-wght-normal.woff2) format("woff2-variations"),url(fonts/red-hat-text-latin-wght-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:"Red Hat Text";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/red-hat-text-latin-ext-wght-normal.woff2) format("woff2-variations"),url(fonts/red-hat-text-latin-ext-wght-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}

/* the dawn level of a hero: animated on load (home), driven by scroll (app.js sets --scroll) */
@property --dl{syntax:'<number>';inherits:true;initial-value:.5}

:root{
  --mag:#A61E4D;--mag-ink:#7E1538;--mag-l:#E2557F;
  --amb:#F2A93B;--amb-ink:#A8681A;--amb-l:#F7C46E;
  --blush:#FBEFEA;--cream:#FFF8F3;--night:#2A0F1F;--night-2:#3B1530;--plum:#5A1B3D;
  --ink:#2E1424;--muted:#6B4A5B;--line:rgba(126,21,56,.15);--line-2:rgba(126,21,56,.3);
  --on-night:#FBEFEA;--on-night-m:#EBCDD6;
  --dawn-grad:linear-gradient(90deg,var(--amb),#E0743F 50%,var(--mag));
  --f-body:"Red Hat Text","Noto Naskh Arabic",system-ui,"Segoe UI",Tahoma,sans-serif;
  --f-head:"Red Hat Display","Noto Naskh Arabic",system-ui,"Segoe UI",Tahoma,sans-serif;
  --f-disp:"Red Hat Display","Aref Ruqaa","Noto Naskh Arabic",serif;
  --hh:76px;--gut:clamp(16px,4vw,32px);--origin:right;
  --star:polygon(100% 50%,85.36% 64.64%,85.36% 85.36%,64.64% 85.36%,50% 100%,35.36% 85.36%,14.64% 85.36%,14.64% 64.64%,0 50%,14.64% 35.36%,14.64% 14.64%,35.36% 14.64%,50% 0,64.64% 14.64%,85.36% 14.64%,85.36% 35.36%);
}
html[dir=ltr]{--origin:left;--dawn-grad:linear-gradient(270deg,var(--amb),#E0743F 50%,var(--mag))}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 14px)}
body{margin:0;background:var(--blush);color:var(--ink);font-family:var(--f-body);font-size:17.5px;line-height:1.9;overflow-x:hidden}
html[lang=en] body{font-size:16.5px;line-height:1.65}
body.menu-open{overflow:hidden}
img,svg,video{display:block;max-width:100%}
a{color:var(--mag-ink)}
h1,h2,h3,h4{margin:0;font-family:var(--f-head);color:var(--night);font-weight:700;line-height:1.5}
html[lang=en] :is(h1,h2,h3,h4){line-height:1.18;letter-spacing:-.01em}
p{margin:0 0 1em}
ul,ol{margin-top:0}
.wrap{width:100%;max-width:calc(1200px + 2 * var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;inset-inline-start:12px;top:-80px;z-index:200;background:var(--amb);color:var(--night);padding:10px 18px;border-radius:4px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--amb);outline-offset:3px}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[dir=rtl] .ic.flipx{transform:scaleX(-1)}
html[dir=ltr] .ic.flipx.back{transform:scaleX(-1)}
html[dir=rtl] .ic.flipx.back{transform:none}
.st8{display:inline-block;flex:none;width:13px;height:13px;background:var(--amb);clip-path:var(--star)}

/* ---------------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 22px;border-radius:4px;border:1.5px solid transparent;font:inherit;font-weight:700;font-size:16px;line-height:1.25;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-sun{background:var(--amb);color:var(--night)}
.btn-sun:hover{background:#F8BD5E}
.btn-mag{background:var(--mag);color:#fff}
.btn-mag:hover{background:#8E1A42}
.btn-line{background:transparent;border-color:var(--line-2);color:var(--mag-ink)}
.btn-line:hover{background:rgba(166,30,77,.06);border-color:var(--mag)}
.btn-ghost{background:transparent;border-color:rgba(251,239,234,.6);color:var(--on-night)}
.btn-ghost:hover{background:rgba(251,239,234,.12)}
.btn-sm{min-height:44px;padding:8px 16px;font-size:15px}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--mag-ink);text-decoration:none}
.link-arrow:hover{text-decoration:underline;text-underline-offset:5px}

/* ---------------------------------------------------------------- header */
.site-header{position:fixed;top:0;inset-inline:0;z-index:60;height:var(--hh);color:var(--on-night);transition:background-color .35s,color .35s,box-shadow .35s}
.site-header .bar{height:100%;display:flex;align-items:center;gap:18px}
.site-header.scrolled,body.menu-open .site-header{background:#FFF8F3;color:var(--ink);box-shadow:0 10px 30px -18px rgba(42,15,31,.55)}
.dawn-line{position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--dawn-grad);opacity:.6;pointer-events:none}
.scrolled .dawn-line{opacity:1}
.brand{display:flex;align-items:center;gap:11px;min-height:48px;color:inherit;text-decoration:none;flex:none}
.brand .logo{width:46px;height:46px;color:var(--mag-l);flex:none}
.scrolled .brand .logo,body.menu-open .brand .logo{color:var(--mag)}
.b-txt{display:flex;flex-direction:column}
.b-name{font-family:var(--f-disp);font-weight:700;font-size:23px;line-height:1.3;white-space:nowrap}
.b-sub{font-size:13px;line-height:1.35;white-space:nowrap;opacity:.88}
html[lang=en] .b-name{font-size:17px;line-height:1.25;letter-spacing:.01em}
.nav{display:flex;align-items:center;gap:2px;margin-inline-start:auto}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;border-radius:4px;color:inherit;text-decoration:none;font-weight:600;font-size:15.5px;white-space:nowrap}
.nav a:hover{background:rgba(251,239,234,.12)}
.scrolled .nav a:hover{background:rgba(166,30,77,.07)}
.nav a.active::after{content:"";position:absolute;inset-inline:10px;bottom:3px;height:2px;background:var(--amb)}
.head-actions{display:flex;align-items:center;gap:8px;flex:none}
.lang-btn{min-width:44px;min-height:44px;padding:0 8px;border-radius:4px;border:1.5px solid currentColor;background:transparent;color:inherit;font:inherit;font-weight:700;font-size:15px;line-height:1;cursor:pointer;opacity:.92}
.lang-btn:hover{opacity:1;background:rgba(242,169,59,.15)}
.burger{display:none}
.m-only{display:none!important}
.scrim{position:fixed;inset:var(--hh) 0 0;z-index:55;background:rgba(42,15,31,.55)}

@media (max-width:1180px){
  .hd-cta{display:none}
  .head-actions{margin-inline-start:auto}
  .burger{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:4px;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer}
  .burger .ic{width:22px;height:22px}
  .burger .i-close,.burger[aria-expanded=true] .i-open{display:none}
  .burger[aria-expanded=true] .i-close{display:block}
  .nav{position:fixed;top:var(--hh);bottom:0;inset-inline-end:0;width:min(88vw,380px);margin:0;flex-direction:column;align-items:stretch;gap:2px;padding:18px 16px 32px;background:var(--cream);color:var(--ink);overflow-y:auto;box-shadow:0 20px 60px -20px rgba(42,15,31,.6);visibility:hidden;transition:transform .35s cubic-bezier(.3,.7,.2,1),visibility 0s linear .35s}
  html[dir=rtl] .nav{transform:translateX(-105%)}
  html[dir=ltr] .nav{transform:translateX(105%)}
  .nav.open{transform:none!important;visibility:visible;transition:transform .35s cubic-bezier(.3,.7,.2,1),visibility 0s}
  .nav .m-only{display:flex!important}
  .nav a{font-size:17px;min-height:50px;padding:10px 14px}
  .nav a:hover{background:rgba(166,30,77,.07)}
  .nav a.active{background:rgba(166,30,77,.07)}
  .nav a.active::after{inset-inline:0 auto;top:10px;bottom:10px;width:3px;height:auto}
  .nav .nav-cta{margin-top:14px;justify-content:center;color:var(--night)}
  .nav .nav-mail{gap:10px;margin-top:8px;font-size:15px;color:var(--mag-ink)}
}
@media (max-width:600px){
  :root{--hh:66px}
  .brand{gap:8px}
  .brand .logo{width:40px;height:40px}
  .b-name{font-size:19px}
  .head-actions{gap:6px}
  .lang-btn{min-width:44px}
  .burger{width:44px;height:44px}
}
@media (max-width:480px){
  html[lang=en] .b-name{white-space:normal;font-size:15px;max-width:10.5em}
  html[lang=en] .b-sub{display:none}
}

/* ---------------------------------------------------------------- dawn sky (home hero + page heroes) */
.hero,.phero{position:relative;isolation:isolate;overflow:hidden;color:var(--on-night);background:var(--night);--scroll:0;--dawn:calc(var(--dl) + (1 - var(--dl)) * var(--scroll))}
.sky{position:absolute;inset:0;z-index:-2;pointer-events:none}
.sky>span{position:absolute;inset:0}
.sky::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,10,22,.6) 0,rgba(30,10,22,0) 24%,rgba(30,10,22,0) 70%,rgba(30,10,22,.55) 100%)}
.veil-night{background:linear-gradient(180deg,#14060F 0%,#1E0A16 55%,#2A0F1F 100%);opacity:clamp(0,calc(.86 - var(--dawn) * 1.08),.86)}
.veil-warm{background:radial-gradient(ellipse 75% 46% at 50% 50%,rgba(255,196,110,.34) 0%,rgba(232,128,90,.2) 40%,rgba(166,30,77,.1) 66%,rgba(166,30,77,0) 85%);mix-blend-mode:screen;opacity:clamp(0,calc(var(--dawn) * 1.3 - .15),1)}
.veil-side{background:linear-gradient(to left,rgba(30,10,22,.72) 0%,rgba(30,10,22,.42) 38%,rgba(30,10,22,0) 64%)}
html[dir=ltr] .veil-side{background:linear-gradient(to right,rgba(30,10,22,.72) 0%,rgba(30,10,22,.42) 38%,rgba(30,10,22,0) 64%)}
.sky-stars{background:url(img/stars.svg) repeat;background-size:240px;opacity:clamp(0,calc(.95 - var(--dawn) * 1.5),.95)}
.sky-rays{background:url(img/rays.svg) no-repeat right top/min(62vw,780px) auto;opacity:calc(.12 + var(--dawn) * .45)}
html[dir=ltr] .sky-rays{transform:scaleX(-1)}
.sky-tiles{background:url(img/tile-star-light.svg) repeat;background-size:64px;opacity:.07;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 60%,transparent 100%)}

/* home hero */
.hero{--dl:.5;min-height:clamp(620px,100svh,920px);display:flex;flex-direction:column;justify-content:flex-end;animation:dawnload 2.6s cubic-bezier(.25,.6,.2,1) .05s both}
@keyframes dawnload{from{--dl:.04}to{--dl:.5}}
.h-media{position:absolute;inset:0;z-index:-3;background:var(--night)}
.h-media img,.h-media video,.vb-media img,.vb-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bgv{opacity:0;transition:opacity 1s ease}
.vslot.v-on .bgv{opacity:1}
.h-txt{position:relative}
.h-sun{position:absolute;z-index:-1;pointer-events:none;left:50%;top:34%;width:min(64vh,560px);aspect-ratio:1;opacity:calc(.15 + var(--dawn) * .7);transform:translate(-50%,calc(-50% + (1 - var(--dawn)) * 42%)) rotate(calc(var(--dawn) * 33deg))}
.h-shamsa{width:100%;height:100%;overflow:visible}
.shamsa .sh-disc{opacity:.6}
.h-shamsa .sh-disc{opacity:.62}
.h-shamsa .sh-rays,.h-shamsa .sh-star{opacity:.55}
.h-in{position:relative;padding-top:calc(var(--hh) + 56px);padding-bottom:132px}
.h-txt{max-width:690px;position:relative}
.hero h1{font-family:var(--f-disp);font-size:clamp(38px,4.9vw,70px);line-height:1.42;color:#FFF7EF;margin:.3em 0 .32em;text-shadow:0 2px 2px rgba(42,15,31,.35),0 6px 38px rgba(42,15,31,.6)}
html[lang=en] .hero h1{font-size:clamp(36px,4.5vw,64px);line-height:1.06;letter-spacing:-.025em;margin:.35em 0 .4em}
.hero .lead{max-width:34em;font-size:clamp(17px,1.45vw,20px);color:#F8E6EB;text-shadow:0 1px 14px rgba(42,15,31,.8);margin:0}
.h-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;font-weight:700;font-size:15px;line-height:1.5;color:var(--mag-ink)}
html[lang=en] .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:13.5px}
.eyebrow.light{color:var(--amb-l)}
.h-strip{position:absolute;inset-inline:0;bottom:0;border-top:1px solid rgba(251,239,234,.2);background:linear-gradient(180deg,rgba(42,15,31,.2),rgba(42,15,31,.62))}
.h-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.h-strip ul{list-style:none;margin:0;padding:12px 0;display:flex;flex-wrap:wrap;gap:6px 34px;font-weight:600;font-size:15px;line-height:1.5}
.h-strip li{display:flex;align-items:center;gap:10px}
.vtoggle{position:absolute;z-index:4;inset-inline-end:clamp(16px,3vw,32px);bottom:20px;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(251,239,234,.75);background:rgba(42,15,31,.55);color:#FFF6EE;display:grid;place-items:center;cursor:pointer;transition:background-color .2s}
.vtoggle:hover{background:rgba(166,30,77,.75)}
.vtoggle .i-play,.vtoggle.is-paused .i-pause{display:none}
.vtoggle.is-paused .i-play{display:block}
.h-strip .vtoggle{position:static;flex:none}

/* inner-page hero */
.phero{--dl:.45;padding:calc(var(--hh) + 52px) 0 72px;background:linear-gradient(180deg,#1A0813 0%,#2A0F1F 38%,#43142E 74%,#64203B 100%)}
.phero.d1{--dl:.32}.phero.d2{--dl:.42}.phero.d3{--dl:.52}.phero.d4{--dl:.62}
.phero .veil-night{opacity:calc(.5 - var(--dawn) * .45)}
.phero.has-bg .veil-night{opacity:calc(.92 - var(--dawn) * .5)}
.ph-bg{position:absolute;inset:0;z-index:-3}
.ph-bg img{width:100%;height:100%;object-fit:cover}
.ph-in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.phero.has-bg .ph-in{grid-template-columns:minmax(0,1fr)}
.phero.has-bg .ph-txt{max-width:720px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;color:var(--on-night-m);margin-bottom:6px}
.crumbs a{color:var(--amb-l);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.phero h1{font-family:var(--f-disp);font-size:clamp(34px,4.3vw,58px);line-height:1.45;color:#FFF7EF;margin:.15em 0 .3em;text-shadow:0 4px 30px rgba(42,15,31,.5)}
html[lang=en] .phero h1{font-size:clamp(32px,3.9vw,52px);line-height:1.08;letter-spacing:-.02em;margin:.25em 0 .45em}
.phero .lead{font-size:clamp(17px,1.4vw,19.5px);color:#F4DDE4;max-width:36em;margin:0}
.phero .h-act{margin-top:26px}
.ph-side{position:relative;justify-self:end;width:100%;max-width:500px}
.ph-sun{position:absolute;z-index:-1;inset-inline-end:-14%;bottom:-24%;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#FFE6B0 0,#F2A93B 28%,#E0743F 48%,rgba(166,30,77,.35) 62%,rgba(166,30,77,0) 71%);opacity:calc(.35 + var(--dawn) * .65);transform:translateY(calc((1 - var(--dawn)) * 34%))}
.ph-emblem{max-width:420px;aspect-ratio:1}
.ph-emblem .ph-sun{inset:auto;left:14%;bottom:8%;width:72%}
.ph-shamsa{width:100%;height:100%;opacity:calc(.4 + var(--dawn) * .6);transform:rotate(calc(var(--dawn) * 30deg))}
.horizon{position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--dawn-grad)}
.horizon::before{content:"";position:absolute;inset-inline:0;bottom:3px;height:60px;background:linear-gradient(0deg,rgba(242,169,59,.16),rgba(242,169,59,0))}

/* ---------------------------------------------------------------- lattice frames */
.lattice{position:relative;margin:0;padding:12px;background:var(--mag-ink) url(img/lattice.svg) repeat;background-size:16px;border-radius:2px;box-shadow:0 28px 60px -34px rgba(42,15,31,.7)}
.lt-in{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:var(--night-2);outline:1px solid rgba(242,169,59,.75)}
.lattice img{width:100%;height:100%;object-fit:cover}
.lt-c{position:absolute;width:24px;height:24px;background:var(--amb);clip-path:var(--star);z-index:1}
.lt-c.c1{top:-6px;left:-6px}.lt-c.c2{top:-6px;right:-6px}.lt-c.c3{bottom:-6px;left:-6px}.lt-c.c4{bottom:-6px;right:-6px}
.lattice figcaption{color:var(--on-night-m);font-size:14px;padding-top:10px}
.ph-frame .lt-in{aspect-ratio:5/4}

/* ---------------------------------------------------------------- star badge */
.badge{--s:52px;position:relative;flex:none;display:inline-grid;place-items:center;width:var(--s);height:var(--s);background:var(--amb);color:#FFF7EF;clip-path:var(--star);font-family:var(--f-head);font-weight:800;font-size:15px;line-height:1}
.badge::before{content:"";position:absolute;inset:3px;background:var(--mag);clip-path:var(--star)}
.badge>*{position:relative}
.badge b{font-weight:800;font-size:15px;font-family:"Red Hat Display",var(--f-head)}
.badge .ic{width:23px;height:23px}
.badge.sm{--s:36px}
.badge.sm b{font-size:13px}
.badge.sm .ic{width:17px;height:17px}
.badge.lg{--s:72px}
.badge.lg .ic{width:30px;height:30px}

/* ---------------------------------------------------------------- sections */
.sec{position:relative;padding:clamp(64px,8vw,104px) 0}
.sec.cream{background:var(--cream)}
.sec.night{background:var(--night);color:var(--on-night);overflow:hidden}
.sec.night :is(h2,h3,legend){color:#FFF7EF}
.sec>.wrap{position:relative}
.sec-tiles{position:absolute;inset:0;background:url(img/tile-star-light.svg) repeat;background-size:64px;opacity:.06;pointer-events:none}
.tiles-bg::before{content:"";position:absolute;inset:0;background:url(img/tile-star.svg) repeat;background-size:64px;opacity:.05;pointer-events:none}
.sec-rays{position:absolute;top:0;inset-inline-start:0;width:min(62vw,720px);height:580px;background:url(img/rays.svg) no-repeat right top/contain;opacity:.55;pointer-events:none}
html[dir=ltr] .sec-rays{transform:scaleX(-1)}
.sec-head{max-width:760px;margin-bottom:42px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(26px,3.1vw,40px);margin:.18em 0 .3em}
.sec-intro{color:var(--muted);font-size:18px;margin:0}
.night .sec-intro{color:var(--on-night-m)}
.zel{height:18px;background:url(img/zellige.svg) repeat-x center/36px 18px}
.zel-night{background-image:url(img/zellige-night.svg)}
.small-note{font-size:14.5px;color:var(--muted);margin:18px 0 0}
.more{margin:30px 0 0}

/* grids + tiles */
.grid{display:grid;gap:22px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:30px 24px 26px;transition:transform .25s,box-shadow .25s,border-color .25s}
.sec.cream .tile{background:#fff}
.tile .badge{margin-bottom:16px}
.tile h3{font-size:19px;margin-bottom:8px}
.tile p{color:var(--muted);margin:0;font-size:16px;line-height:1.8}
html[lang=en] .tile p{line-height:1.6}
.tile::after{content:"";position:absolute;inset-inline:-1px;bottom:-1px;height:3px;background:var(--dawn-grad);transform:scaleX(0);transform-origin:var(--origin);transition:transform .4s}
.tile:hover{transform:translateY(-3px);box-shadow:0 20px 44px -28px rgba(42,15,31,.55);border-color:rgba(242,169,59,.6)}
.tile:hover::after{transform:scaleX(1)}

/* materials preview cards */
.mcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:4px;color:inherit;text-decoration:none;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.mcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(42,15,31,.6);border-color:rgba(242,169,59,.7)}
.mcard .lattice{padding:8px;border-radius:0;box-shadow:none}
.mcard .lt-c{display:none}
.mc-frame .lt-in{aspect-ratio:3/2}
.mcard img{transition:transform .8s ease}
.mcard:hover img{transform:scale(1.05)}
.mc-body{position:relative;display:flex;flex:1;flex-direction:column;gap:6px;padding:36px 22px 20px}
.mc-body .badge{position:absolute;top:-28px;inset-inline-start:18px}
.mc-name{font-family:var(--f-head);font-size:20px;line-height:1.4;color:var(--night)}
.mc-tag{color:var(--muted);font-size:15.5px;line-height:1.7}
.mc-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px;min-height:44px;color:var(--mag-ink);font-weight:700;font-size:15px}
.mcard:focus-visible{outline:3px solid var(--amb);outline-offset:3px}

/* request builder */
.rb-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:52px;align-items:start}
.rb-out{--fill:0;position:relative;overflow:hidden;isolation:isolate;margin-top:8px;padding:26px 24px 24px;border:1px solid rgba(242,169,59,.4);border-radius:4px;background:linear-gradient(180deg,rgba(90,27,61,.75),rgba(42,15,31,.85))}
.rb-out::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--dawn-grad)}
.rb-sun{position:absolute;z-index:-1;inset-inline-end:-36px;bottom:-70px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#FFE6B0 0,#F2A93B 32%,rgba(224,116,63,.55) 52%,rgba(166,30,77,0) 70%);transform:translateY(calc((1 - var(--fill)) * 62%));opacity:calc(.35 + var(--fill) * .65);transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s}
.rb-sum{margin:0 0 18px;min-height:3.6em;font-size:18px;font-weight:600;color:#FFF7EF}
.rb-form{display:grid;gap:24px}
.rb-set{margin:0;padding:0;border:0;min-width:0}
.rb-set legend,.rb-city label{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:0;font-weight:700;font-size:17px;color:#FFF7EF}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;margin:0;opacity:0}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid rgba(251,239,234,.38);color:#FFF7EF;font-weight:600;font-size:15.5px;line-height:1.3;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.chip span:hover{border-color:var(--amb)}
.chip input:checked+span{background:var(--amb);border-color:var(--amb);color:var(--night)}
.chip input:focus-visible+span{outline:3px solid var(--amb);outline-offset:2px}
.rb-city input[type=text]{background:rgba(251,239,234,.08);border-color:rgba(251,239,234,.38);color:#FFF7EF}
.rb-city input::placeholder{color:#D9B9C5}

/* process teaser */
.sunsteps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.sunsteps::before{content:"";position:absolute;inset-inline:26px;top:26px;height:2px;background:var(--dawn-grad);opacity:.55}
.sunsteps a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:inherit;text-decoration:none;border-radius:4px}
.sunsteps a:hover b{color:var(--mag)}
.sunsteps b{font-family:var(--f-head);font-size:17px;line-height:1.45;color:var(--night)}
.sunsteps span{color:var(--muted);font-size:15px;line-height:1.7}

/* split + lists */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.split .sec-head{margin-bottom:20px}
.checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.checks li{display:flex;align-items:flex-start;gap:12px}
.checks .ic{margin-top:6px;color:var(--mag)}
html[lang=en] .checks .ic{margin-top:3px}
.checks.light li{color:#FFF7EF}
.checks.light .ic{color:var(--amb)}
.dots{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}
.dots li{position:relative;padding-inline-start:22px}
.dots li::before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:10px;height:10px;background:var(--amb);clip-path:var(--star)}
html[lang=en] .dots li::before{top:.5em}
.pills{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pills li{padding:5px 14px;border-radius:999px;background:var(--blush);border:1px solid var(--line);font-size:14.5px;font-weight:600;color:var(--mag-ink);line-height:1.5}
.pills.sm{margin:0}
.pills.sm li{font-size:13.5px;padding:3px 12px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 18px;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;transition:border-color .2s,background-color .2s}
.pill-link:hover{border-color:var(--mag);background:#FFF3EC}
.pill-link .ic{color:var(--mag)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.card-soft{background:#fff;border:1px solid var(--line);border-radius:4px;padding:30px}
.card-soft h2{font-size:clamp(22px,2.4vw,28px);margin:.25em 0 .5em}
.deriv{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.deriv li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-radius:4px;background:var(--blush)}
.d-raw{font-weight:700;color:var(--night)}
.d-arrow{color:var(--amb-ink);display:inline-flex}
.d-der{font-weight:700;color:var(--mag-ink)}
.note{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;border-radius:4px;background:#fff;border:1px solid var(--line);border-inline-start:4px solid var(--amb)}
.note .ic{margin-top:6px;color:var(--amb-ink)}
.note p{margin:0}

/* CTA band */
.cta-band{position:relative;overflow:hidden;isolation:isolate;padding:clamp(64px,8vw,100px) 0;color:var(--on-night);background:linear-gradient(180deg,var(--night) 0%,#3E1430 58%,#6A1F3A 100%)}
.cta-band::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--dawn-grad)}
.cta-glow{position:absolute;z-index:-1;inset-inline-end:-8%;bottom:-70%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(242,169,59,.5) 0,rgba(224,116,63,.22) 34%,rgba(166,30,77,0) 64%)}
.cta-shamsa{position:absolute;z-index:-1;inset-inline-end:7%;bottom:-170px;width:400px;opacity:.38}
.cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px}
.cta-txt{max-width:640px}
.cta-txt h2{font-family:var(--f-disp);font-size:clamp(28px,3.4vw,46px);line-height:1.5;color:#FFF7EF;margin:.15em 0 .25em}
html[lang=en] .cta-txt h2{font-family:var(--f-head);line-height:1.12}
.cta-txt p{margin:0;color:var(--on-night-m)}
.cta-act{display:flex;flex-wrap:wrap;gap:12px}

/* footer */
.site-footer{position:relative;overflow:hidden;background:var(--night);color:var(--on-night-m)}
.site-footer .zel{position:relative;z-index:1}
.f-tiles{position:absolute;inset:18px 0 0;background:url(img/tile-star-light.svg) repeat;background-size:64px;opacity:.05;pointer-events:none}
.f-top{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) minmax(0,1.25fr);gap:40px;padding-top:60px;padding-bottom:36px}
.f-logo{width:64px;height:64px;margin-bottom:14px;color:var(--mag-l)}
.f-name{margin:0 0 10px;font-family:var(--f-disp);font-size:21px;line-height:1.6;color:#FFF7EF}
html[lang=en] .f-name{font-family:var(--f-head);font-size:17px;line-height:1.4}
.f-desc{font-size:15.5px;margin:0}
.f-col h2{margin-bottom:10px;font-size:16px;color:var(--amb-l)}
.f-col a{display:flex;align-items:center;min-height:40px;color:var(--on-night-m);text-decoration:none;font-size:15.5px}
.f-col a:hover{color:#FFF7EF}
.f-col a.btn{display:inline-flex;margin-top:14px;color:var(--night);font-size:15px}
.ln{display:flex;align-items:center;gap:10px;min-height:40px;font-size:15.5px}
.ln .ic{color:var(--amb)}
.f-bottom{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:20px;padding-bottom:28px;border-top:1px solid rgba(251,239,234,.12);font-size:14px}
.to-top{position:fixed;z-index:50;inset-inline-end:18px;bottom:18px;width:48px;height:48px;border:0;border-radius:4px;background:var(--mag);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility 0s linear .3s}
.to-top.show{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s}

/* ---------------------------------------------------------------- about */
.about-split{align-items:start}
.name-card{position:relative;overflow:hidden;isolation:isolate;padding:34px 30px;border-radius:4px;background:var(--night);color:var(--on-night-m)}
.name-card::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--dawn-grad)}
.nc-shamsa{position:absolute;z-index:-1;inset-inline-end:-80px;top:-80px;width:280px;opacity:.55}
.nc-k{margin:0;color:var(--amb-l);font-weight:700}
.nc-word{margin:0 0 6px;font-family:var(--f-disp);font-size:56px;line-height:1.5;color:#FFF7EF}
html[lang=en] .nc-word{font-family:var(--f-head);font-size:38px;line-height:1.2}
.name-card p:last-child{margin:0}
.vband{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(400px,58vh,580px);display:flex;align-items:center;color:#FFF7EF;background:var(--night)}
.vb-media{position:absolute;inset:0;z-index:-2}
.vb-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(36,12,26,.9) 0%,rgba(36,12,26,.62) 42%,rgba(36,12,26,.12) 78%)}
.vb-in{display:flex}
.vb-in>*{max-width:560px}
.vb-in{flex-direction:column;align-items:flex-start}
html[dir=rtl] .vb-in{align-items:flex-end}
.vb-in>p{text-align:start}
.vb-k{margin:0;color:var(--amb-l);font-weight:700}
.vb-quote{margin:.2em 0 0;font-family:var(--f-disp);font-size:clamp(28px,3.3vw,46px);line-height:1.6;text-shadow:0 2px 24px rgba(42,15,31,.65)}
html[lang=en] .vb-quote{font-family:var(--f-head);font-weight:600;line-height:1.25}
.roles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.role{background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px 18px}
.role h3{font-size:17px;margin:12px 0 6px}
.role p{margin:0;color:var(--muted);font-size:15px;line-height:1.75}
.scope{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.scope-col{padding:26px 28px;border:1px solid var(--line);border-radius:4px;background:#fff}
.scope-col h3{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:19px}
.scope-col.yes h3 .ic{color:#2E7D4F}
.scope-col.no h3 .ic{color:#B3261E}
.scope-col ul{margin:0;padding-inline-start:22px;display:grid;gap:8px}

/* ---------------------------------------------------------------- materials explorer */
.mx{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;align-items:start}
.mx-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mx-tile{all:unset;box-sizing:border-box;position:relative;width:100%;min-height:158px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 18px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;text-align:start;transition:border-color .25s,box-shadow .25s,background-color .25s}
.mx-tile:hover{border-color:rgba(242,169,59,.8)}
.mx-tile:focus-visible{outline:3px solid var(--amb);outline-offset:2px}
.mx-star{display:grid;place-items:center;width:58px;height:58px;background:var(--blush);color:var(--mag);clip-path:var(--star);transition:background-color .3s,color .3s,transform .5s}
.mx-star .ic{width:26px;height:26px}
.mx-name{font-family:var(--f-head);font-weight:700;font-size:18px;line-height:1.4;color:var(--night)}
.mx-tag{font-size:14.5px;line-height:1.6;color:var(--muted)}
.mx-tile[aria-selected=true]{border-color:var(--mag);background:#FFF5EE;box-shadow:inset 0 -3px 0 var(--amb)}
.mx-tile[aria-selected=true] .mx-star{background:var(--mag);color:#FFF7EF;transform:rotate(45deg)}
.mx-tile[aria-selected=true] .mx-star .ic{transform:rotate(-45deg)}
.mx-stage{position:relative;overflow:hidden;min-height:540px;scroll-margin-top:calc(var(--hh) + 12px);border:1px solid var(--line);border-radius:4px;background:#fff}
.mx-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:26px;align-items:start;padding:30px}
.mx-panel:focus-visible{outline:3px solid var(--amb);outline-offset:-3px}
.mx-p-txt h3{font-size:26px;margin:14px 0 6px}
.mx-intro{color:var(--muted)}
.mx-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.mx-panel h4{margin:0 0 8px;font-size:16px;color:var(--mag-ink)}
.mx-fig{position:sticky;top:calc(var(--hh) + 20px)}
.mx-fig .lt-in{aspect-ratio:3/4}
.shutter{position:absolute;inset:0;z-index:3;pointer-events:none}
.sh{position:absolute;top:0;bottom:0;width:50.5%;background:var(--mag-ink) url(img/lattice.svg) repeat;background-size:22px;transition:transform .95s cubic-bezier(.65,.05,.25,1) .1s}
.sh-a{left:0;box-shadow:inset -4px 0 0 var(--amb),18px 0 40px -10px rgba(42,15,31,.45)}
.sh-b{right:0;box-shadow:inset 4px 0 0 var(--amb),-18px 0 40px -10px rgba(42,15,31,.45)}
.sh::after{content:"";position:absolute;top:50%;width:34px;height:34px;margin-top:-17px;background:var(--amb);clip-path:var(--star)}
.sh-a::after{right:-17px}
.sh-b::after{left:-17px}
.mx-stage.open .sh-a{transform:translateX(calc(-100% - 26px))}
.mx-stage.open .sh-b{transform:translateX(calc(100% + 26px))}
.mx-stage:not(.open) .sh{transition:none}

/* ---------------------------------------------------------------- sun arc */
.arc{position:relative;max-width:1000px;margin:10px auto 0;aspect-ratio:1000/520}
.arc-vis{position:absolute;inset:0}
.arc-sky{position:absolute;inset:0 0 3.85% 0;border-radius:50% 50% 0 0/100% 100% 0 0;background:radial-gradient(ellipse at 50% 100%,rgba(242,169,59,.24) 0,rgba(224,116,63,.12) 32%,rgba(166,30,77,.06) 56%,rgba(166,30,77,0) 72%)}
.arc-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
html[dir=ltr] .arc-svg{transform:scaleX(-1)}
.arc-ground{fill:none;stroke:var(--line-2);stroke-width:2}
.arc-track{fill:none;stroke:rgba(126,21,56,.35);stroke-width:2.2;stroke-dasharray:3 11;stroke-linecap:round}
.arc-prog{fill:none;stroke:url(#arcg);stroke-width:5;stroke-linecap:round;stroke-dasharray:180;stroke-dashoffset:165;transition:stroke-dashoffset 1s cubic-bezier(.3,.7,.2,1)}
.arc[data-at="1"] .arc-prog{stroke-dashoffset:135}
.arc[data-at="2"] .arc-prog{stroke-dashoffset:105}
.arc[data-at="3"] .arc-prog{stroke-dashoffset:75}
.arc[data-at="4"] .arc-prog{stroke-dashoffset:45}
.arc[data-at="5"] .arc-prog{stroke-dashoffset:15}
.arc-dot{fill:#fff;stroke:var(--mag);stroke-width:3}
.arc-arm{position:absolute;left:50%;top:96.154%;width:42%;height:0;transform-origin:0 0;transform:rotate(-15deg);transition:transform 1s cubic-bezier(.3,.7,.2,1);pointer-events:none}
.arc[data-at="1"] .arc-arm{transform:rotate(-45deg)}
.arc[data-at="2"] .arc-arm{transform:rotate(-75deg)}
.arc[data-at="3"] .arc-arm{transform:rotate(-105deg)}
.arc[data-at="4"] .arc-arm{transform:rotate(-135deg)}
.arc[data-at="5"] .arc-arm{transform:rotate(-165deg)}
html[dir=ltr] .arc[data-at="0"] .arc-arm{transform:rotate(-165deg)}
html[dir=ltr] .arc[data-at="1"] .arc-arm{transform:rotate(-135deg)}
html[dir=ltr] .arc[data-at="2"] .arc-arm{transform:rotate(-105deg)}
html[dir=ltr] .arc[data-at="3"] .arc-arm{transform:rotate(-75deg)}
html[dir=ltr] .arc[data-at="4"] .arc-arm{transform:rotate(-45deg)}
html[dir=ltr] .arc[data-at="5"] .arc-arm{transform:rotate(-15deg)}
.arc-sun{position:absolute;left:100%;top:0;width:clamp(64px,8.4vw,84px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,236,190,.95) 0,rgba(247,196,110,.85) 30%,rgba(242,169,59,.55) 48%,rgba(224,116,63,.18) 62%,rgba(224,116,63,0) 71%)}
.arc-nodes{position:absolute;inset:0}
.node{position:absolute;width:0;height:0}
.node.n1{inset-inline-start:9.43%;top:75.25%}
.node.n2{inset-inline-start:20.3%;top:39.04%}
.node.n3{inset-inline-start:39.13%;top:18.13%}
.node.n4{inset-inline-start:60.87%;top:18.13%}
.node.n5{inset-inline-start:79.7%;top:39.04%}
.node.n6{inset-inline-start:90.57%;top:75.25%}
.node-btn{all:unset;box-sizing:border-box;position:absolute;left:-78px;top:-27px;width:156px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;border-radius:6px}
.node-btn .badge{--s:54px;transition:transform .35s}
.node-btn:hover .badge{transform:scale(1.08)}
.node-lbl{padding:2px 8px;border-radius:4px;background:rgba(255,248,243,.9);color:var(--night);font-weight:700;font-size:15px;line-height:1.45}
.node-btn[aria-selected=true] .badge{background:var(--mag)}
.node-btn[aria-selected=true] .badge::before{background:var(--amb)}
.node-btn[aria-selected=true] .badge b{color:var(--night)}
.node-btn[aria-selected=true] .node-lbl{background:var(--mag);color:#fff}
.node-btn:focus-visible{outline:3px solid var(--amb);outline-offset:4px}
.arc-ctrl{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:26px 0 22px}
.arc-count{margin:0;min-width:7.5em;text-align:center;font-weight:700;color:var(--mag-ink)}
.arc-panel{max-width:920px;margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:4px;background:#fff}
.arc-panel:focus-visible{outline:3px solid var(--amb);outline-offset:2px}
.ap-head{display:flex;align-items:center;gap:18px;margin-bottom:16px}
.ap-head h3{font-size:24px}
.ap-k{margin:0;font-size:14.5px;font-weight:700;color:var(--amb-ink)}
.ap-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}
.ap-body h4{margin-bottom:6px;font-size:16px;color:var(--mag-ink)}
.ap-body p{margin:0}
.ap-get{padding:16px 18px;border-radius:4px;background:var(--blush);border-inline-start:3px solid var(--amb)}

/* ---------------------------------------------------------------- quality / sectors / faq */
.docs{margin:0;display:grid;gap:12px}
.doc{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:4px;background:#fff}
.doc .ic{margin-top:6px;color:var(--mag)}
.doc dt{font-weight:700;color:var(--night)}
.doc dd{margin:2px 0 0;color:var(--muted);font-size:15.5px}
.table-wrap{overflow-x:auto;border-radius:4px}
.store{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.store th,.store td{padding:14px 16px;text-align:start;vertical-align:top;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.7}
.store thead th{background:var(--night);color:#FFF7EF;font-size:15px}
.store tbody th{color:var(--mag-ink);white-space:nowrap}
.safety{align-items:center}
.sector{padding:26px 22px;border:1px solid var(--line);border-radius:4px;background:#fff;scroll-margin-top:calc(var(--hh) + 24px);transition:border-color .3s,box-shadow .3s}
.sector:target{border-color:var(--amb);box-shadow:0 0 0 3px rgba(242,169,59,.35)}
.sector h3{font-size:19px;margin:14px 0 6px}
.sector p{color:var(--muted);font-size:15.5px;line-height:1.75}
.sector .s-k{margin:12px 0 8px;font-size:14px;font-weight:700;color:var(--mag-ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.filter{min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:15px;line-height:1.3;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.filter:hover{border-color:var(--mag)}
.filter[aria-pressed=true]{background:var(--mag);border-color:var(--mag);color:#fff}
.f-count{min-height:1.6em;margin:8px 0 16px;font-size:14.5px;color:var(--muted)}
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.faq-tools{margin-bottom:6px}
.search{position:relative;margin-bottom:16px}
.search .ic{position:absolute;top:50%;inset-inline-start:15px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search input{min-height:54px;padding-inline-start:46px;background:#fff}
.qa{margin-bottom:10px;border:1px solid var(--line);border-radius:4px;background:#fff;transition:border-color .25s}
.qa.open{border-color:rgba(242,169,59,.8)}
.qa h3{margin:0;font-size:inherit}
.qa button{all:unset;box-sizing:border-box;width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;cursor:pointer;font-family:var(--f-head);font-weight:700;font-size:17px;line-height:1.55;color:var(--night);text-align:start}
.qa button:focus-visible{outline:3px solid var(--amb);outline-offset:-3px}
.qa-ic{flex:none;width:22px;height:22px;background:var(--blush);clip-path:var(--star);box-shadow:inset 0 0 0 30px var(--blush);transition:transform .35s,background-color .3s}
.qa button:hover .qa-ic{background:#F7D9CE}
.qa.open .qa-ic{background:var(--amb);transform:rotate(45deg)}
.qa-a{display:none;padding:0 20px 18px;color:var(--muted)}
.qa.open .qa-a{display:block}
.qa-a p{margin:0}
.faq-empty{padding:18px 20px;border:1px dashed var(--line-2);border-radius:4px;background:#fff}
.side-card{position:sticky;top:calc(var(--hh) + 20px);overflow:hidden;isolation:isolate;padding:30px 28px;border-radius:4px;background:var(--night);color:var(--on-night-m)}
.side-card h2{font-size:22px;color:#FFF7EF;margin-bottom:8px}
.side-shamsa{position:absolute;z-index:-1;inset-inline-end:-70px;top:-70px;width:230px;opacity:.5}
.mail-link{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:14px;color:var(--amb-l);text-decoration:none;font-size:15.5px}

/* ---------------------------------------------------------------- forms + contact */
input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--line-2);border-radius:4px;background:var(--cream);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--mag);outline:3px solid rgba(242,169,59,.5);outline-offset:1px}
::placeholder{color:#97798A;opacity:1}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px;align-items:start}
.wiz-box{padding:clamp(20px,3vw,36px);border:1px solid var(--line);border-radius:4px;background:#fff;scroll-margin-top:calc(var(--hh) + 16px)}
.wiz-box>h2{font-size:clamp(24px,2.6vw,30px);margin-bottom:6px}
.wz-intro{color:var(--muted);font-size:16px}
.wz-prog{position:relative;list-style:none;margin:18px 0 4px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.wz-prog::before{content:"";position:absolute;inset-inline:12%;top:18px;height:2px;background:var(--line-2)}
.wz-prog li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:14px;font-weight:600;line-height:1.4;color:var(--muted)}
.wz-prog .badge{background:var(--line-2)}
.wz-prog .badge::before{background:#fff}
.wz-prog .badge b{color:var(--mag-ink)}
.wz-prog li.done .badge::before{background:var(--amb)}
.wz-prog li.done .badge b{color:var(--night)}
.wz-prog li.on{color:var(--mag-ink)}
.wz-prog li.on .badge{background:var(--amb)}
.wz-prog li.on .badge::before{background:var(--mag)}
.wz-prog li.on .badge b{color:#fff}
.wz-count{margin:0 0 18px;text-align:center;font-size:14.5px;color:var(--muted)}
.wstep{margin:0;padding:0;border:0;min-width:0}
.wstep legend{margin-bottom:14px;padding:0;font-family:var(--f-head);font-weight:700;font-size:20px;color:var(--night)}
.field{margin-bottom:16px}
.field label,.flabel{display:block;margin:0 0 6px;font-weight:700;font-size:15.5px;line-height:1.5;color:var(--ink)}
.req{margin-inline-start:4px;color:var(--mag)}
.opt{margin-inline-start:6px;font-weight:400;font-size:14px;color:var(--muted)}
.err{margin:6px 0 0;color:#B3261E;font-size:14px;font-weight:600;line-height:1.5}
.err:empty{display:none}
.field.bad :is(input,select,textarea){border-color:#B3261E;background:#FFF5F4}
.two-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
.wiz .chip span{border-color:var(--line-2);color:var(--ink);background:#fff}
.wiz .chip span:hover{border-color:var(--mag)}
.wiz .chip input:checked+span{background:var(--mag);border-color:var(--mag);color:#fff}
.check{display:flex!important;align-items:flex-start;gap:12px;font-weight:400!important;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:4px 0 0;accent-color:var(--mag)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hp input{width:1px;min-height:0;padding:0}
.live-box{margin-top:6px;padding:16px 18px;border:1px dashed var(--line-2);border-radius:4px;background:var(--blush)}
.live-box h3{margin-bottom:8px;font-size:16px}
.live-sum{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:15px;line-height:1.6}
.live-sum b{margin-inline-end:6px;color:var(--mag-ink)}
.wz-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px}
.wz-nav .next,.wz-nav .send{margin-inline-start:auto}
.form-ok h3{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:22px;color:var(--mag-ink)}
.form-ok h3 .ic{width:26px;height:26px;color:#2E7D4F}
.form-ok:focus{outline:none}
.summary{max-height:340px;overflow:auto;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--blush);font:inherit;font-size:15px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
.ok-act{display:flex;flex-wrap:wrap;gap:10px}
.c-side{display:grid;gap:18px}
.c-card{margin:0;padding:22px;border:1px solid var(--line);border-radius:4px;background:#fff}
.c-card h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:19px}
.c-line{display:flex;align-items:center;gap:14px;min-height:56px;padding:8px 0;color:inherit;text-decoration:none;border-top:1px solid var(--line)}
.c-card h2+.c-line{border-top:0}
.c-line b{display:block;font-size:14px;font-weight:600;line-height:1.4;color:var(--muted)}
a.c-line:hover span[dir]{color:var(--mag)}
.prov{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;border:1px solid rgba(168,104,26,.4);background:#FFF1DA;color:#74460C;font-size:13px;font-weight:700;line-height:1.6;font-family:var(--f-body)}
.hours{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 6px}
.hours .ic{color:var(--mag)}
.map{width:100%;height:auto;border:1px solid var(--line);border-radius:4px}
.map text{font-family:var(--f-head)}
.map-card figcaption{margin:10px 0 12px;font-size:14px;color:var(--muted)}
.map-btn{width:100%;white-space:normal;text-align:center}
.nexts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nexts li{display:flex;align-items:flex-start;gap:16px;padding:22px;border:1px solid var(--line);border-radius:4px;background:#fff}
.nexts h3{margin-bottom:4px;font-size:18px}
.nexts p{margin:0;color:var(--muted);font-size:15.5px}

/* reveal on scroll (added by app.js) */
html.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
html.js .rv.in{opacity:1;transform:none}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1100px){
  .roles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .f-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1020px){
  .g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-grid,.split,.two,.mx,.contact-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .sunsteps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}
  .sunsteps::before{display:none}
  .mx-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mx-stage{min-height:0}
  .side-card{position:relative;top:auto}
  .faq-side{max-width:520px}
  .nexts{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .ph-in{grid-template-columns:minmax(0,1fr);gap:36px}
  .ph-side{justify-self:start;max-width:440px}
  .ph-emblem{display:none}
  .phero{padding-bottom:60px}
  /* sun arc becomes a small arc + a vertical list of stages */
  .arc{aspect-ratio:auto;max-width:560px}
  .arc-vis{position:relative;width:min(100%,420px);margin:0 auto 18px;aspect-ratio:1000/520}
  .arc-dot{r:16px}
  .arc-sun{width:46px}
  .arc-nodes{position:static;display:grid;gap:8px}
  .node{position:static;width:auto;height:auto}
  .node-btn{position:static;width:100%;min-height:58px;flex-direction:row;gap:14px;padding:8px 14px;border:1px solid var(--line);background:#fff;text-align:start}
  .node-btn .badge{--s:40px}
  .node-lbl{padding:0;background:transparent;font-size:16px}
  .node-btn[aria-selected=true]{border-color:var(--mag);background:#FFF5EE}
  .node-btn[aria-selected=true] .node-lbl{background:transparent;color:var(--mag-ink)}
  .ap-body{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .hero{min-height:clamp(600px,100svh,820px)}
  .veil-side,html[dir=ltr] .veil-side{background:linear-gradient(0deg,rgba(36,12,26,.88) 0%,rgba(36,12,26,.6) 42%,rgba(36,12,26,0) 72%)}
  .h-in{padding-bottom:150px}
  .h-sun{width:min(110vw,520px);top:30%}
  .h-strip ul{gap:4px 20px;font-size:14.5px}
  .mx-panel{grid-template-columns:minmax(0,1fr);padding:22px}
  .mx-fig{position:relative;top:auto;max-width:420px}
  .mx-fig .lt-in{aspect-ratio:4/3}
  .vb-veil{background:linear-gradient(0deg,rgba(36,12,26,.9) 0%,rgba(36,12,26,.55) 60%,rgba(36,12,26,.2) 100%)}
  .vband{align-items:flex-end;padding:40px 0 90px}
  html[dir=rtl] .vb-in{align-items:flex-start}
  .scope{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:620px){
  .g4,.g3,.roles,.f-top{grid-template-columns:minmax(0,1fr)}
  .sunsteps{grid-template-columns:minmax(0,1fr);row-gap:18px}
  .sunsteps a{flex-direction:row;align-items:flex-start;gap:14px}
  .sunsteps a>span:not(.badge){display:block}
  .sunsteps a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px}
  .sunsteps a .badge{grid-row:span 2}
  .mx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-tile{min-height:0;padding:16px 14px}
  .mx-star{width:50px;height:50px}
  .two-f{grid-template-columns:minmax(0,1fr)}
  .h-act .btn,.cta-act .btn{width:100%}
  .h-act,.cta-act{width:100%}
  .ok-act .btn{width:100%}
  .wz-prog li span:not(.badge){font-size:13px}
  .store thead{display:none}
  .store,.store tbody,.store tr,.store th,.store td{display:block;width:100%}
  .store tr{border-bottom:1px solid var(--line)}
  .store th,.store td{border:0}
  .store tbody th{padding-bottom:0}
  .card-soft,.scope-col{padding:22px}
  .tile{padding:26px 20px 22px}
  .lattice{padding:9px}
  .f-bottom{flex-direction:column}
  .arc-ctrl .btn{flex:1 1 40%}
  .arc-count{order:-1;width:100%}
  .wz-nav .btn{flex:1 1 auto}
  .cta-shamsa{width:240px;bottom:-110px;opacity:.22}
  .h-sun{opacity:calc(.1 + var(--dawn) * .45)}
}

/* ---------------------------------------------------------------- reduced motion: static dawn, no transitions */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .hero,.phero{animation:none!important;--dl:.75}
  html.js .rv{opacity:1;transform:none}
}
