/* ============================================================
   NOVARUM Patrimoine — feuille de style globale
   Palette : papier F7F3EA · encre 191712 · laiton 8C6A2F / B08C46
   Typo : Space Grotesk (titres) · Inter (texte)
   ============================================================ */

@font-face{font-family:'Space Grotesk';src:url('/fonts/space-grotesk-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/fonts/space-grotesk-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/fonts/space-grotesk-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  --paper:#F7F3EA; --paper-2:#FDFBF5;
  --ink:#191712; --ink-2:#211D15;
  --mute:#7C7566; --stone:#9C917C;
  --brass:#8C6A2F; --brass-l:#B08C46; --gold:#C8A75E; --gold-bg:#D9B468;
  --ivory:#F0EADB;
  --ff-titre:'Space Grotesk',ui-sans-serif,sans-serif;
  --ff-texte:'Inter',ui-sans-serif,system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--ff-texte);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.container{width:min(1440px,100% - 48px);margin-inline:auto}
@media(max-width:640px){.container{width:calc(100% - 36px)}}

/* ---------- Header ---------- */
.site-header{position:relative;z-index:20}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-block:26px}
.mark{display:inline-flex;align-items:flex-end;gap:13px}
.mark .mono{margin-bottom:1px}
.mark .mono{flex:none}
.mark .stack{display:flex;flex-direction:column}
.mark .n{font-family:var(--ff-titre);font-weight:500;font-size:18px;letter-spacing:.32em;color:var(--ink);margin-right:-.32em;line-height:1.05}
.mark .p{align-self:flex-end;font-size:7.5px;letter-spacing:.3em;color:var(--brass);text-transform:uppercase;margin-top:-0.5px;margin-right:-.3em;line-height:1.2}
.btn-header{border:1px solid rgba(110,82,35,.7);color:#6E5223;padding:12px 24px;border-radius:999px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;background:linear-gradient(180deg,rgba(176,140,70,.1),rgba(176,140,70,.02));transition:background .2s}
.btn-header:hover{background:rgba(176,140,70,.18)}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border-radius:8px}
.burger span{display:block;width:22px;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .22s,opacity .18s}
body.menu-open .burger span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper-2);border-block:1px solid rgba(140,106,47,.25);padding:10px 18px 22px;box-shadow:0 30px 60px rgba(35,28,14,.14)}
body.menu-open .mobile-menu{display:block}
.menu-links{list-style:none}
.menu-links a{display:block;padding:15px 2px;border-bottom:1px solid rgba(25,23,18,.09);font-family:var(--ff-titre);font-size:15px;letter-spacing:.02em}
.menu-cta{display:block;width:100%;text-align:center;margin-top:14px}
@media(max-width:640px){
  .btn-header{display:none}
  .burger{display:flex}
  .mark .n{font-size:15px;letter-spacing:.24em;margin-right:-.24em}
  .mark .mono{width:22px;height:28px}
  .site-header .container{gap:10px;padding-block:18px}
}

/* ---------- Hero ---------- */
.hero{position:relative}
.hero .container{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:stretch}
.hero-left{padding:72px 0 64px;display:flex;flex-direction:column;gap:0}
.eyebrow{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#6E5223;font-weight:500}
.eyebrow::after{content:"";flex:none;width:48px;height:1px;background:linear-gradient(90deg,rgba(110,82,35,.75),transparent)}
h1{margin-top:30px;font-family:var(--ff-titre);font-weight:300;font-size:clamp(38px,4.4vw,62px);line-height:1.12;letter-spacing:-.028em}
h1 em{font-style:normal;font-weight:400;color:var(--brass-l)}
.lead{margin-top:24px;max-width:500px;font-size:15px;line-height:1.85;color:rgba(25,23,18,.6)}
.hero-ctas{margin-top:36px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.btn-primary{background:var(--ink);color:var(--paper);padding:18px 34px;border-radius:999px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;box-shadow:0 18px 46px rgba(25,23,18,.22);transition:transform .15s,box-shadow .15s}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 22px 52px rgba(25,23,18,.28)}
.btn-ghost{color:var(--ink);padding:18px 4px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(140,106,47,.5)}

/* offres */
.offers{margin-top:auto;padding-top:48px;display:grid;grid-template-columns:1fr 1fr 1.06fr;gap:13px}
.oc{background:var(--ink-2);border-radius:14px;padding:20px 20px 18px;box-shadow:0 16px 40px rgba(35,28,14,.16)}
.oc .ic{display:flex;align-items:center;min-height:36px;margin-bottom:13px}
.oc .ic svg{flex:none}
.oc .k{font-family:var(--ff-titre);font-weight:400;font-size:15.5px;color:#F3EEE3;letter-spacing:.01em}
.oc .s{margin-top:5px;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.oc .d{margin-top:9px;font-size:11px;line-height:1.65;color:rgba(243,238,227,.6)}
.oc.gold{background:linear-gradient(150deg,#D7B268,#B58C41);box-shadow:0 18px 44px rgba(170,132,60,.4)}
.oc.gold .k{color:#241B09}
.oc.gold .s{color:rgba(36,27,9,.6)}
.oc.gold .d{color:rgba(36,27,9,.78)}
.oc.gold .pct{font-family:var(--ff-titre);font-weight:300;font-size:31px;line-height:1;color:#241B09;margin-top:3px;letter-spacing:-.02em}

/* scene droite */
.hero-right{position:relative;min-height:680px}
.scene{position:absolute;top:-92px;bottom:0;left:-8%;right:calc((100vw - min(1440px,100vw - 48px))/-2);overflow:hidden;z-index:-1}
.scene svg{width:100%;height:100%}
.scene .fade{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(247,243,234,.55) 10%,rgba(247,243,234,0) 34%)}
.panel{position:absolute;right:0;bottom:56px;width:min(452px,100%);background:rgba(253,251,245,.88);backdrop-filter:blur(10px);border:1px solid rgba(140,106,47,.28);border-radius:4px;padding:26px 28px 20px;box-shadow:0 34px 80px rgba(90,74,44,.18)}
.panel::before{content:"";position:absolute;inset:6px;border:1px solid rgba(140,106,47,.14);border-radius:2px;pointer-events:none}
.panel h2{font-family:var(--ff-titre);font-weight:500;font-size:16.5px;letter-spacing:.01em}
.rows{margin-top:12px}
.row{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid rgba(25,23,18,.09);font-size:12.5px}
.row:first-child{border-top:0}
.row .a{color:rgba(25,23,18,.88);white-space:nowrap}
.row .v{color:var(--mute);font-size:11.5px}
.row .n{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--brass);font-size:11.5px;white-space:nowrap}
.comite{margin-top:13px;display:flex;align-items:center;gap:13px;border:1px solid rgba(140,106,47,.3);background:linear-gradient(100deg,rgba(176,140,70,.12),rgba(176,140,70,.02));border-radius:3px;padding:12px 15px}
.comite .tx{font-size:11.5px;line-height:1.5;color:rgba(25,23,18,.72)}
.comite .tx b{font-family:var(--ff-titre);font-weight:500;font-size:12.5px;color:var(--brass);display:block;letter-spacing:.02em}
.reg{margin-top:11px;font-size:8.5px;letter-spacing:.06em;color:rgba(25,23,18,.34);line-height:1.5}

/* ---------- Footer ---------- */
.site-footer{margin-top:8px;border-top:1px solid rgba(25,23,18,.12)}
.site-footer .container{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-block:28px}
.site-footer .fine{font-size:11px;color:var(--mute);max-width:640px;line-height:1.6}

/* ---------- Popin ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(20,16,10,.55);backdrop-filter:blur(4px);z-index:90;opacity:0;pointer-events:none;transition:opacity .25s}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
body.modal-open .modal-backdrop,body.modal-open .modal{opacity:1;pointer-events:auto}
body.modal-open{overflow:hidden}
.modal-card{position:relative;width:min(600px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:var(--paper-2);border:1px solid rgba(140,106,47,.3);border-radius:8px;padding:36px 38px 30px;box-shadow:0 50px 120px rgba(20,14,4,.4)}
.modal-card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(140,106,47,.15);border-radius:4px;pointer-events:none}
.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--mute);font-size:20px;line-height:1;z-index:2}
.modal-close:hover{color:var(--ink)}
.modal-eyebrow{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass)}
.modal-card h2{margin-top:12px;font-family:var(--ff-titre);font-weight:300;font-size:clamp(24px,3.5vw,32px);letter-spacing:-.02em;line-height:1.15}
.modal-card h2 em{font-style:normal;font-weight:400;color:var(--brass-l)}
.modal-card .mtx{margin-top:12px;font-size:13.5px;line-height:1.7;color:rgba(25,23,18,.62)}
form.contact{margin-top:22px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:5px}
.field.full{grid-column:1/-1}
.field label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.field input{background:#fff;border:1px solid rgba(25,23,18,.18);border-radius:6px;padding:12px 14px;font:inherit;font-size:14px;color:var(--ink)}
.field input:focus{outline:2px solid rgba(176,140,70,.5);outline-offset:1px;border-color:var(--brass-l)}
.checks{grid-column:1/-1;margin-top:6px}
.checks .lg{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.checks .grid{margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
@media(max-width:560px){.checks .grid{grid-template-columns:1fr}}
.check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:rgba(25,23,18,.8);cursor:pointer;line-height:1.4}
.check input{margin-top:2px;width:15px;height:15px;accent-color:var(--brass)}
.form-actions{grid-column:1/-1;margin-top:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn-submit{background:linear-gradient(150deg,#D7B268,#B58C41);color:#241B09;padding:15px 30px;border-radius:999px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;box-shadow:0 14px 34px rgba(170,132,60,.4)}
.btn-submit:hover{filter:brightness(1.04)}
.form-note{font-size:10.5px;color:var(--mute);line-height:1.5;max-width:260px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.btn-submit:disabled{opacity:.6;cursor:default}
.form-success{display:none;text-align:center;padding:26px 10px 10px}
.form-success svg{margin:0 auto 18px}
.form-success h3{font-family:var(--ff-titre);font-weight:400;font-size:24px;letter-spacing:-.01em}
.form-success p{margin:10px auto 22px;max-width:380px;font-size:13.5px;line-height:1.7;color:rgba(25,23,18,.62)}
.modal-card.sent form.contact,.modal-card.sent .mtx,.modal-card.sent .modal-eyebrow,.modal-card.sent h2{display:none}
.modal-card.sent .form-success{display:block}

/* page merci */
.thanks{min-height:60vh;display:grid;place-items:center;text-align:center;padding:80px 0}
.thanks h1{font-size:clamp(32px,5vw,52px)}
.thanks .lead{margin-inline:auto}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .hero .container{grid-template-columns:1fr;gap:0}
  .hero-left{padding:40px 0 40px}
  .hero-right{min-height:0;margin-top:8px}
  .scene{position:relative;top:0;left:calc((100vw - (100% ))/-2 + 0px);right:auto;width:100vw;margin-left:calc(50% - 50vw);height:300px;border-radius:0}
  .scene svg{height:300px}
  .scene .fade{background:linear-gradient(180deg,var(--paper) 0%,rgba(247,243,234,0) 30%)}
  .panel{position:relative;right:auto;bottom:auto;width:100%;margin-top:-64px;margin-bottom:8px}
  .offers{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding-top:36px}
}
@media(max-width:640px){
  .hero-left{padding-top:24px}
  .scene,.scene svg{height:230px}
  .panel{margin-top:-48px;padding:22px 20px 16px}
  /* lignes du tableau : nom + prix sur la ligne, descriptif dessous */
  .row{flex-wrap:wrap;row-gap:1px}
  .row .a{white-space:normal;flex:1}
  .row .n{margin-left:auto}
  .row .v{flex-basis:100%;order:3;font-size:10.5px;color:rgba(124,117,102,.85)}
}
