*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* FORM MODAL (scoped — only used on events page for workshop reservation) */
.form-modal-overlay{display:none;position:fixed;inset:0;z-index:900;background:rgba(26,10,20,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:1rem}
.form-modal-overlay.open{display:flex}
.form-modal{background:#fff;border-radius:20px;width:100%;max-width:660px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.25);animation:modalIn .3s cubic-bezier(.34,1.56,.64,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.form-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid rgba(184,136,58,.18);flex-shrink:0;background:#FFFBF5}
.form-modal-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:1.15rem;color:#2A1520}
.form-modal-close{width:36px;height:36px;border-radius:50%;border:none;background:rgba(212,105,138,.12);color:#D4698A;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;line-height:1;flex-shrink:0}
.form-modal-close:hover{background:#D4698A;color:#fff;transform:scale(1.05)}
.form-modal iframe{flex:1;width:100%;min-height:520px;border:none;background:#fff}
@media(max-width:700px){.form-modal{max-height:95vh;border-radius:14px}.form-modal iframe{min-height:480px}.form-modal-title{font-size:1.05rem}}

:root{
  --rose:#D4698A;--rose-light:#E8A0B5;--rose-pale:#FAE4EC;--rose-soft:#F5D0DD;
  --sage:#1E6B42;--sage-pale:#EBF5F0;--sage-soft:#A8D4C2;
  --gold:#B8883A;--gold-pale:#FAF3E8;
  --cream:#FFF2F5;--text:#2A1520;--text-mid:#5C3545;--text-muted:#9A7080;
  --border:rgba(212,105,138,.13);--border-light:rgba(212,105,138,.08);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;width:100%}
body{font-family:'Nunito',sans-serif;background:var(--cream);color:var(--text);line-height:1.75;overflow-x:hidden;width:100%;max-width:100%;font-size:16px;-webkit-font-smoothing:antialiased}

/* Default paragraph rhythm — only applies if no class-specific rule overrides.
   Uses :where() to keep specificity at 0 so any .my-class{margin:0} wins. */
:where(p){margin-bottom:1rem}
:where(p:last-child){margin-bottom:0}

#progress{position:fixed;top:0;left:0;height:3px;z-index:999;width:0%;background:linear-gradient(90deg,var(--rose),var(--sage),var(--gold));transition:width .1s}

/* NAV */
nav#mainNav{position:fixed;top:0;left:0;right:0;z-index:501;height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#FBF6EE;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(184,136,58,.22);transition:box-shadow .3s}
nav#mainNav::after{content:'';position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:140px;height:1px;background:linear-gradient(90deg,transparent,#C9973A,transparent);opacity:.55;pointer-events:none}
nav#mainNav.scrolled{box-shadow:0 2px 16px rgba(184,136,58,.12)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.45rem;font-weight:700;text-decoration:none;background:linear-gradient(135deg,var(--sage),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;line-height:1}
.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav-links a{font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .2s;position:relative;padding-bottom:3px;white-space:nowrap;font-family:'Nunito',sans-serif}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;border-radius:2px;background:var(--rose);transition:width .3s}
.nav-links a:hover,.nav-links a.active{color:var(--rose)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{display:inline-flex !important;align-items:center !important;justify-content:center !important;height:36px;padding:0 1.3rem !important;border-radius:999px;background:var(--rose) !important;color:#fff !important;font-weight:700 !important;font-size:14px !important;letter-spacing:.1em !important;line-height:1 !important;white-space:nowrap;transition:opacity .2s,transform .2s !important;border:none !important;font-family:'Nunito',sans-serif !important}
.nav-cta::after{display:none !important}
.nav-cta:hover{opacity:.88;transform:translateY(-1px) !important;color:#fff !important}

/* ── Nav socials (desktop only) ─────────────────────────────── */
.nav-socials{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-left:1.4rem;
  padding-left:1.4rem;
  border-left:1px solid rgba(184,136,58,.22);
}
.nav-social{
  width:32px;
  height:32px;
  background:transparent;
  border:1px solid rgba(184,136,58,.25);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:transform .2s,border-color .2s,background .2s;
  color:#A67820;
}
.nav-social svg{width:13px;height:13px;transition:color .2s}
.nav-social:hover{
  transform:translateY(-1px);
  border-color:rgba(184,136,58,.45);
  background:rgba(184,136,58,.06);
}
.nav-social-ig:hover svg{color:#E1306C}
.nav-social-fb:hover svg{color:#1877F2}
.nav-social-li:hover svg{color:#0A66C2}

.nav-toggle{display:none;cursor:pointer;background:none;border:none;padding:6px;flex-direction:column;gap:5px;-webkit-tap-highlight-color:transparent}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text-mid);border-radius:2px;transition:all .3s}

/* HERO */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 6% 160px;position:relative;overflow:visible;background:linear-gradient(160deg,#FAE4EC 0%,#FFF2F5 55%,#EDF6F2 100%)}
.hero-arch{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:min(700px,120%);height:min(320px,38vw);border-radius:350px 350px 0 0;border:1.5px solid rgba(212,105,138,.12);border-bottom:none;background:rgba(212,105,138,.02);pointer-events:none}
.hero-star{position:absolute;opacity:.08;animation:spinStar linear infinite;pointer-events:none}
@keyframes spinStar{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.hero-content{position:relative;z-index:3;max-width:580px;width:100%}
.hero-ctas{display:flex;flex-direction:column;align-items:center;gap:1.9rem;width:100%;margin-top:1.8rem}
.hero-ctas .btn{width:240px;max-width:90%;justify-content:center;text-align:center;font-size:15px;}

.hero-brand-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(2.2rem,8vw,3.5rem);font-weight:700;line-height:1.1;display:block;margin-bottom:.3rem;background:linear-gradient(135deg,var(--sage),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-brand-sub{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.8rem;display:block}
.hero-pill{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.8);border:1px solid var(--border);border-radius:999px;padding:.38rem 1rem;margin-bottom:1.5rem;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);backdrop-filter:blur(8px);animation:fadeUp .6s ease .1s both}
.hero h1{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2.4rem,8vw,4.2rem);line-height:1.1;margin-bottom:.9rem;color:var(--text);animation:fadeUp .6s ease .2s both}
.hero h1 em{font-style:italic;color:var(--rose)}
.hero h1.hero-h1-brand{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:clamp(3rem,9.5vw,5rem);line-height:1.15;letter-spacing:.005em}
.hero h1.hero-h1-brand .h1-word{display:inline-block}
.hero-mark{flex-shrink:0;transition:transform .3s}
.hero-roles{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:nowrap;margin-bottom:1.2rem;animation:fadeUp .6s ease .35s both}
.hero-role{display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1.5px solid var(--border);border-radius:999px;padding:.38rem .8rem;font-size:.76rem;font-weight:700;color:var(--text-mid);font-family:'Nunito',sans-serif;letter-spacing:.02em;box-shadow:0 2px 10px rgba(212,105,138,.1);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.hero-role:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(212,105,138,.18)}
.hero-role-icon{font-size:1rem;line-height:1}
.hero-role-dot{color:var(--rose-light);font-size:1.1rem;font-weight:300}
.hero-desc{font-size:1.02rem;color:var(--text-muted);max-width:440px;margin:0 auto 2rem;line-height:1.85;font-weight:400;animation:fadeUp .6s ease .3s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .6s ease .4s both}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.78rem 1.7rem;border-radius:999px;font-family:'Nunito',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn-rose{background:var(--rose);color:#fff;box-shadow:0 4px 16px rgba(212,105,138,.32)}
.btn-rose:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(212,105,138,.42)}
.btn-sage{background:var(--sage);color:#fff;box-shadow:0 4px 16px rgba(59,140,110,.28)}
.btn-gold{background:linear-gradient(135deg,#C9973A 0%,#B8883A 100%);color:#fff;box-shadow:0 4px 16px rgba(184,136,58,.32)}
.btn-sage:hover{transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--text-mid);border:1.5px solid rgba(184,136,58,.35)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(184,136,58,.04)}
.hero-stats{position:absolute;bottom:0;left:0;right:0;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);box-shadow:0 -4px 20px rgba(212,105,138,.06)}
.hero-stat{padding:1.2rem .8rem;text-align:center;border-right:1px solid var(--border-light);display:flex;flex-direction:column;align-items:center;gap:.3rem}
.hero-stat:last-child{border-right:none}
.hero-stat-icon{font-size:1.4rem;line-height:1;margin-bottom:.1rem}
.hero-stat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--rose);display:block;line-height:1}
.hero-stat-label{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text-muted);font-family:'Nunito',sans-serif;margin-top:.1rem;display:block;line-height:1.45;text-transform:none}

/* SECTIONS */
section{padding:5rem 6%;scroll-margin-top:68px;width:100%;box-sizing:border-box}
.container{max-width:1000px;margin:0 auto;padding:0 1rem;width:100%;box-sizing:border-box;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .9rem;border-radius:999px;margin-bottom:.75rem;background:var(--rose-pale);border:1px solid rgba(212,105,138,.18);color:var(--rose);font-family:'Nunito',sans-serif}
.section-title{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2rem,4.5vw,2.9rem);color:var(--text);margin-bottom:.85rem;line-height:1.1;text-align:center}
.section-title span{color:var(--rose)}
.section-sub{text-align:center;max-width:640px;margin-left:auto;margin-right:auto}
.section-sub{font-size:.97rem;color:var(--text-muted);max-width:500px;line-height:1.85;font-weight:400;font-family:'Nunito',sans-serif}

/* ── ABOUT PAGE (redesigned — timeline / journey) ─────────────── */
.about{
  background:#FBF6EE;
  position:relative;
  overflow:hidden;
}
.about::before{
  content:'';
  position:absolute;
  top:-90px;
  left:-90px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,105,138,.08),transparent 70%);
  pointer-events:none;
}
.about::after{
  content:'';
  position:absolute;
  bottom:-100px;
  right:-80px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,140,110,.07),transparent 70%);
  pointer-events:none;
}
.about .container{position:relative;z-index:1}

/* Hero: centered headshot + salam + intro */
.about-hero{
  text-align:center;
  max-width:560px;
  margin:0 auto 2.4rem;
}
.about-headshot-wrap{
  margin-bottom:1.1rem;
}
.about-headshot{
  width:160px;
  height:160px;
  border-radius:50%;
  margin:0 auto;
  overflow:hidden;
  background:linear-gradient(135deg,#D4698A,#C9973A);
  padding:4px;
  box-shadow:0 10px 32px rgba(184,136,58,.22),0 0 0 8px rgba(184,136,58,.05);
  animation:aboutBreathe 4s ease-in-out infinite;
}
.about-headshot img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  display:block;
  background:#F2E8DF;
}
@keyframes aboutBreathe{
  0%,100%{box-shadow:0 10px 32px rgba(184,136,58,.22),0 0 0 8px rgba(184,136,58,.05)}
  50%{box-shadow:0 14px 44px rgba(212,105,138,.22),0 0 0 14px rgba(212,105,138,.04)}
}
@media(prefers-reduced-motion:reduce){.about-headshot{animation:none}}

.about-salam{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.3rem;
  color:#1E6B42;
  margin:0 0 .75rem;
  line-height:1.3;
}
.about-intro{
  font-family:'Nunito',sans-serif;
  font-size:.92rem;
  color:#3F2530;
  line-height:1.8;
  margin:0;
  text-align:left;
}
.about-intro strong{color:#2A1520;font-weight:700}

/* Section label (eyebrow above timeline) */
.about-section-label{
  text-align:center;
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 1.4rem;
}

/* Timeline container */
.about-timeline{
  max-width:600px;
  margin:0 auto 2.5rem;
  position:relative;
}
/* Vertical line through dots */
.about-timeline::before{
  content:'';
  position:absolute;
  left:14px;
  top:14px;
  bottom:14px;
  width:2px;
  background:linear-gradient(180deg,#D4698A,#C9973A,#1E6B42);
  border-radius:1px;
  z-index:0;
}

.about-timeline-item{
  position:relative;
  padding-left:42px;
  margin-bottom:.7rem;
}
.about-timeline-item:last-child{margin-bottom:0}

.about-timeline-dot{
  position:absolute;
  left:6px;
  top:14px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  z-index:1;
  box-shadow:0 2px 8px rgba(184,136,58,.18);
}
.about-timeline-rose .about-timeline-dot{border:2px solid #D4698A}
.about-timeline-gold .about-timeline-dot{border:2px solid #C9973A}
.about-timeline-sage .about-timeline-dot{border:2px solid #1E6B42}

/* "Now" chip — visible chip above the dot on the final entry */
.about-timeline-chip{
  position:absolute;
  left:-2px;
  top:-12px;
  padding:.18rem .55rem;
  background:#1E6B42;
  color:#fff;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  z-index:2;
  box-shadow:0 3px 10px rgba(30,107,66,.32);
}

.about-timeline-card{
  background:#fff;
  border:1px solid rgba(184,136,58,.22);
  border-radius:14px;
  padding:.95rem 1.2rem;
  box-shadow:0 4px 16px rgba(184,136,58,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.about-timeline-card:hover{
  transform:translateX(2px);
  box-shadow:0 8px 24px rgba(184,136,58,.12);
  border-color:rgba(184,136,58,.35);
}
.about-timeline-now .about-timeline-card{
  border-color:rgba(30,107,66,.3);
  background:#FFFBF5;
}
.about-timeline-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.1rem;
  color:#2A1520;
  margin:0 0 .3rem;
  line-height:1.3;
}
.about-timeline-desc{
  font-family:'Nunito',sans-serif;
  font-size:.85rem;
  color:#5C3545;
  line-height:1.7;
  margin:0;
}
.about-timeline-desc strong{color:#2A1520;font-weight:700}

/* Featured "Invite Me to Recite" card */
.about-recite-card{
  max-width:560px;
  margin:0 auto 1.5rem;
  background:linear-gradient(135deg,#FFFBF5,#fff);
  border:1px solid rgba(184,136,58,.28);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(184,136,58,.12);
}
.about-recite-accent{
  height:3px;
  background:linear-gradient(90deg,#D4698A,#C9973A,#1E6B42);
}
.about-recite-inner{
  padding:1.4rem 1.4rem 1.3rem;
  text-align:center;
}
.about-recite-eyebrow{
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .35rem;
}
.about-recite-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 .45rem;
  line-height:1.2;
}
.about-recite-desc{
  font-family:'Nunito',sans-serif;
  font-size:.88rem;
  color:#5C3545;
  margin:0 0 1.1rem;
  line-height:1.65;
}
.about-recite-btn{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.78rem 1.6rem;
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  color:#fff;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 6px 22px rgba(212,105,138,.32);
  transition:transform .2s,box-shadow .2s;
}
.about-recite-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(212,105,138,.4);
}
.about-recite-icon{
  width:15px;
  height:15px;
  flex-shrink:0;
}

/* Bottom CTA card */
.about-cta-card{
  max-width:480px;
  margin:0 auto;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.4rem 1.2rem 1.2rem;
  text-align:center;
  box-shadow:0 6px 22px rgba(184,136,58,.08);
}
.about-cta-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 .35rem;
  line-height:1.2;
}
.about-cta-desc{
  font-family:'Nunito',sans-serif;
  font-size:15px;
  color:#5C3545;
  margin:0 0 1rem;
  line-height:1.6;
}
.about-cta-actions{
  display:flex;
  gap:.6rem;
  justify-content:center;
  flex-wrap:wrap;
}
.about-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.about-cta-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 5px 18px rgba(212,105,138,.3);
}
.about-cta-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 22px rgba(212,105,138,.4);
}
.about-cta-btn-insta{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 5px 18px rgba(225,48,108,.26);
}
.about-cta-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 22px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.about-cta-icon{
  width:14px;
  height:14px;
  flex-shrink:0;
}

/* Mobile responsive */
@media(max-width:600px){
  .about-headshot{width:130px;height:130px}
  .about-salam{font-size:1.15rem}
  .about-intro{font-size:1rem}
  .about-timeline-item{padding-left:36px}
  .about-timeline::before{left:11px}
  .about-timeline-dot{left:3px;width:16px;height:16px;top:14px}
  .about-timeline-chip{left:-4px;top:-11px;font-size:0.75rem;padding:.15rem .5rem}
  .about-timeline-card{padding:.85rem 1rem}
  .about-timeline-title{font-size:1rem}
  .about-timeline-desc{font-size:1rem}
  .about-recite-inner{padding:1.2rem 1.1rem 1.1rem}
  .about-recite-title{font-size:1.2rem}
  .about-recite-desc{font-size:1rem}
  .about-cta-actions{flex-direction:column;align-items:stretch}
  .about-cta-btn{min-width:0;width:100%;padding:1rem 1rem;font-size:0.875rem}
}

/* SERVICES */
/* ── SERVICES PAGE (redesigned — pricing-first cards) ────────── */
.services{
  background:#FBF6EE;
  position:relative;
  overflow:hidden;
}
.services::before{
  content:'';
  position:absolute;
  top:-90px;
  left:-90px;
  width:330px;
  height:330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,140,110,.08),transparent 70%);
  pointer-events:none;
}
.services::after{
  content:'';
  position:absolute;
  bottom:-100px;
  right:-80px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,58,.07),transparent 70%);
  pointer-events:none;
}
.services .container{position:relative;z-index:1}

/* 2x2 service grid */
.svc-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
  max-width:780px;
  margin:0 auto;
}
.svc-card{
  background:#fff;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.5rem 1.4rem;
  box-shadow:0 4px 18px rgba(184,136,58,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
  display:flex;
  flex-direction:column;
}
.svc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(184,136,58,.14);
  border-color:rgba(184,136,58,.4);
}
.svc-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.7rem;
  margin-bottom:.75rem;
}
.svc-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  margin:0;
}
.svc-card-calligraphy .svc-icon{background:rgba(212,105,138,.12)}
.svc-card-quran .svc-icon{background:rgba(59,140,110,.1)}
.svc-card-arabic .svc-icon{background:rgba(184,136,58,.12)}
.svc-card-custom .svc-icon{background:rgba(201,151,58,.14)}

.svc-tag{
  padding:.25rem .65rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  flex-shrink:0;
}
.svc-tag-sage{background:rgba(59,140,110,.1);color:#1E6B42}
.svc-tag-rose{background:rgba(212,105,138,.1);color:#D4698A}
.svc-tag-gold{background:rgba(184,136,58,.12);color:#A67820}

.svc-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.2rem;
  color:#2A1520;
  margin:0 0 .35rem;
  line-height:1.25;
}
.svc-desc{
  font-family:'Nunito',sans-serif;
  font-size:15px;
  color:#5C3545;
  margin:0 0 .9rem;
  line-height:1.65;
  flex:1;
}

/* Pricing block — dashed border, highlighted */
.svc-pricing{
  padding:.7rem .9rem;
  background:#FFFBF5;
  border:1px dashed rgba(184,136,58,.35);
  border-radius:10px;
  margin-bottom:.9rem;
}
.svc-pricing-label{
  font-family:'Nunito',sans-serif;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .15rem;
  font-weight:700;
}
.svc-pricing-value{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:1.25rem;
  color:#B8883A;
  margin:0;
  line-height:1.1;
}
.svc-pricing-value-sm{font-size:.95rem}
.svc-pricing-unit{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  color:#5C3545;
  font-weight:600;
}

.svc-btn{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.6rem 1.2rem;
  border-radius:999px;
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  color:#fff;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(212,105,138,.28);
  transition:transform .2s,box-shadow .2s;
}
.svc-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,105,138,.4);
}

/* ── Cross-link pills (to events / gallery / collaborate) ─── */
.svc-crosslinks-label{
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  color:#5C3545;
  margin:2.5rem 0 .9rem;
}
.svc-crosslinks{
  display:flex;
  gap:.6rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:2.5rem;
}
.svc-crosslink{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem 1.1rem;
  background:#fff;
  border:1px solid rgba(184,136,58,.3);
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.78rem;
  font-weight:600;
  color:#5C3545;
  text-decoration:none;
  transition:transform .2s,border-color .2s,background .2s,color .2s;
}
.svc-crosslink:hover{
  transform:translateY(-1px);
  background:#FFFBF5;
  border-color:#B8883A;
  color:#2A1520;
}
.svc-crosslink-icon{
  width:14px;
  height:14px;
  color:#B8883A;
  flex-shrink:0;
}

/* ── Bottom CTA card ── */
.svc-cta-card{
  max-width:520px;
  margin:0 auto;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.6rem 1.4rem 1.4rem;
  text-align:center;
  box-shadow:0 6px 26px rgba(184,136,58,.08);
}
.svc-cta-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 .4rem;
  line-height:1.2;
}
.svc-cta-desc{
  font-family:'Nunito',sans-serif;
  font-size:15px;
  color:#5C3545;
  margin:0 0 1.1rem;
  line-height:1.6;
}
.svc-cta-actions{
  display:flex;
  gap:.65rem;
  justify-content:center;
  flex-wrap:wrap;
}
.svc-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.svc-cta-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 6px 22px rgba(212,105,138,.32);
}
.svc-cta-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(212,105,138,.4);
}
.svc-cta-btn-insta{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 6px 22px rgba(225,48,108,.28);
}
.svc-cta-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.svc-cta-icon{
  width:15px;
  height:15px;
  flex-shrink:0;
}

@media(max-width:600px){
  .svc-grid{grid-template-columns:1fr;gap:.7rem;max-width:480px}
  .svc-card{padding:1.3rem 1.1rem}
  .svc-icon{width:44px;height:44px;font-size:1.3rem}
  .svc-title{font-size:1.1rem}
  .svc-cta-card{padding:1.4rem 1rem 1.2rem}
  .svc-cta-title{font-size:1.25rem}
  .svc-cta-actions{flex-direction:column;align-items:stretch}
  .svc-cta-btn{min-width:0;width:100%;padding:1rem 1rem;font-size:0.875rem}
  .svc-crosslinks{flex-direction:column;align-items:center}
  .svc-crosslink{min-width:200px;justify-content:center}
}

/* GALLERY */
.gallery{background:linear-gradient(160deg,var(--gold-pale) 0%,var(--cream) 55%,var(--rose-pale) 100%)}

.gallery-grid::-webkit-scrollbar{display:none}

@media(max-width:600px){}

@media(max-width:600px){
  
  
  
}
.gallery-item:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(184,136,58,.18)}

.gallery-img-wrap img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#f5ede3;transition:transform .3s ease}
.gallery-item:hover .gallery-img-wrap img{transform:scale(1.02)}
.gallery-img-wrap 
/* ═══ GALLERY — MASONRY (2-col desktop / 1-col mobile) ═══════════
   Replaces the old horizontal-scroll carousel. CSS columns pack 
   artworks by natural height. Each card sized to artwork's true
   aspect ratio (no cropping). SKU pill always visible top-right. */
.gallery-masonry-wrap{margin-top:2.5rem;max-width:1080px;margin-left:auto;margin-right:auto;padding:0 1rem}
.gallery-grid{column-count:2;column-gap:1.6rem}
.gallery-item{break-inside:avoid;margin-bottom:1.6rem;display:inline-block;width:100%;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(184,136,58,.08);transition:transform .3s,box-shadow .3s}
.gallery-img-wrap{position:relative;background:#f5ede3;display:block;overflow:hidden}
.gallery-img-wrap img{width:100%;height:auto;display:block;transition:transform .6s ease}
.gallery-item:hover .gallery-img-wrap img{transform:scale(1.02)}

@media(max-width:700px){
  .gallery-grid{column-count:1;column-gap:0}
  .gallery-item{margin-bottom:1.4rem}
}

.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,10,20,.6) 0%,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:1.2rem}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay-text{font-family:'Playfair Display',serif;font-size:.95rem;font-style:italic;color:#fff;font-weight:500;line-height:1.4}

/* ── SKU pill (top-right of artwork image) ────────────────────── */
.art-sku-pill{
  position:absolute;
  top:10px;
  right:10px;
  background:#fff;
  color:#B8883A;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:.78rem;
  padding:.28rem .65rem;
  border-radius:999px;
  letter-spacing:.02em;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  z-index:2;
  pointer-events:none;
  white-space:nowrap;
  line-height:1;
}
.gallery-info{padding:.9rem 1.1rem 1.1rem}
.gallery-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.25rem;line-height:1.25}
.gallery-medium{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;display:block}
.gallery-desc{font-size:.85rem;color:var(--text-muted);line-height:1.7}
.gallery-cta{margin-top:2.8rem;background:#fff;border-radius:18px;border:1px solid rgba(184,136,58,.2);padding:1.8rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;box-shadow:0 4px 20px rgba(184,136,58,.08)}
.gallery-cta-title{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:var(--text)}
.gallery-cta-sub{font-size:.92rem;color:var(--text-muted);max-width:480px;line-height:1.75}
.gallery-cta-btns{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}

/* EVENTS */
/* ── EVENTS PAGE (redesigned — featured workshop + classes) ──── */
.events{
  background:#FBF6EE;
  padding:5rem 6%;
  position:relative;
  overflow:hidden;
}
.events::before{
  content:'';
  position:absolute;
  top:-80px;
  left:-80px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,105,138,.08),transparent 70%);
  pointer-events:none;
}
.events::after{
  content:'';
  position:absolute;
  bottom:-100px;
  right:-80px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,58,.07),transparent 70%);
  pointer-events:none;
}
.events .container{position:relative;z-index:1}

/* ── Featured workshop card with inline date picker ── */
.ev-workshop-card{
  max-width:580px;
  margin:0 auto 2rem;
  background:#fff;
  border:1px solid rgba(184,136,58,.28);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(184,136,58,.12);
  position:relative;
}
.ev-workshop-accent{
  height:3px;
  background:linear-gradient(90deg,#D4698A,#C9973A,#1E6B42);
}
.ev-workshop-inner{
  padding:1.5rem 1.6rem 1.3rem;
}
.ev-workshop-tag{
  display:inline-block;
  padding:.22rem .7rem;
  background:rgba(212,105,138,.12);
  color:#D4698A;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ev-workshop-title{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:1.55rem;
  color:#2A1520;
  margin:.6rem 0 .35rem;
  line-height:1.2;
}
.ev-workshop-desc{
  font-family:'Nunito',sans-serif;
  font-size:.88rem;
  color:#5C3545;
  margin:0 0 1.1rem;
  line-height:1.7;
}
.ev-workshop-desc strong{
  color:#2A1520;
  font-weight:700;
}
.ev-pick-label{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .6rem;
}

/* 2×2 date picker pills */
.ev-date-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, max-content));
  gap:.5rem;
  margin-bottom:1.1rem;
}
.ev-location-note{
  display:flex;
  align-items:center;
  gap:.4rem;
  font-family:'Nunito',sans-serif;
  font-size:.85rem;
  font-style:italic;
  color:var(--text-muted);
  margin:-.35rem 0 1.05rem;
  line-height:1.4;
}
.ev-date-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-width:200px;
  padding:.7rem 1.1rem;
  background:#FFFBF5;
  border:1px solid rgba(30,107,66,.3);
  border-radius:12px;
  text-decoration:none;
  transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;
}
.ev-date-pill:hover{
  background:#fff;
  border-color:#1E6B42;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(30,107,66,.15);
}
.ev-date-pill-label{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:.95rem;
  color:#2A1520;
}
.ev-date-pill-cta{
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#1E6B42;
  flex-shrink:0;
}
.ev-date-pill:hover .ev-date-pill-cta{color:#0e4d2c}

/* Detail row below dates */
.ev-workshop-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  padding-top:.95rem;
  border-top:1px solid rgba(184,136,58,.18);
}
.ev-meta-pill{
  padding:.26rem .7rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
}
.ev-meta-pill-price{background:rgba(212,105,138,.1);color:#B85070}
.ev-meta-pill-sage{background:rgba(59,140,110,.1);color:#1E6B42}
.ev-meta-pill-gold{background:rgba(184,136,58,.12);color:#A67820}
.ev-meta-pill-rose{background:rgba(212,105,138,.12);color:#D4698A}

/* ── Section labels (eyebrow above groups) ── */
.ev-section-label{
  text-align:center;
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#A67820;
  margin:2.5rem 0 1.2rem;
}

/* ── Ongoing online classes grid ── */
.ev-classes-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
  max-width:700px;
  margin:0 auto 2rem;
}
.ev-class-card{
  background:#fff;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.5rem 1.3rem;
  text-align:left;
  box-shadow:0 4px 18px rgba(184,136,58,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
  display:flex;
  flex-direction:column;
}
.ev-class-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(184,136,58,.14);
  border-color:rgba(184,136,58,.4);
}
.ev-class-icon{
  width:50px;
  height:50px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  margin-bottom:.8rem;
}
.ev-class-quran .ev-class-icon{background:rgba(59,140,110,.1)}
.ev-class-arabic .ev-class-icon{background:rgba(184,136,58,.1)}
.ev-class-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.15rem;
  color:#2A1520;
  margin:0 0 .3rem;
  line-height:1.25;
}
.ev-class-desc{
  font-family:'Nunito',sans-serif;
  font-size:.82rem;
  color:#5C3545;
  margin:0 0 1rem;
  line-height:1.65;
  flex:1;
}
.ev-class-btn{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.55rem 1.1rem;
  border-radius:999px;
  color:#fff;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .2s,box-shadow .2s,filter .2s;
}
.ev-class-btn-sage{
  background:#1E6B42;
  box-shadow:0 4px 14px rgba(30,107,66,.28);
}
.ev-class-btn-sage:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(30,107,66,.4);
  filter:brightness(1.05);
}
.ev-class-btn-gold{
  background:#B8883A;
  box-shadow:0 4px 14px rgba(184,136,58,.28);
}
.ev-class-btn-gold:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(184,136,58,.4);
  filter:brightness(1.05);
}

/* ── Bottom CTA card ── */
.ev-cta-card{
  max-width:520px;
  margin:2.5rem auto 0;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.6rem 1.4rem 1.4rem;
  text-align:center;
  box-shadow:0 6px 26px rgba(184,136,58,.08);
}
.ev-cta-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 .4rem;
  line-height:1.2;
}
.ev-cta-desc{
  font-family:'Nunito',sans-serif;
  font-size:15px;
  color:#5C3545;
  margin:0 0 1.1rem;
  line-height:1.6;
}
.ev-cta-actions{
  display:flex;
  gap:.65rem;
  justify-content:center;
  flex-wrap:wrap;
}
.ev-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.ev-cta-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 6px 22px rgba(212,105,138,.32);
}
.ev-cta-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(212,105,138,.4);
}
.ev-cta-btn-insta{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 6px 22px rgba(225,48,108,.28);
}
.ev-cta-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.ev-cta-icon{
  width:15px;
  height:15px;
  flex-shrink:0;
}

/* ── Mobile responsive ── */
@media(max-width:600px){
  .events{padding:3.5rem 5%}
  .ev-workshop-inner{padding:1.3rem 1.2rem 1.1rem}
  .ev-workshop-title{font-size:1.35rem}
  .ev-date-grid{grid-template-columns:1fr;gap:.45rem}
  .ev-date-pill{padding:.7rem .9rem;min-width:0}
  .ev-classes-grid{grid-template-columns:1fr;gap:.7rem;max-width:420px}
  .ev-class-card{padding:1.2rem 1rem}
  .ev-class-icon{width:44px;height:44px;font-size:1.35rem}
  .ev-class-title{font-size:1.05rem}
  .ev-cta-card{padding:1.4rem 1rem 1.2rem}
  .ev-cta-title{font-size:1.25rem}
  .ev-cta-actions{flex-direction:column;align-items:stretch}
  .ev-cta-btn{min-width:0;width:100%;padding:1rem 1rem;font-size:0.875rem}
}

/* TESTIMONIALS */
/* ── TESTIMONIALS (redesigned — magazine wall of quotes) ─────── */
.testimonials{
  background:#FBF6EE;
  padding:5rem 6%;
  position:relative;
  overflow:hidden;
}
.testimonials::before{
  content:'';
  position:absolute;
  top:-90px;
  right:-80px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,105,138,.07),transparent 70%);
  pointer-events:none;
}
.testimonials::after{
  content:'';
  position:absolute;
  bottom:-100px;
  left:-90px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,140,110,.07),transparent 70%);
  pointer-events:none;
}

/* Container box for the whole wall */
.testi-wall{
  max-width:820px;
  margin:0 auto;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.2);
  border-radius:20px;
  padding:2.2rem 2.4rem;
  box-shadow:0 6px 28px rgba(184,136,58,.06);
  position:relative;
  overflow:hidden;
}
.testi-wall-accent{
  position:absolute;
  top:0;
  left:2.4rem;
  right:2.4rem;
  height:2px;
  background:linear-gradient(90deg,transparent,#C9973A,transparent);
}

/* Section labels (eyebrow above each group of quotes) */
.testi-wall-label{
  text-align:center;
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:0 0 1.3rem;
}
.testi-wall-label-rose{color:#D4698A}
.testi-wall-label-sage{color:#1E6B42}

/* Quote columns — 2 col on desktop */
.testi-wall-columns{
  column-count:2;
  column-gap:2.4rem;
}

.testi-wall-quote{
  break-inside:avoid;
  margin:0 0 1.4rem;
  padding:0;
  page-break-inside:avoid; /* legacy support */
}
.testi-wall-quote:last-child{margin-bottom:0}

/* Decorative quote mark — dusty blue accent on each testimonial */
.testi-wall-quote{position:relative;padding-left:1.6rem}
.testi-wall-quote::before{
  content:"\201C";
  position:absolute;
  left:0;
  top:-.15rem;
  font-family:'Playfair Display',serif;
  font-size:2.4rem;
  font-style:normal;
  font-weight:700;
  color:#5B7A91;
  line-height:1;
  opacity:.9;
  pointer-events:none;
}
@media(max-width:600px){
  .testi-wall-quote{padding-left:1.3rem}
  .testi-wall-quote::before{font-size:2rem;top:-.05rem}
}

.testi-wall-quote blockquote{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  color:#3F2530;
  line-height:1.7;
  margin:0 0 .4rem;
  padding:0;
  border:none;
}
.testi-wall-attr{
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0;
  line-height:1.3;
}
.testi-wall-attr-rose{color:#A67820}
.testi-wall-attr-sage{color:#1E6B42}

/* Hairline divider between sections */
.testi-wall-divider{
  border:none;
  height:1px;
  background:rgba(184,136,58,.18);
  margin:1.8rem 0 1.6rem;
}

/* Tablet — single column inside the wall */
@media(max-width:768px){
  .testi-wall{padding:1.8rem 1.6rem}
  .testi-wall-accent{left:1.6rem;right:1.6rem}
  .testi-wall-columns{column-count:1;column-gap:0}
}

/* Mobile — tighter padding, slightly smaller type */
@media(max-width:600px){
  .testimonials{padding:3.5rem 5%}
  .testi-wall{padding:1.5rem 1.2rem;border-radius:16px}
  .testi-wall-accent{left:1.2rem;right:1.2rem}
  .testi-wall-label{font-size:0.75rem;letter-spacing:.16em;margin:0 0 1rem}
  .testi-wall-quote{margin:0 0 1.1rem}
  .testi-wall-quote blockquote{font-size:.92rem;line-height:1.65}
  .testi-wall-attr{font-size:0.75rem}
  .testi-wall-divider{margin:1.4rem 0 1.2rem}
}

/* NEWSLETTER */
.newsletter{background:#FFF2F5;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.newsletter-inner{max-width:520px;margin:0 auto;text-align:center}
.newsletter-inner .section-title{font-size:clamp(1.6rem,3.5vw,2.3rem)}
.nl-btn{padding:.78rem 1.7rem;border-radius:999px;background:var(--rose);color:#fff;font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity .2s,transform .2s;-webkit-tap-highlight-color:transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.nl-btn:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 8px 22px rgba(212,105,138,.32)}
.nl-note{font-size:.75rem;color:var(--text-muted);margin-top:.75rem;font-weight:400}

/* ── Newsletter page — big subscribe button + benefit cards ────── */
.nl-btn-big{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:1.05rem 2.2rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--rose),#C95877);
  color:#fff;
  font-family:'Nunito',sans-serif;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 28px rgba(212,105,138,.38);
  transition:transform .25s,box-shadow .25s;
}
.nl-btn-big:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(212,105,138,.5);
}
.nl-card{
  background:#fff;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.5rem 1.3rem;
  text-align:center;
  box-shadow:0 4px 20px rgba(184,136,58,.06);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.nl-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(212,105,138,.12);
  border-color:rgba(212,105,138,.35);
}
.nl-card-icon{
  font-size:2rem;
  line-height:1;
  margin-bottom:.7rem;
}
.nl-card-title{
  font-family:'Playfair Display',serif;
  font-size:1.05rem;
  font-weight:700;
  color:var(--text);
  margin:0 0 .5rem;
  line-height:1.25;
}
.nl-card-desc{
  margin:0;
  font-size:.82rem;
  color:var(--text-mid);
  line-height:1.6;
}
@media(max-width:600px){
  .nl-btn-big{
    width:100%;
    max-width:320px;
    padding:.95rem 1.6rem;
    font-size:0.875rem;
  }
  .nl-card{padding:1.3rem 1.1rem}
}

/* ─── NEWSLETTER PAGE (redesigned — click-to-Beehiiv) ───────── */
.nl-page{
  background:#FBF6EE;
  position:relative;
  overflow:hidden;
  padding:5rem 5% 4.5rem;
}
.nl-page .contact-glow1{
  background:radial-gradient(circle,rgba(212,105,138,.1),transparent 70%);
  filter:none;
  width:340px;height:340px;
  top:-90px;left:-90px;
  right:auto;
  position:absolute;border-radius:50%;pointer-events:none;
}
.nl-page .contact-glow2{
  background:radial-gradient(circle,rgba(184,136,58,.08),transparent 70%);
  filter:none;
  width:380px;height:380px;
  bottom:-100px;right:-80px;
  left:auto;
  position:absolute;border-radius:50%;pointer-events:none;
}
.nl-page-container{
  position:relative;
  z-index:1;
  max-width:600px;
  margin:0 auto;
}
.nl-page-sub{
  text-align:center;
  color:#5C3545;
  font-size:.95rem;
  line-height:1.65;
  margin:1rem auto 2rem;
  max-width:520px;
  font-family:'Nunito',sans-serif;
}

/* Override the small grid .nl-card style — make it the big subscribe card */
.nl-page .nl-card{
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:2.4rem 2rem 2rem;
  box-shadow:0 8px 32px rgba(184,136,58,.1);
  text-align:center;
  transition:none;
  max-width:520px;
  margin:0 auto;
}
.nl-page .nl-card:hover{
  transform:none;
  box-shadow:0 8px 32px rgba(184,136,58,.1);
  border-color:rgba(184,136,58,.22);
}
.nl-card-heading{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.5rem;
  color:#2A1520;
  margin:0 0 .65rem;
  line-height:1.2;
}
.nl-card-blurb{
  font-family:'Nunito',sans-serif;
  font-size:.88rem;
  color:#5C3545;
  margin:0 0 1.4rem;
  line-height:1.6;
}
.nl-card-subscribe-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.95rem 2.4rem;
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  color:#fff;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 26px rgba(212,105,138,.36);
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:200px;
}
.nl-card-subscribe-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(212,105,138,.46);
}
.nl-card-subscribe-icon{
  width:17px;
  height:17px;
  flex-shrink:0;
}
.nl-card-fineprint{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.85rem;
  color:#5C3545;
  text-align:center;
  margin:1rem 0 0;
  line-height:1.5;
}
.nl-card-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,136,58,.35),transparent);
  margin:1.6rem auto 1.3rem;
  max-width:300px;
}
.nl-card-inside-label{
  font-family:'Nunito',sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#A67820;
  text-align:center;
  margin:0 0 .85rem;
}
.nl-card-inside-list{
  list-style:none;
  padding:0;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem 1.2rem;
  max-width:380px;
  text-align:left;
}
.nl-card-inside-list li{
  display:flex;
  align-items:flex-start;
  gap:.45rem;
  font-family:'Nunito',sans-serif;
  font-size:.83rem;
  color:#5C3545;
  line-height:1.4;
}
.nl-check{
  color:#1E6B42;
  font-weight:700;
  font-size:.9rem;
  flex-shrink:0;
  line-height:1.3;
}

/* Meta row below card (cadence + archive link) */
.nl-page-meta{
  display:flex;
  gap:1.2rem;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-top:1.6rem;
  font-family:'Nunito',sans-serif;
  font-size:.82rem;
  color:#5C3545;
}
.nl-meta-item{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}
.nl-meta-item svg{
  width:14px;
  height:14px;
  color:#B8883A;
}
.nl-meta-sep{
  color:rgba(184,136,58,.5);
}
.nl-meta-archive{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:#B8883A;
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid rgba(184,136,58,.35);
  padding-bottom:1px;
  transition:color .2s,border-color .2s;
}
.nl-meta-archive svg{
  width:14px;
  height:14px;
}
.nl-meta-archive:hover{
  color:#A67820;
  border-color:#A67820;
}

@media(max-width:600px){
  .nl-page{padding:3rem 4% 3rem}
  .nl-page .nl-card{padding:1.8rem 1.3rem 1.6rem}
  .nl-card-heading{font-size:1.3rem}
  .nl-card-subscribe-btn{width:100%;min-width:0;padding:.85rem 1.5rem;font-size:0.875rem}
  .nl-card-inside-list{grid-template-columns:1fr;gap:.55rem;max-width:280px}
  .nl-page-meta{gap:.8rem;font-size:1rem}
  .nl-meta-sep{display:none}
}

/* CONTACT */
.contact{background:linear-gradient(150deg,#1A0A14 0%,#0A1A0E 100%);position:relative;overflow:hidden}
.contact-glow1{position:absolute;width:380px;height:380px;top:-120px;right:-80px;border-radius:50%;background:rgba(212,105,138,.07);filter:blur(70px);pointer-events:none}
.contact-glow2{position:absolute;width:320px;height:320px;bottom:-80px;left:-60px;border-radius:50%;background:rgba(59,140,110,.05);filter:blur(60px);pointer-events:none}

/* ─── CONTACT LETTER (refined Option 3) ───────────────────────── */
.contact-letter{
  background:#FBF6EE;
  position:relative;
  overflow:hidden;
  padding:5rem 5% 4.5rem;
}
.contact-letter .contact-glow1{
  background:radial-gradient(circle,rgba(212,105,138,.1),transparent 70%);
  filter:none;
  width:340px;height:340px;
  top:-90px;left:-90px;
  right:auto;
}
.contact-letter .contact-glow2{
  background:radial-gradient(circle,rgba(184,136,58,.08),transparent 70%);
  filter:none;
  width:380px;height:380px;
  bottom:-100px;right:-80px;
  left:auto;
}
.contact-letter-container{
  position:relative;
  z-index:1;
  text-align:center;
  max-width:600px;
  margin:0 auto;
}
.contact-arabic-greeting{
  font-family:'Amiri',serif;
  font-size:1.5rem;
  color:#A67820;
  margin:0 0 .6rem;
  line-height:1;
  font-weight:400;
}
.contact-letter-card{
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:2.4rem 2rem 2rem;
  box-shadow:0 8px 32px rgba(184,136,58,.1);
  text-align:left;
  position:relative;
  margin:2rem auto 0;
  max-width:580px;
}
.contact-letter-ornament{
  position:absolute;
  top:.9rem;
  right:1.15rem;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.95rem;
  color:#C9973A;
  opacity:.5;
}
.contact-letter-opening{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.32rem;
  color:#2A1520;
  line-height:1.5;
  margin:0 0 .5rem;
  text-align:center;
  font-weight:400;
}
.cl-em-sage{color:#1E6B42;font-style:italic}
.cl-em-bronze{color:#B8883A;font-style:italic}
.cl-em-rose{color:#D4698A;font-style:italic}

.contact-letter-label{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .8rem;
  text-align:center;
}
.contact-letter-ctas{
  display:flex;
  gap:.7rem;
  justify-content:center;
  flex-wrap:wrap;
  margin:0 0 .5rem;
}
.contact-letter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.contact-letter-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 6px 22px rgba(212,105,138,.32);
}
.contact-letter-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(212,105,138,.4);
}
.contact-letter-btn-insta{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 6px 22px rgba(225,48,108,.28);
}
.contact-letter-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.contact-letter-icon{
  width:16px;
  height:16px;
  flex-shrink:0;
}

.contact-letter-promise{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.95rem;
  color:#1E6B42;
  text-align:center;
  margin:.9rem 0 1.8rem;
  letter-spacing:.01em;
  line-height:1.5;
}

.contact-letter-note{
  background:rgba(184,136,58,.05);
  border-left:2px solid rgba(184,136,58,.35);
  padding:1.1rem 1.25rem;
  border-radius:0 8px 8px 0;
  margin:0 0 1.6rem;
}
.contact-letter-note-label{
  font-family:'Nunito',sans-serif;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .5rem;
}
.contact-letter-note-body{
  font-family:'Nunito',sans-serif;
  font-size:1rem;
  color:#5C3545;
  margin:0;
  line-height:1.7;
}
.contact-letter-note-body strong{
  color:#2A1520;
  font-weight:700;
}

.contact-letter-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,136,58,.4),transparent);
  margin:0 auto 1.5rem;
  max-width:300px;
}
.contact-letter-signoff{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.95rem;
  color:#5C3545;
  text-align:center;
  margin:0 0 .2rem;
  letter-spacing:.02em;
}
.contact-letter-signature{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:2rem;
  color:#1E6B42;
  text-align:center;
  margin:0;
  line-height:1;
  letter-spacing:.01em;
}
.contact-letter-meta{
  display:flex;
  gap:1.2rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:1.4rem;
  font-family:'Nunito',sans-serif;
  font-size:.72rem;
  color:#5C3545;
}
.cl-meta-item{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.cl-meta-item svg{
  width:13px;
  height:13px;
  color:#B8883A;
}

.contact-letter-follow{
  margin-top:2.2rem;
  text-align:center;
}
.contact-letter-follow-label{
  font-family:'Nunito',sans-serif;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .7rem;
  font-weight:600;
}
.contact-letter-follow-icons{
  display:inline-flex;
  gap:.65rem;
}
.cl-social{
  width:40px;
  height:40px;
  background:#fff;
  border:1px solid rgba(184,136,58,.28);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.cl-social svg{width:17px;height:17px}
.cl-social-ig{color:#E1306C}
.cl-social-fb{color:#1877F2}
.cl-social-li{color:#0A66C2}
.cl-social:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  border-color:rgba(184,136,58,.45);
}

@media(max-width:600px){
  .contact-letter{padding:3rem 4% 3rem}
  .contact-letter-card{padding:1.8rem 1.3rem 1.6rem}
  .contact-letter-opening{font-size:1.15rem}
  .contact-letter-ctas{flex-direction:column;align-items:stretch}
  .contact-letter-btn{min-width:0;width:100%;padding:1rem 1rem}
  .contact-letter-signature{font-size:1.7rem}
  .contact-letter-note{padding:.9rem 1rem}
  .contact-letter-note-body{font-size:1rem}
  .contact-letter-promise{font-size:1rem}
  .contact-letter-meta{font-size:.75rem;gap:.8rem}
}
.contact .eyebrow{background:rgba(212,105,138,.1);border-color:rgba(212,105,138,.2);color:var(--rose-light)}
.contact .section-title{color:#fff}
.contact .section-title span{color:var(--rose-light)}
.contact .section-sub{color:rgba(255,255,255,.42)}
.c-info{display:flex;flex-direction:column;gap:.9rem}
.c-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem;background:rgba(255,255,255,.04);border-radius:14px;border:1px solid rgba(255,255,255,.08);transition:background .2s,border-color .2s}.c-item:hover{background:rgba(212,105,138,.08);border-color:rgba(212,105,138,.25)}
.c-icon{width:42px;height:42px;border-radius:10px;flex-shrink:0;background:rgba(212,105,138,.16);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.c-label{display:none}
.c-val{font-size:.95rem;color:rgba(255,255,255,.85);font-weight:400;letter-spacing:.01em}
.social-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-light);margin-bottom:.65rem;display:block;opacity:.8}
.socials{display:flex;gap:.55rem}
.soc{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;color:rgba(255,255,255,.6);-webkit-tap-highlight-color:transparent}
.soc:hover{background:rgba(212,105,138,.18);border-color:rgba(212,105,138,.35);transform:translateY(-2px)}
.soc svg{width:16px;height:16px;fill:currentColor}

/* FOOTER */
footer{background:#FBF1E8;padding:2.2rem 6% 1.5rem;border-top:1px solid rgba(184,136,58,.18)}

.footer-logo{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.6rem;font-weight:700;line-height:1;gap:.18rem}
.footer-logo span{-webkit-text-fill-color:initial}
.footer-links{display:flex;gap:1.5rem;list-style:none;flex-wrap:wrap;justify-content:center}
.footer-links a{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5C3545;text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--rose)}
.footer-copy{font-size:13px;color:#5C3545;letter-spacing:.02em;text-align:center;line-height:1.8}

/* ── New 3-column footer link layout (Option A) ────────────── */

/* ═══ FOOTER — COMPACT 3-COL LAYOUT ════════════════════════════
   Brand wordmark + icons centered, FAQ/Privacy on left, socials
   on right (mirror balance), copyright + SEO sentence below.
   Stacks to centered layout on mobile (brand on top, then left
   + right rows below). */

.footer-inner{max-width:1000px;margin:0 auto}
.footer-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:2rem;
  align-items:center;
}

/* Side columns (left: links, right: follow + socials) */
.footer-side{display:flex;flex-direction:column}
.footer-side-left{align-items:flex-start;text-align:left}
.footer-side-right{align-items:flex-end;text-align:right}

/* Center brand mark */
.footer-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1}
.footer-mark-row{display:flex;align-items:center;justify-content:center;gap:.5rem;line-height:1}
.footer-wordmark{display:flex;align-items:baseline;gap:0;line-height:1;white-space:nowrap}
.footer-wordmark .fw-ink{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:1.5rem;color:#1E6B42;line-height:1;white-space:nowrap}
.footer-wordmark .fw-amp{font-family:'Playfair Display',serif;font-size:14px;font-style:italic;color:#C9973A;margin:0 .18rem;line-height:1}
.footer-wordmark .fw-ayat{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:1.5rem;color:#B8883A;line-height:1;white-space:nowrap}

/* "Follow along" label (right column) */
.footer-follow-label{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:700;
  font-size:.85rem;
  letter-spacing:.14em;text-transform:uppercase;
  color:#A67820;
  margin:0 0 .55rem;
  line-height:1;
}

/* MOBILE: stack — brand on top, then left+right below */
@media(max-width:680px){
  .footer-row{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "brand brand"
      "left right";
    gap:1.4rem 1rem;
  }
  .footer-mark{grid-area:brand;margin-bottom:.2rem}
  .footer-side-left{grid-area:left}
  .footer-side-right{grid-area:right}
  .footer-wordmark .fw-ink,.footer-wordmark .fw-ayat{font-size:1.7rem}
  .footer-mark-row > svg{width:32px !important;height:32px !important;flex-shrink:0}
  .footer-mark-row > svg:last-of-type{width:28px !important;height:28px !important}
}

@media(max-width:380px){
  .footer-mark-row{gap:.35rem}
  .footer-wordmark .fw-ink,.footer-wordmark .fw-ayat{font-size:1.5rem}
}

.footer-col-link{
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5d4348;
  text-decoration:none;
  padding:.25rem 0;
  display:block;
  transition:color .2s
}
.footer-col-link:hover{color:#1E6B42}
.footer-col-link:hover{
  color:var(--rose);
  padding-left:.2rem;
}

/* ── Footer socials row ─────────────────────────────────────── */
.footer-socials{display:flex;gap:.55rem;justify-content:flex-end}
.footer-social{
  width:34px;
  height:34px;
  background:#fff;
  border:1px solid rgba(184,136,58,.28);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.footer-social svg{width:16px;height:16px}
.footer-social-ig{color:#E1306C}
.footer-social-fb{color:#1877F2}
.footer-social-li{color:#0A66C2}
.footer-social:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  border-color:rgba(184,136,58,.45);
}

.footer-bottom-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(184,136,58,.35),transparent);margin:1.4rem auto 1rem;max-width:380px}
.footer-seo{
  font-family:'Nunito',sans-serif;
  font-size:13px;
  color:#5C3545;
  text-align:center;
  margin:0 auto .4rem;
  max-width:560px;
  line-height:1.6;
  letter-spacing:.02em;
}
.footer-copy-merged{
  font-family:'Nunito',sans-serif;
  font-size:13px;
  color:#5C3545;
  text-align:center;
  margin:0;
  line-height:1.6;
  letter-spacing:.02em;
}

@media(max-width:700px){
  
  
  .footer-col-link{font-size:0.75rem;padding:.22rem 0}
  .footer-seo{font-size:0.75rem;padding:0 1rem}
  .footer-copy-merged{font-size:0.75rem;padding:0 1rem}
}
@media(max-width:420px){
  
}

#btt{position:fixed;bottom:1.2rem;right:1rem;width:42px;height:42px;border-radius:50%;background:var(--rose);color:#fff;border:none;font-size:1rem;cursor:pointer;z-index:99;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;box-shadow:0 4px 16px rgba(212,105,138,.3);-webkit-tap-highlight-color:transparent}
#btt.show{opacity:1;transform:translateY(0)}
#btt:hover{opacity:.85}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal-l{opacity:0;transform:translateX(-20px);transition:opacity .6s ease,transform .6s ease}
.reveal-r{opacity:0;transform:translateX(20px);transition:opacity .6s ease,transform .6s ease}
.visible{opacity:1!important;transform:none!important}

@media(max-width:700px){
  section{padding:4rem 5%}
  .nav-links{display:none;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:rgba(254,252,250,.98);padding:.6rem 5%;border-bottom:1px solid var(--border);gap:0;backdrop-filter:blur(20px)}
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:.85rem 0;font-size:.82rem;border-bottom:1px solid rgba(184,136,58,.08)}
  .nav-links li:last-of-type a{border-bottom:none}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
  .nav-socials{
    display:inline-flex;
    margin-left:0;
    padding-left:0;
    border-left:none;
    gap:.4rem;
    margin-right:.5rem;
  }
  .nav-social{width:30px;height:30px}
  .nav-social svg{width:12px;height:12px}
  .hero{padding:72px 5% 2rem;justify-content:flex-start;padding-top:90px}.hero-btns{flex-direction:column;align-items:center;gap:.6rem}.hero-btns .btn{width:100%;max-width:300px;justify-content:center}
  .hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .hero-stats{grid-template-columns:repeat(2,1fr);position:static;margin-top:2rem;border-radius:16px;border:1px solid var(--border);overflow:hidden;box-shadow:0 4px 20px rgba(212,105,138,.08)}
  .hero-stat{padding:.85rem .4rem;border-right:1px solid var(--border-light)}
  .hero-content{width:100%;padding:0}
  .hero-stat-num{font-size:1.5rem}
  .hero-stat-label{font-size:0.75rem}
  .footer-links{gap:1rem}
}

/* FAQ */
.faq{background:linear-gradient(160deg,var(--rose-pale) 0%,var(--cream) 50%,var(--sage-pale) 100%)}

/* Hero pointer line under subtitle */
.faq-hero-pointer{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.95rem;
  color:#5C3545;
  text-align:center;
  margin:.8rem auto 0;
  max-width:520px;
  line-height:1.5;
}

/* Accordion item — warmer paper feel + italic Cormorant question */
.faq-item{background:#FFFBF5;border-radius:14px;border:1px solid rgba(184,136,58,.22);margin-bottom:.7rem;overflow:hidden;transition:box-shadow .25s,border-color .25s,background .25s}
.faq-item:hover{
  box-shadow:0 8px 26px rgba(184,136,58,.12);
  border-color:rgba(184,136,58,.4);
}
.faq-item.open{
  background:#fff;
  border-color:rgba(184,136,58,.45);
  box-shadow:0 10px 32px rgba(184,136,58,.16);
}

/* ═══ FAQ — VERTICAL ACCORDION (replaces old tab+carousel) ═══════
   All 20 questions visible at once, grouped by 6 category headings.
   Click a question to expand; opening a new one auto-closes others
   (single-open behavior handled in script.js). */
.faq-accordion{max-width:760px;margin:2.5rem auto 0}
.faq-category{margin-bottom:2.4rem}
.faq-category:last-child{margin-bottom:0}
.faq-category-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.55rem;
  color:#1E6B42;
  margin:0 0 1rem;
  padding-bottom:.55rem;
  border-bottom:1px solid rgba(184,136,58,.22);
  letter-spacing:.005em;
  line-height:1.2;
}
@media(max-width:600px){
  .faq-accordion{margin-top:1.8rem}
  .faq-category{margin-bottom:2rem}
  .faq-category-title{font-size:1.35rem;margin-bottom:.85rem}
}

/* Open-state styling for the .faq-item — JS toggles .open class */
.faq-item.open{box-shadow:0 6px 20px rgba(184,136,58,.12);border-color:rgba(184,136,58,.45);background:#fff}
.faq-item.open .faq-icon{transform:rotate(45deg);background:#1E6B42;color:#fff;border-color:#1E6B42}
.faq-item.open .faq-q-text{color:#1E6B42}

.faq-q{
  width:100%;
  background:none;
  border:none;
  text-align:left;
  padding:1.2rem 1.4rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.faq-q-text{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.08rem;
  font-weight:700;
  color:#2A1520;
  line-height:1.35;
}
.faq-icon{
  flex-shrink:0;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(184,136,58,.1);
  border:1.5px solid rgba(184,136,58,.3);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .25s,transform .35s,color .25s;
  font-size:.85rem;
  color:#B8883A;
  font-weight:700;
}
.faq-item.open .faq-icon{
  background:#B8883A;
  color:#fff;
  transform:rotate(45deg);
  border-color:#B8883A;
}

.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-a{max-height:600px}
.faq-a-inner{
  padding:0 1.4rem 1.3rem;
  font-family:'Nunito',sans-serif;
  font-size:.9rem;
  color:#5C3545;
  line-height:1.78;
  border-top:1px solid rgba(184,136,58,.18);
  padding-top:1rem;
  margin-top:.2rem;
}
.faq-a-inner a{color:#B8883A;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(184,136,58,.4)}
.faq-a-inner a:hover{color:#A67820;border-color:#A67820}

/* ── Bottom "Still have questions?" help card ───────────────── */
.faq-help-card{
  max-width:540px;
  margin:3rem auto 1rem;
  padding:1.8rem 1.6rem 1.5rem;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  box-shadow:0 6px 28px rgba(184,136,58,.1);
  text-align:center;
}
.faq-help-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 .5rem;
  line-height:1.2;
}
.faq-help-desc{
  font-family:'Nunito',sans-serif;
  font-size:.9rem;
  color:#5C3545;
  margin:0 0 1.2rem;
  line-height:1.6;
}
.faq-help-actions{
  display:flex;
  gap:.7rem;
  justify-content:center;
  flex-wrap:wrap;
}
.faq-help-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.faq-help-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 6px 22px rgba(212,105,138,.32);
}
.faq-help-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(212,105,138,.4);
}
.faq-help-btn-insta{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 6px 22px rgba(225,48,108,.28);
}
.faq-help-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.faq-help-icon{
  width:16px;height:16px;flex-shrink:0;
}

@media(max-width:600px){
  .faq-help-card{padding:1.5rem 1.1rem 1.3rem;margin-top:2.2rem}
  .faq-help-title{font-size:1.3rem}
  .faq-help-actions{flex-direction:column;align-items:stretch}
  .faq-help-btn{min-width:0;width:100%;padding:1rem 1rem;font-size:0.875rem}
  .faq-q-text{font-size:1rem}
}
@media(max-width:700px){
  
  
  
  
}

/* ── Gallery contact card — Buy / Custom Commission ───────────── */
.gallery-info-card{
  display:flex;
  align-items:stretch;
  gap:0;
  background:linear-gradient(135deg,rgba(184,136,58,.08),rgba(212,105,138,.07));
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.6rem 1.4rem;
  margin:0 0 1.5rem;
  box-shadow:0 4px 18px rgba(184,136,58,.06);
}
.gallery-info-col{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
  padding:0 1rem;
  min-width:0;
}
.gallery-info-divider{
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(184,136,58,.25),transparent);
  flex-shrink:0;
}
.gallery-info-icon{
  font-size:1.5rem;
  line-height:1;
}
.gallery-info-title{
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
  font-weight:700;
  color:var(--text);
  margin:0;
  line-height:1.2;
}
.gallery-info-desc{
  margin:0;
  font-size:.85rem;
  color:var(--text-mid);
  line-height:1.55;
}
.gallery-info-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.2rem;
}
.gallery-info-btn{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.55rem 1rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  transition:transform .2s,box-shadow .2s,background .2s;
  white-space:nowrap;
}
.gallery-info-btn-primary{
  background:var(--rose);
  color:#fff;
  box-shadow:0 3px 12px rgba(212,105,138,.28);
}
.gallery-info-btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(212,105,138,.36);
}
.gallery-info-btn-ghost{
  background:transparent;
  color:var(--text-mid);
  border:1.5px solid rgba(184,136,58,.32);
}
.gallery-info-btn-ghost:hover{
  background:rgba(184,136,58,.08);
  border-color:var(--gold);
  color:var(--gold);
}

/* ── Gallery contact card (Design B — twin solid buttons) ─────── */
.gallery-contact-card{
  max-width:540px;
  margin:1.5rem auto 2rem;
  padding:1.8rem 1.6rem 1.4rem;
  background:#fff;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  box-shadow:0 6px 28px rgba(184,136,58,.08);
  text-align:center;
}
.gallery-contact-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 1.2rem;
  line-height:1.2;
}
.gallery-contact-actions{
  display:flex;
  gap:.7rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.gallery-contact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.gallery-contact-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 6px 20px rgba(212,105,138,.32);
}
.gallery-contact-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(212,105,138,.4);
}
.gallery-contact-btn-insta{
  /* Iconic Instagram gradient — purple → pink → orange */
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 6px 20px rgba(225,48,108,.28);
}
.gallery-contact-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.gallery-contact-icon{
  width:16px;
  height:16px;
  flex-shrink:0;
}
.gallery-contact-hint{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.92rem;
  color:#5C3545;
  margin:.4rem auto 0;
  line-height:1.55;
  letter-spacing:.01em;
  max-width:430px;
}
.gallery-contact-hint strong{
  color:#B8883A;
  font-style:normal;
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
}

@media(max-width:480px){
  .gallery-contact-card{padding:1.5rem 1.1rem 1.2rem}
  .gallery-contact-title{font-size:1.3rem;margin-bottom:1rem}
  .gallery-contact-actions{flex-direction:column;align-items:stretch;gap:.55rem}
  .gallery-contact-btn{min-width:0;width:100%;padding:1rem 1rem;font-size:0.875rem}
  .gallery-contact-hint{font-size:1rem}
}
@media(max-width:700px){
  .gallery-info-card{
    flex-direction:column;
    padding:1.4rem 1.2rem;
    gap:1.2rem;
  }
  .gallery-info-col{
    padding:0;
  }
  .gallery-info-divider{
    width:100%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(184,136,58,.25),transparent);
  }
}

/* Gallery swipe hint — mobile only */

@keyframes pulseHint{0%,100%{opacity:.5}50%{opacity:1}}
@media(max-width:700px){}

/* Accessibility: keyboard focus */
a:focus-visible,button:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:4px}

/* ── HERO HEADLINE PARALLAX ── */
.hero h1{will-change:transform,opacity;transition:none}
.hero h1 .word{display:inline-block;transition:transform .05s linear,opacity .05s linear}

/* ── HERO PARTICLE INK DROPS ── */
.ink-drop{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:inkFloat linear infinite}
@keyframes inkFloat{
  0%  {opacity:0;transform:translateY(0) scale(1)}
  10% {opacity:.55}
  80% {opacity:.35}
  100%{opacity:0;transform:translateY(-120px) scale(.4)}
}

/* ── STAT NUMBER COUNTER ANIMATION ── */
.hero-stat{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.hero-stat.stat-visible{opacity:1;transform:translateY(0)}
.hero-stat-num{transition:color .3s}
.hero-stat.stat-visible .hero-stat-num{animation:statPop .4s cubic-bezier(.34,1.56,.64,1) both}
@keyframes statPop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}

/* ── HERO TITLE WORD SPLIT ── */
.h1-static{display:inline}
.h1-word{display:inline-block;transition:transform .08s linear,opacity .08s linear}

/* FAQ panel dots */

/* ── ĀYAH SHOWER ── */
#arabic-shower{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}
.ar-letter{
  position:absolute;
  font-family:'Playfair Display',serif;
  opacity:0;
  user-select:none;
  pointer-events:none;
  will-change:transform,opacity;
  white-space:nowrap;
  direction:rtl;
}
@keyframes ayahDrift{
  0%  {opacity:0;transform:translateY(-60px) rotate(var(--rot,0deg))}
  12% {opacity:var(--peak,0.45)}
  75% {opacity:var(--peak,0.45)}
  100%{opacity:0;transform:translateY(110vh) rotate(calc(var(--rot,0deg) + 12deg))}
}
#hero-shower{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.gallery-price{display:inline-block;background:linear-gradient(135deg,var(--gold),#c9973f);color:#fff;font-size:.78rem;font-weight:700;padding:.22rem .65rem;border-radius:999px;margin-bottom:.5rem;letter-spacing:.03em;}
/* ═══════════════════════════════════════════════════════════════════
   ARTISTIC REDESIGN — GRADIENTS, DEPTH & VISUAL MAGIC
   ═══════════════════════════════════════════════════════════════════ */

/* ── Global gradient variables ─────────────────────────────────── */
:root{
  --grad-rose:linear-gradient(135deg,#D4698A 0%,#e8849e 50%,#c4587a 100%);
  --grad-gold:linear-gradient(135deg,#B8883A 0%,#d4a84b 50%,#9a6f2a 100%);
  --grad-sage:linear-gradient(135deg,#1E6B42 0%,#4ea882 50%,#2d7057 100%);
  --grad-hero:linear-gradient(160deg,#1a0a14 0%,#2d1020 40%,#1e1a10 70%,#0e1a14 100%);
  --grad-text-rose:linear-gradient(135deg,#D4698A,#e8a0b8,#c4587a);
  --grad-text-gold:linear-gradient(135deg,#B8883A,#e4c06e,#9a6f2a);
  --grad-text-sage:linear-gradient(135deg,#1E6B42,#6ec4a0,#2d7057);
  --shimmer:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);
}

/* ── Gradient text utility ─────────────────────────────────────── */
.grad-text-gold{
  background:var(--grad-text-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.grad-text-rose{
  background:var(--grad-text-rose);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── Section titles — gradient spans ──────────────────────────── */
.section-title span{
  background:var(--grad-text-gold) !important;
  -webkit-background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  background-clip:text !important;
  display:inline;
}

/* ── Eyebrow chips — shimmering gradient borders ──────────────── */
.eyebrow{
  position:relative;
  background:linear-gradient(135deg,rgba(184,136,58,.12),rgba(212,105,138,.08)) !important;
  border:1px solid transparent !important;
  background-clip:padding-box !important;
  box-shadow:0 0 0 1px rgba(184,136,58,.35),inset 0 1px 0 rgba(255,255,255,.15) !important;
}

/* ── Navigation — gradient underline on active/hover ─────────── */
.nav-link::after{
  content:'';display:block;
  height:2px;width:0;margin-top:2px;
  background:var(--grad-text-gold);
  transition:width .3s ease;border-radius:999px;
}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-link:hover,.nav-link.active{
  background:var(--grad-text-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── CTA Buttons — deep gradient + glow ─────────────────────── */
.btn-primary{
  background:var(--grad-rose) !important;
  box-shadow:0 4px 20px rgba(212,105,138,.35),inset 0 1px 0 rgba(255,255,255,.2) !important;
  border:none !important;
  transition:all .35s ease !important;
}
.btn-primary:hover{
  transform:translateY(-2px) scale(1.02) !important;
  box-shadow:0 8px 32px rgba(212,105,138,.5),inset 0 1px 0 rgba(255,255,255,.2) !important;
}

/* ── Gallery section background ───────────────────────────────── */
.gallery{
  background:linear-gradient(180deg,#fff8f4 0%,#fdf5e9 50%,#f8f3ff 100%);
  position:relative;overflow:hidden;
}
.gallery::before{
  content:'';position:absolute;top:-120px;right:-80px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,58,.08) 0%,transparent 70%);
  pointer-events:none;
}
.gallery::after{
  content:'';position:absolute;bottom:-100px;left:-60px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,105,138,.07) 0%,transparent 70%);
  pointer-events:none;
}

/* ── Gallery cards — elevated with gradient border glow ──────── */
.gallery-item{
  background:linear-gradient(180deg,#fff 0%,#fffaf5 100%) !important;
  border:none !important;
  box-shadow:0 2px 0 rgba(184,136,58,.25),0 8px 32px rgba(184,136,58,.1),0 2px 8px rgba(0,0,0,.06) !important;
  position:relative;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease !important;
}
.gallery-item::before{
  content:'';position:absolute;inset:0;border-radius:18px;
  background:linear-gradient(160deg,rgba(184,136,58,.18) 0%,rgba(212,105,138,.12) 50%,rgba(59,140,110,.1) 100%);
  padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1;
}
.gallery-item:hover{
  transform:translateY(-8px) scale(1.01) !important;
  box-shadow:0 2px 0 rgba(184,136,58,.4),0 20px 60px rgba(184,136,58,.2),0 8px 24px rgba(212,105,138,.15) !important;
}

/* ── Gallery image wrap — gradient overlay on hover ─────────── */
.gallery-img-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.25) 0%,transparent 50%);
  opacity:0;transition:opacity .35s ease;pointer-events:none;
}
.gallery-item:hover .gallery-img-wrap::after{opacity:1}

/* ── Price badge — gold shimmer animation ────────────────────── */
.gallery-price{
  background:linear-gradient(135deg,#B8883A 0%,#e4c06e 40%,#d4a84b 60%,#9a6f2a 100%) !important;
  background-size:200% 100% !important;
  box-shadow:0 2px 8px rgba(184,136,58,.4),inset 0 1px 0 rgba(255,255,255,.3) !important;
  animation:shimmerPrice 3s linear infinite !important;
  position:relative;
}
@keyframes shimmerPrice{
  0%{background-position:200% center}
  100%{background-position:-200% center}
}

/* ── Gallery title — subtle gradient ────────────────────────── */
.gallery-title{
  background:linear-gradient(135deg,#2a1a0a,#5a3a1a);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── Gallery scroll buttons — gradient fill ─────────────────── */

/* ── Section headings — decorative rule ─────────────────────── */
.section-title{
  position:relative;
}
.section-title::after{
  content:'';display:block;
  width:80px;height:3px;margin:.7rem auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),var(--rose),transparent);
  border-radius:999px;
}

/* ── Events section — gradient card tops ────────────────────── */
/* ── Hero section — layered gradient glow ───────────────────── */
.hero{
  position:relative;
}
.hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:120px;
  background:linear-gradient(to bottom,transparent,rgba(255,248,244,.6));
  pointer-events:none;
}

/* ── Service cards — gradient icon zones ────────────────────── */
.svc{
  position:relative;overflow:hidden;
}
.svc::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,58,.12),transparent 70%);
  pointer-events:none;
}

/* ── Footer top boundary ─ subtle (was a heavy rainbow gradient, removed) ── */

/* ── Scroll reveal — subtle scale-up ───────────────────────── */
.reveal{will-change:transform,opacity}

/* ── Selection color ─────────────────────────────────────────── */
::selection{background:rgba(184,136,58,.25);color:inherit}

/* ── Scrollbar styling ──────────────────────────────────────── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--rose),var(--gold));border-radius:999px}

/* ── Reduced motion accessibility ──────────────────────────── */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* ── Focus-visible ────────────────────────────────────────── */
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
/* ── Skip link ──────────────────────────────────────────────── */
.skip-link{position:absolute;left:-9999px;top:1rem;background:var(--gold);color:#fff;padding:.5rem 1rem;border-radius:6px;font-weight:700;z-index:9999;text-decoration:none;font-size:.9rem}
.skip-link:focus{left:1rem}

/* ── COLLABORATE PAGE (redesigned — 6-card grid) ────────────── */
.collaborate{
  background:#FBF6EE;
  padding:5rem 6%;
  position:relative;
  overflow:hidden;
}
.collaborate::before{
  content:'';
  position:absolute;
  top:-80px;
  right:-80px;
  width:350px;
  height:350px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(59,140,110,.07),transparent 70%);
  pointer-events:none;
}
.collaborate::after{
  content:'';
  position:absolute;
  bottom:-100px;
  left:-80px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,58,.06),transparent 70%);
  pointer-events:none;
}
.collaborate .container{position:relative;z-index:1}

/* Section labels (uppercase eyebrow above groups) */
.collab-section-label{
  text-align:center;
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 1.5rem;
}

/* 6-card grid */
.collab-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:.9rem;
  max-width:1080px;
  margin:0 auto;
}
.collab-card{
  background:#fff;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.5rem 1.3rem;
  text-align:left;
  box-shadow:0 4px 18px rgba(184,136,58,.06);
  position:relative;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.collab-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(184,136,58,.14);
  border-color:rgba(184,136,58,.4);
}
.collab-icon{
  width:50px;
  height:50px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  margin-bottom:.8rem;
}
.collab-card-masjid .collab-icon{background:rgba(59,140,110,.1)}
.collab-card-cafe .collab-icon{background:rgba(184,136,58,.1)}
.collab-card-live .collab-icon{background:rgba(201,151,58,.14)}
.collab-card-brand .collab-icon{background:rgba(212,105,138,.1)}
.collab-card-school .collab-icon{background:rgba(150,100,200,.1)}
.collab-card-family .collab-icon{background:rgba(232,150,170,.14)}

/* Premium gold accent on Live Event Calligraphy card */
.collab-card-accent{
  position:absolute;
  top:0;
  left:1.3rem;
  right:1.3rem;
  height:2px;
  background:linear-gradient(90deg,transparent,#C9973A,transparent);
  pointer-events:none;
}
.collab-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.15rem;
  color:#2A1520;
  margin:0 0 .3rem;
  line-height:1.25;
}
.collab-desc{
  font-family:'Nunito',sans-serif;
  font-size:.82rem;
  color:#5C3545;
  margin:0;
  line-height:1.65;
}

/* How it works — 3-step process */
.collab-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  max-width:760px;
  margin:0 auto;
}
.collab-step{
  text-align:center;
}
.collab-step-num{
  width:42px;
  height:42px;
  color:#fff;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.25rem;
  margin-bottom:.75rem;
}
.collab-step-num-1{background:#1E6B42;box-shadow:0 4px 14px rgba(30,107,66,.32)}
.collab-step-num-2{background:#B8883A;box-shadow:0 4px 14px rgba(184,136,58,.32)}
.collab-step-num-3{background:#D4698A;box-shadow:0 4px 14px rgba(212,105,138,.32)}
.collab-step-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.05rem;
  color:#2A1520;
  margin:0 0 .3rem;
  line-height:1.25;
}
.collab-step-desc{
  font-family:'Nunito',sans-serif;
  font-size:.8rem;
  color:#5C3545;
  margin:0;
  line-height:1.65;
}

/* CTA card — matches gallery/contact/faq design language */
.collab-cta-card{
  max-width:540px;
  margin:3rem auto 0;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.22);
  border-radius:18px;
  padding:1.8rem 1.6rem 1.5rem;
  text-align:center;
  box-shadow:0 6px 26px rgba(184,136,58,.08);
}
.collab-cta-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.45rem;
  color:#2A1520;
  margin:0 0 .5rem;
  line-height:1.2;
}
.collab-cta-desc{
  font-family:'Nunito',sans-serif;
  font-size:15px;
  color:#5C3545;
  margin:0 0 1.2rem;
  line-height:1.6;
}
.collab-cta-actions{
  display:flex;
  gap:.7rem;
  justify-content:center;
  flex-wrap:wrap;
}
.collab-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
  transition:transform .2s,box-shadow .2s,filter .2s;
  min-width:170px;
}
.collab-cta-btn-email{
  background:linear-gradient(135deg,#D4698A 0%,#B85070 100%);
  box-shadow:0 6px 22px rgba(212,105,138,.32);
}
.collab-cta-btn-email:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(212,105,138,.4);
}
.collab-cta-btn-insta{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 50%,#FCAF45 100%);
  box-shadow:0 6px 22px rgba(225,48,108,.28);
}
.collab-cta-btn-insta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(225,48,108,.36);
  filter:brightness(1.06);
}
.collab-cta-icon{
  width:16px;height:16px;flex-shrink:0;
}

/* ── Tablet: 2 columns × 3 rows ──────────────────────────────── */
@media(max-width:900px){
  .collab-grid{grid-template-columns:1fr 1fr;gap:.8rem}
}

/* ── Mobile: same content + same layout, scaled tighter ───────── */
@media(max-width:600px){
  .collaborate{padding:3.5rem 5%}
  .collab-grid{grid-template-columns:1fr;gap:.7rem;max-width:480px}
  .collab-card{
    padding:1.15rem 1rem;
    border-radius:16px;
  }
  .collab-icon{
    width:44px;
    height:44px;
    border-radius:11px;
    font-size:1.35rem;
    margin-bottom:.65rem;
  }
  .collab-card-accent{
    left:1rem;
    right:1rem;
  }
  .collab-title{font-size:1.05rem}
  .collab-desc{font-size:1rem}

  .collab-steps{grid-template-columns:1fr;gap:1.8rem;max-width:360px}
  .collab-step-num{width:38px;height:38px;font-size:1.15rem}

  .collab-cta-card{padding:1.5rem 1.1rem 1.3rem;margin-top:2.4rem}
  .collab-cta-title{font-size:1.3rem}
  .collab-cta-actions{flex-direction:column;align-items:stretch}
  .collab-cta-btn{min-width:0;width:100%;padding:1rem 1rem;font-size:0.875rem}
}

/* ── Gallery scroll buttons — bigger & always visible on desktop ─ */

@keyframes pulseNext{
  0%,100%{box-shadow:0 4px 20px rgba(184,136,58,.3)}
  50%{box-shadow:0 4px 28px rgba(184,136,58,.6),0 0 0 4px rgba(184,136,58,.15)}
}
/* ── "More art" label under next button ─────────────────────────  */

/* Active page nav link */
.nav-links a.nav-active {
  color: var(--rose) !important;
  font-weight: 700;
}
.nav-links a.nav-active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--rose), var(--gold));
  border-radius: 999px;
  transition: none;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE OPTIMISATION — homepage & global  (max-width: 600px)
   ══════════════════════════════════════════════════════════════ */
@media(max-width:600px){

  /* ── Nav ───────────────────────────────────────────────── */
  nav#mainNav{padding:0 4%;height:72px}
  .nav-logo{gap:.35rem !important}
  .nav-logo > div > svg{width:30px !important;height:30px !important}
  .nav-logo > div > svg:last-of-type{width:26px !important;height:26px !important}
  .nav-logo > span{display:none}
  .nav-logo > div > span > span{font-size:1.05rem !important}

  /* ── Hero ──────────────────────────────────────────────── */
  .hero{
    padding:76px 5% 2.5rem;
    min-height:100svh;
    justify-content:center;
  }
  .hero-content{gap:.9rem}
  .hero-pill{font-size:0.75rem;padding:.32rem .9rem}

  /* Name + credential line above H1 */
  .hero-content > p:first-of-type{
    font-size:clamp(1.3rem,6vw,1.8rem) !important;
    margin-bottom:.1rem !important;
  }
  .hero-content > p:nth-of-type(2){
    font-size:.72rem !important;
    letter-spacing:.1em !important;
    margin-bottom:.6rem !important;
  }

  /* H1 */
  .hero h1{
    font-size:clamp(2.4rem,11vw,3.2rem);
    line-height:1.05;
    margin-bottom:.6rem;
  }
  .hero h1.hero-h1-brand{
    font-size:clamp(2.8rem,12.5vw,3.8rem);
    line-height:1.1;
  }

  /* Hero mark symbols — shrink to match smaller wordmark on phones */
  .hero-mark{width:38px !important;height:38px !important}
  .hero-mark + div,
  .hero-mark:nth-of-type(2){flex-shrink:0}

  /* Hero subtitle */
  .hero-sub{
    font-size:1rem;
    line-height:1.65;
    max-width:100%;
    padding:0 .2rem;
  }

  /* CTA buttons — stack full-width */
  .hero-ctas{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1.9rem;
    width:100%;
  }
  .hero-ctas .btn{
    width:240px;max-width:90%;
    justify-content:center;
    padding:.82rem 1rem;
    font-size:0.875rem;
  }

  /* Roles pills — single column on mobile for bulletproof readability */
  .hero-roles{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    gap:.45rem !important;
    max-width:280px;
    margin:0 auto 1rem;
    width:100%;
    padding:0;
    overflow:visible;
  }
  .hero-role{
    font-size:1rem !important;
    padding:.42rem .9rem !important;
    width:auto !important;
    max-width:240px;
    justify-content:center;
    white-space:nowrap !important;
    text-align:center;
    line-height:1.2;
    flex-shrink:0;
  }
  .hero-role-sep{display:none !important}

  

  /* ── Section spacing ───────────────────────────────────── */
  section{padding:3.5rem 5% !important}
  .container{padding:0 .75rem !important}

  /* ── Section titles ────────────────────────────────────── */
  .section-title{font-size:clamp(1.5rem,6.5vw,2rem) !important;text-align:center}
  .section-sub{font-size:1rem}
  .eyebrow{font-size:0.75rem}

  /* ── Buttons ───────────────────────────────────────────── */
  .btn{font-size:0.875rem;padding:.72rem 1.2rem}

  /* ── About teaser ──────────────────────────────────────── */
  .about .container{padding:0 1.1rem !important}
  .about p{font-size:.9rem;line-height:1.75;overflow-wrap:break-word;word-wrap:break-word}
  .about p strong{display:inline}

  /* ── Services teaser cards ─────────────────────────────── */
  .svc{
    flex:0 0 80vw !important;
    min-width:0 !important;
    max-width:none !important;
  }
  /* Stack services on homepage into swipeable row */
  section.services > .container > div[style*="flex-wrap"]{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:.75rem;
    gap:1rem;
  }
  section.services .svc[style*="min-width"],
  section.services .svc.home-svc-card,
  .home-svc-card{
    flex:0 0 80vw !important;
    min-width:0 !important;
    scroll-snap-align:start;
  }

  /* ── Events teaser ─────────────────────────────────────── */
  section.events > .container > div[style*="flex"]{
    flex-direction:column;
    gap:.65rem;
  }
  section.events .btn{width:100%;justify-content:center}

  /* ── Gallery teaser cards ──────────────────────────────── */
  .gallery > .container > div[style*="overflow-x"]{
    padding-bottom:.75rem;
  }
  .gallery-item[style*="min(260px"],
  .gallery-item[style*="flex:0 0 280px"]{
    flex:0 0 78vw !important;
  }

  /* ── Gallery page — shrink edge fades so buttons stay visible ── */
  

  /* ── Testimonials ──────────────────────────────────────── */
  .testimonials{padding:3rem 5% !important}

  /* ── Collaborate teaser ────────────────────────────────── */
  section[style*="padding:2.5rem"] .btn{
    width:100%;
    justify-content:center;
  }

  /* ── Footer ────────────────────────────────────────────── */
  .footer-links{
    flex-wrap:wrap;
    gap:.6rem;
    justify-content:center;
  }
  .footer-links li{font-size:.75rem}
  .footer-copy{font-size:0.75rem;text-align:center;line-height:1.7}

  /* ── Homepage scroll rows ──────────────────────────────── */
  .home-svc-row{
    justify-content:flex-start !important;
    width:100%;
    box-sizing:border-box;
  }
  .home-svc-card{flex:0 0 80vw !important}
  .home-gallery-card{flex:0 0 80vw !important}

  /* ── Events buttons — stack ────────────────────────────── */
  .home-events-btns{flex-direction:column;align-items:stretch}
  .home-events-btns .btn{width:100%;justify-content:center}

  /* ── Prevent horizontal overflow globally ──────────────── */
  body{overflow-x:hidden}
  .hero-orb{display:none} /* hide large blurs on small screens for perf */
  .hero-arch{display:none}
}

/* ── Tablet tweaks (601–900px) ──────────────────────────────── */
@media(min-width:601px) and (max-width:900px){
  .hero h1{font-size:clamp(2.8rem,7vw,3.8rem)}
  
  .hero-roles{flex-wrap:wrap;justify-content:center}
  .hero-role-sep{display:none}
  section{padding:3rem 6%}
}

/* ── Homepage-specific scroll rows (desktop: centred wrap) ──── */
.home-svc-row{justify-content:center}
.home-svc-card{min-width:0}
.home-gallery-card{min-width:0}

/* ── Scroll-row arrow wrapper ────────────────────────────────── */
.scroll-row-wrap{
  position:relative;
  width:100%;
}
.scroll-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  border:1.5px solid rgba(201,151,58,.3);
  cursor:pointer;
  font-size:1.1rem;
  line-height:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 12px rgba(0,0,0,.14);
  z-index:10;
  transition:opacity .2s,transform .2s,box-shadow .2s;
  color:var(--green);
}
.scroll-arrow:hover{
  transform:translateY(-50%) scale(1.12);
  box-shadow:0 4px 18px rgba(0,0,0,.2);
}
.scroll-arrow.sa-hidden{opacity:0;pointer-events:none}
.scroll-arrow-left{left:6px}
.scroll-arrow-right{right:6px}
/* Right-fade hint to signal more content */
.scroll-row-wrap::after{
  content:'';
  position:absolute;
  right:0;top:0;bottom:0;
  width:48px;
  background:linear-gradient(to right,transparent,rgba(255,249,245,.85));
  pointer-events:none;
  transition:opacity .3s;
  border-radius:0 12px 12px 0;
}
.scroll-row-wrap.at-end::after{opacity:0}

/* ── FLOATING FAQ HELP BUTTON ─────────────────────────────────── */
/* "?" button fixed bottom-right of every page (except /faq itself) */
.faq-help-fab{
  position:fixed;
  bottom:24px;
  right:24px;
  width:50px;
  height:50px;
  border-radius:50%;
  background:linear-gradient(135deg,#C9973A 0%,#B8883A 100%);
  color:#fff;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 22px rgba(184,136,58,.4),0 2px 6px rgba(0,0,0,.08);
  z-index:998;
  transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,filter .2s;
  animation:fabFadeIn .5s ease-out .3s both;
  -webkit-tap-highlight-color:transparent;
}
@keyframes fabFadeIn{
  from{opacity:0;transform:translateY(20px) scale(.8)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.faq-help-fab:hover{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 10px 28px rgba(184,136,58,.5),0 3px 8px rgba(0,0,0,.1);
  filter:brightness(1.05);
}
.faq-help-fab:active{transform:translateY(0) scale(.98)}
.faq-help-fab:focus-visible{
  outline:3px solid rgba(184,136,58,.4);
  outline-offset:3px;
}
.faq-help-fab-icon{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:1.65rem;
  line-height:1;
  color:#fff;
  margin-top:-2px; /* optical centering of the ? glyph */
}

/* Tooltip pill appearing to the left on hover */
.faq-help-fab-tooltip{
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:.45rem .8rem;
  background:#2A1520;
  color:#fff;
  font-family:'Nunito',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
  border-radius:8px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.faq-help-fab-tooltip::after{
  content:'';
  position:absolute;
  left:100%;
  top:50%;
  transform:translateY(-50%);
  border:5px solid transparent;
  border-left-color:#2A1520;
}
.faq-help-fab:hover .faq-help-fab-tooltip,
.faq-help-fab:focus-visible .faq-help-fab-tooltip{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

/* Mobile: smaller, slightly tighter to edge, no tooltip (just title attribute) */
@media(max-width:600px){
  .faq-help-fab{
    bottom:20px;
    right:20px;
    width:46px;
    height:46px;
    box-shadow:0 5px 18px rgba(184,136,58,.35),0 2px 6px rgba(0,0,0,.08);
  }
  .faq-help-fab-icon{font-size:1.5rem}
  .faq-help-fab-tooltip{display:none}
}

/* Reduced motion: no entrance animation */
@media(prefers-reduced-motion:reduce){
  .faq-help-fab{animation:none}
  .faq-help-fab:hover{transform:none}
}

/* On mobile, add extra bottom space inside the footer so the floating "?" button
   doesn't visually overlap the bottom social-icons row or SEO line. */
@media(max-width:600px){
  footer{padding-bottom:5rem}
}

/* ── Mobile tap-target expansion for social icons ───────────────
   The visible icons stay small (38px footer, 32px nav) but their
   tap area extends to ~44px on touchscreens via an invisible
   pseudo-element. WCAG 2.5.5 / 2.5.8 compliance. */
@media(max-width:768px){
  .footer-social,.nav-social{position:relative}
  .footer-social::before,.nav-social::before{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:50%;
  }
}

/* ═══ PRIVACY PAGE — list-item styling without bullets ════════════
   Each former <li> renders as a div with a thin gold left border,
   matching the site's brand language (accent lines, dividers). */
.privacy-list{
  margin:.6rem 0 1.2rem;
}
.privacy-item{
  margin:0 0 .8rem;
  padding:.4rem 0 .4rem 1.1rem;
  border-left:2px solid #C9973A;
  line-height:1.7;
}
.privacy-item:last-child{margin-bottom:0}
@media(max-width:600px){
  .privacy-item{padding-left:.9rem;margin-bottom:.7rem}
}

/* === FINAL font-size sweep v2 (auto-generated, aggressive) === */
.hero-pill{font-size:13px !important}
.hero-sub{font-size:17px !important}
.hero-desc{font-size:16px !important}
.hero-role{font-size:16px !important}
.hero-brand-sub{font-size:13px !important}
.hero-stat-label{font-size:13px !important}
.hero-content > p:nth-of-type(2){font-size:14px !important}
.nav-links a{font-size:15px !important}
.nav-cta{font-size:14px !important}
.btn{font-size:15px !important}
.hero-ctas .btn{font-size:15px !important}
.svc-btn{font-size:14px !important}
.ev-class-btn{font-size:14px !important}
.about-recite-btn{font-size:14px !important}
.collab-cta-btn{font-size:14px !important}
.gallery-info-btn{font-size:14px !important}
.gallery-contact-btn{font-size:14px !important}
.contact-letter-btn{font-size:14px !important}
.about-cta-btn{font-size:14px !important}
.ev-cta-btn{font-size:14px !important}
.svc-cta-btn{font-size:14px !important}
.faq-help-btn{font-size:14px !important}
.nl-btn{font-size:14px !important}
.nl-btn-big{font-size:14px !important}
.nl-card-subscribe-btn{font-size:14px !important}
.svc-crosslink{font-size:14px !important}
.faq-help-fab-tooltip{font-size:13px !important}
.svc-desc{font-size:16px !important}
.ev-cta-desc{font-size:16px !important}
.svc-cta-desc{font-size:16px !important}
.about-cta-desc{font-size:16px !important}
.collab-cta-desc{font-size:16px !important}
.collab-desc{font-size:16px !important}
.collab-step-desc{font-size:15px !important}
.gallery-desc{font-size:15px !important}
.gallery-info-desc{font-size:15px !important}
.gallery-contact-hint{font-size:16px !important}
.gallery-cta-sub{font-size:15px !important}
.ev-class-desc{font-size:15px !important}
.ev-workshop-desc{font-size:15px !important}
.about-recite-desc{font-size:16px !important}
.about-timeline-desc{font-size:16px !important}
.faq-a-inner{font-size:15px !important}
.faq-help-desc{font-size:15px !important}
.nl-card-desc{font-size:15px !important}
.nl-card-blurb{font-size:15px !important}
.nl-card-fineprint{font-size:14px !important}
.contact-letter-promise{font-size:16px !important}
.contact-letter-note-body{font-size:16px !important}
.contact-letter-signoff{font-size:15px !important}
.about p{font-size:16px !important}
.about-intro{font-size:17px !important}
.eyebrow{font-size:13px !important}
.about-section-label{font-size:13px !important}
.ev-section-label{font-size:13px !important}
.collab-section-label{font-size:13px !important}
.testi-wall-label{font-size:13px !important}
.testi-wall-attr{font-size:14px !important}
.ev-date-pill-cta{font-size:13px !important}
.ev-date-pill-label{font-size:15px !important}
.about-recite-eyebrow{font-size:13px !important}
.about-timeline-chip{font-size:13px !important}
.svc-crosslinks-label{font-size:16px !important}
.footer-links a{font-size:14px !important}
.footer-links li{font-size:14px !important}
.footer-col-link{font-size:13px !important}
.footer-copy{font-size:13px !important}
.footer-copy-merged{font-size:13px !important}
.footer-seo{font-size:13px !important}
.footer-wordmark .fw-amp{font-size:14px !important}
.footer-follow-label{font-size:14px !important}
.section-sub{font-size:16px !important}
.gallery-title{font-size:17px !important}
.collab-step-title{font-size:17px !important}
.nl-card-title{font-size:17px !important}
.gallery-info-title{font-size:18px !important}
.svc-pricing-label{font-size:12px !important}
.svc-pricing-unit{font-size:13px !important}
.svc-tag{font-size:13px !important}
.gallery-price{font-size:14px !important}
.gallery-medium{font-size:13px !important}
.art-sku-pill{font-size:13px !important}
.ev-meta-pill{font-size:13px !important}
.ev-pick-label{font-size:13px !important}
.ev-workshop-tag{font-size:12px !important}
.contact-letter-label{font-size:13px !important}
.contact-letter-meta{font-size:13px !important}
.contact-letter-note-label{font-size:13px !important}
.contact-letter-follow-label{font-size:13px !important}
.nl-card-inside-label{font-size:13px !important}
.nl-card-inside-list li{font-size:14px !important}
.nl-note{font-size:13px !important}
.nl-check{font-size:14px !important}
.social-label{font-size:12px !important}
.skip-link{font-size:14px !important}
.faq-icon{font-size:14px !important}
@media(max-width:768px){
  .hero-pill{font-size:14px !important}
  .hero-sub{font-size:18px !important}
  .hero-desc{font-size:17px !important}
  .hero-role{font-size:17px !important}
  .hero-brand-sub{font-size:14px !important}
  .hero-stat-label{font-size:14px !important}
  .hero-content > p:nth-of-type(2){font-size:15px !important}
  .nav-links a{font-size:16px !important}
  .nav-cta{font-size:15px !important}
  .btn{font-size:16px !important}
  .hero-ctas .btn{font-size:16px !important}
  .svc-btn{font-size:15px !important}
  .ev-class-btn{font-size:15px !important}
  .about-recite-btn{font-size:15px !important}
  .collab-cta-btn{font-size:15px !important}
  .gallery-info-btn{font-size:15px !important}
  .gallery-contact-btn{font-size:15px !important}
  .contact-letter-btn{font-size:15px !important}
  .about-cta-btn{font-size:15px !important}
  .ev-cta-btn{font-size:15px !important}
  .svc-cta-btn{font-size:15px !important}
  .faq-help-btn{font-size:15px !important}
  .nl-btn{font-size:15px !important}
  .nl-btn-big{font-size:15px !important}
  .nl-card-subscribe-btn{font-size:15px !important}
  .svc-crosslink{font-size:15px !important}
  .faq-help-fab-tooltip{font-size:14px !important}
  .svc-desc{font-size:17px !important}
  .ev-cta-desc{font-size:17px !important}
  .svc-cta-desc{font-size:17px !important}
  .about-cta-desc{font-size:17px !important}
  .collab-cta-desc{font-size:17px !important}
  .collab-desc{font-size:17px !important}
  .collab-step-desc{font-size:16px !important}
  .gallery-desc{font-size:16px !important}
  .gallery-info-desc{font-size:16px !important}
  .gallery-contact-hint{font-size:17px !important}
  .gallery-cta-sub{font-size:16px !important}
  .ev-class-desc{font-size:16px !important}
  .ev-workshop-desc{font-size:16px !important}
  .about-recite-desc{font-size:17px !important}
  .about-timeline-desc{font-size:17px !important}
  .faq-a-inner{font-size:16px !important}
  .faq-help-desc{font-size:16px !important}
  .nl-card-desc{font-size:16px !important}
  .nl-card-blurb{font-size:16px !important}
  .nl-card-fineprint{font-size:15px !important}
  .contact-letter-promise{font-size:17px !important}
  .contact-letter-note-body{font-size:17px !important}
  .contact-letter-signoff{font-size:16px !important}
  .about p{font-size:17px !important}
  .about-intro{font-size:18px !important}
  .eyebrow{font-size:14px !important}
  .about-section-label{font-size:14px !important}
  .ev-section-label{font-size:14px !important}
  .collab-section-label{font-size:14px !important}
  .testi-wall-label{font-size:14px !important}
  .testi-wall-attr{font-size:15px !important}
  .ev-date-pill-cta{font-size:14px !important}
  .ev-date-pill-label{font-size:16px !important}
  .about-recite-eyebrow{font-size:14px !important}
  .about-timeline-chip{font-size:14px !important}
  .svc-crosslinks-label{font-size:17px !important}
  .footer-links a{font-size:15px !important}
  .footer-links li{font-size:15px !important}
  .footer-col-link{font-size:14px !important}
  .footer-copy{font-size:14px !important}
  .footer-copy-merged{font-size:14px !important}
  .footer-seo{font-size:14px !important}
  .footer-follow-label{font-size:15px !important}
  .section-sub{font-size:17px !important}
  .gallery-title{font-size:18px !important}
  .collab-step-title{font-size:18px !important}
  .nl-card-title{font-size:18px !important}
  .gallery-info-title{font-size:19px !important}
  .svc-pricing-label{font-size:13px !important}
  .svc-pricing-unit{font-size:14px !important}
  .svc-tag{font-size:14px !important}
  .gallery-price{font-size:15px !important}
  .gallery-medium{font-size:14px !important}
  .art-sku-pill{font-size:14px !important}
  .ev-meta-pill{font-size:14px !important}
  .ev-pick-label{font-size:14px !important}
  .ev-workshop-tag{font-size:13px !important}
  .contact-letter-label{font-size:14px !important}
  .contact-letter-meta{font-size:14px !important}
  .contact-letter-note-label{font-size:14px !important}
  .contact-letter-follow-label{font-size:14px !important}
  .nl-card-inside-label{font-size:14px !important}
  .nl-card-inside-list li{font-size:15px !important}
  .nl-note{font-size:14px !important}
  .nl-check{font-size:15px !important}
  .social-label{font-size:13px !important}
  .skip-link{font-size:15px !important}
  .faq-icon{font-size:15px !important}
}
/* === end FINAL sweep v2 === */

/* === Unified typography consistency (auto-generated) === */
.ev-workshop-tag{font-size:14px !important}
.svc-pricing-label{font-size:14px !important}
.svc-pricing-unit{font-size:14px !important}
.svc-tag{font-size:14px !important}
.gallery-medium{font-size:14px !important}
.gallery-price{font-size:15px !important}
.ev-meta-pill{font-size:14px !important}
.ev-pick-label{font-size:14px !important}
.contact-letter-meta{font-size:14px !important}
.contact-letter-label{font-size:14px !important}
.contact-letter-note-label{font-size:14px !important}
.contact-letter-follow-label{font-size:14px !important}
.nl-card-inside-label{font-size:14px !important}
.nl-note{font-size:14px !important}
.testi-wall-label{font-size:14px !important}
.art-sku-pill{font-size:14px !important}
.social-label{font-size:13px !important}
.footer-mark-tagline{font-size:13px !important}
.ev-section-label{font-size:14px !important}
.svc-section-label{font-size:14px !important}
.about-section-label{font-size:14px !important}
.collab-section-label{font-size:14px !important}
.eyebrow{font-size:14px !important}
.about-recite-eyebrow{font-size:14px !important}
.about-timeline-chip{font-size:14px !important}
.ev-date-pill-cta{font-size:14px !important}
.hero-pill{font-size:14px !important}
.hero-brand-sub{font-size:14px !important}
.hero-stat-label{font-size:14px !important}
.faq-help-fab-tooltip{font-size:14px !important}
.btn{font-size:15px !important}
.hero-ctas .btn{font-size:15px !important}
.nav-cta{font-size:15px !important}
.svc-btn{font-size:15px !important}
.ev-class-btn{font-size:15px !important}
.about-recite-btn{font-size:15px !important}
.collab-cta-btn{font-size:15px !important}
.gallery-info-btn{font-size:15px !important}
.gallery-contact-btn{font-size:15px !important}
.contact-letter-btn{font-size:15px !important}
.about-cta-btn{font-size:15px !important}
.ev-cta-btn{font-size:15px !important}
.svc-cta-btn{font-size:15px !important}
.faq-help-btn{font-size:15px !important}
.nl-btn{font-size:15px !important}
.nl-btn-big{font-size:15px !important}
.nl-card-subscribe-btn{font-size:15px !important}
.svc-crosslink{font-size:15px !important}
.faq-icon{font-size:15px !important}
.skip-link{font-size:15px !important}
.nl-card-inside-list li{font-size:15px !important}
.nl-check{font-size:15px !important}
.nl-card-fineprint{font-size:15px !important}
.nav-links a{font-size:15px !important}
.hero-content > p:nth-of-type(2){font-size:15px !important}
.nl-page-meta{font-size:15px !important}
.nl-page-sub{font-size:16px !important}
.faq-hero-pointer{font-size:16px !important}
.gallery-overlay-text{font-size:16px !important}
.contact-letter-ornament{font-size:16px !important}
.contact-letter-signoff{font-size:16px !important}
.svc-pricing-value-sm{font-size:16px !important}
.ev-date-pill-label{font-size:16px !important}
.svc-desc{font-size:16px !important}
.ev-cta-desc{font-size:16px !important}
.svc-cta-desc{font-size:16px !important}
.about-cta-desc{font-size:16px !important}
.collab-cta-desc{font-size:16px !important}
.collab-desc{font-size:16px !important}
.collab-step-desc{font-size:16px !important}
.gallery-desc{font-size:16px !important}
.gallery-info-desc{font-size:16px !important}
.gallery-contact-hint{font-size:16px !important}
.gallery-cta-sub{font-size:16px !important}
.ev-class-desc{font-size:16px !important}
.ev-workshop-desc{font-size:16px !important}
.about-recite-desc{font-size:16px !important}
.about-timeline-desc{font-size:16px !important}
.faq-a-inner{font-size:16px !important}
.faq-help-desc{font-size:16px !important}
.nl-card-desc{font-size:16px !important}
.nl-card-blurb{font-size:16px !important}
.contact-letter-promise{font-size:16px !important}
.contact-letter-note-body{font-size:16px !important}
.about p{font-size:16px !important}
.about-intro{font-size:17px !important}
.hero-sub{font-size:17px !important}
.hero-desc{font-size:16px !important}
.hero-role{font-size:16px !important}
.section-sub{font-size:16px !important}
.testi-wall-quote blockquote{font-size:17px !important}
.svc-crosslinks-label{font-size:16px !important}
.testi-wall-attr{font-size:15px !important}
.gallery-title{font-size:17px !important}
.collab-step-title{font-size:18px !important}
.nl-card-title{font-size:18px !important}
.gallery-info-title{font-size:18px !important}
.footer-links a{font-size:14px !important}
.footer-links li{font-size:14px !important}
.footer-col-link{font-size:14px !important}
.footer-copy{font-size:13px !important}
.footer-copy-merged{font-size:13px !important}
.footer-seo{font-size:13px !important}
.footer-follow-label{font-size:14px !important}
.footer-wordmark .fw-amp{font-size:14px !important}
@media(max-width:768px){
  .ev-workshop-tag{font-size:15px !important}
  .svc-pricing-label{font-size:15px !important}
  .svc-pricing-unit{font-size:15px !important}
  .svc-tag{font-size:15px !important}
  .gallery-medium{font-size:15px !important}
  .gallery-price{font-size:16px !important}
  .ev-meta-pill{font-size:15px !important}
  .ev-pick-label{font-size:15px !important}
  .contact-letter-meta{font-size:15px !important}
  .contact-letter-label{font-size:15px !important}
  .contact-letter-note-label{font-size:15px !important}
  .contact-letter-follow-label{font-size:15px !important}
  .nl-card-inside-label{font-size:15px !important}
  .nl-note{font-size:15px !important}
  .testi-wall-label{font-size:15px !important}
  .art-sku-pill{font-size:15px !important}
  .social-label{font-size:14px !important}
  .footer-mark-tagline{font-size:14px !important}
  .ev-section-label{font-size:15px !important}
  .svc-section-label{font-size:15px !important}
  .about-section-label{font-size:15px !important}
  .collab-section-label{font-size:15px !important}
  .eyebrow{font-size:15px !important}
  .about-recite-eyebrow{font-size:15px !important}
  .about-timeline-chip{font-size:15px !important}
  .ev-date-pill-cta{font-size:15px !important}
  .hero-pill{font-size:15px !important}
  .hero-brand-sub{font-size:15px !important}
  .hero-stat-label{font-size:15px !important}
  .faq-help-fab-tooltip{font-size:15px !important}
  .btn{font-size:16px !important}
  .hero-ctas .btn{font-size:16px !important}
  .nav-cta{font-size:16px !important}
  .svc-btn{font-size:16px !important}
  .ev-class-btn{font-size:16px !important}
  .about-recite-btn{font-size:16px !important}
  .collab-cta-btn{font-size:16px !important}
  .gallery-info-btn{font-size:16px !important}
  .gallery-contact-btn{font-size:16px !important}
  .contact-letter-btn{font-size:16px !important}
  .about-cta-btn{font-size:16px !important}
  .ev-cta-btn{font-size:16px !important}
  .svc-cta-btn{font-size:16px !important}
  .faq-help-btn{font-size:16px !important}
  .nl-btn{font-size:16px !important}
  .nl-btn-big{font-size:16px !important}
  .nl-card-subscribe-btn{font-size:16px !important}
  .svc-crosslink{font-size:16px !important}
  .faq-icon{font-size:16px !important}
  .skip-link{font-size:16px !important}
  .nl-card-inside-list li{font-size:16px !important}
  .nl-check{font-size:16px !important}
  .nl-card-fineprint{font-size:16px !important}
  .nav-links a{font-size:16px !important}
  .hero-content > p:nth-of-type(2){font-size:16px !important}
  .nl-page-meta{font-size:16px !important}
  .nl-page-sub{font-size:17px !important}
  .faq-hero-pointer{font-size:17px !important}
  .gallery-overlay-text{font-size:17px !important}
  .contact-letter-ornament{font-size:17px !important}
  .contact-letter-signoff{font-size:17px !important}
  .svc-pricing-value-sm{font-size:17px !important}
  .ev-date-pill-label{font-size:17px !important}
  .svc-desc{font-size:17px !important}
  .ev-cta-desc{font-size:17px !important}
  .svc-cta-desc{font-size:17px !important}
  .about-cta-desc{font-size:17px !important}
  .collab-cta-desc{font-size:17px !important}
  .collab-desc{font-size:17px !important}
  .collab-step-desc{font-size:17px !important}
  .gallery-desc{font-size:17px !important}
  .gallery-info-desc{font-size:17px !important}
  .gallery-contact-hint{font-size:17px !important}
  .gallery-cta-sub{font-size:17px !important}
  .ev-class-desc{font-size:17px !important}
  .ev-workshop-desc{font-size:17px !important}
  .about-recite-desc{font-size:17px !important}
  .about-timeline-desc{font-size:17px !important}
  .faq-a-inner{font-size:17px !important}
  .faq-help-desc{font-size:17px !important}
  .nl-card-desc{font-size:17px !important}
  .nl-card-blurb{font-size:17px !important}
  .contact-letter-promise{font-size:17px !important}
  .contact-letter-note-body{font-size:17px !important}
  .about p{font-size:17px !important}
  .about-intro{font-size:18px !important}
  .hero-sub{font-size:18px !important}
  .hero-desc{font-size:17px !important}
  .hero-role{font-size:17px !important}
  .section-sub{font-size:17px !important}
  .testi-wall-quote blockquote{font-size:18px !important}
  .svc-crosslinks-label{font-size:17px !important}
  .testi-wall-attr{font-size:16px !important}
  .gallery-title{font-size:18px !important}
  .collab-step-title{font-size:19px !important}
  .nl-card-title{font-size:19px !important}
  .gallery-info-title{font-size:19px !important}
  .footer-links a{font-size:15px !important}
  .footer-links li{font-size:15px !important}
  .footer-col-link{font-size:15px !important}
  .footer-copy{font-size:14px !important}
  .footer-copy-merged{font-size:14px !important}
  .footer-seo{font-size:14px !important}
  .footer-follow-label{font-size:15px !important}
  .footer-wordmark .fw-amp{font-size:15px !important}
}
/* === end unified typography === */

/* === Nav layout + CTA button polish v2 (auto-generated) === */

#mainNav{
  gap:1.6rem !important;
  padding:0 4% !important;
}
#mainNav .nav-logo{
  flex-shrink:0;
  order:1 !important;
  margin-right:0 !important;
}
#mainNav .nav-links{
  order:2 !important;
  margin-left:auto !important;
  gap:1.5rem !important;
  align-items:center !important;
}
#mainNav .nav-socials{
  order:3 !important;
  margin-left:0 !important;
  padding-left:1.4rem !important;
  gap:.5rem !important;
  position:relative;
  border-left:none !important;
}

/* Soft blurred vertical separator BEFORE the social icons (between Get in Touch and socials) */
#mainNav .nav-socials::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:32px;
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(184,136,58,.05) 12%,
    rgba(184,136,58,.45) 50%,
    rgba(184,136,58,.05) 88%,
    transparent 100%);
  box-shadow:0 0 4px rgba(184,136,58,.4);
  filter:blur(.4px);
  border-radius:1px;
  pointer-events:none;
}

/* Soft blurred vertical separator BEFORE the Get in Touch CTA (between tab list and CTA) */
#mainNav .nav-links li:has(.nav-cta){
  position:relative;
  padding-left:1.4rem !important;
  margin-left:.4rem !important;
}
#mainNav .nav-links li:has(.nav-cta)::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:32px;
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(184,136,58,.05) 12%,
    rgba(184,136,58,.45) 50%,
    rgba(184,136,58,.05) 88%,
    transparent 100%);
  box-shadow:0 0 4px rgba(184,136,58,.4);
  filter:blur(.4px);
  border-radius:1px;
  pointer-events:none;
}

#mainNav .nav-toggle{
  order:4 !important;
}

#mainNav .nav-logo > div{
  gap:.5rem !important;
}

/* Hero CTAs — same polish as before */
.hero-ctas{
  gap:.9rem !important;
  margin-top:1.6rem !important;
}
.hero-ctas .btn{
  width:auto !important;
  min-width:240px !important;
  max-width:92% !important;
  padding:.68rem 1.9rem !important;
  font-size:14px !important;
  letter-spacing:.08em !important;
  white-space:nowrap !important;
}
.hero-ctas .btn-rose{
  box-shadow:0 3px 12px rgba(212,105,138,.22) !important;
}
.hero-ctas .btn-outline{
  border:1.5px solid rgba(184,136,58,.5) !important;
  background:rgba(255,255,255,.5) !important;
}

/* Mobile: hide socials in nav, hide CTA separator on small screens since layout collapses */
@media(max-width:768px){
  #mainNav{
    gap:.6rem !important;
    padding:0 4% !important;
  }
  #mainNav .nav-socials{
    display:inline-flex !important;
    margin-left:auto !important;
    margin-right:.5rem !important;
    padding-left:0 !important;
    gap:.4rem !important;
    border-left:none !important;
  }
  #mainNav .nav-socials::before{
    display:none !important;
  }
  #mainNav .nav-social{
    width:32px !important;
    height:32px !important;
  }
  #mainNav .nav-social svg{
    width:13px !important;
    height:13px !important;
  }
  #mainNav .nav-links li:has(.nav-cta){
    padding-left:0 !important;
    margin-left:0 !important;
  }
  #mainNav .nav-links li:has(.nav-cta)::before{
    display:none !important;
  }
  .hero-ctas .btn{
    padding:.7rem 1.6rem !important;
    font-size:15px !important;
    min-width:auto !important;
    width:auto !important;
  }
}

/* === end nav/cta polish === */

/* === Home services teaser + testimonial polish (auto-generated) === */

/* ─── Home services teaser grid ─── */
.home-svc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.4rem;
  margin-top:2rem;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.home-svc-card{
  position:relative;
  background:#FFFBF5;
  border:1px solid rgba(184,136,58,.18);
  border-radius:18px;
  padding:1.8rem 1.5rem 1.5rem;
  text-align:left;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow:hidden;
}
.home-svc-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  border-radius:18px 18px 0 0;
}
.home-svc-card-sage::before{background:linear-gradient(90deg,rgba(30,107,66,0),rgba(30,107,66,.6),rgba(30,107,66,0))}
.home-svc-card-gold::before{background:linear-gradient(90deg,rgba(201,151,58,0),rgba(201,151,58,.7),rgba(201,151,58,0))}
.home-svc-card-rose::before{background:linear-gradient(90deg,rgba(212,105,138,0),rgba(212,105,138,.6),rgba(212,105,138,0))}
.home-svc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(184,136,58,.12);
  border-color:rgba(184,136,58,.35);
}

.home-svc-icon-wrap{
  width:54px;
  height:54px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
}
.home-svc-card-sage .home-svc-icon-wrap{background:rgba(30,107,66,.08)}
.home-svc-card-gold .home-svc-icon-wrap{background:rgba(201,151,58,.1)}
.home-svc-card-rose .home-svc-icon-wrap{background:rgba(212,105,138,.08)}
.home-svc-icon{font-size:26px;line-height:1}

.home-svc-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:700;
  font-size:22px;
  color:#2A1520;
  margin:0 0 .25rem;
  line-height:1.25;
}
.home-svc-loc{
  font-family:'Nunito',sans-serif;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#A67820;
  margin:0 0 .9rem;
}
.home-svc-desc{
  font-family:'Nunito',sans-serif;
  font-size:16px;
  color:#5C3545;
  line-height:1.65;
  margin:0 0 1.2rem;
  flex:1;
}
.home-svc-link{
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
  color:#1E6B42;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  transition:gap .2s ease;
}
.home-svc-card-gold .home-svc-link{color:#A67820}
.home-svc-card-rose .home-svc-link{color:#D4698A}
.home-svc-link:hover{gap:.55rem}

/* ─── Testimonial readability bumps ─── */
.testi-wall-quote blockquote{
  font-size:17px !important;
  line-height:1.7 !important;
  font-style:italic;
  color:#3A1F2E;
}
.testi-wall-attr{
  font-size:14px !important;
  font-weight:700;
  letter-spacing:.05em;
}
.testi-wall-label{
  font-size:14px !important;
  letter-spacing:.16em;
}

/* ─── Mobile adjustments ─── */
@media(max-width:768px){
  .home-svc-grid{
    grid-template-columns:1fr;
    gap:1.1rem;
    margin-top:1.6rem;
    padding:0 .5rem;
  }
  .home-svc-card{
    padding:1.5rem 1.3rem 1.3rem;
    border-radius:16px;
  }
  .home-svc-icon-wrap{
    width:50px;height:50px;border-radius:13px;margin-bottom:.85rem;
  }
  .home-svc-icon{font-size:24px}
  .home-svc-title{font-size:20px;margin-bottom:.3rem}
  .home-svc-loc{font-size:13px !important;margin-bottom:.75rem}
  .home-svc-desc{font-size:17px !important;line-height:1.6;margin-bottom:1rem}
  .home-svc-link{font-size:15px !important}

  .testi-wall-quote blockquote{font-size:18px !important;line-height:1.7 !important}
  .testi-wall-attr{font-size:15px !important}
  .testi-wall-label{font-size:15px !important}
}

/* Tablet (around 900px) — collapse 3 cards to 2 columns for nice fit */
@media(min-width:769px) and (max-width:1024px){
  .home-svc-grid{grid-template-columns:repeat(2,1fr)}
}

/* === end home services teaser === */

/* === Falling Arabic letters ambient animation (auto-generated) === */

.arabic-rain{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
  contain:strict;
}

.arabic-rain__letter{
  position:absolute;
  top:-80px;
  font-family:'Amiri','Scheherazade New',serif;
  white-space:nowrap;
  user-select:none;
  will-change:transform,opacity;
  animation-name:arabic-fall;
  animation-timing-function:linear;
  animation-iteration-count:1;
  pointer-events:none;
  font-feature-settings:"liga","calt";
}

@keyframes arabic-fall{
  0%{transform:translate3d(0,0,0) rotate(var(--rot,0deg));opacity:0}
  4%{opacity:var(--peak,.20)}
  90%{opacity:var(--peak,.20)}
  100%{transform:translate3d(0,calc(100vh + 160px),0) rotate(var(--rot,0deg));opacity:0}
}

#mainNav, main, footer, section, .hero, .container{position:relative;z-index:1}

@media(prefers-reduced-motion:reduce){
  .arabic-rain{display:none !important}
}

@media print{
  .arabic-rain{display:none !important}
}

/* === end falling arabic === */

/* === Image-based logo + nav font resize (auto-generated) === */

/* Nav logo image — Option B sizing (46px tall, 92px wide on desktop) */
.nav-logo-img{
  display:block;
  height:76px;
  width:auto;
  max-width:152px;
  object-fit:contain;
  -webkit-user-drag:none;
  user-select:none;
}
.nav-logo{
  display:inline-flex !important;
  align-items:center !important;
  text-decoration:none !important;
  flex-shrink:0 !important;
}

/* Footer logo image */
.footer-mark{
  display:flex !important;
  align-items:flex-start !important;
}
.footer-mark-img{
  display:block;
  height:auto;
  width:180px;
  max-width:100%;
  object-fit:contain;
  -webkit-user-drag:none;
  user-select:none;
}

/* Nav font sizes — shrink to standard reading sizes */
#mainNav .nav-links a{
  font-size:13px !important;
  letter-spacing:.05em !important;
}
#mainNav .nav-cta{
  font-size:12px !important;
  letter-spacing:.06em !important;
  padding:.55rem 1.1rem !important;
}

/* Mobile adjustments */
@media(max-width:768px){
  .nav-logo-img{
    height:60px;
    max-width:120px;
  }
  .footer-mark-img{
    width:160px;
  }
  #mainNav .nav-links a{
    font-size:14px !important;
  }
  #mainNav .nav-cta{
    font-size:13px !important;
    padding:.5rem 1rem !important;
  }
}

/* Smaller phones */
@media(max-width:420px){
  .nav-logo-img{
    height:52px;
    max-width:104px;
  }
}

/* === end image logo === */

/* === Design system polish v1 (auto-generated) === */

/* ─── #4 — CSS variables (named brand tokens) ─── */
:root{
  /* Color palette — official tokens */
  --sage:       #1E6B42;
  --sage-dark:  #0E4D2C;
  --sage-light: #3D8B62;
  --gold:       #C9973A;
  --gold-deep:  #A67820;
  --gold-pale:  #F5DC9C;
  --bronze:     #B8883A;
  --rose:       #C77793;
  --rose-deep:  #A85070;
  --cream-100:  #FFFBF5;
  --cream-200:  #FBF6EE;
  --cream-300:  #F5EDE0;
  --cream-pink: #FFF2F5;
  --text-dark:  #2A1520;
  --text-mid:   #5C3545;

  /* Border radius scale */
  --radius-sm:    8px;
  --radius-md:   16px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* Motion */
  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-slow: 0.35s ease;
}

/* ─── #5 — Soften the rose CTA (15% less saturated) ─── */
/* Map all rose uses to the new desaturated value: #D4698A → #C77793 */
.btn-rose, .nav-cta{
  background:var(--rose) !important;
}
.btn-rose:hover, .nav-cta:hover{
  background:var(--rose-deep) !important;
}

/* ─── #2 — Subtle micro-interactions on every interactive element ─── */
.btn, .nav-cta, .nav-links a, .nav-social, .footer-links a, .footer-col-link,
.svc-btn, .ev-class-btn, .collab-cta-btn, .gallery-info-btn, .contact-letter-btn,
.about-cta-btn, .ev-cta-btn, .svc-cta-btn, .faq-help-btn, .about-recite-btn,
.gallery-contact-btn, .nl-btn, .nl-btn-big, .home-svc-card, .home-svc-link,
.testi-wall-card, .svc, .gallery-tile, .ev-class-card, .collab-card,
.about-timeline-card, .faq-item, .faq-q, .ev-workshop-tag, .svc-tag,
.nav-logo-img, .footer-mark-img, .hero-pill, .ev-meta-pill,
.svc-crosslink, .gallery-cta-link{
  transition:
    background-color var(--transition-base),
    border-color var(--transition-base),
    box-shadow var(--transition-base),
    color var(--transition-base),
    transform var(--transition-base),
    opacity var(--transition-base) !important;
}

/* Lift effect on hover for cards */
.home-svc-card:hover, .svc:hover, .gallery-tile:hover, .ev-class-card:hover,
.collab-card:hover, .testi-wall-card:hover{
  transform:translateY(-3px);
}

/* Slight scale on button hover for buttons that don't already animate */
.btn:hover, .nav-cta:hover{
  transform:translateY(-1px);
}

/* ─── #6 — Tighter line-heights on display headings ─── */
h1, h2.section-title, .hero-h1-brand, .page-title{
  line-height:1.15;
}
h3, .home-svc-title, .collab-step-title, .nl-card-title{
  line-height:1.25;
}

/* ─── #7 — Focus-visible states for keyboard accessibility ─── */
*:focus{outline:none}
a:focus-visible, button:focus-visible, [tabindex]:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--sage) !important;
  outline-offset:3px !important;
  border-radius:var(--radius-sm);
}
.btn:focus-visible, .nav-cta:focus-visible,
.btn-rose:focus-visible, .btn-outline:focus-visible{
  outline:2px solid var(--rose-deep) !important;
  outline-offset:3px !important;
}
.skip-link:focus{
  outline:2px solid var(--sage) !important;
  outline-offset:0 !important;
}

/* ─── #3 — Add the "deep cream" surface for visual rhythm ─── */
.testimonials, .testi-wall{
  background:var(--cream-300);
}
.testi-wall-card{
  background:var(--cream-100);
  border:1px solid rgba(184,136,58,0.18);
}

/* ─── #8 — Subtle paper texture overlay on body background ─── */
/* Uses a tiny SVG noise pattern, 1.5% opacity, behind all content */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:0.025;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
@media(prefers-reduced-motion:reduce){
  body::before{display:none}
}

/* ─── #1 — Border-radius cleanup ─── */
/* Cards: unify all to 16px */
.home-svc-card, .testi-wall-card, .gallery-tile, .ev-class-card,
.collab-card, .about-timeline-card, .nl-card,
.faq-item, .contact-letter, .footer-row{
  border-radius:var(--radius-md);
}
/* Small UI elements: 8px */
.svc-tag, .ev-workshop-tag, .ev-meta-pill, .gallery-medium, .art-sku-pill{
  border-radius:var(--radius-sm);
}
/* Buttons / pills: keep 999px */
.btn, .nav-cta, .hero-pill, .ev-section-label, .svc-section-label,
.about-section-label, .collab-section-label, .testi-wall-label, .eyebrow,
.ev-date-pill-cta{
  border-radius:var(--radius-pill);
}

/* === end design polish === */

/* === Arabic rain visibility fix (auto-generated) === */

/* Approach: rain stays z-index:0 (behind everything), but section
   backgrounds become slightly transparent so the rain shows through.
   This way names of Allah drift behind the entire page on every section. */

.arabic-rain{
  position:fixed !important;
  inset:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  z-index:1 !important;
  contain:strict;
}

/* Sections, containers, and main wrappers should be transparent so the
   fixed rain layer behind shows through. Keep the page-level cream as
   the body background; sections lose their own backgrounds. */
body, html{
  background:#FFFBF5 !important;
}

main{
  background:transparent !important;
  position:relative;
  z-index:2;
}

/* Section backgrounds: removed (let body cream show through, rain visible) */
.about, .services, .events, .faq, .gallery, .collaborate,
.contact-letter, .nl-page, .testi-wall{
  background:transparent !important;
  position:relative;
  z-index:2;
}

/* Sections that had gradient backgrounds — replace with VERY soft semi-transparent ones */
.hero{
  background:linear-gradient(160deg,rgba(250,228,236,0.55) 0%,rgba(255,242,245,0.4) 55%,rgba(237,246,242,0.55) 100%) !important;
  position:relative;
  z-index:2;
}

/* Footer keeps its background (rain should fade out near footer anyway) */
footer{
  background:#FBF6EE;
  position:relative;
  z-index:2;
}

/* Nav stays on top with its solid background */
#mainNav{
  z-index:501 !important;
  background:#FBF6EE !important;
}

/* Content elements MUST be above rain — explicit z-index */
.container, section > *, .hero-content, .hero-h1-brand,
.home-svc-grid, .home-svc-card, .testi-wall-card,
.btn, .nav-cta, .nav-links{
  position:relative;
  z-index:3;
}

/* === end rain fix === */

/* === Page entrance animations (auto-generated) === */

@keyframes fadeInDown{
  0%{opacity:0;transform:translateY(-12px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes fadeInUp{
  0%{opacity:0;transform:translateY(20px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes fadeInScale{
  0%{opacity:0;transform:scale(0.96)}
  100%{opacity:1;transform:scale(1)}
}

/* Nav: slides down on every page load */
#mainNav{
  animation:fadeInDown 0.6s ease-out both;
  animation-delay:0.05s;
}

/* HERO sections (home page) */
.hero-pill, .hero-content > p:first-of-type{
  animation:fadeInUp 0.6s ease-out both;
  animation-delay:0.20s;
}
.hero-content > p:nth-of-type(2){
  animation:fadeInUp 0.6s ease-out both;
  animation-delay:0.30s;
}
.hero-h1-brand, .hero h1{
  animation:fadeInUp 0.8s ease-out both;
  animation-delay:0.40s;
}
.hero-sub{
  animation:fadeInUp 0.7s ease-out both;
  animation-delay:0.55s;
}
.hero-ctas .btn:nth-child(1){
  animation:fadeInUp 0.6s ease-out both;
  animation-delay:0.75s;
}
.hero-ctas .btn:nth-child(2){
  animation:fadeInUp 0.6s ease-out both;
  animation-delay:0.85s;
}

/* INNER PAGE entrance — applies to about, services, events, gallery, faq, etc */
/* The page hero/intro section fades in */
main > section:first-of-type .eyebrow,
main > section:first-of-type .about-section-label,
main > section:first-of-type .ev-section-label,
main > section:first-of-type .collab-section-label,
main > section:first-of-type .svc-section-label{
  animation:fadeInUp 0.6s ease-out both;
  animation-delay:0.15s;
}
main > section:first-of-type h1,
main > section:first-of-type .section-title{
  animation:fadeInUp 0.8s ease-out both;
  animation-delay:0.30s;
}
main > section:first-of-type .section-sub,
main > section:first-of-type > p{
  animation:fadeInUp 0.7s ease-out both;
  animation-delay:0.50s;
}

/* Cards and grid items reveal as user scrolls (uses existing .reveal class + JS) */
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity 0.7s ease-out, transform 0.7s ease-out;
}
.reveal.visible, .reveal.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
}

/* Service teaser cards on home (stagger) */
.home-svc-grid .home-svc-card:nth-child(1){
  animation:fadeInUp 0.7s ease-out both;
  animation-delay:1.0s;
}
.home-svc-grid .home-svc-card:nth-child(2){
  animation:fadeInUp 0.7s ease-out both;
  animation-delay:1.15s;
}
.home-svc-grid .home-svc-card:nth-child(3){
  animation:fadeInUp 0.7s ease-out both;
  animation-delay:1.30s;
}

/* Gallery: artwork tiles stagger gently as the page loads */
.gallery-grid .gallery-tile:nth-child(odd){
  animation:fadeInScale 0.7s ease-out both;
  animation-delay:0.3s;
}
.gallery-grid .gallery-tile:nth-child(even){
  animation:fadeInScale 0.7s ease-out both;
  animation-delay:0.5s;
}

/* Events: workshop card and date pills */
.ev-workshop-card{
  animation:fadeInUp 0.7s ease-out both;
  animation-delay:0.5s;
}
.ev-date-pill{
  animation:fadeInUp 0.5s ease-out both;
}
.ev-date-pill:nth-child(1){animation-delay:0.7s}
.ev-date-pill:nth-child(2){animation-delay:0.8s}
.ev-date-pill:nth-child(3){animation-delay:0.9s}
.ev-date-pill:nth-child(4){animation-delay:1.0s}

/* Accessibility: skip all animations if user prefers reduced motion */
@media(prefers-reduced-motion:reduce){
  #mainNav, .hero-pill, .hero-content > p, .hero-h1-brand, .hero h1, .hero-sub,
  .hero-ctas .btn, .home-svc-card, .gallery-tile, .ev-workshop-card, .ev-date-pill,
  main > section:first-of-type .eyebrow,
  main > section:first-of-type h1,
  main > section:first-of-type .section-title,
  main > section:first-of-type .section-sub,
  main > section:first-of-type > p,
  .reveal{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}

/* === end entrance animations === */

/* === Mobile nav optimization (auto-generated) === */

@media(max-width:768px){
  /* The mobile nav bar height (for properly positioning the dropdown) */
  #mainNav{
    height:72px !important;
  }

  /* Dropdown menu when hamburger is tapped:
     - position right below the nav bar (72px) — not 60px
     - vertical scrollable if content exceeds viewport
     - clean cream background, proper padding
     - shows ALL nav links including Get in Touch */
  #mainNav .nav-links{
    display:none;
    position:fixed !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    max-height:calc(100vh - 72px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    background:#FBF6EE !important;
    padding:1rem 5% 1.5rem !important;
    margin:0 !important;
    list-style:none;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    border-bottom:1px solid rgba(184,136,58,0.22) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
    z-index:500;
  }
  #mainNav .nav-links.open{
    display:flex !important;
  }

  /* Each link as a full-width tappable row */
  #mainNav .nav-links li{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  #mainNav .nav-links li::before{
    display:none !important;
  }
  #mainNav .nav-links a{
    display:block !important;
    width:100% !important;
    padding:1rem 0.4rem !important;
    font-size:16px !important;
    font-weight:600 !important;
    text-align:left !important;
    border-bottom:1px solid rgba(184,136,58,0.12) !important;
    color:#5C3545 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
  }
  #mainNav .nav-links li:last-of-type a{
    border-bottom:none !important;
  }
  #mainNav .nav-links a.nav-active{
    color:#C77793 !important;
  }

  /* Get in Touch CTA — SHOWN in mobile dropdown as a styled button */
  #mainNav .nav-links .nav-cta{
    display:inline-flex !important;
    width:auto !important;
    margin:1rem 0 0 !important;
    padding:0.85rem 1.4rem !important;
    background:#C77793 !important;
    color:#fff !important;
    border-radius:999px !important;
    font-size:15px !important;
    font-weight:700 !important;
    border-bottom:none !important;
    text-align:center !important;
    align-self:flex-start;
  }

  /* Hamburger toggle is visible */
  #mainNav .nav-toggle{
    display:flex !important;
    order:5 !important;
  }

  /* Logo + socials + hamburger row */
  #mainNav .nav-logo{
    order:1 !important;
  }
  #mainNav .nav-socials{
    display:inline-flex !important;
    order:3 !important;
    margin-left:auto !important;
    margin-right:.5rem !important;
    padding-left:0 !important;
    gap:.4rem !important;
    border-left:none !important;
  }
}

/* Very narrow phones (≤420px) — even tighter spacing */
@media(max-width:420px){
  #mainNav{
    padding:0 4% !important;
  }
  #mainNav .nav-socials{
    gap:.3rem !important;
  }
  #mainNav .nav-social{
    width:30px !important;
    height:30px !important;
  }
}

/* === end mobile nav fix === */

/* === Footer Google review CTA (auto-generated) === */

.footer-google-cta{
  margin:0 auto 1.8rem;
  max-width:600px;
  text-align:center;
}

.footer-review-card{
  background:#FFFBF5;
  border:2px solid #C9973A;
  border-radius:18px;
  padding:1.4rem 1.6rem;
  text-align:center;
  max-width:540px;
  margin:0 auto 1rem;
  box-shadow:0 4px 20px rgba(201,151,58,0.10);
  position:relative;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.footer-review-card:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(201,151,58,0.16);
}

.footer-review-stars{
  color:#FBBC04;
  font-size:22px;
  letter-spacing:2px;
  margin-bottom:.55rem;
  line-height:1;
  user-select:none;
}

.footer-review-title{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:700;
  font-size:22px;
  color:#2A1520;
  line-height:1.2;
  margin:0 0 .4rem;
}

.footer-review-sub{
  font-family:'Nunito', sans-serif;
  font-size:14px;
  color:#5C3545;
  line-height:1.55;
  max-width:380px;
  margin:0 auto .95rem;
}

.footer-review-btn{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  background:#1E6B42;
  color:#fff;
  padding:.7rem 1.4rem;
  border-radius:999px;
  font-family:'Nunito', sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.05em;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(30,107,66,0.2);
  transition:background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.footer-review-btn:hover{
  background:#0E4D2C;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(30,107,66,0.26);
}
.footer-review-btn:focus-visible{
  outline:2px solid #C9973A;
  outline-offset:3px;
}

.footer-review-g-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  background:#fff;
  color:#1E6B42;
  border-radius:50%;
  font-weight:700;
  font-size:13px;
  font-family:'Nunito', sans-serif;
}

.footer-discover-link{
  font-family:'Nunito', sans-serif;
  font-size:13px;
  color:#5C3545;
  margin:0;
  text-align:center;
  line-height:1.5;
}
.footer-discover-link a{
  color:#A67820;
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid rgba(166,120,32,0.3);
  padding-bottom:1px;
  transition:color 0.2s ease, border-color 0.2s ease;
}
.footer-discover-link a:hover{
  color:#1E6B42;
  border-bottom-color:#1E6B42;
}

.footer-review-arabic{
  display:inline-block;
  font-family:'Amiri', 'Scheherazade New', serif;
  font-weight:700;
  font-size:1.15em;
  color:#1E6B42;
  margin:0 .15em;
  letter-spacing:0;
  line-height:1;
  vertical-align:-2px;
}

@media(max-width:600px){
  .footer-review-card{
    padding:1.2rem 1.1rem;
    border-radius:14px;
  }
  .footer-review-title{
    font-size:19px;
  }
  .footer-review-sub{
    font-size:13px;
  }
  .footer-review-btn{
    padding:.65rem 1.2rem;
    font-size:13px;
  }
  .footer-review-stars{
    font-size:20px;
  }
  .footer-discover-link{
    font-size:12px;
  }
}

/* === end footer google review === */
