:root{
  --ink:#2B1E3D;
  --ink-soft:#4A3763;
  --paper:#FAF6EF;
  --paper-dim:#F1E9DC;
  --gold:#C9972E;
  --gold-soft:#E4C583;
  --sage:#6F8F68;
  --sage-soft:#9BB694;
  --text:#2A2620;
  --muted:#726b5f;
  --line: rgba(43,30,61,0.13);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper); color:var(--text);
  font-family:'Inter', sans-serif; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){ *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;} }
h1,h2,h3{font-family:'Cormorant Garamond', serif; font-weight:600; letter-spacing:-0.005em;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:0.72rem;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--gold);
}
.script{font-family:'Caveat', cursive; font-weight:600;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
a{color:inherit;}
img{max-width:100%; display:block;}

/* NAV */
nav{position:sticky; top:0; z-index:50; background:rgba(250,246,239,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
nav .wrap{display:flex; align-items:center; justify-content:space-between; height:66px;}
.logo-link{display:flex; align-items:center; height:38px;}
.logo-link img{height:100%; width:auto;}
nav ul{list-style:none; display:flex; gap:32px;}
nav a.nav-link{text-decoration:none; font-size:0.9rem; color:var(--ink-soft); transition:color .2s;}
nav a.nav-link:hover, nav a.nav-link:focus-visible{color:var(--gold);}
nav a.nav-link.current{color:var(--gold);}
.nav-cta{background:var(--ink); color:var(--paper) !important; padding:9px 18px; border-radius:999px; font-size:0.85rem !important; text-decoration:none;}
.nav-cta:hover{background:var(--gold);}
@media (max-width: 860px){ nav ul{display:none;} }

/* Generic page header (non-home pages) */
.page-header{background:var(--ink); color:var(--paper); padding:64px 0 56px; position:relative; overflow:hidden;}
.page-header h1{font-size:clamp(2rem,4vw,2.8rem); margin-top:10px;}
.page-header p{color:#ded4ee; max-width:56ch; margin-top:14px;}

section{padding:88px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.7rem, 3vw, 2.3rem); margin-top:10px;}
.section-head p{color:var(--muted); margin-top:14px; font-size:1rem;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

.btn-primary{background:var(--gold); color:var(--ink); font-weight:600; padding:13px 26px; border-radius:999px; text-decoration:none; font-size:0.92rem; transition:transform .2s, background .2s; display:inline-block; border:none; cursor:pointer;}
.btn-primary:hover{transform:translateY(-2px); background:var(--gold-soft);}
.btn-ghost{color:var(--ink); text-decoration:none; padding:13px 20px; border:1px solid var(--line); border-radius:999px; font-size:0.92rem; transition:border-color .2s;}
.btn-ghost:hover{border-color:var(--ink);}
.btn-ghost.on-dark{color:var(--paper); border-color:rgba(250,246,239,0.32);}
.btn-ghost.on-dark:hover{border-color:var(--paper);}

.value-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.value-card{padding:28px; border:1px solid var(--line); border-radius:12px; background:white;}
.value-card .glyph{font-size:1.5rem; margin-bottom:14px; display:block;}
.value-card h3{font-size:1.1rem; margin-bottom:8px; font-weight:600; font-family:'Cormorant Garamond', serif;}
.value-card p{font-size:0.9rem; color:var(--muted);}

.process{background:var(--paper-dim);}
.process-list{display:flex; flex-direction:column;}
.process-row{display:grid; grid-template-columns:70px 1fr; gap:24px; padding:26px 0; border-top:1px solid var(--line);}
.process-row:last-child{border-bottom:1px solid var(--line);}
.process-row .step-num{font-family:'Cormorant Garamond', serif; font-size:1.7rem; color:var(--gold); font-style:italic;}
.process-row h3{font-size:1.15rem; margin-bottom:6px;}
.process-row p{color:var(--muted); font-size:0.92rem; max-width:56ch;}

/* Pricing */
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.price-card{border:1px solid var(--line); border-radius:14px; padding:32px 26px; background:white; display:flex; flex-direction:column;}
.price-card.featured{background:var(--ink); color:var(--paper); border-color:var(--ink); transform:translateY(-10px);}
.price-card.featured .muted{color:#cabede;}
.price-card .plan-name{font-family:'Cormorant Garamond', serif; font-size:1.3rem; margin-bottom:6px;}
.price-card .price{font-size:2.1rem; font-family:'Cormorant Garamond', serif; margin:10px 0 4px;}
.price-card .muted{color:var(--muted); font-size:0.85rem; margin-bottom:20px;}
.price-card ul{list-style:none; margin-bottom:26px; flex-grow:1;}
.price-card li{font-size:0.88rem; padding:8px 0; border-top:1px solid var(--line); display:flex; gap:10px;}
.price-card.featured li{border-color:rgba(250,246,239,0.15);}
.price-card li::before{content:'✦'; color:var(--gold); font-size:0.75rem;}
.price-card .btn-primary{text-align:center;}
.price-card:not(.featured) .btn-primary{background:var(--ink); color:var(--paper);}
.price-card:not(.featured) .btn-primary:hover{background:var(--gold); color:var(--ink);}
@media (max-width: 860px){ .pricing-grid, .value-grid{grid-template-columns:1fr;} .price-card.featured{transform:none;} }

/* Extras menu (Magique) */
.extras-box{background:white; border:1px solid var(--line); border-radius:14px; padding:32px; margin-top:20px;}
.extras-box h3{font-size:1.3rem; margin-bottom:8px;}
.extras-box > p{color:var(--muted); font-size:0.92rem; margin-bottom:20px;}
.extras-list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.extras-list li{display:flex; gap:10px; font-size:0.9rem; align-items:flex-start;}
.extras-list li::before{content:'✓'; color:var(--sage); font-weight:600; flex-shrink:0;}
@media (max-width: 700px){ .extras-list{grid-template-columns:1fr;} }

/* FAQ */
.faq-item{border-top:1px solid var(--line); padding:22px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item h3{font-size:1.05rem; margin-bottom:8px; font-family:'Inter', sans-serif; font-weight:600;}
.faq-item p{color:var(--muted); font-size:0.92rem; max-width:64ch;}

/* Avis */
.avis-box{background:var(--paper-dim); border-radius:14px; padding:40px; text-align:center;}
.avis-box p{color:var(--muted); max-width:50ch; margin:0 auto;}
.avis-box .script{font-size:1.3rem; color:var(--gold); display:block; margin-bottom:10px;}

/* Trust badges */
.badges{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.badge{text-align:center; padding:20px;}
.badge .glyph{font-size:1.4rem; margin-bottom:10px; display:block;}
.badge h4{font-size:0.95rem; margin-bottom:4px;}
.badge p{font-size:0.82rem; color:var(--muted);}
@media (max-width:700px){ .badges{grid-template-columns:1fr;} }

/* About page */
.about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:start;}
.about-grid p{margin-bottom:16px; font-size:0.98rem; color:var(--text);}
.about-portrait{background:var(--paper-dim); border-radius:16px; aspect-ratio:4/5; overflow:hidden; border:1px solid var(--line);}
.about-portrait img{width:100%; height:100%; object-fit:cover; display:block;}
@media (max-width:860px){ .about-grid{grid-template-columns:1fr;} }

/* Contact page */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.contact-card{border:1px solid var(--line); border-radius:14px; padding:32px; background:white;}
.contact-card h3{font-size:1.2rem; margin-bottom:10px;}
.contact-card p{color:var(--muted); font-size:0.9rem; margin-bottom:20px;}
.contact-card.whatsapp{background:var(--sage); color:white; border-color:var(--sage);}
.contact-card.whatsapp p{color:#e5ecdf;}
.contact-card.whatsapp .btn-primary{background:white; color:var(--sage);}
.contact-card.whatsapp .btn-primary:hover{background:var(--paper-dim);}
@media (max-width:700px){ .contact-grid{grid-template-columns:1fr;} }

.cta-band{background:var(--ink); color:var(--paper); text-align:center; padding:88px 0;}
.cta-band h2{font-size:clamp(1.9rem,4vw,2.7rem); margin-bottom:16px;}
.cta-band p{color:#ded4ee; max-width:48ch; margin:0 auto 32px;}

footer{padding:36px 0; text-align:center; font-size:0.8rem; color:var(--muted); font-family:'IBM Plex Mono', monospace; line-height:2;}
footer a{text-decoration:underline;}

/* Legal page callout */
.notice-box{background:#FBEFD9; border:1px solid var(--gold-soft); border-radius:12px; padding:22px 26px; margin-bottom:8px; font-size:0.9rem; color:var(--ink-soft); line-height:1.6;}
.notice-box strong{color:var(--ink);}
.legal-article{border-top:1px solid var(--line); padding:24px 0;}
.legal-article:last-child{border-bottom:1px solid var(--line);}
.legal-article h3{font-size:1.05rem; margin-bottom:8px; font-family:'Inter', sans-serif; font-weight:600;}
.legal-article p{color:var(--text); font-size:0.92rem; max-width:70ch; margin-bottom:8px;}
.legal-article p:last-child{margin-bottom:0;}
.legal-article .todo{color:var(--gold); font-style:italic;}
