/* السكينة — plum, dusty rose and sage on a soft off-white. Ruqaa for display, Tajawal for text. */
:root{
  --plum:#4A2545; --plum-2:#6B3A63; --rose:#C99BA6; --rose-soft:#F1E6EA; --sage:#8FA58F; --sage-soft:#E9EEE8;
  --bg:#FAF7F8; --surface:#FFFFFF; --ink:#3A2236; --muted:#7B6A77; --line:#EADDE2; --ok:#2F7A4B; --err:#A3192B;
  --f-display:"Aref Ruqaa","Amiri",serif; --f-body:"Tajawal","Segoe UI",system-ui,sans-serif; --f-ijaza:"Amiri","Noto Naskh Arabic",serif;
  --r:14px; --max:1120px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.8}
img{max-width:100%}
a{color:var(--plum-2)}
:focus-visible{outline:2px solid var(--plum-2);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:700;color:var(--plum);line-height:1.35;text-wrap:balance;margin:0}
h2{font-size:clamp(28px,4vw,38px)}
h3{font-size:22px}
p{margin:0}
.lead{color:var(--muted);max-width:62ch}
.eyebrow{font-size:14px;font-weight:700;color:var(--sage);letter-spacing:.02em}
html[lang="en"] .eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px}

/* header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;padding-block:12px}
.brand{display:grid;text-decoration:none;color:var(--plum);line-height:1.2}
.brand b{font-family:var(--f-display);font-size:26px}
.brand small{font-size:12px;color:var(--muted)}
.nav{display:flex;gap:22px;margin-inline-start:auto;font-size:15px}
.nav a{color:var(--ink);text-decoration:none;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:var(--plum-2);text-decoration:underline;text-underline-offset:6px}
.langbtn{border:1px solid var(--line);background:var(--surface);color:var(--plum);border-radius:99px;padding:4px 14px;font:inherit;font-size:14px;cursor:pointer}
@media (max-width:820px){
  .top .wrap{flex-wrap:wrap;gap:8px 14px}
  .nav{order:3;width:100%;overflow-x:auto;gap:18px;padding-bottom:4px;margin:0}
  .langbtn{margin-inline-start:auto}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 22px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--plum);color:#fff}
.btn-primary:hover{background:var(--plum-2)}
.btn-sage{background:var(--sage);color:#fff}
.btn-ghost{background:var(--surface);color:var(--plum);border:1px solid var(--line)}
.btn-sm{padding:7px 14px;font-size:14px;border-radius:9px}
.btn[disabled]{opacity:.55;cursor:wait}
.wa-ico{width:18px;height:18px;flex:none}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--rose-soft);border-radius:28px;margin-top:24px;padding:clamp(36px,7vw,84px) clamp(22px,6vw,72px)}
.hero h1{font-size:clamp(34px,6vw,62px);max-width:16ch;position:relative}
.hero .lead{font-size:clamp(17px,2vw,20px);margin-top:16px;position:relative;color:#5d4a58}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;position:relative}
.hero::before{content:"";position:absolute;inset-inline-end:-60px;bottom:-120px;width:340px;height:340px;border-radius:50%;border:3px solid var(--rose);opacity:.55}
.hero::after{content:"";position:absolute;inset-inline-end:60px;bottom:-40px;width:190px;height:190px;border-radius:50%;background:var(--sage);opacity:.3}
.hero .ayah{position:relative;margin-top:30px;font-family:var(--f-ijaza);font-size:20px;color:var(--plum-2)}
@media (max-width:640px){.hero::before{width:220px;height:220px;bottom:-110px}.hero::after{width:120px;height:120px}}

section{padding-block:clamp(48px,8vw,88px)}
.sec-head{display:grid;gap:10px;margin-bottom:30px}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:820px){.about{grid-template-columns:1fr}}
.about p+p{margin-top:14px}
.facts{display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.fact{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.fact i{width:10px;height:10px;border-radius:50%;background:var(--rose);margin-top:10px}
.fact b{color:var(--plum)}

/* programs */
.progs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.prog{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:8px;align-content:start}
.prog h3{font-size:21px}
.prog p{color:var(--muted);font-size:15.5px}
.prog .chip{justify-self:start;font-size:12.5px;background:var(--sage-soft);color:#4f6a4f;border-radius:99px;padding:2px 10px;font-weight:700}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:s}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.step{counter-increment:s;padding:22px;border-radius:18px;background:var(--sage-soft);display:grid;gap:6px}
.step::before{content:counter(s);font-family:var(--f-display);font-size:30px;color:var(--sage);line-height:1}
.step b{color:var(--plum)}
.step p{font-size:15.5px;color:#55605a}

/* forms */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,36px)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
@media (max-width:640px){.form{grid-template-columns:1fr}}
.form .full{grid-column:1/-1}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:15px;color:var(--plum)}
.field small{color:var(--muted);font-size:13px}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #DCCBD2;border-radius:10px;padding:10px 12px;width:100%}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--rose);border-color:var(--plum-2)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.msg{border-radius:12px;padding:12px 16px;font-weight:700}
.msg.ok{background:#E6F2EA;color:var(--ok)}
.msg.err{background:#FBE9EC;color:var(--err)}

/* verify box (home) */
.vbox{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--plum);color:#fff;border-radius:22px;padding:clamp(20px,4vw,34px)}
.vbox h2{color:#fff;font-size:28px;flex:1 1 260px}
.vbox form{display:flex;gap:10px;flex:1 1 360px}
.vbox input{direction:ltr;text-align:center;letter-spacing:.06em}
.vbox .btn:not(.btn-primary){background:var(--rose);color:var(--plum)}

/* sanad page */
.chain{display:grid;gap:14px}
.sheikh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 22px;align-items:center}
.sheikh b{font-family:var(--f-ijaza);font-size:22px;color:var(--plum)}
.sheikh span{color:var(--muted);font-size:15.5px;grid-column:1}
.sheikh em{font-style:normal;grid-row:1/3;grid-column:2;background:var(--rose-soft);color:var(--plum);border-radius:99px;padding:4px 14px;font-size:14px;font-weight:700;white-space:nowrap}
@media (max-width:640px){.sheikh{grid-template-columns:1fr}.sheikh em{grid-row:auto;grid-column:1;justify-self:start}}
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.docs figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px}
.docs img{border-radius:10px;width:100%;height:340px;object-fit:cover;object-position:top}
.docs figcaption{font-size:14px;color:var(--muted)}

/* footer */
footer{background:var(--plum);color:#EBDCE4;margin-top:40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;padding-block:36px}
footer b{font-family:var(--f-display);font-size:24px;color:#fff}
footer a{color:#fff}
footer small{display:block;opacity:.75;font-size:13px}
.fab{position:fixed;inset-inline-start:max(18px,env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.fab svg{width:30px;height:30px}

/* ===== Ijaza document (template ٢ المخطوطة). Sized in cqw so it scales from preview to A4 print. ===== */
.ijaza-a4{container-type:inline-size;width:100%;aspect-ratio:210/297;position:relative;background:#FDFBF5;overflow:hidden;color:#2B2116;direction:rtl}
.ijaza-a4 .frame{position:absolute;inset:6cqw;border:.35cqw solid #A9863A;outline:.18cqw solid #A9863A;outline-offset:1.2cqw;padding:6cqw 6.5cqw 4.5cqw;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;gap:calc(1.8cqw * var(--ij-scale,1))}
.ijaza-a4 .corner{position:absolute;width:8cqw;height:8cqw;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23F3E7C6' stroke='%23A9863A' stroke-width='1'%3E%3Crect x='10' y='10' width='20' height='20'/%3E%3Crect x='10' y='10' width='20' height='20' transform='rotate(45 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='4' fill='none' stroke='%23A9863A'/%3E%3C/svg%3E") center/contain no-repeat}
.ijaza-a4 .c1{top:-1.2cqw;right:-1.2cqw}.ijaza-a4 .c2{top:-1.2cqw;left:-1.2cqw}.ijaza-a4 .c3{bottom:-1.2cqw;right:-1.2cqw}.ijaza-a4 .c4{bottom:-1.2cqw;left:-1.2cqw}
.ijaza-a4 .bas{font-family:var(--f-ijaza);font-size:calc(4.8cqw * var(--ij-scale,1))}
.ijaza-a4 .ttl{font-family:var(--f-ijaza);font-weight:700;font-size:16cqw;line-height:1.05;margin-top:-1cqw}
.ijaza-a4 .sub{font-family:var(--f-ijaza);font-size:calc(4cqw * var(--ij-scale,1));color:#A9863A;line-height:1.5}
.ijaza-a4 .rule{width:30cqw;height:1px;background:#A9863A;position:relative;margin:1cqw 0}
.ijaza-a4 .rule::after{content:"۞";position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);background:#FDFBF5;color:#A9863A;padding:0 1.6cqw;font-size:3.4cqw;line-height:1}
.ijaza-a4 .txt{font-family:var(--f-ijaza);font-size:calc(3.7cqw * var(--ij-scale,1));line-height:1.9;max-width:100%}
.ijaza-a4 .txt.small{font-size:calc(3.1cqw * var(--ij-scale,1));color:#5a4a36}
.ijaza-a4 .lbl{font-family:var(--f-ijaza);font-weight:700;font-size:calc(3.9cqw * var(--ij-scale,1));color:#A9863A}
.ijaza-a4 .nm{font-family:var(--f-ijaza);font-weight:700;font-size:calc(6.4cqw * var(--ij-scale,1));line-height:1.35}
.ijaza-a4 .nm.s{font-size:calc(7.6cqw * var(--ij-scale,1));color:#4A2545}
.ijaza-a4 .foot{width:108%;margin-inline:-4%;display:flex;justify-content:space-between;align-items:flex-end;gap:2cqw}
.ijaza-a4 .qrbox{display:grid;gap:.6cqw;justify-items:center}
.ijaza-a4 .qr{width:14cqw;height:14cqw;image-rendering:pixelated;background:#fff;padding:.8cqw}
.ijaza-a4 .serial{white-space:nowrap;font-family:"Tajawal",sans-serif;font-size:2.1cqw;direction:ltr;letter-spacing:.04em}
.ijaza-a4 .date{flex:1;font-family:var(--f-ijaza);font-size:2.9cqw;line-height:1.6}
.ijaza-a4 .stamp{width:28cqw;transform:rotate(-7deg);opacity:.92;mix-blend-mode:multiply}
.ijaza-a4 .void{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.ijaza-a4 .void span{transform:rotate(-24deg);border:1cqw solid rgba(163,25,43,.55);color:rgba(163,25,43,.6);font-family:var(--f-ijaza);font-weight:700;font-size:12cqw;padding:1cqw 6cqw;border-radius:2cqw}
.ijaza-shell{box-shadow:0 14px 40px rgba(74,37,69,.16);border-radius:4px;overflow:hidden;max-width:620px;margin-inline:auto;width:100%}

/* verify page */
.vres{display:grid;gap:22px}
.status{display:flex;gap:12px;align-items:center;border-radius:14px;padding:14px 18px;font-weight:700}
.status i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;flex:none}
.status.ok{background:#E6F2EA;color:var(--ok)}.status.ok i{background:var(--ok)}
.status.bad{background:#FBE9EC;color:var(--err)}.status.bad i{background:var(--err)}
.kv{width:100%;border-collapse:collapse;background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.kv td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.kv tr:last-child td{border-bottom:0}
.kv td:first-child{color:var(--muted);width:34%;white-space:nowrap}
.kv td:last-child{font-weight:700}
.vgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:860px){.vgrid{grid-template-columns:1fr}}

/* print: only the ijaza, full A4 page */
@media print{
  @page{size:A4;margin:0}
  body *{visibility:hidden}
  .print-me,.print-me *{visibility:visible}
  .print-me{position:fixed;inset:0;width:210mm!important;max-width:none!important;box-shadow:none!important}
}

/* ===================== Motion ===================== */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* hero */
.hero .rosette{position:absolute;inset-inline-end:clamp(-90px,-4vw,-30px);top:50%;width:clamp(240px,38vw,460px);height:auto;transform:translateY(-50%);pointer-events:none;opacity:.9}
.rosette .spin{transform-origin:0 0;animation:spin 140s linear infinite}
.rosette circle,.rosette polygon,.rosette rect{fill:none;stroke:var(--plum-2);stroke-width:.8;opacity:.22;transition:stroke-dashoffset 2.4s cubic-bezier(.6,.1,.2,1)}
.rosette .l3{stroke:var(--rose);stroke-width:1.4;opacity:.75}
.rosette .l5{fill:var(--sage);fill-opacity:.25;stroke:var(--sage);opacity:.8}
.rosette .dot{fill:var(--rose);stroke:none;opacity:0;transition:opacity .6s calc(1.6s + var(--i) * 60ms)}
.rosette.drawn circle,.rosette.drawn polygon,.rosette.drawn rect{stroke-dashoffset:0!important}
.rosette.drawn .dot{opacity:.8;animation:twinkle 3.6s calc(var(--i) * .22s) ease-in-out infinite}
.hero::before{animation:breathe 9s ease-in-out infinite}
.hero::after{animation:breathe 7s 1s ease-in-out infinite}
.hero h1.words .w{display:inline-block;animation:rise .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 90ms + .1s)}
.hero .lead{animation:rise .9s .7s both}
.hero .cta{animation:rise .9s .9s both}
.hero .ayah{animation:rise .9s 1.1s both;background:linear-gradient(90deg,var(--plum-2) 0%,var(--plum-2) 40%,#B08D3C 50%,var(--plum-2) 60%,var(--plum-2) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.hero .ayah{animation:rise .9s 1.1s both,shimmer 6s 2s linear infinite}
@media (max-width:820px){.hero .rosette{opacity:.35;inset-inline-end:-80px;width:300px}}

/* scroll reveal */
.rv{opacity:0;transform:translateY(26px)}
.rv.in,.in{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}

/* program cards */
.prog{position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s}
.prog::after{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:linear-gradient(90deg,var(--rose),var(--sage));transform:scaleX(0);transform-origin:var(--o,right);transition:transform .45s ease}
html[dir="ltr"] .prog::after{--o:left}
.prog:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(74,37,69,.12);border-color:var(--rose)}
.prog:hover::after{transform:scaleX(1)}
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn-primary:hover::after{transform:translateX(120%)}

/* steps: line that draws across */
.steps{position:relative}
@media (min-width:821px){
  .steps::before{content:"";position:absolute;top:44px;inset-inline:8%;height:2px;background:repeating-linear-gradient(90deg,var(--sage) 0 8px,transparent 8px 14px);transform:scaleX(0);transform-origin:var(--o,right);transition:transform 1.4s .3s ease;z-index:0}
  html[dir="ltr"] .steps::before{--o:left}
  .steps.in::before{transform:scaleX(1)}
  .step{position:relative;z-index:1}
}

/* the ten Imams wheel */
.qurra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
@media (max-width:860px){.qurra{grid-template-columns:1fr}}
.qurra .hint{font-size:14px;color:var(--sage);font-weight:700}
.wheel{--R:min(42vw,215px);position:relative;width:calc(var(--R) * 2 + 90px);max-width:100%;aspect-ratio:1;margin-inline:auto}
.wheel-ring{position:absolute;inset:45px;width:calc(100% - 90px);height:calc(100% - 90px);animation:spin 90s linear infinite}
.wheel-ring circle{fill:none;stroke:var(--rose);stroke-width:.6;stroke-dasharray:2 5}
.wheel-ring .inner{stroke:var(--sage);stroke-dasharray:1 3;opacity:.7}
.wheel .core{position:absolute;inset:0;margin:auto;width:calc(var(--R) * 1.15);height:calc(var(--R) * 1.15);border-radius:50%;background:var(--rose-soft);display:grid;place-content:center;text-align:center;gap:4px;padding:16px;box-shadow:inset 0 0 0 6px #fff,0 10px 30px rgba(74,37,69,.12)}
.wheel .core small{color:var(--sage);font-weight:700;font-size:13px}
.wheel .core b{font-family:var(--f-display);font-size:clamp(22px,4vw,32px);color:var(--plum);line-height:1.3}
.wheel .core span{font-family:var(--f-ijaza);font-size:clamp(15px,2.4vw,19px);color:var(--plum-2)}
.wheel .core.swap>*{animation:rise .5s both}
.wheel .core.swap span{animation-delay:.12s}
.node{position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--plum);font:inherit;font-size:13px;font-weight:700;line-height:1.25;cursor:pointer;padding:6px;display:grid;place-items:center;
  transform:rotate(var(--a)) translate(var(--R)) rotate(calc(var(--a) * -1));transition:background .3s,color .3s,box-shadow .3s,transform .4s}
.node:hover{border-color:var(--rose)}
.node.on{background:var(--plum);color:#fff;border-color:var(--plum);box-shadow:0 0 0 6px rgba(201,155,166,.35);transform:rotate(var(--a)) translate(var(--R)) rotate(calc(var(--a) * -1)) scale(1.12)}
.wheel.rv .node{opacity:0}
.wheel.in .node{opacity:1;transition:opacity .5s calc(var(--i) * 70ms),background .3s,color .3s,box-shadow .3s,transform .4s}
@media (max-width:480px){.wheel{--R:min(36vw,150px)}.node{width:64px;height:64px;margin:-32px;font-size:11.5px}}

/* sanad chain with a golden line */
.chain{position:relative;padding-inline-start:34px}
.chain::before{content:"";position:absolute;inset-inline-start:11px;top:18px;bottom:18px;width:2px;background:linear-gradient(var(--rose),#B08D3C);transform:scaleY(0);transform-origin:top;transition:transform 1.8s .2s ease}
.chain.in::before{transform:scaleY(1)}
.chain>*{position:relative}
.chain>*::before{content:"";position:absolute;inset-inline-start:-29px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--surface);border:2px solid var(--rose)}
.chain .self,.chain .prophet{background:var(--plum);color:#fff;border-radius:16px;padding:16px 22px;font-family:var(--f-ijaza);font-size:21px;font-weight:700}
.chain .prophet{background:linear-gradient(135deg,#B08D3C,#8C6A22);text-align:center}
.chain .self::before,.chain .prophet::before{background:#B08D3C;border-color:#B08D3C}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  .rosette .spin,.wheel-ring,.hero::before,.hero::after{animation:none}
}
/* hero: the rosette replaces the plain circles */
.hero::before,.hero::after{display:none}
html[lang="ar"] .step::before{content:counter(s,arabic-indic)}

/* hero with the arch (mihrab) image */
.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,64px);align-items:center}
.hero-text{position:relative;z-index:1;min-width:0}
.arch{position:relative;margin:0;width:clamp(240px,27vw,340px);aspect-ratio:3/4.4;z-index:1;animation:rise 1.1s .3s both}
.arch::before{content:"";position:absolute;inset:-12px;border:1.5px solid #B08D3C;border-radius:999px 999px 26px 26px;opacity:.7}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:999px 999px 18px 18px;display:block;box-shadow:0 24px 50px rgba(30,40,35,.28);animation:kenburns 26s ease-in-out infinite alternate}
.arch{border-radius:999px 999px 18px 18px;overflow:visible}
.arch img{clip-path:inset(0 round 999px 999px 18px 18px)}
@keyframes kenburns{from{transform:scale(1);object-position:50% 40%}to{transform:scale(1.08);object-position:50% 55%}}
.arch{overflow:hidden;border-radius:999px 999px 18px 18px;outline:1.5px solid rgba(176,141,60,.7);outline-offset:10px}
.arch::before{display:none}
.hero .rosette{inset-inline-end:auto;inset-inline-start:auto;left:auto;right:auto}
html[dir="rtl"] .hero .rosette{left:clamp(-120px,-6vw,-40px)}
html[dir="ltr"] .hero .rosette{right:clamp(-120px,-6vw,-40px)}
.hero .rosette{width:clamp(320px,44vw,560px);opacity:.75}
.hero h1{max-width:14ch}
@media (max-width:820px){
  .hero{grid-template-columns:1fr}
  .arch{order:-1;width:min(62vw,250px);justify-self:center}
  html[dir="rtl"] .hero .rosette,html[dir="ltr"] .hero .rosette{left:50%;right:auto;top:150px;transform:translate(-50%,-50%);width:420px;opacity:.5}
}
@media (prefers-reduced-motion:reduce){.arch img{animation:none}}

/* header: hides while scrolling down, comes back on scroll up */
.top{transition:transform .35s ease,box-shadow .35s ease;will-change:transform}
.top.hide{transform:translateY(-110%)}
.top.shadow{box-shadow:0 6px 18px rgba(74,37,69,.08)}
.nav{scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
@media (max-width:820px){
  .top .wrap{padding-block:8px;gap:4px 12px}
  .brand b{font-size:22px}
  .brand small{font-size:11px}
  .nav{font-size:14px;gap:16px;padding-bottom:2px}
  .langbtn{padding:2px 12px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){.top{transition:none}}
