/* =========================================================
   Yasmina Academy – based on the Yasmina Cafe Brand Guidelines 2025
   Primary:   Espresso #382318 (Pantone 4975 C) · Caramel #AE6F29 (Pantone 7572 C) · Cream #F5E4D1 (P 15-1 C)
   Secondary: Red #8A181A · Green #3D6A3B · Mint #D4E9E2 · Stone #E3E1DD
   Type: Optima (primary, headlines) → Belleza web fallback; Creato Display (secondary, body) → Manrope
         Arabic pairing: El Messiri (headlines) + IBM Plex Sans Arabic (body)
   ========================================================= */
:root{
 --espresso:#382318; --espresso-2:#2a1a12; --caramel:#AE6F29; --caramel-d:#94591d; --cream:#F5E4D1;
 --red:#8A181A; --green:#3D6A3B; --mint:#D4E9E2; --stone:#E3E1DD;
 --paper:#FBF6EF; --ink:#382318; --muted:#6f5646; --line:#e7d6c2;
 --ff-head:Optima,"Optima nova","Belleza","Candara",serif;
 --ff-body:"Manrope","Creato Display",system-ui,-apple-system,"Segoe UI",sans-serif;
 --radius:22px; --ease:cubic-bezier(.22,.8,.24,1);
 --shadow:0 1px 2px rgba(56,35,24,.06),0 12px 40px -12px rgba(56,35,24,.22);
}
html[lang=ar]{ --ff-head:"El Messiri",serif; --ff-body:"IBM Plex Sans Arabic","Manrope",system-ui,sans-serif; }
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--ff-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html[lang=ar] body{font-size:17.5px;line-height:1.85}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--ff-head);font-weight:700;line-height:1.15;margin:0;letter-spacing:.005em}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{line-height:1.45;letter-spacing:0}
a{color:inherit}
.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}
.narrow{width:min(820px,100% - 2rem)}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--caramel);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{inset-inline-start:1rem}
:focus-visible{outline:3px solid var(--caramel);outline-offset:3px;border-radius:6px}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;
 padding:.8rem clamp(1rem,4vw,2.5rem);color:var(--cream);transition:background .35s var(--ease),box-shadow .35s,padding .35s var(--ease)}
.top.scrolled,.top.solid{background:rgba(42,26,18,.92);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 30px -12px rgba(0,0,0,.45);padding-block:.55rem}
.brandmark{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brandmark img{width:40px;height:40px;object-fit:contain}
.brandmark span{display:flex;flex-direction:column;line-height:1.1}
.brandmark b{font-family:var(--ff-head);font-size:1.15rem;letter-spacing:.02em}
.brandmark small{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#e2b984;opacity:.9}
.top nav{display:flex;gap:.6rem;align-items:center}
.toggle{font:600 .9rem var(--ff-body);color:var(--cream);background:transparent;border:1.5px solid rgba(245,228,209,.55);border-radius:999px;padding:.45rem 1rem;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.toggle:hover{background:var(--cream);color:var(--espresso);border-color:var(--cream)}
html[lang=en] .toggle{font-family:"IBM Plex Sans Arabic",sans-serif} html[lang=ar] .toggle{font-family:"Manrope",sans-serif}

/* ---------- buttons ---------- */
.btn{--bg:var(--espresso);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1rem/1 var(--ff-body);
 text-decoration:none;color:#fff;background:var(--bg);border:0;border-radius:999px;padding:1rem 1.8rem;cursor:pointer;
 transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;box-shadow:0 6px 18px -8px rgba(56,35,24,.6)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(56,35,24,.6)} .btn:active{transform:translateY(0) scale(.98)}
.btn-gold{--bg:var(--caramel)} .btn-gold:hover{--bg:var(--caramel-d)}
.btn-ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px rgba(245,228,209,.6)} .btn-ghost:hover{background:rgba(245,228,209,.1)}
.btn-sm{padding:.55rem 1.1rem;font-size:.88rem;--bg:var(--caramel)}
.btn.wide{display:flex;width:100%;margin-top:1.2rem}
.btn.disabled{--bg:#b9a690;pointer-events:none;box-shadow:none}
.arrow{display:inline-block;transition:transform .3s var(--ease)} .btn:hover .arrow{transform:translateX(4px)}
html[dir=rtl] .arrow{transform:scaleX(-1)} html[dir=rtl] .btn:hover .arrow{transform:scaleX(-1) translateX(4px)}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.92rem;cursor:pointer;margin:1rem auto 0;display:block}
.link:hover{color:var(--caramel)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--espresso-2);color:var(--cream);padding:clamp(6.5rem,12vw,9rem) 0 0;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;transform:scale(1.06);will-change:transform}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
 linear-gradient(90deg,rgba(42,26,18,.96) 0%,rgba(42,26,18,.86) 42%,rgba(42,26,18,.35) 100%),
 linear-gradient(0deg,rgba(42,26,18,1) 0%,rgba(42,26,18,0) 30%)}
html[dir=rtl] .hero::before{background:linear-gradient(270deg,rgba(42,26,18,.96) 0%,rgba(42,26,18,.86) 42%,rgba(42,26,18,.35) 100%),linear-gradient(0deg,rgba(42,26,18,1) 0%,rgba(42,26,18,0) 30%)}
.hero-pattern{position:absolute;inset:0;z-index:-1;background:url(../img/pattern-gold.png) 0 0/520px auto repeat;opacity:.07;pointer-events:none}
.hero-pattern.soft{opacity:.06}
.hero-inner{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.hero-logo{width:clamp(150px,20vw,250px);height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}
.hero-copy{max-width:40rem}
.eyebrow{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:#e2b984;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.7rem}
html[lang=ar] .eyebrow{letter-spacing:0;font-size:.95rem}
.eyebrow::before{content:"";width:34px;height:1.5px;background:var(--caramel)}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);color:#fff}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:rgba(245,228,209,.88);margin:1.2rem 0 1.5rem;max-width:34rem}
.seats{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:.95rem;background:rgba(174,111,41,.18);border:1px solid rgba(226,185,132,.45);color:#f3d3a7;border-radius:999px;padding:.5rem 1rem;margin:0}
.dot{width:9px;height:9px;border-radius:50%;background:#e2a25a;box-shadow:0 0 0 0 rgba(226,162,90,.7);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(226,162,90,.6)}70%{box-shadow:0 0 0 10px rgba(226,162,90,0)}100%{box-shadow:0 0 0 0 rgba(226,162,90,0)}}
.seats-sm{background:var(--cream);border-color:#e2c39b;color:var(--espresso);font-size:.88rem}
.ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3rem,7vw,5rem);border-top:1px solid rgba(245,228,209,.16)}
.stat{padding:1.6rem 1rem;display:flex;align-items:baseline;gap:.8rem}
.stat+.stat{border-inline-start:1px solid rgba(245,228,209,.16)}
.stat strong{font-family:var(--ff-head);font-size:clamp(2.2rem,4vw,3.2rem);color:var(--caramel);line-height:1}
.stat span{font-size:.92rem;color:rgba(245,228,209,.8);max-width:11rem;line-height:1.35}
/* hero entrance */
.h-in{animation:hin .9s var(--ease) both;animation-delay:calc(var(--d,0)*110ms + 120ms)}
@keyframes hin{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-logo.h-in{animation-name:logoin;animation-duration:1.1s}
@keyframes logoin{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}

/* ---------- sections ---------- */
.sec{position:relative;padding:clamp(4rem,9vw,7rem) 0;overflow:hidden}
.sec-cream{background:var(--cream)}
.sec-dark{background:var(--espresso);color:var(--cream);isolation:isolate}
.sec-head{text-align:center;max-width:42rem;margin:0 auto clamp(2rem,5vw,3.2rem)}
.sec-head.start{text-align:start;margin-inline:0}
.sec-head h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:.6rem 0 .6rem}
.sec-head p{color:var(--muted);margin:0;font-size:1.05rem}
.sec-dark .sec-head p{color:rgba(245,228,209,.8)} .sec-dark h2{color:#fff}
.diamonds{display:inline-flex;gap:3px}
.diamonds::before,.diamonds::after{content:"";width:11px;height:11px;background:var(--caramel);transform:rotate(45deg)}
.sec-head.start .diamonds{justify-content:flex-start}

.learn{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.learn li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:1rem;font-weight:600;font-size:1.05rem;
 transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.learn li:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#e2c39b}
.learn svg{width:46px;height:46px;fill:none;stroke:var(--caramel);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:var(--cream);border-radius:14px;padding:6px;transition:transform .4s var(--ease)}
.learn li:hover svg{transform:rotate(-6deg) scale(1.06)}

.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.photo{margin:0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.photo:hover img{transform:scale(1.04)}
.details{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-top:1px solid #e2c9ab}
.details>div{padding:1rem 0;border-bottom:1px solid #e2c9ab}
.details>div:not(.full):nth-child(odd){padding-inline-end:1rem}
.details .full{grid-column:1/-1}
.details dt{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--caramel);font-weight:700}
html[lang=ar] .details dt{letter-spacing:0;font-size:.92rem}
.details dd{margin:.2rem 0 0;font-weight:600}
html[dir=rtl] .addr{text-align:right}

.certs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:c}
.certs li{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;font-family:var(--ff-head);font-weight:700;font-size:1.15rem;line-height:1.3;
 transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.certs li::after{content:"";position:absolute;inset-inline:1.3rem;top:0;height:3px;background:var(--caramel);border-radius:0 0 3px 3px;transform:scaleX(.3);transform-origin:var(--o,left);transition:transform .5s var(--ease)}
html[dir=rtl] .certs li::after{--o:right}
.certs li:hover{transform:translateY(-4px);box-shadow:var(--shadow)} .certs li:hover::after{transform:scaleX(1)}
.certs .num{font-family:var(--ff-head);color:var(--caramel);font-size:.95rem;letter-spacing:.1em}
.certs small{font-family:var(--ff-body);font-weight:500;font-size:.78rem;color:var(--muted);margin-top:auto}
.plus{display:flex;align-items:center;gap:1rem;justify-content:center;margin:2rem auto 0;max-width:40rem;background:var(--cream);border-radius:999px;padding:.8rem 1.4rem;font-weight:700;text-align:start}
.plus img{width:40px;height:40px;object-fit:contain;flex:none}

.prices{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:760px;margin:0 auto}
.price{position:relative;border-radius:26px;padding:2rem 1.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;
 background:rgba(245,228,209,.06);border:1px solid rgba(245,228,209,.18);transition:transform .35s var(--ease),background .35s}
.price:hover{transform:translateY(-4px);background:rgba(245,228,209,.1)}
.price.hl{background:var(--cream);color:var(--espresso);border-color:var(--caramel);box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.price.hl:hover{background:#f8eadb}
.price .tag{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--caramel)}
html[lang=ar] .price .tag{letter-spacing:0;font-size:.95rem}
.price strong{font-family:var(--ff-head);font-size:clamp(3rem,7vw,4.2rem);line-height:1}
.price small{opacity:.8}
.disclaimer{max-width:760px;margin:1.6rem auto 0;font-size:.9rem;padding:1rem 1.2rem;border-radius:14px;background:rgba(245,228,209,.08);border-inline-start:3px solid var(--caramel);color:rgba(245,228,209,.85)}
.thanks .disclaimer{background:var(--cream);color:var(--muted);text-align:start}

/* ---------- form ---------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(1.3rem,4vw,2.5rem);box-shadow:var(--shadow)}
.steps{display:flex;list-style:none;padding:0;margin:0 0 1.5rem;gap:.6rem;position:relative}
.steps li{flex:1;display:flex;align-items:center;gap:.6rem;justify-content:center;padding:.7rem;border-radius:14px;background:var(--paper);color:var(--muted);font-weight:700;transition:background .4s var(--ease),color .4s}
.steps i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line);font-size:.85rem;transition:inherit}
.steps li.on{background:var(--espresso);color:var(--cream)} .steps li.on i{background:var(--caramel);border-color:var(--caramel);color:#fff}
.stage.enter{animation:stage .5s var(--ease) both}
@keyframes stage{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hint{font-size:.88rem;color:var(--muted);margin:0 0 .5rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.f{display:block;margin:1.1rem 0;border:0;padding:0;min-width:0}
.f>span,legend{font-weight:700;display:block;margin-bottom:.45rem;font-size:.95rem;padding:0}
input:not([type=checkbox]):not([type=radio]),textarea{width:100%;font:inherit;font-size:1rem;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);color:inherit;transition:border-color .2s,box-shadow .2s,background .2s}
input:hover,textarea:hover{border-color:#dcc2a3}
input:focus,textarea:focus{outline:none;border-color:var(--caramel);background:#fff;box-shadow:0 0 0 4px rgba(174,111,41,.16)}
textarea{resize:vertical}
.pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:.45rem .95rem;margin:.2rem;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s var(--ease);user-select:none}
.pill:hover{border-color:var(--caramel)}
.pill input{accent-color:var(--caramel);margin:0}
.pill:has(input:checked){background:var(--espresso);border-color:var(--espresso);color:var(--cream)}
.pill:has(input:focus-visible){outline:3px solid var(--caramel);outline-offset:2px}
.chk{display:flex;gap:.75rem;align-items:flex-start;margin:1.1rem 0;cursor:pointer}
.chk input{width:1.3rem;height:1.3rem;margin-top:.25rem;flex:none;accent-color:var(--caramel)}
.privacy{font-size:.85rem;color:var(--muted);background:var(--mint);border-radius:14px;padding:.8rem 1rem;margin:1.4rem 0 .4rem}
.invalid input:not([type=checkbox]):not([type=radio]),.invalid textarea{border-color:var(--red)!important;background:#fdf3f2}
.invalid>legend,.chk.invalid>span{color:var(--red)}
.ferr{color:var(--red);font-size:.88rem;font-weight:700;display:flex;gap:.35rem;align-items:center;margin-top:.35rem}
.ferr::before{content:"!";width:18px;height:18px;flex:none;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:.72rem}
.chk .ferr{flex-basis:100%}
.chk.invalid{flex-wrap:wrap}
.errbox{background:#fbeeee;border:1.5px solid var(--red);color:var(--red);border-radius:16px;padding:1rem 1.2rem;animation:shake .45s var(--ease)}
.errbox ul{margin:.4rem 0 0;padding-inline-start:1.2rem}.errbox a{color:inherit}
@keyframes shake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
#payStep h3{font-size:1.6rem;margin-bottom:.4rem}
.placeholder{background:#fff7e8;border:1.5px dashed var(--caramel);border-radius:14px;padding:.9rem 1rem;font-weight:700;margin-top:1rem}
.ref{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;text-align:center;background:var(--cream);border-radius:18px;padding:1rem;margin:1.2rem 0 .8rem}
.ref strong{font-family:"Manrope",monospace;font-size:1.5rem;letter-spacing:.08em;color:var(--espresso)}
.guide{background:var(--paper);border-inline-start:3px solid var(--green);border-radius:12px;padding:.9rem 1rem;color:var(--muted);margin:0}

/* ---------- footer / thanks ---------- */
.foot{position:relative;background:var(--espresso-2);color:rgba(245,228,209,.8);text-align:center;padding:3.5rem 0 2.5rem;isolation:isolate;overflow:hidden}
.foot-inner img{width:117px;height:auto;margin:0 auto 1rem}
.foot p{margin:.3rem 0;font-size:.92rem}.foot .small a{color:#e2b984;text-decoration:none}.foot .small a:hover{text-decoration:underline}
.thanks{position:relative;min-height:80vh;display:grid;place-items:center;padding:7rem 1rem 4rem;background:var(--cream);isolation:isolate}
.thanks .hero-pattern{opacity:.1}
.thanks .panel{max-width:620px;text-align:center}.thanks .panel>img{margin:0 auto 1rem;width:130px;height:auto}
.thanks h1{font-size:clamp(2rem,5vw,2.8rem);margin:.6rem 0}
.tick{width:64px;margin:0 auto}.tick svg{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tick circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw .9s var(--ease) .3s forwards}
.tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .5s var(--ease) 1s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.center{text-align:center}

/* ---------- scroll reveal (only when JS motion is active) ---------- */
.motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.motion .reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:900px){
 .learn{grid-template-columns:1fr 1fr}.certs{grid-template-columns:1fr 1fr}
 .split{grid-template-columns:1fr}.photo{aspect-ratio:16/10}
 .hero-inner{grid-template-columns:1fr;text-align:center;justify-items:center}
 .hero-copy{display:flex;flex-direction:column;align-items:center}.ctas{justify-content:center}
 .hero::before,html[dir=rtl] .hero::before{background:linear-gradient(180deg,rgba(42,26,18,.75),rgba(42,26,18,.92) 55%,rgba(42,26,18,1))}
}
@media (max-width:600px){
 body{font-size:16px} .top .btn-sm{display:none}
 .brandmark small{display:none}
 .learn,.certs,.prices,.row2,.details{grid-template-columns:1fr}
 .details>div:not(.full):nth-child(odd){padding-inline-end:0}
 .stats{grid-template-columns:1fr}.stat+.stat{border-inline-start:0;border-top:1px solid rgba(245,228,209,.16)}
 .stat{justify-content:center;padding:1.1rem}
 .plus{border-radius:20px}
 .ctas{flex-direction:column;width:100%}.ctas .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
 .hero-bg img{transform:none!important}
 .tick circle,.tick path{stroke-dashoffset:0}
}
[hidden]{display:none!important}
.f>span{display:inline-block}
.f>input,.f>textarea{display:block;margin-top:.45rem}

/* ===== v2.1 contrast + white form + faint pattern (Richard feedback) ===== */
:root{--bean-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg transform='rotate%28-30 12 12%29'%3E%3Cpath d='M11.3 2.05A7 10 0 0 0 11.3 21.95C8.6 18.6 14.2 15.4 11.3 12C8.4 8.6 14 5.4 11.3 2.05Z'/%3E%3Cpath d='M12.7 2.05A7 10 0 0 1 12.7 21.95C10 18.6 15.6 15.4 12.7 12C9.8 8.6 15.4 5.4 12.7 2.05Z'/%3E%3C/g%3E%3C/svg%3E");--on-dark:#FFFFFF;--on-dark-2:#FBF3EA;--gold-light:#F3D9B5;--caramel-text:#7A4A17}
/* dark surfaces: near-white text everywhere */
.top{color:var(--on-dark)} .brandmark small{color:var(--gold-light);opacity:1}
.toggle{color:var(--on-dark);border-color:rgba(255,255,255,.75)}
.eyebrow{color:var(--gold-light)}
.hero h1{color:var(--on-dark)} .lead{color:var(--on-dark-2)}
.seats{color:var(--on-dark);background:rgba(0,0,0,.35);border-color:rgba(243,217,181,.7)}
.seats-sm{color:var(--espresso);background:#fff;border-color:var(--caramel)}
.btn-ghost{color:var(--on-dark);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8)}
.stats{border-top-color:rgba(251,243,234,.3)} .stat+.stat{border-color:rgba(251,243,234,.3)}
.stat strong{color:var(--on-dark)} .stat span{color:var(--on-dark-2)}
.stat strong::after{content:"";display:block;width:22px;height:3px;background:var(--caramel);margin-top:.45rem;border-radius:2px}
.hero::before{background:linear-gradient(90deg,rgba(42,26,18,.97) 0%,rgba(42,26,18,.9) 48%,rgba(42,26,18,.55) 100%),linear-gradient(0deg,rgba(42,26,18,1) 0%,rgba(42,26,18,.85) 22%,rgba(42,26,18,0) 45%)}
html[dir=rtl] .hero::before{background:linear-gradient(270deg,rgba(42,26,18,.97) 0%,rgba(42,26,18,.9) 48%,rgba(42,26,18,.55) 100%),linear-gradient(0deg,rgba(42,26,18,1) 0%,rgba(42,26,18,.85) 22%,rgba(42,26,18,0) 45%)}
.sec-dark{background:var(--espresso-2)}
.sec-dark h2,.sec-dark .sec-head p{color:var(--on-dark)} .sec-dark .sec-head p{color:var(--on-dark-2)}
.price{color:var(--on-dark)} .price .tag{color:var(--gold-light)} .price small{opacity:1;color:var(--on-dark-2)}
.price.hl{color:var(--espresso)} .price.hl .tag{color:var(--caramel-text)} .price.hl small{color:var(--espresso)}
.sec-dark .disclaimer{color:var(--on-dark-2);background:rgba(255,255,255,.06)}
.foot{color:var(--on-dark-2)} .foot p{color:var(--on-dark-2)} .foot .small a{color:var(--gold-light)}
/* light-surface text that was too soft */
.sec-head p,.hint,.certs small,.guide,.privacy{color:#5a4334}
.learn svg,.certs .num,.details dt,.eyebrow-light{color:var(--caramel-text)} .learn svg{stroke:var(--caramel-text)}
.details dt,.certs .num{color:var(--caramel-text)}
/* form area: pure white */
#apply{background:#FFFFFF} #apply .panel{background:#FFFFFF;box-shadow:0 1px 2px rgba(56,35,24,.05),0 18px 50px -24px rgba(56,35,24,.25)}
#apply input:not([type=checkbox]):not([type=radio]),#apply textarea,#apply .pill{background:#FFFFFF}
#apply input:focus,#apply textarea:focus{background:#FFFFFF}
#apply .steps li{background:#FFFFFF;border:1.5px solid var(--line)} #apply .steps li.on{background:var(--espresso);border-color:var(--espresso)}
#apply .privacy{background:#FFFFFF;border:1.5px solid var(--line);border-inline-start:4px solid var(--green)}
#apply .ref{background:#FFFFFF;border:1.5px solid var(--caramel)}
#apply .guide{background:#FFFFFF;border:1.5px solid var(--line);border-inline-start:4px solid var(--green)}
#apply .placeholder{background:#FFFFFF}
#apply .pill:has(input:checked){background:var(--espresso)}
/* faint brand pattern on light sections */
.sec:not(.sec-dark):not(#apply){isolation:isolate}
.sec:not(.sec-dark):not(#apply)::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/pattern-gold.png) 0 0/520px auto repeat;opacity:.04;pointer-events:none}
.thanks .hero-pattern{opacity:.045}
/* AAA buttons: deep caramel from the brand's 100–80% caramel shade range */
.btn-gold,.btn-sm,.skip{--bg:#7A4A17;background:var(--bg)} .btn-gold:hover,.btn-sm:hover{--bg:#6E4214}
.price.hl .tag{color:var(--espresso)}
.steps li.on i{background:#7A4A17;border-color:#7A4A17}

/* ===== v2.2 coffee-bean motifs + depth gradients ===== */
.bean{display:inline-block;width:1em;height:1em;flex:none;background:var(--bean,var(--caramel));
 -webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat;vertical-align:-.12em}
.bean-div{display:flex;align-items:center;justify-content:center;gap:.7rem;color:var(--caramel)}
.bean-div::before,.bean-div::after{content:"";width:42px;height:1.5px;background:linear-gradient(90deg,transparent,var(--caramel))}
.bean-div::after{transform:scaleX(-1)}
.bean-div .bean{width:20px;height:20px;transition:transform .6s var(--ease)}
.sec-head:hover .bean-div .bean{transform:rotate(25deg)}
.sec-head.start .bean-div{justify-content:flex-start}.sec-head.start .bean-div::before{display:none}
.sec-dark .bean-div .bean,.sec-dark .bean-div{--bean:var(--gold-light)}
.eyebrow::before{display:none}.eyebrow .bean{--bean:var(--gold-light);width:15px;height:15px}
.stat strong::after{width:14px;height:14px;background:var(--gold-light);border-radius:0;-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
.certs .num{display:flex;align-items:center;gap:.4rem}.certs .num .bean{width:16px;height:16px;--bean:var(--caramel-text)}
.details dt{display:flex;align-items:center;gap:.4rem}
.details dt::before{content:"";width:12px;height:12px;flex:none;background:var(--caramel-text);-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
.details .req{background:#fff;border:1.5px solid var(--caramel);border-radius:14px;padding:1rem 1.1rem!important;margin:.8rem 0}
.details .req dd{font-weight:700}
.disclaimer{display:flex;gap:.7rem;align-items:flex-start}.disclaimer .bean{--bean:var(--gold-light);width:16px;height:16px;margin-top:.3rem}
.thanks .disclaimer .bean{--bean:var(--caramel-text)}
.errbox ul,.certs-list{list-style:none;padding-inline-start:0}
.errbox li{display:flex;gap:.5rem;align-items:flex-start}
.errbox li::before{content:"";width:12px;height:12px;flex:none;margin-top:.45rem;background:var(--red);-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
.learn li span::before{content:none}
.plus::before{content:"";width:14px;height:14px;flex:none;background:var(--caramel-text);-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
/* depth gradients on large colour blocks (all stops ≥ as dark as #382318) */
.hero{background:radial-gradient(120% 90% at 85% 10%,#382318 0%,#2a1a12 55%,#24150E 100%)}
.sec-dark{background:radial-gradient(110% 120% at 50% 0%,#3d2619 0%,#2a1a12 55%,#24150E 100%)}
.foot{background:linear-gradient(180deg,#2a1a12 0%,#24150E 100%)}
.top.scrolled,.top.solid{background:linear-gradient(180deg,rgba(56,35,24,.95),rgba(36,21,14,.95))}
.price{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}
.price.hl{background:linear-gradient(155deg,#FBF0E3 0%,#F5E4D1 55%,#EED6BA 100%)}
.price.hl:hover{background:linear-gradient(155deg,#fdf5ec 0%,#f7e8d7 55%,#f0dbc1 100%)}
.btn-gold,.btn-sm{background:linear-gradient(180deg,#7C4B18 0%,#714414 50%,#5E3810 100%)}
.btn-gold:hover,.btn-sm:hover{background:linear-gradient(180deg,#7A4A17 0%,#6A3F12 100%)}
.btn:not(.btn-gold):not(.btn-sm):not(.btn-ghost){background:linear-gradient(180deg,#452c1e,#2a1a12)}
.btn.disabled{background:#b9a690}
.steps li.on{background:linear-gradient(180deg,#452c1e,#2a1a12)!important}
.thanks{background:radial-gradient(90% 70% at 50% 0%,#FBF0E3 0%,#F5E4D1 70%)}

/* ===== v2.3 legal pages, guardian block, terms checkbox ===== */
html[lang=ar] .l-en,html[lang=en] .l-ar{display:none!important}
mark.tc{background:#FFE58A;color:#3a2200;font-weight:800;padding:.05em .4em;border-radius:6px;border:1.5px solid #C99A00;white-space:nowrap;font-size:.88em}
.legal{background:#fff}
.legal-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(110% 120% at 50% 0%,#3d2619 0%,#2a1a12 55%,#24150E 100%);color:#fff;padding:7.5rem 0 3rem;text-align:center}
.legal-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);color:#fff;margin:.6rem 0}
.legal-hero p{color:var(--on-dark-2);margin:0}
.legal-hero .bean-div{--bean:var(--gold-light)}.legal-hero .bean-div .bean{background:var(--gold-light)}
.legal-body{padding:2.5rem 0 4rem}
.draft{display:flex;gap:.6rem;align-items:center;background:#FFF8D6;border:1.5px solid #C99A00;border-radius:14px;padding:.8rem 1rem;font-weight:700;color:#3a2200}
.draft .bean{--bean:#7A4A17}
.toc{columns:2;gap:2rem;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:1.2rem 1.2rem 1.2rem 2.6rem;margin:1.5rem 0 2rem;font-weight:600}
html[dir=rtl] .toc{padding:1.2rem 2.6rem 1.2rem 1.2rem}
.toc{list-style:none}.toc li{break-inside:avoid;padding:.2rem 0;display:flex;gap:.5rem}
.toc li::before{content:"";width:11px;height:11px;margin-top:.55em;flex:none;background:var(--caramel-text);-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
.lsec{padding:1.4rem 0;border-top:1px solid var(--line)}
.lsec h2{font-size:1.45rem;margin-bottom:.6rem;color:var(--espresso)}
.lsec p,.lsec li{color:#3f2a1e}
.lsec ul{list-style:none;padding:0;margin:.4rem 0}
.lsec ul li{display:flex;gap:.6rem;padding:.3rem 0}
.lsec ul li::before{content:"";width:12px;height:12px;margin-top:.55em;flex:none;background:var(--caramel);-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
.lsec a,.chk.terms a{color:#7A4A17;font-weight:700;text-underline-offset:3px}
.foot-links a{color:var(--gold-light)}
.guard{border:1.5px solid var(--caramel);border-radius:18px;padding:1rem 1.2rem;margin:1rem 0;background:#fff;animation:stage .4s var(--ease)}
.guard h4{margin:0 0 .2rem;font-family:var(--ff-head);font-size:1.15rem;display:flex;gap:.5rem;align-items:center}
.guard h4::before{content:"";width:14px;height:14px;background:var(--caramel-text);-webkit-mask:var(--bean-mask) center/contain no-repeat;mask:var(--bean-mask) center/contain no-repeat}
@media (max-width:600px){.toc{columns:1}}
.lsec a,.legal a{overflow-wrap:anywhere;word-break:break-word}
mark.tc{white-space:normal;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.legal,.legal-body{overflow-wrap:anywhere}
