/* =========================================================
   DirDubai — Design system v4
   Matches the approved light template: white/soft-gray base,
   dark navy accent sections, gold pill highlights, Inter,
   rounded cards, soft shadows. No blueprint/grid motif.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

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

body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  background-color:#F8F9FA;
  color:#1A1F2B;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ text-decoration:none; color:inherit; }
h1,h2,h3,h4{ font-weight:700; letter-spacing:-0.02em; margin:0 0 .5em; }
p{ margin:0 0 1em; }
ul{ list-style:none; }
:focus-visible{ outline:2px solid #C6A15C; outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ *{ animation-duration:.001ms !important; transition-duration:.001ms !important; } }

.wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }

/* --- SALE BANNER --- */
.sale-banner{ background:#1A1F2B; color:#F8F9FA; text-align:center; padding:8px 16px; font-size:.85rem; letter-spacing:.3px; border-bottom:1px solid #2D3441; }
.sale-banner a{ color:#C6A15C; font-weight:600; transition:color .2s; }
.sale-banner a:hover{ color:#E0C28A; }

/* --- HEADER --- */
.site-header{ background:rgba(255,255,255,0.92); border-bottom:1px solid #E9ECF0; padding:12px 0; position:sticky; top:0; z-index:100; backdrop-filter:blur(8px); }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:center; gap:12px; font-weight:700; font-size:1.3rem; color:#1A1F2B; flex-shrink:0; }
.brand .mark{ width:32px; height:32px; flex-shrink:0; }
.brand .tagline{ display:block; font-size:.65rem; font-weight:400; color:#6B7280; letter-spacing:.3px; margin-top:0; line-height:1.2; }
.nav-links{ display:flex; align-items:center; gap:24px; font-weight:500; font-size:.95rem; }
.nav-links a{ color:#4B5563; transition:color .2s; padding:6px 0; border-bottom:2px solid transparent; }
.nav-links a:hover,.nav-links a.active{ color:#1A1F2B; border-bottom-color:#C6A15C; }
.nav-cta{ background:#1A1F2B; color:#FFFFFF !important; padding:8px 18px !important; border-radius:40px; font-weight:600; font-size:.9rem; transition:background .2s, transform .15s; border-bottom:none !important; white-space:nowrap; }
.nav-cta:hover{ background:#2D3441; transform:translateY(-1px); }
.nav-toggle{ display:none; background:none; border:1px solid #E9ECF0; padding:8px 16px; border-radius:30px; font-weight:600; font-size:.85rem; color:#1A1F2B; cursor:pointer; transition:background .2s; }
.nav-toggle:hover{ background:#F1F3F6; }

/* --- HERO --- */
.hero{ padding:72px 0 48px; background:linear-gradient(165deg,#FFFFFF 0%,#F8F9FA 100%); border-bottom:1px solid #E9ECF0; }
.hero-inner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:1.2px; color:#C6A15C; background:rgba(198,161,92,0.1); padding:4px 14px; border-radius:40px; margin-bottom:16px; }
.eyebrow::before{ display:none; }
.hero h1{ font-size:clamp(2.2rem,5vw,3.2rem); font-weight:700; line-height:1.2; letter-spacing:-0.02em; color:#1A1F2B; margin-bottom:16px; }
.lede{ font-size:1.15rem; color:#4B5563; max-width:520px; margin-bottom:32px; line-height:1.7; }
.cta-row{ display:flex; flex-wrap:wrap; gap:16px; }

/* --- BUTTONS --- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.4em; padding:12px 28px; border-radius:40px; font-weight:600; font-size:.95rem; transition:all .2s ease; border:none; cursor:pointer; background:#E9ECF0; color:#1A1F2B; font-family:inherit; text-transform:none; letter-spacing:normal; }
.btn-green{ background:#1A1F2B; color:#FFFFFF; }
.btn-green:hover{ background:#2D3441; transform:translateY(-2px); box-shadow:0 8px 20px rgba(26,31,43,0.15); }
.btn-ghost{ background:transparent; border:1.5px solid #D1D5DB; color:#1A1F2B; }
.btn-ghost:hover{ background:#F1F3F6; border-color:#1A1F2B; }
.btn-brass{ background:#C6A15C; color:#FFFFFF; }
.btn-brass:hover{ background:#B08E4A; transform:translateY(-2px); box-shadow:0 8px 20px rgba(198,161,92,0.3); }
.btn-dark{ background:#1A1F2B; color:#FFFFFF; }
.btn-dark:hover{ background:#2D3441; }
.btn-block{ display:flex; width:100%; }
.btn-sm{ padding:8px 16px; font-size:.85rem; }
.btn:active{ transform:translateY(1px); }

/* --- SKYLINE & STAMP --- */
.skyline-wrap{ display:flex; flex-direction:column; align-items:flex-end; justify-content:center; position:relative; }
.stamp-seal{ position:absolute; top:10px; right:20px; background:#FFFFFF; border:2px solid #C6A15C; border-radius:50%; width:90px; height:90px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-weight:700; font-size:.7rem; text-transform:uppercase; letter-spacing:.5px; color:#1A1F2B; box-shadow:0 8px 24px rgba(0,0,0,0.08); transform:rotate(-6deg); }
.stamp-seal .l1{ font-size:.7rem; letter-spacing:1px; color:#C6A15C; }
.stamp-seal .l2{ font-size:.65rem; font-weight:800; color:#1A1F2B; }
.stamp-seal .l3{ font-size:.55rem; font-weight:400; color:#6B7280; }

/* --- STATS --- */
.stat-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; padding-top:32px; border-top:1px solid #E9ECF0; }
.stat-strip > div{ padding:0; border:none; }
.stat-num,.stat-strip .stat-num{ font-size:1.8rem; font-weight:700; color:#1A1F2B; letter-spacing:-0.02em; font-family:inherit; }
.stat-label,.stat-strip .stat-label{ font-size:.9rem; color:#6B7280; font-weight:500; text-transform:none; letter-spacing:normal; font-family:inherit; }

/* --- DIM LINE --- */
.dim-line{ background:#F1F3F6; padding:16px 0; text-align:center; font-size:.8rem; font-weight:600; letter-spacing:.8px; color:#6B7280; border-top:1px solid #E9ECF0; border-bottom:1px solid #E9ECF0; height:auto; }
.dim-line svg{ width:100%; max-width:800px; height:32px; }
.dim-line .bar,.dim-line .tick{ display:none; }
.dim-line rect{ display:none; }
.dim-line text{ fill:#4B5563; font-size:11px; font-weight:600; letter-spacing:1.2px; font-family:inherit; }

/* --- SECTIONS --- */
.section{ padding:64px 0; }
.section-dark{ background:#1A1F2B; color:#F8F9FA; background-image:none; }
.section-dark .kicker,.section-dark .eyebrow{ color:#C6A15C; }
.section-dark h2{ color:#FFFFFF; }
.section-dark p{ color:#D1D5DB; }
.section-chart{ background:#1A1F2B; color:#F8F9FA; background-image:none; }
.section-chart .kicker{ color:#C6A15C; }
.section-chart h2{ color:#FFFFFF; }
.section-chart p{ color:#D1D5DB; }
.section-paper{ background:#FFFFFF; border-bottom:1px solid #E9ECF0; }
.section-head{ text-align:center; max-width:700px; margin:0 auto 48px; }
.section-head .kicker{ display:inline-block; }
.section-head h2{ font-size:clamp(1.8rem,3vw,2.6rem); font-weight:700; letter-spacing:-0.02em; color:#1A1F2B; margin-bottom:12px; }
.section-head p{ color:#6B7280; font-size:1.05rem; }
.kicker{ font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:1.2px; color:#C6A15C; margin-bottom:8px; display:inline-block; }

/* --- FUNNEL STRIP --- */
.funnel-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:16px; background:none; border:none; }
.funnel-strip > div{ background:#2D3441; padding:24px; border-radius:16px; transition:transform .2s; text-align:left; }
.funnel-strip > div:hover{ transform:translateY(-4px); }
.fs-n{ display:inline-block; font-size:1.8rem; font-weight:700; color:#C6A15C; margin-bottom:8px; letter-spacing:-0.02em; font-family:inherit; text-transform:none; }
.funnel-strip h4{ font-size:1.1rem; margin-bottom:6px; color:#FFFFFF; }
.funnel-strip p{ font-size:.95rem; color:#9CA3AF; line-height:1.5; margin:0; }

/* --- TOOLS GRID --- */
.tools-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; background:none; border:none; }
.tool-card{ background:#FFFFFF; border:1px solid #E9ECF0; border-radius:16px; padding:24px; transition:box-shadow .2s, transform .15s; }
.tool-card:hover{ box-shadow:0 8px 30px rgba(0,0,0,0.08); transform:translateY(-3px); }
.tool-card h3{ font-size:1.1rem; margin-bottom:6px; color:#1A1F2B; }
.tool-card p{ color:#6B7280; font-size:.95rem; margin-bottom:16px; }
.tool-card .btn-dark{ background:#F1F3F6; color:#1A1F2B; border:1px solid #E9ECF0; }
.tool-card .btn-dark:hover{ background:#E5E8ED; }

/* --- WAYPOINTS --- */
.waypoints{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; background:none; border:none; }
.waypoint{ background:#2D3441; padding:28px; border-radius:16px; transition:transform .2s; }
.waypoint:hover{ transform:translateY(-4px); box-shadow:none; }
.waypoint .bearing{ background:#3B4455; border-radius:40px; padding:2px 14px; font-size:.7rem; font-weight:600; color:#C6A15C; display:inline-block; margin-bottom:12px; border:none; }
.waypoint h3{ font-size:1.2rem; color:#FFFFFF; margin-bottom:6px; }
.waypoint p{ color:#9CA3AF; font-size:.95rem; margin-bottom:16px; line-height:1.5; }
.waypoint a.go{ color:#C6A15C; font-weight:600; transition:color .2s; font-family:inherit; text-transform:none; letter-spacing:normal; }
.waypoint a.go:hover{ color:#E0C28A; }

/* --- CTA BAND --- */
.cta-band{ padding:64px 0; text-align:center; background:#F1F3F6; border-top:1px solid #E9ECF0; border-bottom:1px solid #E9ECF0; background-image:none; }
.cta-band.green{ background:#1A1F2B; color:#F8F9FA; border-color:#2D3441; }
.cta-band.green h2{ color:#FFFFFF; }
.cta-band.green p{ color:#D1D5DB; }
.cta-band h2{ font-size:clamp(1.6rem,2.5vw,2.2rem); margin-bottom:12px; color:#1A1F2B; }
.cta-band p{ max-width:600px; margin:0 auto 24px; font-size:1.05rem; color:#4B5563; }

/* --- FORM BOX --- */
.form-box{ background:#FFFFFF; border:1px solid #E9ECF0; border-radius:20px; padding:32px; box-shadow:0 4px 20px rgba(0,0,0,0.04); color:#1A1F2B; }
.form-box.on-dark{ background:#2D3441; border-color:#3B4455; color:#F8F9FA; }
.form-box.on-dark h3{ color:#fff; }
.form-box.on-dark input,.form-box.on-dark textarea,.form-box.on-dark select{ background:#1A1F2B; border-color:#3B4455; color:#F8F9FA; }
.form-box.on-dark input::placeholder,.form-box.on-dark textarea::placeholder{ color:#9CA3AF; }
.form-box.on-dark .form-note{ color:#9CA3AF; }
.form-box input,.form-box textarea,.form-box select,.field select,.field input[type=number]{ width:100%; padding:12px 16px; border:1px solid #E9ECF0; border-radius:12px; font-size:.95rem; transition:border-color .2s; background:#F8F9FA; font-family:inherit; }
.form-box input:focus,.form-box textarea:focus,.form-box select:focus{ outline:none; border-color:#C6A15C; box-shadow:0 0 0 3px rgba(198,161,92,0.12); }
.form-box textarea{ min-height:80px; resize:vertical; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-success{ display:none; background:#D1FAE5; color:#065F46; padding:12px 16px; border-radius:12px; margin-top:16px; font-weight:500; }
.form-note{ font-size:.8rem; color:#6B7280; margin-top:10px; }

/* --- FOOTER --- */
.site-footer{ background:#1A1F2B; color:#D1D5DB; padding:48px 0 24px; border-top:1px solid #2D3441; }
.titleblock{ display:flex; flex-wrap:wrap; gap:16px 32px; padding:16px 0 32px; border-bottom:1px solid #2D3441; margin-bottom:32px; font-size:.75rem; text-transform:uppercase; letter-spacing:.5px; max-width:1200px; margin-left:auto; margin-right:auto; }
.titleblock > div{ padding:0; border:none; }
.tb-label{ color:#6B7280; margin-right:6px; }
.tb-value{ color:#F8F9FA; font-weight:600; }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:32px; margin-bottom:32px; padding:0; max-width:1200px; margin-left:auto; margin-right:auto; }
.footer-brand p{ font-size:.95rem; color:#9CA3AF; max-width:280px; line-height:1.6; }
.footer-grid h4{ color:#F8F9FA; font-size:.95rem; margin-bottom:12px; text-transform:none; letter-spacing:normal; font-family:inherit; }
.footer-grid ul{ list-style:none; padding:0; }
.footer-grid ul li{ margin-bottom:6px; opacity:1; }
.footer-grid ul li a{ color:#9CA3AF; font-size:.9rem; transition:color .2s; }
.footer-grid ul li a:hover{ color:#F8F9FA; }
.footer-bottom{ border-top:1px solid #2D3441; padding-top:24px; display:flex; justify-content:space-between; font-size:.85rem; color:#6B7280; max-width:1200px; margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px; opacity:1; font-family:inherit; }

/* --- BREADCRUMB --- */
.crumb{ font-size:.8rem; color:#6B7280; padding:16px 0; }
.crumb a{ opacity:1; color:#6B7280; }
.crumb a:hover{ color:#1A1F2B; text-decoration:underline; }
.crumb-dark{ color:#1A1F2B; font-weight:600; }

/* --- SHEET TAG (soft pill, matches eyebrow style) --- */
.sheet-tag{ display:inline-flex; align-items:center; gap:8px; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:#C6A15C; background:rgba(198,161,92,0.1); padding:4px 14px; border-radius:40px; }
.sheet-tag .num{ background:#C6A15C; color:#fff; padding:2px 8px; border-radius:20px; font-weight:700; }
.sheet-tag.on-dark{ background:rgba(198,161,92,0.15); color:#C6A15C; }
.sheet-tag.on-dark .num{ display:none; }
.sheet-tag.verified{ background:rgba(76,139,107,0.12); color:#2F5B47; }
.sheet-tag.verified .num{ background:#4C8B6B; }

/* --- ARTICLE / LONG-FORM --- */
.article-shell{ background:#FFFFFF; }
.article-head{ padding:56px 0 20px; background:linear-gradient(165deg,#FFFFFF 0%,#F8F9FA 100%); border-bottom:1px solid #E9ECF0; }
.article-head h1{ color:#1A1F2B; font-size:clamp(1.8rem,3.6vw,2.5rem); max-width:24ch; margin-top:14px; }
.article-head .dek{ font-size:1.02rem; color:#4B5563; max-width:60ch; margin-top:16px; }
.article-body{ max-width:700px; margin:0 auto; padding:20px 24px 80px; }
.article-body h2{ font-size:1.4rem; margin-top:2.2em; color:#1A1F2B; border-top:1px solid #E9ECF0; padding-top:.9em; }
.article-body h3{ font-size:1.08rem; margin-top:1.6em; color:#1A1F2B; }
.article-body p{ color:#374151; font-size:1rem; }
.article-body ul{ margin:0 0 1.2em; padding-left:1.3em; }
.article-body li{ padding-left:.2em; margin-bottom:.55em; color:#374151; list-style:none; position:relative; }
.article-body li::before{ content:'—'; position:absolute; left:-1.3em; color:#C6A15C; }
.article-body table{ width:100%; border-collapse:collapse; margin:1.6em 0; font-size:.9rem; }
.article-body th,.article-body td{ text-align:left; padding:10px 12px; border-bottom:1px solid #E9ECF0; }
.article-body th{ font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:#B08E4A; }
.callout{ background:#1A1F2B; color:#fff; padding:24px 26px; border-radius:16px; margin:2em 0; border-left:4px solid #C6A15C; }
.callout p{ color:#fff !important; opacity:.92; margin-bottom:14px; }
.callout strong{ color:#E0C28A; }
.callout .btn-green{ background:#C6A15C; color:#1A1F2B; }
.callout .btn-green:hover{ background:#E0C28A; }
.callout .btn-dark{ background:#fff; color:#1A1F2B; }
.callout .btn-ghost{ border-color:rgba(255,255,255,0.4); color:#fff; }
.callout .btn-ghost:hover{ background:rgba(255,255,255,0.1); border-color:#fff; }
.figure-block{ background:#2D3441; color:#fff; padding:22px 26px; border-radius:16px; margin:1.5em 0; }
.figure-block p,.figure-block strong{ color:#fff; }
.figure-block .amt{ color:#E0C28A; font-size:1.05rem; font-weight:700; }
.tag-list{ display:flex; gap:8px; flex-wrap:wrap; margin:16px 0; }
.tag-list span{ font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; border:1px solid #E9ECF0; padding:5px 12px; border-radius:20px; color:#6B7280; }

/* --- GUIDES INDEX --- */
.guide-cat{ background:#FFFFFF; border:1px solid #E9ECF0; border-radius:16px; padding:24px; transition:box-shadow .2s, transform .15s; }
.guide-cat:hover{ box-shadow:0 8px 30px rgba(0,0,0,0.08); transform:translateY(-3px); }
.guide-cat h3{ color:#1A1F2B; font-size:1.05rem; }
.guide-cat p{ color:#6B7280; font-size:.86rem; }
.article-list{ margin-top:14px; }
.article-list li{ border-top:1px solid #E9ECF0; padding:12px 0; }
.article-list a{ display:flex; justify-content:space-between; gap:12px; font-size:.9rem; color:#1A1F2B; opacity:.85; }
.article-list a:hover{ opacity:1; color:#B08E4A; }

/* --- DIRECTORY (annuaire) --- */
.dir-filters{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px; }
.dir-filters a{ font-size:.8rem; font-weight:600; border:1.5px solid #D1D5DB; padding:8px 16px; color:#1A1F2B; border-radius:40px; }
.dir-filters a:hover,.dir-filters a.active{ background:#F1F3F6; border-color:#1A1F2B; }
.hero .dir-filters a{ border-color:rgba(255,255,255,0.4); color:#fff; }
.hero .dir-filters a:hover{ border-color:#C6A15C; color:#C6A15C; background:rgba(255,255,255,0.08); }
.dir-cat-block{ margin-bottom:56px; }
.dir-cat-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; border-bottom:1px solid #2D3441; padding-bottom:14px; flex-wrap:wrap; }
.dir-cat-head .dc-title-row{ display:flex; align-items:center; gap:16px; }
.dir-cat-head h2{ font-size:1.3rem; color:#fff; margin:0; }
.dir-cat-head p{ margin:0; color:#9CA3AF; font-size:.85rem; }
.cat-icon{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex:none; background:#F1F3F6; border:1px solid #E9ECF0; }
.dir-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.dir-card{ background:#FFFFFF; border:1px solid #E9ECF0; border-radius:16px; padding:24px 22px; display:flex; flex-direction:column; transition:box-shadow .2s, transform .15s; }
.dir-card:hover{ box-shadow:0 8px 30px rgba(0,0,0,0.08); transform:translateY(-3px); }
.dir-card .dc-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px; }
.dir-card h3{ font-size:1.02rem; color:#1A1F2B; margin:0; }
.dir-card .dc-badge{ font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; background:#4C8B6B; color:#fff; padding:3px 10px; border-radius:20px; flex:none; white-space:nowrap; display:inline-flex; align-items:center; gap:4px; }
.dc-badge::before{ content:''; width:7px; height:7px; background:#fff; clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,45% 62%); }
.dir-card p{ color:#6B7280; font-size:.86rem; flex:1; margin-bottom:16px; }
.dir-card .dc-meta{ font-size:.75rem; color:#B08E4A; margin-bottom:16px; }

/* --- QUIZ --- */
.quiz-box{ background:#fff; color:#1A1F2B; border-radius:20px; padding:38px; max-width:720px; margin:0 auto; border:1px solid #E9ECF0; box-shadow:0 8px 30px rgba(0,0,0,0.06); }
@media (max-width:600px){ .quiz-box{ padding:24px 18px; } }
.quiz-progress{ font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:#B08E4A; margin-bottom:16px; }
.quiz-track{ height:4px; background:#E9ECF0; border-radius:4px; margin-bottom:28px; }
.quiz-track-fill{ height:100%; background:#C6A15C; border-radius:4px; transition:width .3s ease; }
.quiz-q h2{ font-size:1.3rem; margin-bottom:20px; }
.quiz-options{ display:grid; gap:10px; }
.quiz-opt{ text-align:left; background:#F8F9FA; border:1.5px solid #E9ECF0; padding:15px 18px; border-radius:14px; cursor:pointer; font-size:.95rem; font-family:inherit; color:#1A1F2B; transition:all .12s ease; }
.quiz-opt:hover{ border-color:#C6A15C; background:#fff; }
.quiz-opt.selected{ border-color:#C6A15C; background:#FBF5E8; font-weight:600; }
.quiz-nav{ display:flex; justify-content:space-between; margin-top:24px; }
.quiz-result h2{ font-size:1.5rem; margin-bottom:6px; }
.quiz-result .badge{ font-size:.7rem; font-weight:600; color:#B08E4A; text-transform:uppercase; letter-spacing:.08em; }
.quiz-result .result-body{ margin-top:18px; padding-top:18px; border-top:1px solid #E9ECF0; }
.quiz-result ul{ margin:14px 0; padding-left:1.2em; }
.quiz-result li{ margin-bottom:.4em; position:relative; }
.quiz-result li::before{ content:'—'; position:absolute; left:-1.2em; color:#C6A15C; }

/* --- CALCULATOR --- */
.calc-box{ background:#fff; color:#1A1F2B; border-radius:20px; padding:38px; border:1px solid #E9ECF0; box-shadow:0 8px 30px rgba(0,0,0,0.06); }
@media (max-width:600px){ .calc-box{ padding:24px 18px; } }
.calc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:700px){ .calc-grid{ grid-template-columns:1fr; } }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:#B08E4A; margin-bottom:8px; }
.chip-row{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ border:1.5px solid #E9ECF0; padding:9px 16px; border-radius:40px; font-size:.83rem; cursor:pointer; background:#fff; font-family:inherit; }
.chip.selected{ background:#1A1F2B; color:#fff; border-color:#1A1F2B; }
.calc-result{ margin-top:28px; padding-top:24px; border-top:1px solid #E9ECF0; }
.calc-total{ font-size:1.9rem; font-weight:700; color:#1A1F2B; }
.calc-total small{ font-size:.84rem; font-weight:400; color:#6B7280; display:block; margin-top:4px; }
.calc-breakdown{ margin-top:16px; }
.calc-breakdown .row{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px dashed #E9ECF0; font-size:.88rem; }
.calc-breakdown .row span:last-child{ font-weight:600; }

/* --- OFFER / PRICING --- */
.offer-box{ background:#fff; color:#1A1F2B; border-radius:20px; padding:38px; border:1px solid #E9ECF0; box-shadow:0 8px 30px rgba(0,0,0,0.06); position:relative; }
.offer-box .price{ font-size:2.2rem; font-weight:700; color:#1A1F2B; }
.offer-box .price small{ font-size:.95rem; color:#6B7280; font-weight:400; }
.check-list li{ display:flex; gap:10px; margin-bottom:11px; font-size:.93rem; }
.check-list li::before{ content:'—'; color:#C6A15C; flex:none; }

/* --- COMPARE TABLE --- */
.compare-table{ width:100%; border-collapse:collapse; background:#1A1F2B; border-radius:16px; overflow:hidden; }
.compare-table th,.compare-table td{ padding:13px 16px; text-align:left; font-size:.9rem; border-bottom:1px solid #2D3441; color:#fff; }
.compare-table th{ text-transform:uppercase; font-size:.66rem; letter-spacing:.06em; color:#C6A15C; }
.compare-table tr:last-child td{ border-bottom:none; }

/* --- GRID 2 / MISC --- */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.grid-2 > *{ background:#2D3441; border-radius:16px; padding:28px 24px; color:#fff; }
@media (max-width:780px){ .grid-2{ grid-template-columns:1fr; } }
.center{ text-align:center; }

/* --- RESPONSIVE --- */
@media (max-width:1024px){
  .tools-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:24px; }
  .waypoints{ grid-template-columns:1fr 1fr; }
  .dir-cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width:820px){
  .hero-inner{ grid-template-columns:1fr; gap:32px; }
  .skyline-wrap{ align-items:center; }
  .stamp-seal{ position:relative; top:0; right:0; margin-bottom:16px; width:80px; height:80px; }
  .stat-strip{ grid-template-columns:repeat(2,1fr); }
  .funnel-strip{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .nav-links{ display:none; flex-direction:column; width:100%; padding:16px 0; background:#FFFFFF; border-top:1px solid #E9ECF0; margin-top:12px; gap:8px; position:static; inset:auto; transform:none; }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:8px 0; width:100%; text-align:center; }
  .nav-cta{ background:#1A1F2B; color:#FFFFFF !important; border-radius:40px; padding:10px 0 !important; width:100%; text-align:center; }
  .nav-toggle{ display:block; }
  .tools-grid,.footer-grid,.waypoints,.form-row,.funnel-strip,.dir-cards,.calc-grid{ grid-template-columns:1fr; }
  .titleblock{ flex-direction:column; gap:6px; }
  .footer-bottom{ flex-direction:column; gap:8px; text-align:center; }
  .stat-strip{ grid-template-columns:1fr 1fr; gap:16px; }
  .stamp-seal{ width:70px; height:70px; font-size:.6rem; }
  .hero{ padding:48px 0 32px; }
  .section{ padding:40px 0; }
  .cta-band{ padding:40px 0; }
}
