@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{
  --black:#020100; --charcoal:#0C0B0A; --charcoal-2:#15120f; --gold:#D6A960; --gold-light:#F5D69D; --bronze:#916A36;
  --paper:#F8F4EC; --paper-2:#EFE8DD; --white:#fff; --text:#181511; --muted:#6f6a61; --concrete:#555;
  --line:rgba(214,169,96,.28); --line-light:#e3d5c0; --success:#2f7d55; --warning:#a56b19; --danger:#a33e3e; --blue:#385c8e;
  --radius:22px; --radius-sm:14px; --shadow:0 24px 80px rgba(0,0,0,.22); --shadow-soft:0 12px 40px rgba(22,18,14,.10); --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--text);line-height:1.65} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.section{padding:92px 0}.section-sm{padding:58px 0}.dark{background:var(--charcoal);color:var(--paper);position:relative;overflow:hidden}.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,rgba(214,169,96,.18),transparent 34%),linear-gradient(135deg,rgba(214,169,96,.08),transparent 28%);pointer-events:none}.light{background:var(--paper)}.paper{background:var(--paper-2)}.kicker{display:inline-flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:800;color:var(--gold);margin-bottom:14px}.kicker::before{content:"";width:34px;height:1px;background:var(--gold)}h1,h2,h3,.brand-word{font-family:Cinzel,Georgia,serif;line-height:1.12;letter-spacing:.02em}h1{font-size:clamp(2.6rem,6vw,5.9rem);margin:0 0 24px}h2{font-size:clamp(2rem,4.4vw,3.8rem);margin:0 0 18px}h3{font-size:1.35rem;margin:0 0 10px}p{margin:0 0 18px}.lead{font-size:clamp(1.05rem,2vw,1.24rem);color:rgba(248,244,236,.84);max-width:780px}.lead.dark-text{color:#47423b}.muted{color:var(--muted)}.gold{color:var(--gold)}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.between{display:flex;align-items:center;justify-content:space-between;gap:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 23px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:.25s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--gold-light),var(--gold) 48%,var(--bronze));color:#120d07;box-shadow:0 14px 34px rgba(214,169,96,.22)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(214,169,96,.3)}.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--gold-light)}.btn-secondary:hover{background:rgba(214,169,96,.12);border-color:var(--gold)}.btn-dark{background:#111;color:#fff}.btn-ghost{background:transparent;border:1px solid rgba(12,11,10,.15);color:var(--text)}.btn-small{padding:9px 14px;font-size:.9rem}.header{position:sticky;top:0;z-index:50;background:rgba(2,1,0,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(214,169,96,.16)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;color:var(--paper)}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 30% 18%,rgba(245,214,157,.24),rgba(2,1,0,.1));color:var(--gold);font-family:Cinzel,serif;font-size:1.8rem;font-weight:700}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text strong{font-family:Cinzel,serif;letter-spacing:.14em;font-size:.92rem}.brand-text span{font-size:.7rem;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}.nav{display:flex;align-items:center;gap:22px;color:rgba(248,244,236,.78);font-size:.94rem}.nav a:hover{color:var(--gold-light)}.nav-actions{display:flex;align-items:center;gap:12px}.menu-btn{display:none;background:none;border:1px solid rgba(214,169,96,.35);color:var(--gold);border-radius:12px;padding:9px 12px}.hero{min-height:calc(100vh - 76px);display:grid;align-items:center;background:linear-gradient(90deg,rgba(2,1,0,.96),rgba(12,11,10,.88) 46%,rgba(12,11,10,.58)),url('/images/brand/hero-soltana-architecture.webp') center right/cover no-repeat;color:var(--paper);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(transparent,var(--paper));opacity:.18}.hero-inner{position:relative;z-index:1;padding:95px 0}.hero-copy{max-width:820px}.hero-logo{width:min(360px,55vw);margin-bottom:12px;filter:drop-shadow(0 22px 55px rgba(214,169,96,.18))}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.trust-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.trust-item{padding:10px 14px;border:1px solid rgba(214,169,96,.25);background:rgba(255,255,255,.05);border-radius:999px;color:rgba(248,244,236,.82);font-size:.9rem}.card{background:rgba(255,255,255,.76);border:1px solid var(--line-light);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-soft)}.card-dark{background:linear-gradient(180deg,rgba(21,18,15,.96),rgba(10,9,8,.96));border:1px solid var(--line);color:var(--paper);box-shadow:var(--shadow)}.service-card{overflow:hidden;padding:0}.service-card img{height:210px;width:100%;object-fit:cover}.service-card .body{padding:24px}.service-card ul,.clean-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.service-card li,.clean-list li{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:.94rem}.dark .clean-list li,.card-dark li{color:rgba(248,244,236,.75)}.service-card li::before,.clean-list li::before{content:"◆";font-size:.55rem;color:var(--gold);margin-top:5px}.step{position:relative}.step-number{width:44px;height:44px;border-radius:50%;background:var(--charcoal);color:var(--gold);display:grid;place-items:center;font-weight:900;margin-bottom:20px;border:1px solid var(--gold)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.image-panel{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(214,169,96,.26);background:#090806}.image-panel img{width:100%;height:520px;object-fit:cover}.cta-band{border:1px solid var(--line);background:linear-gradient(135deg,rgba(214,169,96,.12),rgba(255,255,255,.04));border-radius:30px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.project-card{padding:0;overflow:hidden;background:white}.project-card img{height:255px;width:100%;object-fit:cover}.project-card .body{padding:22px}.tag{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(214,169,96,.15);color:#7a5527;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.notice{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line-light);padding-top:20px;margin-top:32px}.form-shell{background:#fff;border:1px solid var(--line-light);border-radius:28px;box-shadow:var(--shadow-soft);padding:30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.88rem;font-weight:800;color:#39342d}.field input,.field select,.field textarea{width:100%;border:1px solid #ddd1bd;background:#fffaf2;border-radius:16px;padding:13px 14px;color:var(--text);outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(214,169,96,.15)}.stepper{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.step-pill{padding:8px 12px;border:1px solid #e0d0b6;border-radius:999px;font-size:.82rem;color:var(--muted);font-weight:800}.step-pill.active{background:var(--charcoal);color:var(--gold);border-color:var(--gold)}.form-step{display:none}.form-step.active{display:block}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.success-box{display:none;margin-top:18px;border-radius:18px;padding:18px;background:#edf7f1;color:#1f5d3d;border:1px solid #c7e5d2}.footer{background:#050403;color:rgba(248,244,236,.75);padding:56px 0 22px;border-top:1px solid rgba(214,169,96,.18)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:26px}.footer h4{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.08em}.footer a{display:block;margin:8px 0;color:rgba(248,244,236,.7)}.footer a:hover{color:var(--gold-light)}.copyright{border-top:1px solid rgba(214,169,96,.15);margin-top:36px;padding-top:20px;font-size:.86rem;color:rgba(248,244,236,.52)}.page-hero{padding:92px 0 74px;background:linear-gradient(90deg,rgba(2,1,0,.95),rgba(12,11,10,.84)),url('/images/backgrounds/architectural-lines-dark.webp') center/cover;color:var(--paper)}.page-hero .container{max-width:950px}.breadcrumb{font-size:.88rem;color:var(--gold);margin-bottom:16px}.auth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dashboard{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f3eee5}.sidebar{background:#0b0a08;color:var(--paper);padding:26px;border-right:1px solid rgba(214,169,96,.18);position:sticky;top:0;height:100vh}.sidebar .brand{margin-bottom:34px}.side-nav{display:grid;gap:8px}.side-nav a{padding:12px 14px;border-radius:14px;color:rgba(248,244,236,.75);display:flex;gap:10px;align-items:center}.side-nav a.active,.side-nav a:hover{background:rgba(214,169,96,.14);color:var(--gold-light)}.main{padding:34px}.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.dash-title h1{font-size:2.2rem;color:var(--text);margin:0 0 8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line-light);border-radius:20px;padding:20px;box-shadow:var(--shadow-soft)}.stat-card strong{font-size:2rem;font-weight:900}.stat-card span{display:block;color:var(--muted);font-size:.9rem}.table-card{background:#fff;border:1px solid var(--line-light);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft)}.table-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line-light)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:15px;border-bottom:1px solid #eee2d0;font-size:.92rem}.data-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:.78rem;font-weight:900;background:#eee;color:#333}.badge.gold{background:rgba(214,169,96,.18);color:#77511e}.badge.green{background:#e5f5ec;color:#23744b}.badge.blue{background:#e6edf8;color:#385c8e}.badge.warn{background:#fff0dc;color:#945f17}.badge.red{background:#fde8e8;color:#953434}.profile-card{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center}.avatar{width:82px;height:82px;border-radius:24px;background:linear-gradient(135deg,var(--charcoal),#342619);color:var(--gold);display:grid;place-items:center;font-family:Cinzel,serif;font-size:2rem;font-weight:800}.progress{height:10px;background:#eadfce;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--bronze));border-radius:999px}.empty{padding:34px;text-align:center;color:var(--muted)}.modal-note{background:#fff7e7;border:1px solid #e6c891;color:#6b4a19;padding:16px;border-radius:16px;margin:0 0 20px}.mobile-only{display:none}@media(max-width:980px){.grid-3,.grid-4,.auth-grid,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.grid-2,.footer-grid{grid-template-columns:1fr}.nav{display:none}.menu-btn{display:block}.nav.open{position:absolute;top:76px;left:0;right:0;background:#070604;border-bottom:1px solid rgba(214,169,96,.2);display:grid;padding:18px 20px}.dashboard{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:22px}.image-panel img{height:360px}}@media(max-width:640px){.container{width:min(100% - 26px,var(--max))}.section{padding:64px 0}.hero-inner{padding:72px 0}.hero-logo{width:280px}.grid-3,.grid-4,.auth-grid,.stats,.form-grid{grid-template-columns:1fr}.nav-actions .btn{display:none}.cta-band{display:block}.cta-band .btn{margin-top:16px}.data-table{display:block;overflow-x:auto}.dash-header{display:block}.form-actions{flex-direction:column}.side-nav{grid-template-columns:1fr}.profile-card{grid-template-columns:1fr}.page-hero{padding:68px 0 52px}}


/* === Soltana V1.1 - corrections responsive PC/mobile === */
html,body{max-width:100%;overflow-x:hidden}.between{flex-wrap:wrap}.split>*{min-width:0}.image-panel.problem-image img{object-position:center}.mobile-menu-spacer{display:none}
@media(min-width:981px){
  :root{--max:1240px}.hero{min-height:calc(92vh - 76px);background-position:center right}.hero-inner{padding:82px 0 72px}.hero-copy{max-width:980px}.hero h1{font-size:clamp(3.35rem,4.6vw,5.05rem);max-width:1040px}.hero-logo{width:min(255px,28vw);margin-bottom:18px}.lead{font-size:1.12rem;max-width:760px}.split{grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr)}.grid-3 .card h3{font-size:1.12rem}.image-panel img{height:470px}.section.light .image-panel img{object-fit:cover;filter:saturate(.92) contrast(.98)}
}
@media(max-width:980px){
  .between{align-items:flex-start}.between .btn{margin-top:6px}.header .nav-wrap{position:relative}.hero{min-height:auto}.hero h1{font-size:clamp(2.75rem,7vw,4.6rem)}.hero-logo{width:min(260px,45vw)}.split{gap:28px}.image-panel img{height:330px}.nav.open{z-index:60}
}
@media(max-width:640px){
  .container{width:calc(100% - 28px)}.section{padding:58px 0}.nav-wrap{height:72px}.brand{min-width:0;gap:10px}.brand-mark{width:40px;height:40px;flex:0 0 40px;border-radius:13px}.brand-text{min-width:0}.brand-text strong{font-size:.82rem;letter-spacing:.11em}.brand-text span{font-size:.58rem;letter-spacing:.16em}.menu-btn{flex:0 0 auto;padding:10px 14px}.nav.open{top:72px}.hero{background-position:center top}.hero-inner{padding:52px 0 60px}.hero-logo{width:212px;max-width:80vw}h1{font-size:2.32rem;line-height:1.08;letter-spacing:.01em}h2{font-size:2.12rem;line-height:1.1;letter-spacing:.01em}.lead{font-size:1rem}.btn{white-space:normal;text-align:center;max-width:100%;min-height:48px}.hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin:26px 0}.trust-strip{gap:8px;margin-top:26px}.trust-item{font-size:.78rem;padding:8px 10px}.between{display:block}.between .btn{width:100%;margin-top:18px}.card{padding:22px}.form-shell{padding:22px}.image-panel{margin-top:20px;border-radius:18px}.image-panel img{height:250px;object-position:center}.service-card img{height:178px}.project-card img{height:205px}.footer-grid{gap:20px}.kicker{letter-spacing:.18em;font-size:.68rem}.kicker::before{width:28px}.page-hero .container{max-width:100%}
}
@media(max-width:380px){
  .container{width:calc(100% - 24px)}h1{font-size:2.02rem}h2{font-size:1.86rem}.brand-text strong{font-size:.74rem}.brand-text span{font-size:.5rem;letter-spacing:.12em}.brand-mark{width:38px;height:38px;flex-basis:38px}.menu-btn{padding:9px 12px}.card{padding:19px}.hero-logo{width:190px}
}



/* === Soltana V1.2 - contrôle visuel PC + navigation mobile slider === */

/* Desktop : le hero ne doit plus ressembler à une version mobile agrandie */
@media (min-width: 981px){
  .hero{
    min-height: min(760px, calc(100vh - 76px));
    align-items: center;
    background-position: center center;
  }

  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg, rgba(2,1,0,.94) 0%, rgba(2,1,0,.86) 38%, rgba(2,1,0,.62) 68%, rgba(2,1,0,.72) 100%),
      radial-gradient(circle at 72% 36%, rgba(214,169,96,.16), transparent 34%);
    pointer-events:none;
    z-index:0;
  }

  .hero-inner{
    padding: 54px 0 52px;
  }

  .hero-copy{
    max-width: 780px;
  }

  .hero-logo{
    width: min(150px, 14vw);
    margin-bottom: 20px;
  }

  .hero h1{
    font-size: clamp(3.05rem, 3.75vw, 4.35rem);
    line-height: 1.08;
    max-width: 840px;
    margin-bottom: 20px;
  }

  .hero .lead{
    font-size: 1.08rem;
    max-width: 720px;
    line-height: 1.65;
  }

  .hero-actions{
    margin: 26px 0 0;
  }

  .trust-strip{
    margin-top: 24px;
  }

  .section{
    padding: 84px 0;
  }

  .split{
    grid-template-columns: minmax(0, .98fr) minmax(410px, .86fr);
    gap: 52px;
  }

  .split h2{
    font-size: clamp(2.8rem, 3.55vw, 4.05rem);
  }

  .image-panel img{
    height: 430px;
  }

  .service-card img{
    height: 190px;
  }

  .project-card img{
    height: 235px;
  }

  .cta-band{
    padding: 44px 48px;
  }

  .cta-band h2{
    font-size: clamp(2.35rem, 3.45vw, 3.85rem);
    max-width: 820px;
  }
}

/* Grand desktop : plus d’air, mais sans surdimensionner les titres */
@media (min-width: 1400px){
  .hero h1{
    font-size: 4.6rem;
  }

  .hero-copy{
    max-width: 850px;
  }

  .hero-logo{
    width: 165px;
  }
}

/* Mobile : slider de navigation rapide sous le header */
.mobile-quick-nav{
  display:none;
}

@media (max-width: 980px){
  .header{
    position: sticky;
    top: 0;
  }

  .mobile-quick-nav{
    display:flex;
    gap:10px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding: 10px 14px 12px;
    border-top:1px solid rgba(214,169,96,.12);
    border-bottom:1px solid rgba(214,169,96,.14);
    background:rgba(2,1,0,.94);
    scrollbar-width:none;
  }

  .mobile-quick-nav::-webkit-scrollbar{
    display:none;
  }

  .mobile-quick-nav a{
    flex:0 0 auto;
    border:1px solid rgba(214,169,96,.28);
    color:rgba(248,244,236,.82);
    background:rgba(255,255,255,.035);
    border-radius:999px;
    padding:9px 13px;
    font-size:.82rem;
    font-weight:800;
    white-space:nowrap;
  }

  .mobile-quick-nav a.primary{
    background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--bronze));
    color:#120d07;
    border-color:transparent;
  }

  .nav.open{
    top: 124px;
    max-height: calc(100vh - 124px);
    overflow-y:auto;
    padding:18px 20px 22px;
    box-shadow:0 22px 60px rgba(0,0,0,.45);
  }
}

/* Très petits écrans et navigateurs intégrés : éviter les débordements */
@media (max-width: 640px){
  .hero{
    min-height:auto;
  }

  .hero h1{
    font-size: clamp(2.05rem, 9vw, 2.55rem);
  }

  .hero .lead{
    max-width:100%;
  }

  .mobile-quick-nav{
    padding-left:13px;
    padding-right:13px;
  }

  .footer{
    padding-bottom: 74px;
  }
}

/* Sections de cartes : meilleure respiration sur PC */
@media (min-width: 981px){
  .grid.grid-4 .project-card h3{
    font-size:1.08rem;
  }

  .grid.grid-4 .project-card .body{
    padding:19px;
  }
}



/* === Soltana V1.3 - Hero desktop exploité à droite === */

.hero{
  overflow:hidden;
}

.hero-panel{
  display:none;
}

/* Grand écran : hero en vraie composition desktop, pas seulement un bloc texte */
@media (min-width: 981px){
  .hero{
    min-height: min(760px, calc(100vh - 76px));
    background-position:center center;
  }

  .hero-inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(360px, 430px);
    align-items:center;
    gap: clamp(38px, 5vw, 86px);
    padding: 58px 0 58px;
  }

  .hero-copy{
    max-width: 770px;
  }

  .hero-logo{
    width: clamp(118px, 9vw, 150px);
    margin-bottom:18px;
  }

  .hero h1{
    font-size: clamp(3rem, 3.35vw, 4.05rem);
    line-height: 1.08;
    letter-spacing:.01em;
    max-width: 790px;
    margin-bottom:18px;
  }

  .hero .lead{
    max-width: 700px;
    font-size: 1.04rem;
  }

  .hero-panel{
    display:block;
    position:relative;
    z-index:1;
    align-self:center;
  }

  .hero-panel-inner{
    border:1px solid rgba(214,169,96,.28);
    background:
      linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.018)),
      radial-gradient(circle at 22% 0%, rgba(245,214,157,.16), transparent 34%),
      rgba(12,11,10,.62);
    box-shadow: 0 34px 90px rgba(0,0,0,.44);
    border-radius:32px;
    padding:30px;
    min-height:390px;
    backdrop-filter: blur(8px);
  }

  .hero-panel::before{
    content:"";
    position:absolute;
    inset:-28px -22px;
    border-radius:42px;
    background:
      linear-gradient(90deg, transparent, rgba(214,169,96,.08), transparent),
      url('/images/backgrounds/architectural-lines-dark.webp') center/cover;
    opacity:.48;
    z-index:-1;
    transform:rotate(-1deg);
  }

  .panel-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gold);
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.17em;
    margin-bottom:18px;
  }

  .panel-label::before{
    content:"";
    width:34px;
    height:1px;
    background:var(--gold);
    display:inline-block;
  }

  .hero-panel h2{
    color:var(--paper);
    font-size: clamp(1.65rem, 1.8vw, 2.05rem);
    line-height:1.16;
    margin-bottom:14px;
  }

  .hero-panel p{
    color:rgba(248,244,236,.72);
    line-height:1.7;
    font-size:.98rem;
    margin:0 0 22px;
  }

  .panel-flow{
    display:grid;
    gap:12px;
    margin:22px 0 24px;
  }

  .panel-flow div{
    display:flex;
    align-items:center;
    gap:13px;
    border:1px solid rgba(214,169,96,.18);
    background:rgba(2,1,0,.28);
    border-radius:17px;
    padding:13px 14px;
  }

  .panel-flow strong{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,var(--gold-light),var(--gold) 56%,var(--bronze));
    color:#120d07;
    font-weight:950;
    font-size:.82rem;
  }

  .panel-flow span{
    color:rgba(248,244,236,.9);
    font-weight:850;
  }

  .panel-metrics{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .panel-metrics span{
    color:rgba(248,244,236,.72);
    border:1px solid rgba(214,169,96,.22);
    background:rgba(214,169,96,.07);
    border-radius:999px;
    padding:8px 10px;
    font-size:.78rem;
    font-weight:800;
  }
}

/* Écrans très larges : on agrandit la carte plutôt que le vide */
@media (min-width: 1500px){
  .hero-inner{
    grid-template-columns:minmax(0, 820px) minmax(430px, 500px);
  }

  .hero-copy{
    max-width:820px;
  }

  .hero-panel-inner{
    min-height:430px;
    padding:34px;
  }
}

/* Tablette/mobile : on revient à une lecture simple et fluide */
@media (max-width: 980px){
  .hero-inner{
    display:block;
  }

  .hero-panel{
    display:none;
  }
}



/* === Soltana V1.4 - Espaces plus doux + correction débordements sections espaces === */

/* Police plus douce pour les espaces privés et les cartes de connexion.
   On garde Cinzel pour l'identité luxe du site public, mais on évite les titres trop durs
   dans les zones client / artisan / admin. */
.portal-card h1,
.portal-card h2,
.portal-card h3,
.space-card h1,
.space-card h2,
.space-card h3,
.dashboard-card h1,
.dashboard-card h2,
.dashboard-card h3,
.auth-card h1,
.auth-card h2,
.auth-card h3,
.client-area h1,
.client-area h2,
.client-area h3,
.artisan-area h1,
.artisan-area h2,
.artisan-area h3,
.admin-area h1,
.admin-area h2,
.admin-area h3,
[class*="dashboard"] h1,
[class*="dashboard"] h2,
[class*="dashboard"] h3{
  font-family: var(--font-sans);
  letter-spacing: -.025em;
  text-transform:none;
  font-weight: 850;
}

/* Titres des cartes espaces : plus premium, moins agressifs */
.space-card h3,
.portal-card h3,
.auth-option h3,
.dashboard-card h3{
  font-size: clamp(1.25rem, 1.55vw, 1.7rem);
  line-height:1.18;
}

/* Paragraphes et boutons des espaces : lecture plus fluide */
.space-card p,
.portal-card p,
.auth-option p,
.dashboard-card p{
  font-family: var(--font-sans);
  line-height:1.65;
}

/* Corrige les gros titres qui débordent dans les espaces et formulaires */
.space-hero h1,
.portal-hero h1,
.dashboard-hero h1,
.auth-hero h1{
  font-family: var(--font-sans);
  font-size: clamp(2.15rem, 4.2vw, 4.1rem);
  letter-spacing:-.035em;
  line-height:1.04;
  text-transform:none;
}

/* Zone "Espaces" / connexion : meilleure grille desktop et mobile */
.spaces-grid,
.portal-grid,
.auth-grid{
  align-items:stretch;
}

.space-card,
.portal-card,
.auth-option{
  min-width:0;
  overflow:hidden;
}

.space-card .btn,
.portal-card .btn,
.auth-option .btn{
  white-space:normal;
  text-align:center;
}

/* Mobile : empêcher les titres / boutons des espaces de sortir de l'écran */
@media (max-width: 640px){
  .space-hero h1,
  .portal-hero h1,
  .dashboard-hero h1,
  .auth-hero h1{
    font-size: clamp(2rem, 10vw, 2.7rem);
    line-height:1.08;
  }

  .space-card,
  .portal-card,
  .auth-option,
  .dashboard-card{
    padding:22px;
    border-radius:22px;
  }

  .space-card h3,
  .portal-card h3,
  .auth-option h3,
  .dashboard-card h3{
    font-size:1.28rem;
    line-height:1.22;
  }
}

/* Menu mobile : le bloc contact ne doit pas être caché par la barre du navigateur intégré */
@media (max-width: 980px){
  .nav.open{
    padding-bottom: 96px;
  }
}

/* === Soltana MVP — UX responsive des espaces et safe areas === */
.auth-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.auth-card{display:grid;gap:16px}.auth-card h2{font-family:Manrope,system-ui,sans-serif;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.035em}
.demo-access{margin-top:24px}.feedback{border-radius:14px;padding:13px 15px;margin:14px 0;font-size:.92rem}
.feedback.success{background:#edf7f1;color:#1f5d3d;border:1px solid #c7e5d2}.feedback.error{background:#fdecec;color:#873737;border:1px solid #efc6c6}.feedback.info{background:#eef3fa;color:#385c8e;border:1px solid #cad8ea}
.dashboard{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;min-width:0}
.dashboard h1,.dashboard h2,.dashboard h3{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.025em;text-transform:none}
.dashboard .dash-title h1{font-size:clamp(1.85rem,3vw,2.35rem);font-weight:850}.dashboard h2{font-size:clamp(1.45rem,2.5vw,1.9rem)}
.main,.table-card,.data-table{min-width:0}.account-chip{position:absolute;left:26px;right:26px;bottom:24px;display:grid;gap:4px;padding:14px;border:1px solid rgba(214,169,96,.2);border-radius:16px;background:rgba(255,255,255,.04)}
.account-chip strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis}.account-chip span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.account-chip .btn{margin-top:8px}
.data-table select,.data-table input,.assignment-box select{max-width:100%;border:1px solid #ddd1bd;background:#fffaf2;border-radius:10px;padding:8px;color:var(--text)}
.data-table td select+select{margin-top:7px}.data-table td .btn{margin-top:7px;max-width:100%;white-space:normal;padding-inline:10px}.assignment-box{margin-top:10px}.assignment-box summary{cursor:pointer;font-weight:800;color:#725225}.assignment-box select{display:block;width:100%;min-height:88px;margin:8px 0}.assignment-box .btn{width:100%}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.project-details{max-width:100%}.project-details summary{cursor:pointer;font-weight:850;color:#725225}.project-details p{font-size:.8rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}

@media (max-width:980px){
  body{font-size:16px;padding-bottom:env(safe-area-inset-bottom)}
  .auth-layout{grid-template-columns:1fr}
  .header{padding-top:env(safe-area-inset-top)}
  .mobile-quick-nav{gap:5px;padding:8px max(12px,calc(env(safe-area-inset-right) + 10px)) 9px max(10px,calc(env(safe-area-inset-left) + 10px));scroll-padding-inline:10px}
  .mobile-quick-nav a{font-size:.68rem;padding:6px 8px}
  .nav.open{top:calc(76px + env(safe-area-inset-top));grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:min(360px,calc(100dvh - 128px));overflow-y:auto;padding:10px 14px max(18px,env(safe-area-inset-bottom));box-shadow:0 18px 40px rgba(0,0,0,.38)}
  .nav.open a{padding:10px 12px;border-radius:10px}.nav.open a:hover{background:rgba(214,169,96,.1)}
  .dashboard{display:block}.sidebar{position:sticky;top:0;z-index:45;width:100%;height:auto;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;box-shadow:0 8px 22px rgba(0,0,0,.18)}
  .sidebar .brand{margin:0}.sidebar .brand-mark{width:38px;height:38px;border-radius:12px}.sidebar .brand-text{display:none}
  .side-nav{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;white-space:nowrap}.side-nav::-webkit-scrollbar{display:none}.side-nav a{flex:0 0 auto;padding:8px 10px;font-size:.82rem;border:1px solid rgba(214,169,96,.12)}
  .account-chip{position:static;display:block;padding:0;border:0;background:none}.account-chip strong,.account-chip span{display:none}.account-chip .btn{margin:0;padding:8px 10px;font-size:.76rem}
  .main{padding:24px max(18px,env(safe-area-inset-right)) max(64px,calc(env(safe-area-inset-bottom) + 42px)) max(18px,env(safe-area-inset-left))}
  .dash-header{align-items:flex-start;gap:16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:16px}.stat-card strong{font-size:1.65rem}
}

@media (max-width:820px){
  body{font-size:15.5px}.hero{min-height:auto;background-position:58% top}.hero-inner{padding:24px 0 max(30px,calc(env(safe-area-inset-bottom) + 20px))}.hero-logo{width:145px;margin-bottom:5px}.hero .kicker{margin-bottom:8px}.hero h1{font-size:clamp(2rem,8.7vw,2.35rem);line-height:1.08;margin-bottom:12px}.hero .lead{font-size:.96rem;line-height:1.5;margin-bottom:12px}.hero-actions{gap:8px;margin:16px 0 12px}.hero-actions .btn{min-height:43px;padding:10px 16px;font-size:.9rem}.hero-actions .btn-primary{width:100%}.hero-actions .btn-secondary{width:auto;justify-self:start;min-height:36px;padding:7px 12px;font-size:.76rem;background:rgba(255,255,255,.03);box-shadow:none}.trust-strip{margin-top:10px;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.trust-strip::-webkit-scrollbar{display:none}.trust-item{flex:0 0 auto;font-size:.7rem;padding:6px 8px}
  h1,.page-hero h1{font-size:clamp(2rem,8.7vw,2.35rem);line-height:1.08}h2{font-size:clamp(1.65rem,7vw,2rem)}h3{font-size:1.15rem}.page-hero{padding:48px 0 40px}.page-hero .lead{font-size:1rem}
  .section{padding:52px 0}.btn{min-height:42px;padding:11px 17px;font-size:.9rem}
  .dashboard .dash-title h1{font-size:2rem;line-height:1.08}.dashboard h2{font-size:1.65rem}.dashboard h3{font-size:1.12rem}
  .table-card{overflow:visible;background:transparent;border:0;box-shadow:none}.table-head{background:#fff;border:1px solid var(--line-light);border-radius:18px;margin-bottom:12px;padding:15px}
  .data-table,.data-table tbody{display:block;width:100%}.data-table thead{display:none}.data-table tr{display:block;width:100%;margin:0 0 14px;padding:15px;background:#fff;border:1px solid var(--line-light);border-radius:19px;box-shadow:var(--shadow-soft)}
  .data-table td{display:grid;grid-template-columns:minmax(88px,32%) minmax(0,1fr);gap:10px;width:100%;padding:10px 0;border-bottom:1px solid #eee2d0;overflow-wrap:anywhere}.data-table td:last-child{border-bottom:0}.data-table td::before{content:attr(data-label);font-size:.71rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#8b7252}.data-table td:not([data-label])::before{display:none}.data-table td[colspan]{display:block;text-align:center}
  .data-table td .btn{width:100%}.data-table select,.data-table input{width:100%;margin:0 0 7px}.assignment-box{width:100%}.assignment-box .btn{white-space:normal}
  .profile-card{grid-template-columns:64px minmax(0,1fr)}.profile-card .avatar{width:58px;height:58px;border-radius:17px}.auth-card{padding:21px}
}

@media (max-width:430px){
  .container{width:calc(100% - 26px)}.nav-wrap{height:64px}.nav.open{top:calc(64px + env(safe-area-inset-top))}.brand-text strong{font-size:.76rem}.brand-text span{font-size:.5rem}.menu-btn{padding:8px 11px;font-size:.82rem}
  .sidebar{grid-template-columns:minmax(0,1fr) auto}.sidebar .brand{display:none}.side-nav a{font-size:.78rem;padding:8px 9px}.main{padding-inline:14px}.stats{gap:10px}.stat-card{padding:14px}.stat-card span{font-size:.78rem}
  .dash-header{display:grid}.dash-header>.btn,.dash-header>div:last-child:not(.dash-title){width:100%}.data-table td{grid-template-columns:82px minmax(0,1fr)}
  .demo-access{font-size:.78rem;overflow-wrap:anywhere}
}
