/* self-hosted web fonts (SIL Open Font License): Inter, Playfair Display, Cairo */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/cairo-normal-arabic.woff2) format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/cairo-normal-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/inter-normal-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/inter-normal-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-italic-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-normal-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-normal-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================================================================
   v16.2 — polish: one type system, one button system, a cleaner top bar.
   Fonts are self-hosted (SIL Open Font License): Playfair Display (headings), Inter (text + UI), Cairo (Arabic).
   ============================================================================================================ */
:root{
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --arabic:"Cairo","Segoe UI",Tahoma,Arial,sans-serif;
  --gold-1:#ecd08a;--gold-2:#d4a951;--gold-3:#b98a35;--ink-d:#15130f;--glass:rgba(20,18,14,.55);--r:12px;
}
html{-webkit-text-size-adjust:100%}
body,button,input,select,textarea{font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss03"}
body{font-size:15.5px;line-height:1.62;letter-spacing:0}
html[lang="ar"] body,html[lang="ar"] button,html[lang="ar"] input,html[lang="ar"] select,html[lang="ar"] textarea{font-family:var(--arabic);letter-spacing:0!important;font-feature-settings:normal}

/* headings: serif display for h1/h2, clean sans for the rest */
h1,h2,.hero h1{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;line-height:1.08}
h3,h4,h5{font-family:var(--sans);font-weight:650;letter-spacing:-.005em;line-height:1.25}
.hero h1{font-size:clamp(42px,6.4vw,76px);font-weight:600}
.section-title h2,.section h2{font-size:clamp(28px,3.5vw,44px);font-weight:600}
.hero .by,.hero em,.hero-lead em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:0}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,html[lang="ar"] .hero h1,html[lang="ar"] .hero .by{font-family:var(--arabic);font-weight:700;letter-spacing:0;line-height:1.3;font-style:normal}
/* small caps labels: calm tracking instead of wide shouting */
.eyebrow,.overline,.atlas-kicker,.owner-subtitle,.map-selection span,.pro-plan-overlay strong{font-family:var(--sans);font-weight:650;letter-spacing:.12em;text-transform:uppercase;font-size:11.5px}
html[lang="ar"] .eyebrow,html[lang="ar"] .overline,html[lang="ar"] .atlas-kicker{letter-spacing:0;text-transform:none;font-size:13px}
.metric-band b,.big-number,.lot-tile h3,.lot-number{font-variant-numeric:tabular-nums lining-nums}
small,.sub{letter-spacing:0}

/* ---------- buttons: one system ---------- */
.btn,.header-cta,.install-app,.atlas-reset,.compare-reset,.video-toggle,.floating-compare,.drawer-quick-actions a,.drawer-quick-actions button{
  font-family:var(--sans);font-weight:650;font-size:14px;line-height:1;letter-spacing:.005em;text-transform:none;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border-radius:var(--r);
  text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.btn.primary,.header-cta,.floating-compare,.install-app{color:#1d1505;border:1px solid var(--gold-3);background:linear-gradient(180deg,var(--gold-1),var(--gold-2) 60%,#c79a42);box-shadow:0 8px 22px rgba(185,138,53,.26),inset 0 1px 0 rgba(255,255,255,.35)}
.btn.primary:hover,.header-cta:hover,.floating-compare:hover,.install-app:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(185,138,53,.36),inset 0 1px 0 rgba(255,255,255,.4);filter:saturate(1.05)}
.btn.ghost,.atlas-reset,.compare-reset{color:#fff8e6;background:rgba(255,255,255,.07);border:1px solid rgba(255,248,230,.38);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn.ghost:hover,.atlas-reset:hover,.compare-reset:hover{background:rgba(255,255,255,.14);border-color:rgba(255,248,230,.7);transform:translateY(-1px)}
.section.light .btn.ghost,.section:not(.dark) .btn.ghost,.drawer .btn.ghost,.install-nudge .btn.ghost{color:#3b2d12;background:rgba(59,45,18,.04);border-color:rgba(59,45,18,.3)}
.section.light .btn.ghost:hover,.section:not(.dark) .btn.ghost:hover,.drawer .btn.ghost:hover{background:rgba(59,45,18,.09);border-color:rgba(59,45,18,.55)}
.btn:focus-visible,.header-cta:focus-visible,.nav a:focus-visible,.language-switch a:focus-visible{outline:3px solid rgba(236,208,138,.75);outline-offset:3px}
.btn:active,.header-cta:active{transform:translateY(0)}
html[lang="ar"] .btn,html[lang="ar"] .header-cta{letter-spacing:0;font-size:15px}

/* ---------- top bar: fixed, dark translucent glass; logo | links | tools ---------- */
.header,.header.scrolled,.header.light{
  position:fixed!important;inset:0 0 auto 0!important;z-index:60;height:72px!important;
  display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(14px,2.4vw,36px);
  padding:0 clamp(16px,3.2vw,52px)!important;color:#fff8e6!important;
  background:var(--glass)!important;-webkit-backdrop-filter:saturate(165%) blur(18px)!important;backdrop-filter:saturate(165%) blur(18px)!important;
  border-bottom:1px solid rgba(236,208,138,.18)!important;box-shadow:0 10px 34px rgba(0,0,0,.18)!important;transition:height .25s ease,background .25s ease}
.header.scrolled{height:62px!important;background:rgba(20,18,14,.7)!important}
.brand-lockup{display:flex;align-items:center}.header .brand-logo{height:48px;width:auto;max-width:none;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.header .nav{display:flex;align-items:center;justify-content:center;gap:4px;margin:0}
.header .nav a{min-height:40px;padding:0 16px;display:inline-flex;align-items:center;border:0!important;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.01em;color:rgba(255,248,230,.88)!important;background:transparent;transition:background .2s,color .2s}
.header .nav a:hover{background:rgba(255,248,230,.12);color:#fff!important}
.header .nav a.active,.header .nav a[aria-current]{background:rgba(236,208,138,.16);color:#f6dd9c!important}
.header-tools{display:flex;align-items:center;gap:12px;justify-self:end}
.header-tools .header-weather{display:flex;align-items:center;gap:8px;margin:0!important;padding:0 6px!important;border:0!important;background:transparent!important;color:rgba(255,248,230,.82)}
.header-weather .weather-icon{font-size:16px}.header-weather strong{font-size:14px;font-weight:650;color:#fff8e6}.header-weather small{font-size:11px;line-height:1.15;color:rgba(255,248,230,.62);letter-spacing:0;text-transform:none}
.header-weather #weatherUpdated{display:none}
.language-switch{display:inline-flex;align-items:center;padding:3px;border-radius:999px;border:1px solid rgba(255,248,230,.24)!important;background:rgba(255,255,255,.06);overflow:visible}
.language-switch a{min-height:32px;padding:0 13px;display:inline-flex;align-items:center;border-radius:999px;font:650 12.5px/1 var(--sans);letter-spacing:.04em;color:rgba(255,248,230,.8)!important;transition:background .2s,color .2s}
html[lang="ar"] .language-switch a{font-family:var(--arabic);letter-spacing:0;font-size:13.5px}
.language-switch a:hover{background:rgba(255,248,230,.12)}
html[lang="fr"] .language-switch a[lang="fr"],html[lang="ar"] .language-switch a[lang="ar"]{background:linear-gradient(180deg,var(--gold-1),var(--gold-2));color:#1d1505!important}
.header .header-cta{min-height:42px;padding:0 20px;font-size:13.5px}
.hamb{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,248,230,.28);background:rgba(255,255,255,.07);color:#fff8e6;font-size:20px;line-height:1;cursor:pointer}
.admin-login-link,.admin-fab{display:none!important}
@media (max-width:1180px){.header-tools .header-weather{display:none}}
@media (max-width:960px){
  .header,.header.scrolled,.header.light{grid-template-columns:1fr auto;height:64px!important}
  .header .nav{display:none}
  body.menu-open .header .nav{display:flex;position:fixed;left:12px;right:12px;top:72px;flex-direction:column;align-items:stretch;gap:2px;padding:10px;border-radius:16px;background:rgba(20,18,14,.98);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(236,208,138,.22);box-shadow:0 18px 50px rgba(0,0,0,.4)}
  body.menu-open .header .nav a{justify-content:flex-start;min-height:48px;font-size:16px;border-radius:12px}
  .hamb{display:inline-grid;place-items:center}
  .header .header-cta{display:none}
}
@media (max-width:420px){.header .brand-logo{height:42px}.language-switch a{padding:0 10px}}
/* footer: discreet private-space link */
.footer .private-link{opacity:.6;font-size:12.5px}.footer .private-link:hover{opacity:1}
/* trust & assurance messaging */
.hero-trust{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.hero-trust li{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px 0 10px;border-radius:999px;border:1px solid rgba(236,208,138,.32);background:rgba(20,18,14,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:600 13px/1 var(--sans);color:#f6ecd0}
.hero-trust li:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--gold-2,#d9b062);color:#1d1505;font-size:11px;font-weight:800}
.assurance{background:#faf6ee}
#garanties,#atlas,#lots,#contact{scroll-margin-top:84px}
.assurance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.assurance-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:24px 22px;border-radius:var(--r,12px);background:#fff;border:1px solid rgba(154,103,30,.18);box-shadow:0 10px 30px rgba(60,40,10,.06)}
.assurance-grid h3{margin:6px 0 0;font-size:17px;color:#1e1a14}
.assurance-grid p{margin:0;font-size:14.5px;line-height:1.55;color:#5f564b}
.assurance-grid .btn{margin-top:auto}
.assurance-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(180deg,#f3dfaa,#d9b062);color:#2a1d05;font:700 20px/1 var(--serif)}
.tile-trust{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px dashed rgba(154,103,30,.28);display:flex;flex-wrap:wrap;gap:4px 12px;font:600 11.5px/1.2 var(--sans);color:#4d6b2f}
.tile-trust li:before{content:"✓ ";font-weight:800}
.tile-trust li.ask{color:#8a7a62}.tile-trust li.ask:before{content:"○ "}
.trust-list{list-style:none;margin:0 0 18px;padding:0;border:1px solid rgba(154,103,30,.22);border-radius:12px;overflow:hidden;background:rgba(236,208,138,.1)}
.trust-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;font-size:14px}
.trust-list li+li{border-top:1px solid rgba(154,103,30,.16)}
.trust-list b{font-weight:650}
.trust-list span{text-align:end;font-weight:650;color:#4d6b2f}.trust-list span:before{content:"✓ "}
.trust-list span.ask{color:#8a7a62}.trust-list span.ask:before{content:"○ "}
@media (max-width:1100px){.assurance-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.assurance-grid{grid-template-columns:1fr}.hero-trust li{font-size:12.5px}}
/* titre foncier — the one red, pulsing element (most asked question) */
:root{--red:#d4261c;--red-2:#ff4a3d}
@keyframes titlePulse{0%{box-shadow:0 0 0 0 rgba(255,74,61,.55)}70%{box-shadow:0 0 0 10px rgba(255,74,61,0)}100%{box-shadow:0 0 0 0 rgba(255,74,61,0)}}
@keyframes titleBlink{0%,100%{opacity:1}50%{opacity:.45}}
.hero-trust li.title{background:var(--red);border-color:var(--red-2);color:#fff;font-weight:700;animation:titlePulse 1.8s infinite}
.hero-trust li.title:before{background:#fff;color:var(--red)}
.tile-trust li.title{color:var(--red);font-weight:800}
.tile-trust li.title.ok:before{content:"● ";animation:titleBlink 1.4s infinite}
.tile-trust li.title.ask:before{content:"○ "}
.trust-list li.title{background:rgba(212,38,28,.08)}
.trust-list li.title b,.trust-list li.title span{color:var(--red);font-weight:800}
.trust-list li.title span:before{content:"● ";animation:titleBlink 1.4s infinite}
.assurance-grid article.title-card{border-color:rgba(212,38,28,.45);box-shadow:0 10px 30px rgba(212,38,28,.12);animation:titlePulse 2.4s infinite}
.assurance-grid article.title-card h3{color:var(--red)}
.assurance-grid article.title-card .assurance-icon{background:var(--red);color:#fff}
.assurance-dl{margin:22px 0 0;text-align:center}
@media (prefers-reduced-motion:reduce){.hero-trust li.title,.assurance-grid article.title-card,.tile-trust li.title:before,.trust-list li.title span:before{animation:none!important}}
@media print{.print-technical dl div.print-title dd,.print-technical dl div.print-title dt{color:#c01e14!important;font-weight:900!important}}
.visit-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin:2px 0 6px}.visit-row label{display:flex;flex-direction:column;gap:4px;font:600 12.5px var(--sans);color:inherit}.visit-row small{font-weight:400;opacity:.7}@media(max-width:520px){.visit-row{grid-template-columns:1fr}}
/* print: only the technical sheet is printed — nothing fixed may leak onto paper (must stay last) */
@media print{
  html body>*:not(.print-sheet),html body>header.header,html body>header.header.scrolled,html body>header.header.light,
  html body .header,html body .header-tools,html body .nav,html body .skip-link,html body .admin-fab,html body .floating-compare,
  html body .install-nudge,html body .ios-install-guide,html body .drawer,html body .drawer-backdrop,html body .modal,html body .video-toggle{display:none!important;visibility:hidden!important}
  html body>.print-sheet{display:block!important;visibility:visible!important;position:static!important}
}
