/* =========================================================================
   Site overrides on top of Bulma 1.0.2
   Two design families:
   - pub-*    : publication / advertorial (Smart Wire)
   - offer-*  : commercial offer + legal shell
   Language: Arabic, RTL
   ========================================================================= */

:root{
  --pub-navy:#152341;
  --pub-navy-dark:#0d1830;
  --pub-red:#af1338;
  --pub-red-dark:#8a0f2c;
  --pub-green:#2c7a43;
  --pub-green-dark:#22602f;
  --pub-cream:#fbf7f0;
  --pub-ink:#1c1c1c;
  --pub-grey:#6b6b6b;
  --pub-line:#e6e1d8;

  --offer-peach:#f7ddc7;
  --offer-cream:#fdf6ee;
  --offer-ink:#191c2b;
  --offer-red:#dd4b3e;
  --offer-red-dark:#c23a2f;
  --offer-green:#1f6f4a;
  --offer-navy:#1c2340;
  --offer-tint:#f4f0e9;
  --offer-dark:#14161f;
  --offer-line:#e7ded1;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:24px;
  --shadow-sm:0 2px 10px rgba(20,20,30,.06);
  --shadow-md:0 12px 32px rgba(20,20,30,.12);
  --font-arabic:"Segoe UI","Tahoma","Geeza Pro","Arial",sans-serif;
  --font-serif-ish:"Georgia","Segoe UI","Tahoma","Arial",serif;
}

*{ box-sizing:border-box; }
html{ direction:rtl; }
body{
  font-family:var(--font-arabic);
  color:var(--pub-ink);
  background:#fff;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{ max-width:100%; height:auto; display:block; }
a{ transition:color .15s ease, background-color .15s ease, border-color .15s ease; }
button{ font-family:inherit; }

.skip-link{
  position:absolute; right:-9999px; top:0; z-index:999;
  background:#fff; color:var(--pub-navy); padding:.75rem 1.25rem; border-radius:0 0 8px 8px;
}
.skip-link:focus{ right:0; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, .btn:focus-visible{
  outline:3px solid #2f6fed; outline-offset:2px;
}

.container-narrow{ max-width:760px; margin:0 auto; padding:0 1rem; }
.container-wide{ max-width:1120px; margin:0 auto; padding:0 1rem; }

@media (min-width:480px){
  .container-narrow, .container-wide{ padding:0 1.5rem; }
}
@media (min-width:1024px){
  .container-narrow{ padding:0; }
  .container-wide{ padding:0 2rem; }
}

/* generic button base */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:48px; padding:.85rem 1.6rem; border-radius:999px; font-weight:700;
  font-size:1rem; text-decoration:none; border:2px solid transparent; cursor:pointer;
  line-height:1.2;
}
.btn-green{ background:var(--pub-green); color:#fff; }
.btn-green:hover, .btn-green:focus-visible{ background:var(--pub-green-dark); color:#fff; }
.btn-outline-navy{ background:transparent; border-color:var(--pub-navy); color:var(--pub-navy); }
.btn-outline-navy:hover{ background:var(--pub-navy); color:#fff; }
.btn-red-pill{ background:var(--offer-red); color:#fff; padding-inline-end:.5rem; }
.btn-red-pill:hover, .btn-red-pill:focus-visible{ background:var(--offer-red-dark); color:#fff; }
.btn-red-pill .btn-arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%; background:#fff; color:var(--offer-red);
  flex:0 0 auto; font-size:1.1rem;
}
/* accent-borrowed (offer): rectangular button with leading icon chip */
.btn-icon-square{ background:var(--offer-navy); color:#fff; border-radius:10px; }
.btn-icon-square:hover, .btn-icon-square:focus-visible{ background:#0f1428; color:#fff; }
.btn-icon-square .btn-chip{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:6px;
  background:rgba(255,255,255,.18); flex:0 0 auto; font-size:.95rem;
}
.btn-outline-dark{ background:transparent; border-color:var(--offer-ink); color:var(--offer-ink); }
.btn-outline-dark:hover{ background:var(--offer-ink); color:#fff; }
.btn-block{ width:100%; }

.tag-keyword{
  display:inline-block; font-size:.8rem; font-weight:700; padding:.3rem .8rem;
  border-radius:999px; background:var(--offer-tint); color:var(--offer-navy); border:1px solid var(--offer-line);
}

/* =========================================================================
   PUBLICATION FAMILY (advertorial + about)
   ========================================================================= */
.pub-page{ background:var(--pub-cream); }

.pub-topbar{
  background:var(--pub-navy); color:#fff; padding:.9rem 1rem;
}
.pub-topbar__inner{
  max-width:1120px; margin:0 auto; display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:.5rem;
}
.pub-topbar__brand{
  display:flex; align-items:center; gap:.6rem; font-family:var(--font-serif-ish);
  font-weight:700; font-size:1.05rem; letter-spacing:.02em; color:#fff; text-decoration:none;
}
.pub-topbar__brand-icon{
  width:30px; height:30px; border:2px solid #fff; border-radius:6px; display:flex; align-items:center; justify-content:center;
  font-size:.85rem; flex:0 0 auto;
}
.pub-topbar__date{ font-size:.85rem; opacity:.85; }

.pub-breaking{
  background:var(--pub-red); color:#fff; padding:.65rem 1rem;
}
.pub-breaking__inner{
  max-width:1120px; margin:0 auto; display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;
}
.pub-breaking__label{
  background:#fff; color:var(--pub-red); font-weight:800; font-size:.72rem; padding:.25rem .6rem; border-radius:4px;
  flex:0 0 auto; letter-spacing:.03em;
}
.pub-breaking__text{ font-size:.9rem; font-weight:600; }

.pub-article{ padding:2rem 1rem 0; }
.pub-article__inner{ max-width:760px; margin:0 auto; }
.pub-article__tag{
  display:inline-block; background:var(--pub-red); color:#fff; font-weight:700; font-size:.78rem;
  padding:.35rem .85rem; border-radius:4px; margin-bottom:1rem; letter-spacing:.02em;
}
.pub-article__title{
  font-family:var(--font-serif-ish); font-weight:700; color:#111;
  font-size:clamp(1.7rem, 5.6vw, 2.7rem); line-height:1.25; margin:0 0 1rem;
}
.pub-article__subhead{
  font-size:clamp(1.05rem,3vw,1.3rem); font-style:italic; color:#2c2c2c; border-inline-start:4px solid var(--pub-red);
  padding-inline-start:1rem; margin:0 0 1.5rem; line-height:1.6;
}
.pub-content-h2-inline{
  font-family:var(--font-serif-ish); font-weight:700; color:var(--pub-red-dark);
  font-size:clamp(1.1rem,3.4vw,1.45rem); line-height:1.5; margin:0 0 1.5rem; padding-inline-start:1rem;
  border-inline-start:4px solid var(--pub-green);
}
.pub-byline{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  padding-block:1rem; border-top:1px solid var(--pub-line); border-bottom:1px solid var(--pub-line); margin-bottom:1.75rem;
}
.pub-byline__who{ display:flex; align-items:center; gap:.6rem; font-size:.92rem; }
.pub-byline__avatar{
  width:34px; height:34px; border-radius:50%; background:var(--pub-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; flex:0 0 auto;
}
.pub-byline__name{ font-weight:700; color:var(--pub-navy); }
.pub-byline__date{ color:var(--pub-grey); font-size:.85rem; }
.pub-byline__icons{ display:flex; gap:.5rem; }
.pub-byline__icon{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--pub-line); display:flex;
  align-items:center; justify-content:center; color:var(--pub-navy); flex:0 0 auto;
}

.pub-hero-figure{ max-width:760px; margin:0 auto 2rem; padding:0 1rem; }
.pub-hero-figure img{ border-radius:var(--radius-md); box-shadow:var(--shadow-sm); width:100%; }
.pub-hero-figure figcaption{ font-size:.85rem; color:var(--pub-grey); margin-top:.6rem; text-align:center; }

.pub-content{ max-width:760px; margin:0 auto; padding:0 1rem 1rem; }
.pub-content p{ margin:0 0 1.25rem; font-size:1.06rem; color:#242424; }
.pub-content h2{
  font-family:var(--font-serif-ish); font-size:clamp(1.35rem,4vw,1.85rem); color:var(--pub-navy);
  margin:2.2rem 0 1rem; line-height:1.35; font-weight:700;
}
.pub-content h3{ font-size:1.15rem; color:var(--pub-navy); margin:1.5rem 0 .75rem; font-weight:700; }
.pub-content strong{ color:var(--pub-navy); }

.pub-inline-cta{
  display:block; background:#fff8e6; border:1px solid #f0d68a; border-radius:var(--radius-sm);
  padding:1rem 1.1rem; margin:1.5rem 0; font-weight:700; color:var(--pub-red-dark); text-decoration:none;
}
.pub-inline-cta:hover{ background:#fdeec2; }

/* accent-borrowed: section divider */
.pub-divider{
  border:0; height:1px; background:linear-gradient(to left, transparent, var(--pub-line) 20%, var(--pub-line) 80%, transparent);
  margin:2.5rem auto; max-width:760px;
}

/* accent-borrowed: CTA button + button row */
.pub-cta-band{
  max-width:760px; margin:1.75rem auto; padding:1.5rem 1.25rem; background:var(--pub-navy); border-radius:var(--radius-md);
  text-align:center; color:#fff;
}
.pub-cta-band p{ color:#f1f1f1; margin-bottom:1rem; font-size:1.05rem; }
.pub-cta-band__row{ display:flex; flex-direction:column; gap:.75rem; align-items:stretch; }
@media (min-width:480px){
  .pub-cta-band__row{ flex-direction:row; justify-content:center; align-items:center; }
}

.pub-video{ max-width:760px; margin:0 auto 1.25rem; padding:0 1rem; }
.pub-video__frame{
  position:relative; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-md);
  aspect-ratio:16/9; background:#000;
}
.pub-video__frame video{ width:100%; height:100%; object-fit:cover; }
.pub-video__play{
  position:absolute; inset:0; margin:auto; width:64px; height:64px; border-radius:50%;
  background:rgba(175,19,56,.92); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; pointer-events:none;
}

.pub-figure-strip{
  max-width:760px; margin:0 auto 1.75rem; padding:1.5rem 1.25rem; background:#fff; border:1px solid var(--pub-line);
  border-radius:var(--radius-md); display:grid; grid-template-columns:1fr; gap:1.25rem; text-align:center;
}
@media (min-width:480px){ .pub-figure-strip{ grid-template-columns:repeat(3,1fr); } }
.pub-figure-strip__num{ font-family:var(--font-serif-ish); font-size:clamp(1.4rem,4vw,1.9rem); font-weight:700; color:var(--pub-red); display:block; direction:ltr; unicode-bidi:isolate; }
.pub-figure-strip__label{ font-size:.85rem; color:var(--pub-grey); margin-top:.35rem; }

.pub-worked-example{
  max-width:760px; margin:0 auto 1.75rem; padding:1.5rem 1.25rem; background:#f3f8f4; border-inline-start:5px solid var(--pub-green);
  border-radius:var(--radius-sm);
}
.pub-worked-example h3{ margin-top:0; }
.pub-worked-example ul{ margin:0; padding-inline-start:1.2rem; }
.pub-worked-example li{ margin-bottom:.5rem; }

.pub-list-check{ list-style:none; margin:0 0 1.5rem; padding:0; max-width:760px; }
.pub-list-check li{
  position:relative; padding-inline-start:2rem; margin-bottom:.85rem; font-size:1.02rem;
}
.pub-list-check li::before{
  content:"✓"; position:absolute; inset-inline-start:0; top:0; color:#fff; background:var(--pub-green);
  width:1.4rem; height:1.4rem; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.8rem;
}

.pub-box{
  max-width:760px; margin:0 auto 1.75rem; padding:1.5rem 1.25rem; background:#fff; border:1px solid var(--pub-line);
  border-inline-start:5px solid var(--pub-red); border-radius:var(--radius-sm);
}
.pub-box h3{ margin-top:0; }

.pub-ps{
  max-width:760px; margin:0 auto 1.5rem; padding:0 1rem; font-style:italic; color:#333; font-size:1rem;
}

.pub-media-grid{
  max-width:760px; margin:0 auto 1.75rem; padding:0 1rem; display:grid; grid-template-columns:1fr; gap:1rem;
}
@media (min-width:480px){ .pub-media-grid{ grid-template-columns:1fr 1fr; } }
.pub-media-grid--single{ grid-template-columns:1fr; max-width:520px; }
@media (min-width:480px){ .pub-media-grid--single{ grid-template-columns:1fr; } }
.pub-media-grid__item{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); aspect-ratio:4/3; background:#000; }
.pub-media-grid__item video, .pub-media-grid__item img{ width:100%; height:100%; object-fit:cover; }
.pub-media-grid figcaption{ font-size:.8rem; color:var(--pub-grey); margin-top:.4rem; text-align:center; }

.pub-body-image{ max-width:760px; margin:0 auto 1.75rem; padding:0 1rem; }
.pub-body-image img{ border-radius:var(--radius-md); box-shadow:var(--shadow-sm); width:100%; }
.pub-body-image figcaption{ font-size:.85rem; color:var(--pub-grey); margin-top:.5rem; text-align:center; }

.pub-references{
  max-width:760px; margin:0 auto; padding:0 1rem 2rem; font-size:.78rem; color:var(--pub-grey); line-height:1.7;
}

/* About page (publication family) */
.pub-about-hero{ max-width:760px; margin:0 auto; padding:2.5rem 1rem 1rem; text-align:center; }
.pub-about-hero h1{ font-family:var(--font-serif-ish); font-size:clamp(1.8rem,5vw,2.5rem); color:var(--pub-navy); margin-bottom:.75rem; }
.pub-about-hero p{ color:#333; font-size:1.05rem; }
.pub-values{
  max-width:760px; margin:0 auto 2rem; padding:0 1rem; display:grid; grid-template-columns:1fr; gap:1rem;
}
@media (min-width:768px){ .pub-values{ grid-template-columns:repeat(3,1fr); } }
.pub-values__card{ background:#fff; border:1px solid var(--pub-line); border-radius:var(--radius-md); padding:1.5rem; }
.pub-values__card h3{ color:var(--pub-navy); margin-top:0; }

/* =========================================================================
   SHARED / LEGAL SHELL (footer + disclaimer used everywhere)
   ========================================================================= */
.site-disclaimer{
  display:block; max-width:1120px; margin:0 auto; padding:1.5rem 1rem; font-size:.92rem;
  color:#3a3a3a; line-height:1.7; border-top:1px solid var(--offer-line);
}
.site-disclaimer a{ color:var(--offer-red-dark); font-weight:700; }
.pub-page .site-disclaimer a{ color:var(--pub-red-dark); }

.site-footer{ background:var(--offer-dark); color:#d9d9df; padding:2rem 1rem; }
.pub-page .site-footer{ background:var(--pub-navy-dark); }
.site-footer__inner{ max-width:1120px; margin:0 auto; display:flex; flex-direction:column; gap:1.5rem; }
.site-footer__company{ font-size:.9rem; line-height:1.9; white-space:pre-line; direction:ltr; text-align:left; unicode-bidi:isolate; }
.site-footer__company strong{ color:#fff; display:block; margin-bottom:.35rem; font-size:1rem; }
.site-footer__links{ display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; list-style:none; margin:0; padding:0; }
.site-footer__links a{ color:#e7e7ee; text-decoration:underline; font-size:.92rem; padding:.4rem 0; display:inline-block; }
.site-footer__links a:hover, .site-footer__links a:focus-visible{ color:#fff; }

@media (min-width:768px){
  .site-footer__inner{ flex-direction:row; justify-content:space-between; align-items:flex-start; }
}

/* =========================================================================
   OFFER FAMILY (training + legal + contact)
   ========================================================================= */
.offer-page{ background:var(--offer-cream); }

.offer-topbanner{ background:#e8b158; color:#2c210a; text-align:center; font-weight:700; font-size:.85rem; padding:.6rem 1rem; }

.offer-nav{ background:var(--offer-peach); padding:1rem; position:relative; }
.offer-nav__inner{ max-width:1120px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.offer-nav__brand{ font-weight:800; font-size:1.15rem; color:var(--offer-ink); text-decoration:none; }
.offer-nav__links{ display:none; list-style:none; margin:0; padding:0; gap:1.5rem; }
.offer-nav__links a{ color:var(--offer-ink); text-decoration:none; font-weight:600; font-size:.95rem; }
.offer-nav__links a:hover{ color:var(--offer-red); }
.offer-nav__actions{ display:none; }
.offer-nav__toggle{
  display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:8px;
  border:1px solid var(--offer-ink); background:transparent; color:var(--offer-ink); font-size:1.3rem; cursor:pointer;
}
.offer-nav__mobile{
  max-width:1120px; margin:.75rem auto 0; display:flex; flex-direction:column; gap:.75rem;
  background:#fff; border-radius:var(--radius-md); padding:1rem; box-shadow:var(--shadow-sm);
}
.offer-nav__mobile a{ color:var(--offer-ink); text-decoration:none; font-weight:600; padding:.6rem .25rem; border-bottom:1px solid var(--offer-line); }
.offer-nav__mobile a:last-child{ border-bottom:0; }

@media (min-width:1024px){
  .offer-nav__links{ display:flex; }
  .offer-nav__actions{ display:flex; align-items:center; gap:.75rem; }
  .offer-nav__toggle{ display:none; }
}

.offer-hero{ background:var(--offer-peach); padding:2.5rem 1rem 4rem; position:relative; overflow:hidden; }
.offer-hero__inner{
  max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:2rem; align-items:center;
}
@media (min-width:1024px){ .offer-hero__inner{ grid-template-columns:1.1fr .9fr; } }
.offer-hero__kicker{ display:inline-block; font-weight:800; color:var(--offer-red-dark); font-size:.85rem; letter-spacing:.03em; margin-bottom:.85rem; }
.offer-hero__title{
  font-weight:800; color:var(--offer-ink); font-size:clamp(1.9rem,6vw,3.1rem); line-height:1.18; margin:0 0 1rem;
}
.offer-hero__subtitle{ font-size:clamp(1rem,3vw,1.2rem); color:#3a3323; margin:0 0 1.75rem; max-width:46ch; }
.offer-hero__art{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.offer-hero__art img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.offer-hero-wave{ display:block; width:100%; height:auto; margin-top:-1px; }

.offer-section{ padding:3rem 1rem; }
@media (min-width:1024px){ .offer-section{ padding:4.5rem 1rem; } }
.offer-section--tint{ background:var(--offer-tint); }
.offer-section--dark{ background:var(--offer-dark); color:#eceaf4; }
.offer-section--dark .offer-section__title{ color:#fff; }
.offer-section__inner{ max-width:1120px; margin:0 auto; }
.offer-kicker{
  display:inline-block; font-weight:800; font-size:.82rem; letter-spacing:.04em; color:var(--offer-red-dark);
  text-transform:uppercase; margin-bottom:.6rem;
}
.offer-section__title{
  font-weight:800; font-size:clamp(1.5rem,4.4vw,2.3rem); color:var(--offer-ink); margin:0 0 1rem; line-height:1.25;
}
.offer-section__lead{ font-size:1.05rem; color:#3d3d46; max-width:70ch; margin:0 0 2rem; }
.offer-section--dark .offer-section__lead{ color:#c7c5d6; }

.offer-cards{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:768px){ .offer-cards{ grid-template-columns:repeat(3,1fr); } }
.offer-card{
  background:#fff; border-radius:var(--radius-md); padding:1.75rem 1.5rem; box-shadow:var(--shadow-sm);
  border:1px solid var(--offer-line);
}
.offer-card h3{ color:var(--offer-ink); font-size:1.15rem; margin:0 0 .6rem; }
.offer-card p{ color:#4a4a52; font-size:.95rem; margin:0; }
.offer-card__icon{
  width:48px; height:48px; border-radius:12px; background:var(--offer-tint); color:var(--offer-red);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1rem;
}

.offer-pullquote{
  max-width:820px; margin:0 auto; text-align:center; padding:2rem 1rem;
}
.offer-pullquote blockquote{
  font-weight:700; font-size:clamp(1.3rem,4.4vw,2rem); color:var(--offer-ink); margin:0 0 .75rem; line-height:1.4;
}
.offer-pullquote cite{ font-size:.9rem; color:#5a5a63; font-style:normal; }

.offer-figure-band{
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; text-align:center; margin-top:1.5rem;
}
@media (min-width:768px){ .offer-figure-band{ grid-template-columns:repeat(4,1fr); } }
.offer-figure-band__value{ font-weight:800; font-size:clamp(1.6rem,5vw,2.4rem); color:var(--offer-red-dark); display:block; direction:ltr; unicode-bidi:isolate; }
.offer-figure-band__label{ font-size:.85rem; color:#4a4a52; margin-top:.4rem; }
.offer-figure-band__note{ font-size:.85rem; color:#6b6b73; margin-top:1.75rem; text-align:center; }

.offer-media{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:16/9; background:#000; }
.offer-media video, .offer-media img{ width:100%; height:100%; object-fit:cover; }

.offer-split{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; }
@media (min-width:1024px){ .offer-split{ grid-template-columns:1fr 1fr; } }
.offer-split--reverse .offer-split__media{ order:-1; }
@media (min-width:1024px){ .offer-split--reverse .offer-split__media{ order:2; } }

.offer-steps{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:768px){ .offer-steps{ grid-template-columns:repeat(5,1fr); } }
.offer-step{ background:#fff; border-radius:var(--radius-md); padding:1.5rem 1.25rem; border:1px solid var(--offer-line); }
.offer-step__num{ font-weight:800; color:var(--offer-red-dark); font-size:1.4rem; display:block; margin-bottom:.5rem; }
.offer-step h3{ font-size:1.02rem; color:var(--offer-ink); margin:0 0 .4rem; }
.offer-step p{ font-size:.9rem; color:#4a4a52; margin:0; }

.offer-cta-band{ background:var(--offer-ink); color:#fff; border-radius:var(--radius-lg); padding:2.25rem 1.5rem; text-align:center; }
.offer-cta-band h2{ font-size:clamp(1.4rem,4vw,1.9rem); margin:0 0 .75rem; }
.offer-cta-band p{ color:#d6d5e0; margin:0 0 1.5rem; }
.offer-cta-band__row{ display:flex; flex-direction:column; gap:.75rem; align-items:stretch; }
@media (min-width:480px){ .offer-cta-band__row{ flex-direction:row; justify-content:center; } }

.pricing-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; align-items:stretch; }
@media (min-width:768px){ .pricing-grid{ grid-template-columns:repeat(3,1fr); } }
.pricing-card{
  background:#fff; border:2px solid var(--offer-line); border-radius:var(--radius-lg); padding:2rem 1.5rem;
  display:flex; flex-direction:column; gap:1rem; position:relative;
}
.pricing-card--highlight{
  border-color:var(--offer-red); box-shadow:var(--shadow-md); transform:translateY(0);
}
@media (min-width:768px){ .pricing-card--highlight{ transform:translateY(-12px); } }
.pricing-card__badge{
  position:absolute; top:-14px; inset-inline-start:1.5rem; background:var(--offer-red); color:#fff;
  font-size:.75rem; font-weight:800; padding:.35rem .75rem; border-radius:999px;
}
.pricing-card__name{ font-size:1.2rem; font-weight:800; color:var(--offer-ink); margin:0; }
.pricing-card__price{ font-size:2.1rem; font-weight:800; color:var(--offer-ink); direction:ltr; unicode-bidi:isolate; }
.pricing-card__price span{ font-size:.95rem; font-weight:600; color:#6b6b73; }
.pricing-card__hours{ font-size:.85rem; color:#6b6b73; }
.pricing-card__list{ list-style:none; margin:0; padding:0; flex:1; }
.pricing-card__list li{ position:relative; padding-inline-start:1.5rem; margin-bottom:.6rem; font-size:.92rem; color:#3d3d46; }
.pricing-card__list li::before{ content:"✓"; position:absolute; inset-inline-start:0; color:var(--offer-green); font-weight:800; }

.addons-grid{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:768px){ .addons-grid{ grid-template-columns:repeat(3,1fr); } }
.addon-card{ background:#fff; border:1px solid var(--offer-line); border-radius:var(--radius-md); padding:1.5rem; }
.addon-card__price{ font-weight:800; color:var(--offer-red-dark); font-size:1.3rem; margin-bottom:.4rem; display:block; direction:ltr; unicode-bidi:isolate; }
.addon-card h3{ font-size:1.02rem; color:var(--offer-ink); margin:0 0 .5rem; }
.addon-card p{ font-size:.88rem; color:#4a4a52; margin:0; }

.perks-stack{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:768px){ .perks-stack{ grid-template-columns:1fr 1fr; } }
.perks-stack li{
  display:flex; align-items:flex-start; gap:.75rem; background:#fff; border:1px solid var(--offer-line);
  border-radius:var(--radius-sm); padding:1rem 1.1rem; font-size:.95rem; color:#2c2c33;
}
.perks-stack li::before{
  content:"★"; color:var(--offer-red); flex:0 0 auto; font-size:1rem; margin-top:.1rem;
}

.limits-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:768px){ .limits-list{ grid-template-columns:repeat(3,1fr); } }
.limits-list li{ background:#fff; border-inline-start:4px solid var(--offer-navy); border-radius:var(--radius-sm); padding:1.25rem; font-size:.92rem; color:#3d3d46; }
.limits-list li strong{ display:block; color:var(--offer-ink); margin-bottom:.35rem; }

.offer-form{ background:#fff; border-radius:var(--radius-lg); padding:2rem 1.5rem; box-shadow:var(--shadow-md); max-width:640px; margin:0 auto; }
.form-row{ display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:1rem; }
@media (min-width:600px){ .form-row--two{ grid-template-columns:1fr 1fr; } }
.form-field{ display:flex; flex-direction:column; gap:.4rem; }
.form-field label{ font-weight:700; font-size:.92rem; color:var(--offer-ink); }
.form-field input, .form-field textarea{
  border:1px solid #cfc9bb; border-radius:var(--radius-sm); padding:.8rem .9rem; font-size:1rem; font-family:inherit;
  min-height:48px; background:#fdfcfa;
}
.form-field textarea{ min-height:110px; resize:vertical; }
.form-field input:focus, .form-field textarea:focus{ border-color:var(--offer-red); outline:none; box-shadow:0 0 0 3px rgba(221,75,62,.18); }
.form-error{ color:#a4241a; font-size:.82rem; min-height:1.1em; }
.form-consent{ display:flex; align-items:flex-start; gap:.6rem; margin:1.25rem 0; font-size:.9rem; color:#3d3d46; }
.form-consent input{ width:20px; height:20px; margin-top:.15rem; flex:0 0 auto; }
.form-success{
  background:#eaf6ee; border:1px solid #bfe3c9; color:#1c5c34; border-radius:var(--radius-sm); padding:1.1rem 1.25rem;
  font-weight:600; margin-top:1rem;
}
.form-note{ font-size:.85rem; color:#6b6b73; margin-top:1rem; }

.offer-photo-break{ max-width:900px; margin:0 auto 0; padding:0 1rem 3rem; }
.offer-photo-break img{ width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); aspect-ratio:21/9; object-fit:cover; }
.offer-photo-break figcaption{ text-align:center; font-size:.88rem; color:#6b6b73; margin-top:.75rem; }
.offer-photo-break--inline{ padding:0 0 2rem; max-width:100%; }
.offer-photo-break--inline img{ aspect-ratio:21/7; }

/* Legal pages */
.legal-hero{ background:var(--offer-peach); padding:2.5rem 1rem; }
.legal-hero__inner{ max-width:800px; margin:0 auto; }
.legal-hero h1{ font-weight:800; font-size:clamp(1.6rem,5vw,2.3rem); color:var(--offer-ink); margin:0; }
.legal-content{ max-width:800px; margin:0 auto; padding:2.5rem 1rem; }
.legal-content h2{ font-size:1.3rem; color:var(--offer-ink); margin:2rem 0 .75rem; }
.legal-content h2:first-child{ margin-top:0; }
.legal-content p, .legal-content li{ font-size:.98rem; color:#3d3d46; line-height:1.8; }
.legal-content ul{ padding-inline-start:1.4rem; margin:0 0 1.25rem; }
.legal-content p{ margin:0 0 1.25rem; }
.legal-content address{ font-style:normal; }

.contact-grid{ display:grid; grid-template-columns:1fr; gap:2rem; max-width:1000px; margin:0 auto; }
@media (min-width:1024px){ .contact-grid{ grid-template-columns:.9fr 1.1fr; } }
.contact-info{ background:#fff; border-radius:var(--radius-lg); padding:2rem 1.5rem; border:1px solid var(--offer-line); }
.contact-info h2{ margin-top:0; color:var(--offer-ink); }
.contact-info dl{ margin:1.25rem 0 0; }
.contact-info dt{ font-weight:700; color:var(--offer-ink); margin-top:1rem; }
.contact-info dd{ margin:.2rem 0 0; color:#4a4a52; }

/* Cookie notice bar (static, no tracking — dismiss state only) */
.cookie-bar{
  position:fixed; inset-inline:0; bottom:0; z-index:500; background:var(--offer-ink); color:#f1f0f5;
  padding:1rem; box-shadow:0 -6px 24px rgba(0,0,0,.2);
}
.cookie-bar__inner{
  max-width:1120px; margin:0 auto; display:flex; flex-direction:column; gap:.85rem;
}
@media (min-width:768px){ .cookie-bar__inner{ flex-direction:row; align-items:center; justify-content:space-between; } }
.cookie-bar__text{ font-size:.88rem; line-height:1.6; margin:0; }
.cookie-bar__text a{ color:#fff; text-decoration:underline; }
.cookie-bar__actions{ display:flex; gap:.75rem; flex-wrap:wrap; }
.cookie-bar__btn{
  border-radius:999px; padding:.6rem 1.2rem; font-weight:700; font-size:.88rem; cursor:pointer; border:2px solid transparent;
  min-height:44px;
}
.cookie-bar__btn--primary{ background:var(--offer-red); color:#fff; }
.cookie-bar__btn--primary:hover{ background:var(--offer-red-dark); }
.cookie-bar__btn--outline{ background:transparent; border-color:#fff; color:#fff; }
.cookie-bar__btn--outline:hover{ background:#fff; color:var(--offer-ink); }
.has-cookie-bar-padding{ padding-bottom:110px; }
@media (min-width:768px){ .has-cookie-bar-padding{ padding-bottom:88px; } }

/* 404 */
.notfound{ max-width:640px; margin:0 auto; padding:4rem 1rem; text-align:center; }
.notfound h1{ font-size:clamp(2rem,7vw,3rem); color:var(--offer-ink); margin-bottom:1rem; }
