/* =========================================================
   TERRA & TOIT — style.css
   Palette : pétrole (--ink), lie-de-vin pour le menu (--menu),
   ambre (--accent), terracotta (--rose)
   ========================================================= */
:root{
  --ink:#123a4d;
  --menu:#4a2536;
  --menu-hover:#d98f2b;
  --paper:#faf6ef;
  --paper-2:#f1eadc;
  --accent:#d98f2b;
  --accent-deep:#b5741c;
  --rose:#c1584a;
  --line:#e3dacb;
  --stone:#7a7362;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:'Fraunces',serif;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'Space Mono',monospace;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
img{display:block;max-width:100%;}

/* ===== NAV — couleur lie-de-vin, distincte du reste du site ===== */
header{
  position:sticky;top:0;z-index:50;
  background:var(--menu);
  border-bottom:3px solid var(--accent);
}
nav.wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{font-family:'Fraunces',serif;color:var(--white);display:flex;flex-direction:column;line-height:1.15;white-space:nowrap;}
.logo .logo-line1{font-weight:600;font-size:19px;letter-spacing:0.3px;}
.logo .logo-line2{font-family:'Inter',sans-serif;font-weight:600;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-top:2px;}
.logo img{height:38px;width:auto;display:block;max-width:180px;object-fit:contain;}
.nav-links{display:flex;gap:26px;font-size:14px;font-weight:500;}
.nav-links a{color:#ecdfe2;padding:6px 2px;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;}
.nav-links a:hover{border-color:var(--menu-hover);color:var(--white);}
.nav-cta .btn-ghost{
  font-size:13px;font-weight:600;padding:9px 16px;border:1px solid var(--accent);border-radius:2px;color:var(--accent);
  transition:background .2s,color .2s;
}
.nav-cta .btn-ghost:hover{background:var(--accent);color:var(--menu);}
.burger{display:none;font-size:24px;cursor:pointer;color:var(--white);background:none;border:none;}

/* ===== SÉLECTEUR DE LANGUE ===== */
.lang-switch{display:flex;align-items:center;gap:2px;border:1px solid rgba(255,255,255,0.25);border-radius:20px;padding:3px;}
.lang-btn{background:none;border:none;color:#ecdfe2;font-size:11.5px;font-weight:700;letter-spacing:0.4px;padding:5px 11px;border-radius:16px;cursor:pointer;transition:background .2s,color .2s;font-family:'Space Mono',monospace;}
.lang-btn.active{background:var(--accent);color:var(--menu);}
.lang-btn:not(.active):hover{color:var(--white);}

/* ===== HERO — diaporama de 3 photos en fondu lent ===== */
.hero{position:relative;overflow:hidden;min-height:640px;display:flex;align-items:center;color:var(--paper);}
.hero-slides{position:absolute;inset:0;z-index:0;}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 2.2s ease-in-out;
}
.hero-slide.is-active{opacity:1;}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(18,58,77,0.72) 0%, rgba(18,58,77,0.55) 45%, rgba(18,58,77,0.88) 100%);
}
.hero-inner{position:relative;z-index:2;padding:110px 0 80px;width:100%;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--accent);border:1px solid rgba(217,143,43,0.5);padding:6px 14px;border-radius:20px;
  margin-bottom:26px;opacity:0;animation:fadeUp .9s ease forwards;animation-delay:.15s;
}
.hero h1{
  font-size:clamp(36px,5.2vw,64px);font-weight:600;line-height:1.08;max-width:780px;letter-spacing:-0.5px;
  opacity:0;animation:fadeUp .9s ease forwards;animation-delay:.35s;
}
.hero h1 em{font-style:italic;color:var(--accent);font-weight:500;}
.hero p.lead{
  max-width:500px;margin-top:22px;font-size:16.5px;color:#e5ddd0;
  opacity:0;animation:fadeUp .9s ease forwards;animation-delay:.55s;
}
.hero-actions{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;opacity:0;animation:fadeUp .9s ease forwards;animation-delay:.75s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){
  .eyebrow,.hero h1,.hero p.lead,.hero-actions{animation:none;opacity:1;}
  .hero-slide{transition:none;}
}

.btn-solid{background:var(--accent);color:var(--ink);font-weight:700;font-size:14px;padding:14px 26px;border-radius:2px;transition:background .2s;}
.btn-solid:hover{background:#e6a643;}
.btn-outline{border:1px solid rgba(255,255,255,0.45);color:var(--paper);font-weight:600;font-size:14px;padding:14px 26px;border-radius:2px;transition:border-color .2s;}
.btn-outline:hover{border-color:var(--accent);}

.hero-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:9px;}
.hero-dots button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.4);border:none;cursor:pointer;padding:0;transition:background .3s,transform .3s;}
.hero-dots button.is-active{background:var(--accent);transform:scale(1.25);}

.stat-bar{display:flex;gap:0;margin-top:64px;border-top:1px solid rgba(255,255,255,0.18);padding-top:26px;flex-wrap:wrap;position:relative;z-index:2;}
.stat-bar .stat{flex:1;min-width:150px;padding-right:24px;}
.stat .num{font-family:'Fraunces',serif;font-size:32px;color:var(--accent);}
.stat .lbl{font-size:12.5px;color:#cdd3d6;margin-top:4px;letter-spacing:0.3px;}

/* ===== CATEGORY STRIP ===== */
.cat-strip{background:var(--white);border-bottom:1px solid var(--line);}
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);}
.cat-item{padding:26px 20px;text-align:center;border-right:1px solid var(--line);font-size:13.5px;font-weight:600;transition:background .2s,color .2s;}
.cat-item:last-child{border-right:none;}
.cat-item .ico{font-size:22px;display:block;margin-bottom:8px;}
.cat-item:hover{background:var(--ink);color:var(--paper);}

/* ===== QUI SOMMES-NOUS (photos animées + texte au scroll) ===== */
.qui-sommes-nous{padding:100px 0;background:var(--paper-2);border-bottom:1px solid var(--line);overflow:hidden;}
.qsn-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center;}

/* --- Galerie photo animée (crossfade + zoom Ken Burns) --- */
.qsn-gallery{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px rgba(18,58,77,0.18);}
.qsn-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.08);
  transition:opacity 1.6s ease, transform 6s ease;
}
.qsn-slide.is-active{opacity:1;transform:scale(1);}
.qsn-gallery::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(18,58,77,0.35) 0%, transparent 40%);
  pointer-events:none;
}
.qsn-badge{
  position:absolute;left:20px;bottom:20px;z-index:2;background:var(--white);color:var(--ink);
  padding:14px 18px;border-radius:3px;box-shadow:0 14px 30px rgba(18,58,77,0.18);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.4px;
  display:flex;align-items:center;gap:10px;
  opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease;
}
.qsn-badge.in-view{opacity:1;transform:translateY(0);}
.qsn-badge b{font-family:'Fraunces',serif;font-size:20px;color:var(--accent-deep);}
.qsn-dots{position:absolute;top:20px;right:20px;z-index:2;display:flex;gap:8px;}
.qsn-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.5);transition:background .3s,transform .3s;}
.qsn-dots span.is-active{background:var(--accent);transform:scale(1.3);}

/* --- Texte animé au scroll --- */
.qsn-text .tag{font-family:'Space Mono',monospace;font-size:12px;color:var(--rose);letter-spacing:1px;text-transform:uppercase;}
.qsn-text h2{font-size:34px;font-weight:600;margin-top:10px;max-width:520px;}
.qsn-text > p.qsn-intro{color:var(--stone);max-width:520px;margin-top:16px;font-size:15px;line-height:1.7;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-stagger.in-view > *{opacity:1;transform:translateX(0);}

/* --- Texte défilant animé (remplace la timeline à dates) --- */
.qsn-ticker{position:relative;min-height:150px;margin-top:38px;padding-top:30px;border-top:1px solid var(--line);}
.qsn-tick{
  position:absolute;top:30px;left:0;right:0;
  opacity:0;transform:translateY(16px);
  transition:opacity .7s ease, transform .7s ease;
  pointer-events:none;
}
.qsn-tick.is-active{opacity:1;transform:translateY(0);pointer-events:auto;}
.qsn-tick h4{font-size:17px;margin-bottom:8px;color:var(--accent-deep);}
.qsn-tick p{font-size:14.5px;color:var(--stone);max-width:520px;line-height:1.6;}
.qsn-ticker-dots{display:flex;gap:8px;margin-top:150px;}
.qsn-ticker-dots span{width:22px;height:3px;border-radius:2px;background:var(--line);cursor:pointer;transition:background .3s,width .3s;}
.qsn-ticker-dots span.is-active{background:var(--accent);width:34px;}

@media (prefers-reduced-motion: reduce){
  .qsn-slide{transition:none;}
  .reveal,.qsn-badge{opacity:1;transform:none;transition:none;}
}
@media(max-width:900px){
  .qsn-grid{grid-template-columns:1fr;gap:36px;}
  .qsn-gallery{aspect-ratio:16/10;}
}

/* ===== LISTINGS ===== */
section.listing-section{padding:90px 0;border-bottom:1px solid var(--line);}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;flex-wrap:wrap;gap:16px;}
.sec-head .tag{font-family:'Space Mono',monospace;font-size:12px;color:var(--rose);letter-spacing:1px;text-transform:uppercase;}
.sec-head h2{font-size:34px;font-weight:600;margin-top:10px;}
.sec-head p{color:var(--stone);max-width:420px;font-size:14.5px;margin-top:8px;}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.card{background:var(--white);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(18,58,77,0.12);}
.card .photo{height:190px;position:relative;overflow:hidden;background:var(--paper-2);}
.card .photo img{width:100%;height:100%;object-fit:cover;}
.plot-ref{position:absolute;top:12px;left:12px;background:rgba(18,58,77,0.88);color:var(--accent);font-family:'Space Mono',monospace;font-size:11px;padding:4px 9px;border-radius:2px;letter-spacing:0.5px;}
.badge{position:absolute;top:12px;right:12px;background:var(--rose);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:2px;text-transform:uppercase;letter-spacing:0.4px;}
.card .body{padding:20px 20px 22px;}
.card h3{font-size:18px;font-weight:600;margin-bottom:6px;}
.card .loc{font-size:13px;color:var(--stone);margin-bottom:14px;}
.card .loc::before{content:"📍 ";}
.card .price-row{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--line);padding-top:14px;}
.price{font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--accent-deep);}
.price small{font-family:'Inter';font-size:11px;color:var(--stone);font-weight:400;}
.view-link{font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);}

/* ===== TRUST ===== */
.trust{background:var(--ink);color:var(--paper);padding:80px 0;}
.trust .wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center;}
.trust h2{font-size:32px;font-weight:600;line-height:1.2;}
.trust h2 em{color:var(--accent);font-style:italic;}
.trust-list{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.trust-list .item{border-left:2px solid var(--accent);padding-left:16px;}
.trust-list .item h4{font-size:15px;margin-bottom:6px;}
.trust-list .item p{font-size:13px;color:#c3cad0;}

/* ===== CONTACT ===== */
.contact{padding:90px 0;}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.contact h2{font-size:32px;font-weight:600;margin-bottom:14px;}
.contact p.lead2{color:var(--stone);margin-bottom:30px;font-size:14.5px;max-width:420px;}
.info-line{display:flex;gap:14px;margin-bottom:18px;font-size:14.5px;}
.info-line b{min-width:90px;color:var(--stone);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:0.4px;}
form.contact-form{background:var(--white);border:1px solid var(--line);padding:32px;border-radius:3px;}
form.contact-form label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.4px;color:var(--stone);margin-bottom:6px;margin-top:16px;}
form.contact-form label:first-child{margin-top:0;}
form.contact-form input,form.contact-form select,form.contact-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;font-family:'Inter';font-size:14px;background:var(--paper);}
form.contact-form textarea{resize:vertical;min-height:90px;}
form.contact-form button{margin-top:22px;width:100%;padding:14px;background:var(--menu);color:var(--paper);font-weight:600;border-radius:2px;transition:background .2s;}
form.contact-form button:hover{background:var(--rose);}
form.contact-form button:disabled{opacity:0.6;cursor:not-allowed;}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;pointer-events:none;}
.form-msg{margin-top:14px;font-size:13.5px;padding:12px 14px;border-radius:3px;display:none;}
.form-msg.show{display:block;}
.form-msg.ok{background:#e3f3e3;color:#2b6b2b;}
.form-msg.err{background:#fbe6e2;color:#8a2f21;}

/* ===== FOOTER ===== */
footer{background:var(--menu);color:#d9cdd2;padding:50px 0 24px;border-top:4px solid var(--accent);}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;}
.foot-grid h4{color:var(--paper);font-size:13px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:16px;}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:10px;font-size:13.5px;}
.foot-grid li a:hover{color:var(--accent);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.14);padding-top:20px;display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;}
.foot-bottom a{color:var(--accent);}

@media(max-width:900px){
  .nav-links{
    display:none;position:absolute;top:76px;left:0;right:0;background:var(--menu);
    flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,0.1);
  }
  .nav-links.is-open{display:flex;}
  .nav-links a{padding:16px 32px;border-bottom:1px solid rgba(255,255,255,0.08);}
  .burger{display:block;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .cat-item:nth-child(2n){border-right:none;}
  .card-grid{grid-template-columns:1fr;}
  .trust .wrap,.contact .wrap{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .hero{min-height:560px;}
}
