/* =====================================================================
   ATLAS TEARDROP — Site one-page
   Direction : artisanal · aventure · terres du Maroc
   ===================================================================== */

:root{
  --sand:#f4ece0; --sand-deep:#e7dac6; --paper:#fbf7f0;
  --clay:#c25e3a; --clay-dark:#9c4527; --ochre:#d9a441;
  --pine:#2f4338; --pine-soft:#4a6354;
  --ink:#2a241d; --ink-soft:#6b6155; --line:#d8cab2;
  --ff-display:'Fraunces',Georgia,serif;
  --ff-body:'Archivo',system-ui,sans-serif;
  --maxw:1180px; --r:14px;
  --shadow:0 18px 48px -22px rgba(42,36,29,.45);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:80px; }
body{
  font-family:var(--ff-body); color:var(--ink); background:var(--paper);
  line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--ff-display); font-weight:500; line-height:1.12; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

.eyebrow{
  font-family:var(--ff-body); font-weight:600; font-size:.74rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--clay);
  display:inline-flex; align-items:center; gap:.6em;
}
.eyebrow::before{ content:""; width:30px; height:1.5px; background:var(--clay); display:inline-block; }
.eyebrow.light{ color:var(--ochre); }
.eyebrow.light::before{ background:var(--ochre); }

/* ---------- BOUTONS ------------------------------------------------ */
.btn{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--ff-body); font-weight:600; font-size:.95rem;
  padding:.92em 1.7em; border-radius:100px; cursor:pointer;
  border:1.5px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.btn-primary{ background:var(--clay); color:#fff; box-shadow:0 10px 26px -12px var(--clay-dark); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -12px var(--clay-dark); }
.btn-ghost{ border-color:var(--ink); color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--sand); transform:translateY(-2px); }
.btn-light{ border-color:var(--sand); color:var(--sand); }
.btn-light:hover{ background:var(--sand); color:var(--ink); }
.btn-whatsapp{ background:#25d366; color:#fff; box-shadow:0 10px 26px -12px #1a9f4b; }
.btn-whatsapp:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -12px #1a9f4b; }

/* Rangée des deux boutons du formulaire */
.form-actions{ display:flex; gap:14px; margin-top:4px; }
.form-actions .btn{ flex:1; justify-content:center; white-space:nowrap; padding-left:1em; padding-right:1em; }
@media(max-width:480px){ .form-actions{ flex-direction:column; } }

/* ---------- HEADER ------------------------------------------------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(251,247,240,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.logo{ display:flex; align-items:center; gap:.6em; color:var(--ink); }
.logo-mark{ width:46px; height:31px; color:var(--clay); }
.logo-text{ font-family:var(--ff-display); font-weight:600; font-size:1.32rem; letter-spacing:-.01em; }
.site-nav{ display:flex; align-items:center; gap:1.8rem; }
.site-nav a{ font-weight:500; font-size:.95rem; color:var(--ink-soft); padding:.3em 0; transition:color .15s; }
.site-nav a:hover{ color:var(--ink); }
.nav-cta{ background:var(--pine); color:var(--sand)!important; padding:.62em 1.25em; border-radius:100px; font-weight:600; }
.nav-cta:hover{ background:var(--ink); }
.nav-toggle,.nav-burger{ display:none; }

/* ---------- HERO --------------------------------------------------- */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 70% 60% at 80% 0%, rgba(217,164,65,.28), transparent 70%),
    linear-gradient(170deg, var(--sand) 0%, var(--sand-deep) 100%);
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(42,36,29,.05) 1px, transparent 1px);
  background-size:22px 22px; mix-blend-mode:multiply;
}
.hero-inner{
  display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center;
  padding:84px 0 96px; position:relative; z-index:2;
}
.hero h1{ font-size:clamp(2.6rem,5.4vw,4.4rem); letter-spacing:-.02em; margin:.32em 0 .42em; }
.hero h1 em{ font-style:italic; color:var(--clay); }
.hero p.lead{ font-size:1.14rem; color:var(--ink-soft); max-width:34ch; margin-bottom:1.9em; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-meta{ display:flex; gap:34px; margin-top:2.6em; }
.hero-meta div{ display:flex; flex-direction:column; }
.hero-meta b{ font-family:var(--ff-display); font-size:1.7rem; color:var(--pine); }
.hero-meta span{ font-size:.82rem; color:var(--ink-soft); letter-spacing:.04em; }
.hero-visual{
  position:relative; aspect-ratio:5/4; border-radius:var(--r);
  background:linear-gradient(160deg, var(--pine) 0%, var(--pine-soft) 100%);
  box-shadow:var(--shadow); overflow:hidden;
}
.hero-visual .sun{
  position:absolute; width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, var(--ochre), #e8b85a);
  top:14%; right:14%; box-shadow:0 0 80px 20px rgba(217,164,65,.4);
}
.hero-visual .dunes{ position:absolute; left:0; right:0; bottom:0; height:55%; }
.hero-visual svg.td{ position:absolute; bottom:18%; left:50%; transform:translateX(-50%); width:54%; }
.img-tag{
  position:absolute; bottom:14px; left:14px; right:14px;
  background:rgba(251,247,240,.92); color:var(--ink-soft);
  font-size:.78rem; padding:.5em .9em; border-radius:8px; text-align:center;
}

/* ---------- SECTIONS GÉNÉRIQUES ----------------------------------- */
.section{ padding:96px 0; }
.section-head{ max-width:600px; margin-bottom:54px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:clamp(2rem,3.6vw,2.9rem); letter-spacing:-.02em; margin:.3em 0 .45em; }
.section-head p{ color:var(--ink-soft); font-size:1.05rem; }
.bg-pine{ background:var(--pine); color:var(--sand); }
.bg-pine .section-head h2{ color:var(--paper); }
.bg-pine .section-head p{ color:rgba(244,236,224,.78); }
.bg-sand{ background:var(--sand); }

/* ---------- ÉTAPES ------------------------------------------------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.step .num{ font-family:var(--ff-display); font-size:2.4rem; color:var(--clay); display:block; margin-bottom:.2em; }
.step h3{ font-size:1.18rem; margin-bottom:.4em; }
.step p{ font-size:.95rem; color:var(--ink-soft); }
.bg-pine .step p{ color:rgba(244,236,224,.72); }
.bg-pine .step h3{ color:var(--paper); }

/* ---------- CARTES MODÈLES ---------------------------------------- */
.models-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.model-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.model-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.model-photo{
  aspect-ratio:4/3; position:relative;
  background:linear-gradient(150deg, var(--sand-deep), var(--sand));
  display:flex; align-items:center; justify-content:center;
}
.model-photo img{ width:100%; height:100%; object-fit:cover; }
.model-photo .ph{ display:flex; flex-direction:column; align-items:center; gap:.5em; color:var(--ink-soft); font-size:.82rem; text-align:center; padding:1em; }
.model-photo .ph svg{ width:54px; height:36px; color:var(--line); }
.model-body{ padding:26px 24px 28px; display:flex; flex-direction:column; flex:1; }
.model-body .subtitle{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--clay); font-weight:600; }
.model-body h3{ font-size:1.5rem; margin:.25em 0 .5em; }
.model-tags{ display:flex; gap:10px; margin-bottom:1em; flex-wrap:wrap; }
.tag{ font-size:.76rem; font-weight:600; background:var(--sand-deep); padding:.32em .8em; border-radius:100px; color:var(--ink-soft); }
.model-body p.desc{ font-size:.94rem; color:var(--ink-soft); margin-bottom:1.1em; }
.model-specs{ list-style:none; margin:0 0 1.3em; display:flex; flex-direction:column; gap:.45em; }
.model-specs li{ font-size:.88rem; padding-left:1.4em; position:relative; }
.model-specs li::before{ content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; background:var(--ochre); border-radius:50%; }
.model-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding-top:1.1em; border-top:1px solid var(--line); }
.model-foot .price{ font-family:var(--ff-display); font-weight:600; color:var(--pine); font-size:1.05rem; }

/* ---------- SPLIT (atelier) --------------------------------------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.split.rev .split-text{ order:2; }
.split-text h2{ font-size:clamp(1.9rem,3.4vw,2.7rem); margin:.3em 0 .5em; }
.split-text p{ color:var(--ink-soft); margin-bottom:1em; }
.bg-pine .split-text p{ color:rgba(244,236,224,.78); }
.feature-list{ list-style:none; display:flex; flex-direction:column; gap:.9em; margin:1.4em 0; }
.feature-list li{ display:flex; gap:.7em; align-items:flex-start; font-size:.97rem; }
.feature-list svg{ flex-shrink:0; width:22px; height:22px; color:var(--clay); margin-top:2px; }
.media-frame{
  aspect-ratio:4/3; border-radius:var(--r); overflow:hidden; position:relative;
  background:linear-gradient(150deg, var(--sand-deep), var(--sand));
  box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center;
}
.media-frame img{ width:100%; height:100%; object-fit:cover; }
.media-ph{ display:flex; flex-direction:column; align-items:center; gap:.6em; color:var(--ink-soft); font-size:.85rem; text-align:center; padding:1.5em; }
.media-ph svg{ width:54px; height:54px; color:var(--line); }

/* Galerie atelier */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:36px; }
.gallery .media-frame{ aspect-ratio:1; }
.gallery .media-frame.wide{ grid-column:span 2; aspect-ratio:2/1; }

/* ---------- EXPORT ------------------------------------------------- */
.export-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.export-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:36px 32px; position:relative; overflow:hidden;
}
.export-card.featured{ border-color:var(--clay); border-width:1.5px; }
.export-card .badge{
  position:absolute; top:20px; right:-34px; transform:rotate(45deg);
  background:var(--clay); color:#fff; font-size:.72rem; font-weight:700;
  letter-spacing:.08em; padding:.4em 3em;
}
.export-card h3{ font-size:1.5rem; margin-bottom:.3em; }
.export-card .ex-sub{ color:var(--clay); font-weight:600; font-size:.9rem; margin-bottom:1em; }
.export-card p{ color:var(--ink-soft); font-size:.95rem; margin-bottom:1em; }
.check-list{ list-style:none; display:flex; flex-direction:column; gap:.6em; }
.check-list li{ display:flex; gap:.6em; font-size:.93rem; align-items:flex-start; }
.check-list svg{ width:20px; height:20px; color:var(--pine); flex-shrink:0; margin-top:1px; }
.export-note{ text-align:center; margin-top:24px; max-width:62ch; margin-left:auto; margin-right:auto; font-size:.82rem; color:var(--ink-soft); }

/* ---------- CITATION ----------------------------------------------- */
.quote-band{
  background:radial-gradient(ellipse 60% 80% at 15% 50%, rgba(194,94,58,.25), transparent), var(--ink);
  color:var(--sand); text-align:center; padding:90px 0;
}
.quote-band blockquote{
  font-family:var(--ff-display); font-style:italic; font-weight:400;
  font-size:clamp(1.5rem,3vw,2.3rem); max-width:20ch; margin:0 auto; line-height:1.3;
}
.quote-band cite{ display:block; margin-top:1.4em; font-style:normal; font-size:.85rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ochre); }

/* ---------- CONTACT ------------------------------------------------ */
.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:54px; align-items:start; }
.form-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:38px 36px; box-shadow:var(--shadow); }
.field{ margin-bottom:20px; }
.field label{ display:block; font-weight:600; font-size:.88rem; margin-bottom:.45em; }
.field input,.field select,.field textarea{
  width:100%; font-family:var(--ff-body); font-size:.96rem;
  padding:.85em 1em; border:1.5px solid var(--line); border-radius:10px;
  background:var(--paper); color:var(--ink); transition:border-color .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--clay); }
.field textarea{ resize:vertical; min-height:120px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-note{ font-size:.82rem; color:var(--ink-soft); margin-top:.4em; }
.form-status{ padding:1em 1.2em; border-radius:10px; margin-bottom:22px; font-size:.93rem; display:none; }
.form-status.show{ display:block; }
.form-status.ok{ background:#e6efe7; color:var(--pine); border:1px solid #b9d3bd; }
.form-status.err{ background:#f6e3da; color:var(--clay-dark); border:1px solid #e3b9a4; }
.contact-aside h3{ font-size:1.4rem; margin-bottom:.6em; }
.contact-aside p{ color:var(--ink-soft); margin-bottom:1.4em; }
.contact-line{ display:flex; gap:.8em; align-items:flex-start; margin-bottom:1.1em; }
.contact-line svg{ width:22px; height:22px; color:var(--clay); flex-shrink:0; margin-top:2px; }
.contact-line b{ display:block; font-family:var(--ff-body); }
.contact-line a,.contact-line span{ color:var(--ink-soft); font-size:.94rem; }

/* ---------- FOOTER ------------------------------------------------- */
.site-footer{ background:var(--ink); color:var(--sand); padding:64px 0 28px; }
.footer-grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:42px; border-bottom:1px solid rgba(244,236,224,.14);
}
.footer-brand .logo{ color:var(--sand); margin-bottom:1em; }
.footer-brand .logo-mark{ color:var(--ochre); }
.footer-baseline{ color:rgba(244,236,224,.6); font-size:.95rem; max-width:30ch; }
.footer-col h4{ font-family:var(--ff-body); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ochre); margin-bottom:1em; }
.footer-col a,.footer-col span{ display:block; color:rgba(244,236,224,.72); font-size:.92rem; margin-bottom:.55em; transition:color .15s; }
.footer-col a:hover{ color:var(--sand); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:.84rem; color:rgba(244,236,224,.5); }
.to-top:hover{ color:var(--ochre); }

/* ---------- WHATSAPP FLOTTANT ------------------------------------- */
.wa-float{
  position:fixed; bottom:24px; right:24px; z-index:70;
  width:56px; height:56px; border-radius:50%;
  background:#25d366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px -8px rgba(0,0,0,.4); transition:transform .2s;
}
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:30px; height:30px; }

/* ---------- ANIMATIONS RÉVÉLATION --------------------------------- */
.js-on .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.js-on .reveal.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .js-on .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- RESPONSIVE -------------------------------------------- */
@media(max-width:920px){
  .hero-inner,.split,.contact-grid,.export-grid{ grid-template-columns:1fr; }
  .split.rev .split-text{ order:0; }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .models-grid{ grid-template-columns:1fr 1fr; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .hero-inner{ padding:54px 0 64px; }
  .section{ padding:68px 0; }
  .nav-burger{
    display:flex; flex-direction:column; gap:5px; cursor:pointer;
    width:30px; height:30px; justify-content:center; z-index:65;
  }
  .nav-burger span{ display:block; height:2.5px; background:var(--ink); border-radius:2px; transition:.25s; }
  .site-nav{
    position:fixed; inset:0 0 0 auto; width:min(80vw,320px);
    background:var(--paper); flex-direction:column; align-items:flex-start;
    padding:96px 32px; gap:1.4rem; transform:translateX(100%);
    transition:transform .3s ease; box-shadow:var(--shadow);
  }
  .nav-toggle:checked ~ .site-nav{ transform:translateX(0); }
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){ opacity:0; }
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
}
@media(max-width:560px){
  .models-grid,.gallery,.steps,.footer-grid,.field-row{ grid-template-columns:1fr; }
  .gallery .media-frame.wide{ grid-column:span 1; aspect-ratio:1; }
  .hero-meta{ gap:22px; }
  .footer-bottom{ flex-direction:column; gap:10px; }
}
