/* Crownfort Private Services — Direction C (Balanced) */

@font-face{
  font-family:'Fraunces';
  src:url('/assets/fonts/fraunces.woff2') format('woff2');
  font-weight:300 600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Manrope';
  src:url('/assets/fonts/manrope.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Noto Naskh Arabic';
  src:url('/assets/fonts/naskh-arabic.woff2') format('woff2');
  font-weight:400 600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'IBM Plex Sans Arabic';
  src:url('/assets/fonts/plex-arabic-400.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'IBM Plex Sans Arabic';
  src:url('/assets/fonts/plex-arabic-700.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}

:root{
  --bg:#F7F4EE;
  --bg-raised:#EEE8DC;
  --ink:#292B2D;
  --ink-soft:rgba(41,43,45,.64);
  --ink-faint:rgba(41,43,45,.42);
  --navy:#172231;
  --navy-ink:#F5F1E8;
  --stone:#B8AD9D;
  --stone-ink:#5C5346;
  --bronze:#9C7F52;
  --rule:rgba(23,34,49,.14);
  --rule-strong:rgba(23,34,49,.28);
  --band-bg:#172231;
  --band-ink:#F5F1E8;
  --band-ink-soft:rgba(245,241,232,.68);
  --band-rule:rgba(245,241,232,.2);

  /* Muted Champagne — the site's single disciplined accent. Used sparingly:
     decorative dashes, pillar hairlines, portrait corner-brackets, select
     numerals on navy, and the Hero's secondary label tier. Structural
     eyebrow TEXT uses ink/pearl-soft per context, not this color. */
  --champagne:#C6B17A;

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html[dir="rtl"]{
  --font-display:'Noto Naskh Arabic','Fraunces', serif;
  --font-body:'IBM Plex Sans Arabic','Manrope', sans-serif;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#141D29; --bg-raised:#1B2634;
    --ink:#EDE7DA; --ink-soft:rgba(237,231,218,.68); --ink-faint:rgba(237,231,218,.42);
    --navy:#0E1620; --navy-ink:#F5F1E8;
    --stone:#8C8172; --stone-ink:#D9D2C4; --bronze:#C8A876;
    --rule:rgba(237,231,218,.14); --rule-strong:rgba(237,231,218,.26);
    --band-bg:#F5F1E8; --band-ink:#172231; --band-ink-soft:rgba(23,34,49,.66); --band-rule:rgba(23,34,49,.16);
  }
}
:root[data-theme="dark"]{
  --bg:#141D29; --bg-raised:#1B2634;
  --ink:#EDE7DA; --ink-soft:rgba(237,231,218,.68); --ink-faint:rgba(237,231,218,.42);
  --navy:#0E1620; --navy-ink:#F5F1E8;
  --stone:#8C8172; --stone-ink:#D9D2C4; --bronze:#C8A876;
  --rule:rgba(237,231,218,.14); --rule-strong:rgba(237,231,218,.26);
  --band-bg:#F5F1E8; --band-ink:#172231; --band-ink-soft:rgba(23,34,49,.66); --band-rule:rgba(23,34,49,.16);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; overflow-x:hidden;}
body{overflow-x:hidden;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font-body); font-weight:400; line-height:1.65; font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-display); font-weight:400; margin:0;
  text-wrap:balance; color:var(--ink); letter-spacing:-.01em;
}
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4{ letter-spacing:normal; line-height:1.55; }
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
::selection{background:var(--bronze); color:var(--navy-ink);}
:focus-visible{outline:2px solid var(--bronze); outline-offset:3px;}

.wrap{max-width:1180px; margin:0 auto; padding-inline:clamp(20px,5vw,64px);}

.eyebrow{
  font-family:var(--font-body); font-weight:700; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint);
  display:inline-flex; align-items:center; gap:.6em;
}
.eyebrow::before{content:''; inline-size:1.4em; block-size:1px; background:var(--champagne); display:inline-block;}
html[dir="rtl"] .eyebrow{ letter-spacing:normal; text-transform:none; font-weight:700; }

/* ---------- header ---------- */
header.site{
  position:sticky; inset-block-start:0; z-index:50;
  background:color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter:blur(10px) saturate(1.1);
  border-block-end:1px solid var(--rule);
}
.site-inner{
  max-width:1180px; margin-inline:auto; padding-inline:clamp(20px,5vw,64px);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  block-size:64px;
}
.brand{
  font-family:var(--font-display); font-weight:500; font-size:1.05rem;
  letter-spacing:.02em; color:var(--ink); white-space:nowrap; flex-shrink:0;
}
html[dir="rtl"] .brand{ letter-spacing:normal; }
.site-nav{display:flex; align-items:center; gap:clamp(12px,3vw,32px); min-width:0;}
.site-nav .btn{display:none;}
@media(min-width:560px){.site-nav .btn{display:inline-block;}}
.site-links{display:none; align-items:center; gap:clamp(16px,3vw,28px);}
@media(min-width:760px){.site-links{display:flex;}}
.site-links a{
  font-size:.8rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-soft); border-block-end:1px solid transparent; padding-block:4px;
  transition:color .15s ease, border-color .15s ease;
}
html[dir="rtl"] .site-links a{ letter-spacing:normal; text-transform:none; font-weight:600; }
.site-links a:hover{color:var(--ink); border-color:var(--bronze);}
.langsw{display:flex; align-items:center; gap:.5em; font-size:.72rem; font-weight:700; letter-spacing:.06em;}
.langsw a, .langsw span{color:var(--ink-faint); padding:2px 1px;}
.langsw a:hover{color:var(--ink);}
.langsw .current{color:var(--bronze);}
.langsw .sep{color:var(--rule-strong);}
@media(max-width:640px){
  .site-inner{padding-inline:12px; gap:8px;}
  .langsw{gap:.3em; font-size:.6rem; letter-spacing:normal;}
}
.btn{
  display:inline-block; font-family:var(--font-body); font-weight:700; font-size:.74rem;
  letter-spacing:.08em; text-transform:uppercase; padding:11px 20px;
  background:var(--navy); color:var(--navy-ink); border:1px solid var(--navy);
  transition:opacity .15s ease; white-space:nowrap;
}
html[dir="rtl"] .btn{ letter-spacing:normal; text-transform:none; }
.btn:hover{opacity:.85;}
.btn-ghost{background:transparent; color:var(--band-ink); border:1px solid var(--band-ink);}

/* ---------- hero ---------- */
.hero{
  position:relative; isolation:isolate;
  min-block-size:min(92vh, 900px); display:flex; align-items:flex-end;
  padding-block:clamp(48px,9vh,88px);
  color:var(--navy-ink);
}
.hero-media{position:absolute; inset:0; z-index:-2;}
.hero-media img{inline-size:100%; block-size:100%; object-fit:cover; display:block;}
.hero-media::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(10,16,24,.50) 0%, rgba(10,16,24,.28) 32%, rgba(10,16,24,.02) 58%),
    linear-gradient(0deg, rgba(10,16,24,.80) 0%, rgba(10,16,24,.56) 20%, rgba(10,16,24,.26) 44%, rgba(10,16,24,.05) 70%, rgba(10,16,24,0) 100%);
}
html[dir="rtl"] .hero-media::after{
  background:
    linear-gradient(260deg, rgba(10,16,24,.50) 0%, rgba(10,16,24,.28) 32%, rgba(10,16,24,.02) 58%),
    linear-gradient(0deg, rgba(10,16,24,.80) 0%, rgba(10,16,24,.56) 20%, rgba(10,16,24,.26) 44%, rgba(10,16,24,.05) 70%, rgba(10,16,24,0) 100%);
}
.hero-content{position:relative; max-width:46ch;}
.hero .eyebrow{color:var(--champagne); text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hero .eyebrow::before{background:var(--champagne); box-shadow:0 1px 6px rgba(0,0,0,.4);}
.hero-word{
  font-family:var(--font-display); font-weight:420;
  font-size:clamp(2.6rem,9vw,6.6rem); line-height:.98; margin-block-start:.4em; color:#fff;
  text-shadow:0 2px 32px rgba(0,0,0,.45), 0 1px 4px rgba(0,0,0,.3);
}
.hero-word small{
  display:block; font-size:.22em; line-height:1.5; font-weight:500; letter-spacing:.34em; text-transform:uppercase;
  color:rgba(245,241,232,.78); margin-block-start:.7em; font-family:var(--font-body);
}
html[dir="rtl"] .hero-word{ line-height:1.35; font-weight:500; }
html[dir="rtl"] .hero-word small{
  letter-spacing:normal; text-transform:none; font-size:.32em; line-height:1.7; margin-block-start:.5em;
}
.hero-arch{
  margin-block-start:clamp(22px,4vh,36px); display:flex; gap:.9em; flex-wrap:wrap;
  font-family:var(--font-body); font-weight:700; font-size:.85rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--champagne); line-height:1.6;
  text-shadow:0 1px 10px rgba(0,0,0,.5);
}
html[dir="rtl"] .hero-arch{ letter-spacing:normal; text-transform:none; }
.hero-sub{
  margin-block-start:clamp(20px,4vh,32px); max-width:42ch; font-size:1.12rem; color:rgba(255,255,255,.92);
  text-shadow:0 1px 20px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.35);
}
.hero-cta{margin-block-start:clamp(26px,5vh,36px);}
.hero-signature{margin-block-start:clamp(18px,3.2vh,28px);}
.hero-signature-name{font-family:var(--font-body); font-weight:700; font-size:.95rem; letter-spacing:.02em; color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hero-signature-tag{margin-block-start:.3em; font-size:.92rem; color:rgba(255,255,255,.8); text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hero .btn{background:#fff; color:var(--navy); border-color:#fff;}
.hero .btn:hover{opacity:.9;}

/* ---------- generic section ---------- */
section{padding-block:clamp(56px,9vh,100px);}
section + section{border-block-start:1px solid var(--rule);}
.section-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(20px,4vw,40px);}
@media(min-width:860px){.section-grid{grid-template-columns:minmax(0,260px) minmax(0,1fr); gap:clamp(20px,2.5vw,28px);}}
.section-title{
  font-size:clamp(1.6rem,3.2vw,2.15rem); font-weight:400; max-width:34ch;
  margin-block-start:.6em;
}
.lede{max-width:52ch; font-size:1.02rem; color:color-mix(in srgb, var(--ink) 70%, transparent);}

/* ---------- section background rhythm ---------- */
.section-stone{background:var(--bg-raised);}
.section-navy{background:var(--navy); color:var(--navy-ink);}
.section-navy .eyebrow{color:var(--band-ink-soft);}
.section-navy .eyebrow::before{background:var(--champagne);}
.section-navy .section-title{color:var(--navy-ink);}
.section-navy .lede{color:rgba(245,241,232,.72);}

/* ---------- pillars ---------- */
.pillars{display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); margin-block-start:8px;}
@media(min-width:760px){.pillars{grid-template-columns:repeat(3,1fr);}}
.pillar{background:var(--bg); padding:clamp(24px,3vw,32px);}
.pillar-img{aspect-ratio:4/5; overflow:hidden; margin-block-end:22px;}
.pillar-img img{inline-size:100%; block-size:100%; object-fit:cover; display:block;}
.pillar h3{font-family:var(--font-display); font-weight:500; font-size:1.3rem; margin-block-end:.5em;}
.pillar p{font-size:.95rem; color:var(--ink-soft);}

.section-navy .pillars{background:rgba(245,241,232,.16); border-color:rgba(245,241,232,.16);}
.section-navy .pillar{background:var(--navy);}
.section-navy .pillar h3{color:var(--navy-ink); font-weight:400; font-size:1.5rem; position:relative; padding-inline-start:1.2em;}
.section-navy .pillar h3::before{content:''; position:absolute; inset-inline-start:0; top:.35em; inline-size:.7em; block-size:1px; background:var(--champagne);}
.section-navy .pillar p{color:rgba(245,241,232,.72);}
.pillar-examples{list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:6px;}
.pillar-examples li{position:relative; padding-inline-start:1.1em; font-size:.82rem; line-height:1.4; color:var(--ink-faint);}
.pillar-examples li::before{content:'–'; position:absolute; inset-inline-start:0; color:var(--stone);}
.section-navy .pillar-examples li{color:rgba(245,241,232,.5);}
.section-navy .pillar-examples li::before{color:var(--champagne);}

/* ---------- photo band ---------- */

/* ---------- why list ---------- */
.why-list{display:flex; flex-direction:column; gap:0; margin-block-start:8px;}
.why-item{
  padding-block:20px; border-block-start:1px solid var(--rule);
  display:grid; grid-template-columns:2em 1fr; gap:14px; align-items:baseline;
}
.why-item:first-child{border-block-start:none;}
.why-item .n{font-family:var(--font-display); font-weight:340; color:var(--stone-ink); font-size:1.1rem;}
.why-item p{font-size:1rem;}

/* ---------- why-crownfort principles grid ---------- */
.principles-grid{display:grid; gap:0; margin-block-start:8px;}
.principle{padding-block:20px; border-block-start:1px solid var(--rule);}
@media(min-width:760px){
  .principles-grid{grid-template-columns:1fr 1fr; column-gap:40px;}
  .principles-grid .principle:nth-child(1),
  .principles-grid .principle:nth-child(2){border-block-start:none;}
}
@media(min-width:1024px){
  .principles-grid{grid-template-columns:1fr 1fr 1fr;}
  .principles-grid .principle:nth-child(3){border-block-start:none;}
}
.principle .n{display:block; font-family:var(--font-display); font-weight:340; color:var(--stone-ink); font-size:1.05rem; margin-block-end:.3em;}
.principle h4{
  font-family:var(--font-body); font-weight:700; font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--bronze); margin:0 0 .5em;
}
html[dir="rtl"] .principle h4{letter-spacing:normal; text-transform:none;}
.principle p{font-size:.92rem; color:var(--ink-soft); margin:0;}

/* ---------- about / founder ---------- */
.about-grid{display:grid; gap:clamp(32px,5vw,64px); align-items:center;}
@media(min-width:760px){.about-grid{grid-template-columns:280px 1fr;}}
.portrait{
  position:relative; aspect-ratio:4/5; background:var(--bg-raised); border:1px solid var(--rule);
  max-width:240px; margin-inline:auto;
}
.portrait img{inline-size:100%; block-size:100%; object-fit:cover; display:block;}
@media(min-width:760px){.portrait{max-width:none; margin-inline:0;}}
.portrait::before{
  content:''; position:absolute; inset-block-start:-10px; inset-inline-start:-10px;
  inline-size:36px; block-size:36px; border-block-start:1px solid var(--champagne); border-inline-start:1px solid var(--champagne);
}
html[dir="rtl"] .portrait::before{ inset-inline-start:auto; inset-inline-end:-10px; border-inline-start:none; border-inline-end:1px solid var(--champagne); }
.portrait::after{
  content:''; position:absolute; inset-block-end:-10px; inset-inline-end:-10px;
  inline-size:36px; block-size:36px; border-block-end:1px solid var(--champagne); border-inline-end:1px solid var(--champagne);
}
html[dir="rtl"] .portrait::after{ inset-inline-end:auto; inset-inline-start:-10px; border-inline-end:none; border-inline-start:1px solid var(--champagne); }
.about-copy p{font-size:1.12rem; color:rgba(41,43,45,.76); max-width:52ch;}
.about-copy p + p{margin-block-start:1em;}
.about-copy p:first-child{font-family:var(--font-display); font-size:1.4rem; font-weight:400; color:var(--ink); line-height:1.4;}

.facts{margin-block-start:22px; max-width:240px; margin-inline:auto; display:flex; flex-direction:column; gap:12px;}
@media(min-width:760px){.facts{margin-inline:0;}}
.facts .fact{padding-block-start:12px; border-block-start:1px solid var(--rule);}
.facts .fact:first-child{padding-block-start:0; border-block-start:none;}
.facts dt{font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze); margin-block-end:.3em;}
html[dir="rtl"] .facts dt{letter-spacing:normal; text-transform:none;}
.facts dd{margin:0; font-size:.86rem; color:var(--ink-soft); line-height:1.5;}

/* ---------- credibility (FR home) ---------- */
.credibility-grid{display:grid; gap:clamp(28px,4.5vw,56px); align-items:center;}
@media(min-width:760px){.credibility-grid{grid-template-columns:420px 1fr;}}
.credibility-grid .portrait{max-width:360px; aspect-ratio:0.7;}
@media(min-width:760px){.credibility-grid .portrait{max-width:none;}}
.credibility-grid .portrait img{object-position:90% 0%;}
.credibility-p{max-width:44ch; margin-block-start:14px;}
.credibility-p:first-of-type{margin-block-start:18px;}
.credibility-identity{margin-block-start:24px;}
.credibility-name{font-family:var(--font-display); font-weight:500; font-size:1.05rem; color:var(--ink); margin:0;}
.credibility-role{font-size:.86rem; color:var(--ink-soft); margin:.25em 0 0;}
.credibility-grid .copy-cta-link{margin-block-start:20px;}

/* ---------- how we work ---------- */
.hw-grid{display:grid; gap:1px; background:var(--rule); border:1px solid var(--rule); margin-block-start:8px;}
@media(min-width:760px){.hw-grid{grid-template-columns:repeat(3,1fr);}}
.hw-item{background:var(--bg); padding:clamp(24px,3vw,30px);}
.hw-item h3{font-family:var(--font-display); font-weight:500; font-size:1.15rem; margin-block-end:.5em;}
.hw-item p{font-size:.92rem; color:var(--ink-soft);}
.hw-item .n{display:block; font-family:var(--font-display); font-weight:340; color:var(--stone-ink); font-size:1rem; margin-block-end:.4em;}
.hw-item .hw-note{font-size:.8rem; color:var(--ink-faint); margin-block-start:8px;}
.hw-item .price{
  font-family:var(--font-body); font-weight:700; color:var(--ink); font-size:.86rem;
  margin-block-start:12px; padding-block-start:12px; border-block-start:1px solid var(--rule);
}

/* ---------- contact band ---------- */
.band{background:var(--band-bg); color:var(--band-ink);}
.band .eyebrow{color:var(--band-ink-soft);}
.band .eyebrow::before{background:var(--champagne);}
.band h2{color:var(--band-ink); max-width:20ch; font-size:clamp(1.8rem,4vw,2.6rem); font-weight:400;}
.band .langs{margin-block-start:20px; color:var(--band-ink-soft); font-size:.9rem;}
.band .lede{color:var(--band-ink-soft); max-width:56ch;}
.band-cta{margin-block-start:32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;}

/* ---------- discreet secondary contact links (WhatsApp / email) ---------- */
/* Used both on the navy contact band and inside the porcelain booking panel;
   colour is supplied by the surrounding context, not by this rule. */
.discreet-links{
  margin-block-start:18px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-size:.88rem; font-weight:600; letter-spacing:.03em;
}
html[dir="rtl"] .discreet-links{ letter-spacing:normal; }
.band .discreet-links{color:var(--band-ink-soft);}
.booking-fallback .discreet-links{color:var(--ink-soft); justify-content:center;}
.discreet-links a{border-block-end:1px solid transparent; padding-block-end:1px; color:inherit;}
.discreet-links a:hover{border-color:currentColor;}
.discreet-links a.is-pending{opacity:.5; cursor:default;}
.discreet-links .sep{opacity:.4;}

/* ---------- booking modal ---------- */
.booking-overlay{
  display:none; position:fixed; inset:0; z-index:200;
  align-items:center; justify-content:center; padding:24px;
  background:rgba(14,22,32,.62); backdrop-filter:blur(6px);
}
.booking-overlay.is-open{display:flex;}
html.modal-open{overflow:hidden;}
.booking-panel{
  position:relative; background:var(--bg); max-width:480px; inline-size:100%;
  max-height:88vh; overflow-y:auto; border:1px solid var(--rule);
  box-shadow:0 24px 64px rgba(14,22,32,.35); padding:clamp(32px,5vw,48px);
}
.booking-close{
  position:absolute; inset-block-start:14px; inset-inline-end:14px;
  inline-size:36px; block-size:36px; display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; line-height:1; color:var(--ink-faint); background:none; border:none; cursor:pointer;
  font-family:var(--font-body);
}
.booking-close:hover{color:var(--ink);}
.booking-title{font-size:1.5rem; font-weight:400; margin-block-start:.6em;}
.booking-duration{margin-block-start:.4em; font-size:.85rem; color:var(--ink-faint);}
.booking-intro{margin-block-start:14px; font-size:.95rem; color:var(--ink-soft);}
.booking-body{margin-block-start:26px; padding-block-start:22px; border-block-start:1px solid var(--rule);}
.booking-body .calendly-inline-widget{display:none;}
.booking-body.is-ready .calendly-inline-widget{display:block;}
.booking-body.is-ready .booking-fallback{display:none;}
.booking-fallback p{font-size:.98rem; color:var(--ink-soft); text-align:center;}
@media(max-width:640px){
  .booking-overlay{padding:0;}
  .booking-panel{max-width:none; inline-size:100%; max-height:none; block-size:100%; border:none;}
}

/* ---------- take-off-your-desk (flowing list, deliberately not a card grid) ---------- */
.take-list{margin-block-start:26px; display:flex; flex-direction:column; gap:22px;}
.take-item h4{
  font-family:var(--font-body); font-weight:700; font-size:.7rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--bronze); margin-block-end:.5em;
}
html[dir="rtl"] .take-item h4{letter-spacing:normal; text-transform:none;}
.take-item p{font-size:.98rem; color:var(--ink-soft); max-width:62ch;}
.take-list.delegate-grid{display:grid; gap:0;}
@media(min-width:760px){
  .take-list.delegate-grid{grid-template-columns:1fr 1fr; column-gap:40px;}
  .take-list.delegate-grid .why-item:nth-child(2){border-block-start:none;}
}

/* ---------- how-it-works steps ---------- */
.steps-grid{display:grid; gap:1px; background:rgba(245,241,232,.16); border:1px solid rgba(245,241,232,.16); margin-block-start:8px;}
@media(min-width:760px){.steps-grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:760px) and (max-width:1099px){.steps-grid.method-grid{grid-template-columns:repeat(2,1fr);}}
.step-item{background:var(--navy); padding:clamp(22px,3vw,28px);}
.step-item .snum{font-family:var(--font-display); font-weight:340; color:var(--champagne); font-size:1.3rem;}
.step-item h5{
  font-family:var(--font-body); font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy-ink); margin:.6em 0 .5em;
}
html[dir="rtl"] .step-item h5{letter-spacing:normal; text-transform:none;}
.step-item p{font-size:.88rem; color:rgba(245,241,232,.72);}

/* ---------- when-useful scenarios ---------- */
.scenario-list{margin-block-start:20px;}
.scenario-item{padding-block:14px; border-block-start:1px solid var(--rule); font-size:1rem; color:var(--ink-soft);}
.scenario-item:first-of-type{border-block-start:none;}
.scenario-item.has-head{padding-block:22px;}
.scenario-head{font-family:var(--font-body); font-weight:700; font-size:.82rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); margin:0 0 .5em;}
html[dir="rtl"] .scenario-head{letter-spacing:normal; text-transform:none;}
.scenario-head .n{font-family:var(--font-display); font-weight:340; color:var(--bronze); text-transform:none; letter-spacing:normal; margin-inline-end:.2em;}
.scenario-item.has-head p{font-size:.98rem; color:var(--ink-soft); margin:0;}

/* ---------- standard built locally (compact bridge) ---------- */
.standard-compact{padding-block:clamp(36px,6vh,56px);}
.standard-compact .section-grid{max-width:640px;}
.standard-title{font-size:clamp(1.3rem,2.6vw,1.7rem); font-weight:400;}
.copy-cta-link{
  display:inline-block; margin-block-start:16px; font-family:var(--font-body); font-weight:700;
  font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--champagne);
  border-block-end:1px solid transparent;
}
html[dir="rtl"] .copy-cta-link{letter-spacing:normal; text-transform:none;}
.copy-cta-link:hover{border-color:var(--champagne);}

/* ---------- private conversation close ---------- */
.privconv-tag{margin-block-start:22px; font-size:.78rem; color:var(--band-ink-soft); letter-spacing:.04em;}
html[dir="rtl"] .privconv-tag{letter-spacing:normal;}

/* ---------- footer ---------- */
footer.site{padding-block:28px; border-block-start:1px solid var(--rule);}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:.78rem; color:var(--ink-faint);}

.footer-legal{display:inline-flex; align-items:center; gap:.5em;}
.footer-legal a{color:inherit;}
.footer-legal a:hover{color:var(--ink);}
.footer-legal .sep{opacity:.4;}

.mono-ltr{unicode-bidi:isolate; direction:ltr; display:inline-block;}

/* ---------- legal / privacy documentation pages ---------- */
.legal-copy{margin-block-start:28px; max-width:70ch;}
.legal-copy h2{
  font-family:var(--font-body); font-weight:700; font-size:.95rem;
  color:var(--ink); margin-block-start:2.2em; margin-block-end:.6em;
}
.legal-copy h2:first-child{margin-block-start:0;}
.legal-copy p{font-size:1rem; line-height:1.7; color:var(--ink-soft); margin-block-start:.9em;}
.legal-copy h2 + p{margin-block-start:0;}
.legal-copy .legal-identity{line-height:1.65;}
.legal-copy em{font-style:italic; color:var(--ink-faint);}
.legal-copy a{color:inherit; text-decoration:underline; text-decoration-color:var(--rule-strong); text-underline-offset:2px;}
.legal-copy a:hover{text-decoration-color:currentColor;}
.legal-date{margin-block-start:.6em; font-size:.85rem; color:var(--ink-faint);}

@media(prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth;} }
