:root{
  --navy:#061421;--navy-deep:#030b13;--navy-soft:#0b1d2e;
  --panel:#10293e;--panel2:#14334c;--panel3:#0a2134;
  --text:#f7f2e8;--muted:#b8c7d5;--muted2:#7f93a6;
  --gold:#f4c83d;--gold2:#d5a61f;--ivory:#f3efe5;
  --line:rgba(255,255,255,.14);--shadow:0 26px 80px rgba(0,0,0,.38);
  --radius:12px;--danger:#ff6978;--ok:#45d483;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#061421;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.container{width:min(1320px,calc(100% - 96px));margin-inline:auto}

/* HEADER — closer to the mockup */
.site-header{position:sticky;top:0;z-index:50;background:rgba(4,14,23,.84);border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(18px)}
.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.logo-pill{width:265px;height:66px;display:inline-flex;align-items:center;justify-content:center;padding:12px 26px;border-radius:999px;background:linear-gradient(180deg,#fffaf0,#f1eadc);box-shadow:0 18px 46px rgba(0,0,0,.30),inset 0 0 0 1px rgba(6,20,33,.08);overflow:hidden}
.logo-pill img{width:218px;max-height:46px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:31px;color:#e9f0f5;font-weight:780;font-size:15px}
.nav-links a{position:relative;opacity:.94}.nav-links a:hover,.nav-links a.active{opacity:1;color:#fff}
.nav-links a.active:after,.nav-links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:2px;background:var(--gold);border-radius:99px}
.lang-switch{display:flex;gap:8px;margin-left:6px}
.lang-switch a{min-width:31px;height:31px;display:grid;place-items:center;font-size:12px;border:1px solid rgba(255,255,255,.16);color:var(--muted);border-radius:9px;background:rgba(255,255,255,.025)}
.lang-switch a.active{color:#071522;background:linear-gradient(180deg,#ffda59,var(--gold));border-color:var(--gold);box-shadow:0 8px 22px rgba(244,200,61,.24)}
.mobile-toggle{display:none}

/* HERO — real photo visible like the preview */
.hero{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:#071522}
.hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(5,15,25,.55) 0%,rgba(5,15,25,.36) 34%,rgba(5,15,25,.10) 60%,rgba(5,15,25,.02) 100%),
    linear-gradient(180deg,rgba(5,15,25,.02),rgba(5,15,25,.38)),
    url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat;
  opacity:1;
}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:115px;background:linear-gradient(180deg,transparent,#071522)}
.hero .container{position:relative;z-index:2;padding-top:24px}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.095em;font-weight:920;font-size:13px}
.hero h1,.page-hero h1{font-size:clamp(48px,5.4vw,72px);line-height:1.04;letter-spacing:-.055em;margin:18px 0 18px;max-width:740px}
.lead{font-size:19px;color:#c9d7e3;max-width:710px}.hero .lead{max-width:610px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:27px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;padding:12px 23px;min-height:48px;font-weight:880;border:1px solid var(--gold);background:rgba(255,255,255,.025);color:var(--text);box-shadow:0 8px 20px rgba(0,0,0,.13)}
.btn.primary{background:linear-gradient(180deg,#ffd85b,var(--gold));color:#071522;border-color:#ffda5b}.btn:hover{transform:translateY(-1px)}.danger{color:#ff7b86!important;border-color:#ff7b86!important}

/* HOME CARDS — tighter and closer to preview */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:-78px;position:relative;z-index:4}
.card,.service-card,.admin-card{background:linear-gradient(180deg,rgba(20,48,72,.96),rgba(9,30,48,.98));border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);box-shadow:var(--shadow)}
.pillar{min-height:104px;padding:24px 28px;display:flex;gap:22px;align-items:center}
.icon{font-size:36px;color:var(--gold);line-height:1}.pillar h3,.service-card h3{margin:0 0 7px;font-size:17px}.muted,.pillar p,.service-card p{color:var(--muted);margin:0}
.section{padding:54px 0;border-top:1px solid rgba(255,255,255,.075)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}.section h2{font-size:29px;line-height:1.08;letter-spacing:-.025em;margin:0}.underline{width:42px;height:2px;background:var(--gold);margin-top:10px;border-radius:999px}
.about-grid{display:grid;grid-template-columns:210px 1fr 170px;gap:42px;align-items:start}.about-grid .lead{font-size:17px}

/* Services compact */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.service-card{min-height:152px;padding:22px 24px;transition:.22s ease}.service-card:hover,.project-card:hover{transform:translateY(-3px);border-color:rgba(244,200,61,.45)}.arrow{color:var(--gold);font-size:21px;margin-top:16px}

/* Projects more like the preview */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.project-card{overflow:hidden;background:linear-gradient(180deg,rgba(19,45,68,.95),rgba(8,27,44,.98));border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);box-shadow:0 20px 56px rgba(0,0,0,.25);transition:.22s ease}
.project-card img{height:176px;width:100%;object-fit:cover;background:#0a1b2b}.project-card .body{padding:17px 18px 18px}.project-card h3{font-size:17px;margin:7px 0 9px}.meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:14px}.tag{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}

/* Approach */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;margin-top:28px}.timeline:before{content:"";position:absolute;top:18px;left:30px;right:30px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(244,200,61,.35))}
.step{position:relative;padding-top:49px}.step:before{content:attr(data-step);position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;font-weight:900;background:#071522;box-shadow:0 0 0 6px #071522}.step h3{margin:0 0 8px}
.cta{margin:50px 0;background:linear-gradient(90deg,rgba(22,51,76,.96),rgba(9,29,47,.98));border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);padding:28px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:var(--shadow)}

/* Footer light logo like mockup */
.footer{border-top:1px solid var(--line);padding:34px 0;background:linear-gradient(180deg,#061421,#030b13)}
.footer-grid{display:grid;grid-template-columns:1.2fr 1.1fr 1fr 1.6fr;gap:28px;align-items:center;color:var(--muted);font-size:14px}
.footer-logo-light{width:220px;display:inline-flex;align-items:center}.footer-logo-light img{width:205px;height:auto;object-fit:contain}.footer-tagline{margin-top:12px;font-size:13px}.legal-links{display:flex;gap:18px;flex-wrap:wrap}.footer a:hover{color:#fff}.footer-item{line-height:1.75}

/* Inner pages */
.page-hero{position:relative;padding:108px 0 58px;overflow:hidden;background:#071522}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061421 0%,rgba(6,20,33,.68) 52%,rgba(6,20,33,.18)),url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat;opacity:.98}.page-hero .container{position:relative;z-index:2}
.filters{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0}.filter{border:1px solid var(--line);border-radius:9px;padding:10px 22px;background:rgba(255,255,255,.035)}.filter.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(244,200,61,.2)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--panel3));margin-top:34px;box-shadow:var(--shadow)}.stat{padding:30px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{font-size:38px}
.project-detail-hero{display:grid;grid-template-columns:1fr 1.25fr;gap:32px;align-items:center}.project-detail-hero img{box-shadow:var(--shadow)}.facts{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(18,43,64,.80);margin-top:27px}.fact{padding:18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.fact:nth-child(even){border-right:0}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.gallery img{height:154px;object-fit:cover;width:100%;border-radius:10px;border:1px solid var(--line);background:#0a1b2b}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.form{display:grid;gap:14px}.input,textarea,select{width:100%;background:#081a2a;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:13px 14px}textarea{min-height:150px}label{display:grid;gap:6px;color:var(--muted);font-size:14px}

/* Admin premium dashboard */

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:13px;text-align:left;color:var(--muted)}.table th{color:#fff}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}
.chart-panel{min-height:330px}.chart-wrap{height:245px;margin-top:16px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));padding:18px}.chart-svg{width:100%;height:100%;overflow:visible}.chart-line{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:rgba(244,200,61,.10)}.chart-dot{fill:#071522;stroke:var(--gold);stroke-width:3}.bars{display:grid;gap:13px;margin-top:18px}.bar-row{display:grid;grid-template-columns:90px 1fr 44px;gap:12px;align-items:center;color:var(--muted)}.bar-track{height:12px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold2),var(--gold))}.mini-list{display:grid;gap:12px;margin-top:16px}.mini-item{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:10px}.mini-path{color:#fff;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.thumb{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#102437}.thumb img{height:142px;width:100%;object-fit:cover;background:#0a1b2b}.thumb-actions{display:flex;gap:7px;padding:8px;flex-wrap:wrap}.thumb .input{padding:8px;font-size:13px}.alert{padding:14px 16px;border-radius:10px;border:1px solid rgba(244,200,61,.32);background:rgba(244,200,61,.09);color:#ffe08a;margin:16px 0}

@media(max-width:980px){
  .container{width:min(100% - 34px,1320px)}.nav{height:82px}.logo-pill{width:215px;height:58px}.logo-pill img{width:176px}.nav-links{display:none}.mobile-toggle{display:block;border:1px solid var(--line);color:#fff;border-radius:10px;padding:9px 12px;background:rgba(255,255,255,.05)}.nav-links.open{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;background:#061421;padding:22px}
  .pillars,.service-grid,.projects-grid,.timeline,.stats,.contact-grid,.project-detail-hero,.admin-layout,.kpis,.admin-grid,.admin-grid-wide,.about-grid,.footer-grid{grid-template-columns:1fr}.hero{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:#071522}.pillars{margin-top:0}.cta{flex-direction:column;align-items:flex-start}.timeline:before{display:none}.gallery{grid-template-columns:repeat(2,1fr)}
}


/* admin chart refinement */
.daily-bars{height:245px;margin-top:16px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));padding:22px 18px 14px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:14px}
.daily-bar-item{display:grid;grid-template-rows:1fr auto;gap:10px;height:100%}
.daily-bar-track{height:100%;display:flex;align-items:end;justify-content:center;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.055);overflow:hidden}
.daily-bar-fill{width:48%;min-height:3px;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#ffd85b,#d7a820);box-shadow:0 0 20px rgba(244,200,61,.18)}
.daily-bar-label{text-align:center;color:var(--muted);font-size:12px;white-space:nowrap}
.daily-bar-label strong{display:block;color:#fff;font-size:13px;margin-bottom:2px}
.chart-note{display:flex;justify-content:space-between;gap:20px;margin-top:12px;color:var(--muted);font-size:13px}


/* visual target adjustments */
.hero .container{padding-top:10px}
.hero h1{max-width:760px}
.hero .lead{max-width:620px}
.pillars{margin-top:-86px}


/* admin messages + visitor details */
.inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 9px;font-size:12px;color:var(--muted);background:rgba(255,255,255,.035)}
.badge-admin{border-color:rgba(244,200,61,.42);color:var(--gold);background:rgba(244,200,61,.10)}
.badge-ok{border-color:rgba(69,212,131,.42);color:var(--ok);background:rgba(69,212,131,.10)}
.badge-warn{border-color:rgba(255,105,120,.42);color:var(--danger);background:rgba(255,105,120,.08)}
.message-list{display:grid;gap:14px;margin-top:18px}
.message-card{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);padding:18px}
.message-card.message-new{border-color:rgba(244,200,61,.38);box-shadow:inset 3px 0 0 var(--gold)}
.message-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.message-head h3{margin:0 0 6px}
.message-actions{display:flex;gap:8px;flex-wrap:wrap}
.table td{vertical-align:top}
@media(max-width:980px){.message-head{flex-direction:column}.inline-form{align-items:stretch}.inline-form .input{max-width:none!important}}


/* platform modules */
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkline{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;color:var(--muted)}
.checkline input{width:auto}
.progress-bar{height:10px;background:rgba(255,255,255,.10);border-radius:99px;overflow:hidden;margin:12px 0 18px}
.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:99px}
.message-list{display:grid;gap:14px;margin-top:18px}
.message-card{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);padding:18px}
.message-card.message-new{border-color:rgba(244,200,61,.38);box-shadow:inset 3px 0 0 var(--gold)}
.message-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.message-head h3{margin:0 0 6px}
.message-actions{display:flex;gap:8px;flex-wrap:wrap}
.inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 9px;font-size:12px;color:var(--muted);background:rgba(255,255,255,.035)}
.badge-admin{border-color:rgba(244,200,61,.42);color:var(--gold);background:rgba(244,200,61,.10)}
.badge-ok{border-color:rgba(69,212,131,.42);color:var(--ok);background:rgba(69,212,131,.10)}
.badge-warn{border-color:rgba(255,105,120,.42);color:var(--danger);background:rgba(255,105,120,.08)}
.table td{vertical-align:top}
@media(max-width:980px){.two-cols{grid-template-columns:1fr}.message-head{flex-direction:column}.inline-form{align-items:stretch}.inline-form .input{max-width:none!important}}


/* combined */
.mail-list{display:grid;gap:10px;margin-top:12px}.mail-row{display:grid;gap:4px;border:1px solid var(--line);border-radius:12px;padding:13px;background:rgba(255,255,255,.025)}.mail-row:hover,.mail-unread{border-color:rgba(244,200,61,.42);background:rgba(244,200,61,.06)}.mail-row span,.mail-row small{color:var(--muted)}.mail-body{white-space:pre-wrap;background:#071522;border:1px solid var(--line);border-radius:12px;padding:18px;max-height:520px;overflow:auto;color:#dce9f4}.daily-bars{height:245px;margin-top:16px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));padding:22px 18px 14px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:14px}.daily-bar-item{display:grid;grid-template-rows:1fr auto;gap:10px;height:100%}.daily-bar-track{height:100%;display:flex;align-items:end;justify-content:center;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.055);overflow:hidden}.daily-bar-fill{width:48%;min-height:3px;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#ffd85b,#d7a820);box-shadow:0 0 20px rgba(244,200,61,.18)}.daily-bar-label{text-align:center;color:var(--muted);font-size:12px;white-space:nowrap}.daily-bar-label strong{display:block;color:#fff;font-size:13px;margin-bottom:2px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkline{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;color:var(--muted)}.checkline input{width:auto}.progress-bar{height:10px;background:rgba(255,255,255,.10);border-radius:99px;overflow:hidden;margin:12px 0 18px}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:99px}@media(max-width:980px){.daily-bars{gap:7px;padding:16px 10px}.two-cols{grid-template-columns:1fr}}



/* visual polish / product finish */

/* Typography personality */
body{
  font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
h1,h2,h3,.nav-links,.btn,.eyebrow,.admin-menu a,.tag,.badge{
  font-family:"Space Grotesk","Manrope",Inter,Arial,sans-serif;
}

/* Header + logo: wide horizontal logo, S left + STAD Construction right */
.site-header{
  background:rgba(4,14,23,.90);
  backdrop-filter:blur(18px);
}
.nav{
  height:104px;
}
.logo-pill{
  width:342px!important;
  height:78px!important;
  padding:10px 28px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fffaf0,#f1eadc)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.34), inset 0 0 0 1px rgba(6,20,33,.08)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.logo-pill img{
  width:292px!important;
  max-height:58px!important;
  object-fit:contain!important;
}

/* Admin logo: readable but not oversized in sidebar */



/* Hero: keep current hero scene, force cache refresh */
.hero{
  min-height:730px;
  background:#071522;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,15,25,.96) 0%,rgba(5,15,25,.82) 30%,rgba(5,15,25,.38) 52%,rgba(5,15,25,.08) 76%,rgba(5,15,25,.03) 100%),
    linear-gradient(180deg,rgba(5,15,25,.02),rgba(5,15,25,.30)),
    url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat!important;
  opacity:1;
}
.hero:after{
  height:88px;
  background:linear-gradient(180deg,transparent,#071522);
}
.page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,15,25,.94) 0%,rgba(5,15,25,.76) 36%,rgba(5,15,25,.30) 64%,rgba(5,15,25,.08) 100%),
    url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat!important;
  opacity:1;
}
.hero h1,.page-hero h1{
  letter-spacing:-.062em;
  font-weight:700;
}
.hero h1{
  max-width:845px;
}
.hero .lead{
  max-width:670px;
  font-weight:500;
}

/* Premium cards/buttons */
.btn{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0,0,0,.20);
}
.btn.primary{
  box-shadow:0 14px 30px rgba(244,200,61,.20);
}
.pillar,.service-card,.project-card,.admin-card,.card{
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px);
}
.pillar{
  min-height:118px;
}
.pillar .icon,.service-card .icon{
  filter:drop-shadow(0 0 12px rgba(244,200,61,.20));
}

/* Homepage and public sections */
.section{
  padding:64px 0;
}
.section-head{
  margin-bottom:32px;
}
.underline{
  width:50px;
  height:3px;
}
.project-card img{
  height:205px;
}
.project-card .body{
  padding:22px;
}
.tag{
  letter-spacing:.10em;
}

/* Footer if current footer uses these classes */
.footer{
  background:
    radial-gradient(circle at 15% 0%,rgba(244,200,61,.08),transparent 34%),
    linear-gradient(180deg,#061421,#02080e);
}
.footer-logo-light img{
  width:235px!important;
  height:auto!important;
}
.footer-item strong{
  color:#fff;
}

/* Admin polish */



.mail-row,.message-card{
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.mail-row:hover,.message-card:hover{
  transform:translateY(-1px);
}
.table th{
  font-family:"Space Grotesk","Manrope",Inter,Arial,sans-serif;
}

/* Client portal / report UI polish through shared classes */
.progress-bar{
  height:11px;
}
.client-card-soft,.project-card .body{
  background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0));
}

/* Responsive */
@media(max-width:980px){
  .nav{
    height:88px;
  }
  .logo-pill{
    width:252px!important;
    height:64px!important;
    padding:9px 20px!important;
  }
  .logo-pill img{
    width:214px!important;
    max-height:46px!important;
  }
  .hero{
    min-height:650px;
  }
  .hero:before{
    background:
      linear-gradient(90deg,rgba(5,15,25,.98) 0%,rgba(5,15,25,.88) 48%,rgba(5,15,25,.55) 100%),
      url("/assets/img/hero-construction-full-scene-1600.webp") 65% center/cover no-repeat!important;
  }
}



/* stable hero frame + fade transitions
   Goal: the construction background stays visually stable across public pages.
*/

:root{
  --stad-header-height:104px;
  --stad-hero-frame:720px;
  --stad-hero-bg-x:50%;
  --stad-hero-bg-y:50%;
}

/* Smooth page entrance */
body{
  opacity:1;
  transition:opacity .28s ease;
}
body.stad-page-leaving{
  opacity:0;
}

/* Keep public hero frame consistent between home and internal pages */
.hero,
.page-hero{
  min-height:var(--stad-hero-frame)!important;
  height:var(--stad-hero-frame)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  position:relative!important;
  background:#071522!important;
}

/* Keep the same background size/crop/position everywhere */
.hero:before,
.page-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(5,15,25,.96) 0%,rgba(5,15,25,.82) 30%,rgba(5,15,25,.38) 52%,rgba(5,15,25,.08) 76%,rgba(5,15,25,.03) 100%),
    linear-gradient(180deg,rgba(5,15,25,.02),rgba(5,15,25,.30)),
    url("/assets/img/hero-construction-full-scene-1600.webp") var(--stad-hero-bg-x) var(--stad-hero-bg-y)/cover no-repeat!important;
  opacity:1!important;
  transform:none!important;
}

/* Same bottom blend on all hero variants */
.hero:after,
.page-hero:after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0 0!important;
  height:88px!important;
  background:linear-gradient(180deg,transparent,#071522)!important;
  pointer-events:none!important;
}

/* Stable text block layout */
.hero .container,
.page-hero .container{
  position:relative!important;
  z-index:2!important;
  padding-top:0!important;
  padding-bottom:0!important;
  animation:stadHeroTextIn .46s ease both;
}

/* The visible text changes, not the background frame */
.hero h1,
.page-hero h1{
  max-width:850px!important;
}
.hero .lead,
.page-hero .lead{
  max-width:720px!important;
}

/* Filters on projects page should not change hero height */
.page-hero .filters{
  margin-top:28px!important;
}

/* Fade/slight rise only for text/content in the hero */
@keyframes stadHeroTextIn{
  from{
    opacity:0;
    transform:translateY(10px);
    filter:blur(2px);
  }
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

/* Keep cards close but stable after full hero */
.pillars{
  margin-top:-92px!important;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce){
  body,
  .hero .container,
  .page-hero .container{
    transition:none!important;
    animation:none!important;
  }
}

/* Tablet/mobile: keep stable frame, but slightly shorter */
@media(max-width:980px){
  :root{
    --stad-header-height:88px;
    --stad-hero-frame:650px;
    --stad-hero-bg-x:65%;
    --stad-hero-bg-y:50%;
  }
  .hero,
  .page-hero{
    min-height:var(--stad-hero-frame)!important;
    height:auto!important;
    padding:96px 0 86px!important;
  }
  .hero:before,
  .page-hero:before{
    background:
      linear-gradient(90deg,rgba(5,15,25,.98) 0%,rgba(5,15,25,.88) 48%,rgba(5,15,25,.55) 100%),
      url("/assets/img/hero-construction-full-scene-1600.webp") var(--stad-hero-bg-x) var(--stad-hero-bg-y)/cover no-repeat!important;
  }
  .pillars{
    margin-top:0!important;
  }
}



/* unique visitors + section snap navigation */

/* Admin: clearer visitor table */
.table-compact td,
.table-compact th{
  padding:14px 12px;
}
.details-summary{
  cursor:pointer;
  font-family:"Space Grotesk","Manrope",Inter,Arial,sans-serif;
  font-weight:700;
  color:#fff;
  padding:12px 0;
}
details[open] .details-summary{
  color:var(--gold);
}

/* Public home: section snap, desktop only.
   Applied only when JS adds .stad-home-snap to body/html. */
@media(min-width:981px){
  html.stad-snap-enabled{
    scroll-snap-type:y proximity;
    scroll-behavior:smooth;
  }

  body.stad-home-snap .hero,
  body.stad-home-snap .section,
  body.stad-home-snap .footer{
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }

  body.stad-home-snap .hero{
    scroll-snap-align:start;
  }

  body.stad-home-snap .section{
    min-height:calc(100vh - var(--stad-header-height,104px));
    display:flex;
    align-items:center;
  }

  body.stad-home-snap .section > .container{
    width:min(1320px,calc(100% - 96px));
  }

  body.stad-home-snap .pillars + .section{
    min-height:auto;
  }

  body.stad-home-snap .footer{
    min-height:44vh;
    display:flex;
    align-items:center;
  }

  /* Small fixed hint/dots */
  .stad-snap-dots{
    position:fixed;
    right:22px;
    top:50%;
    transform:translateY(-50%);
    z-index:60;
    display:grid;
    gap:10px;
    pointer-events:none;
  }
  .stad-snap-dots span{
    width:8px;
    height:8px;
    border-radius:99px;
    border:1px solid rgba(244,200,61,.55);
    background:rgba(255,255,255,.05);
    box-shadow:0 0 20px rgba(0,0,0,.2);
  }
  .stad-snap-dots span.active{
    background:var(--gold);
    border-color:var(--gold);
  }
}

@media(max-width:980px){
  html.stad-snap-enabled{
    scroll-snap-type:none!important;
  }
  .stad-snap-dots{
    display:none!important;
  }
}



/* true section frames + fixed hero title anchor
   Fixes:
   - no more compressed/half-cut section stops on desktop home;
   - public hero titles start at the same vertical anchor on every page;
   - background remains stable while text changes.
*/

:root{
  --stad-header-height:104px;
  --stad-hero-frame:calc(100vh - var(--stad-header-height));
  --stad-hero-content-top:clamp(128px, 18vh, 190px);
  --stad-section-frame:calc(100vh - var(--stad-header-height));
}

.site-header{
  min-height:var(--stad-header-height);
}
.nav{
  min-height:var(--stad-header-height);
}

/* Fixed title anchor for home and internal hero pages */
.hero,
.page-hero{
  min-height:var(--stad-hero-frame)!important;
  height:var(--stad-hero-frame)!important;
  display:block!important;
  overflow:hidden!important;
  position:relative!important;
}

.hero .container,
.page-hero .container{
  position:relative!important;
  z-index:2!important;
  padding-top:var(--stad-hero-content-top)!important;
  padding-bottom:0!important;
  margin-top:0!important;
  transform:none!important;
}

.hero .eyebrow,
.page-hero .eyebrow{
  margin-top:0!important;
}
.hero h1,
.page-hero h1{
  margin-top:24px!important;
  max-width:850px!important;
}
.hero .lead,
.page-hero .lead{
  max-width:720px!important;
}

.page-hero .filters,
.page-hero .actions,
.hero .actions{
  margin-top:30px!important;
}

@media(min-width:981px){
  html.stad-snap-enabled{
    scroll-snap-type:y proximity!important;
    scroll-behavior:smooth;
    scroll-padding-top:var(--stad-header-height);
  }

  body.stad-home-snap main{
    overflow:visible;
  }

  body.stad-home-snap .hero{
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
  }

  body.stad-home-snap .pillars{
    margin-top:-126px!important;
    position:relative;
    z-index:5;
  }

  body.stad-home-snap main > .section{
    min-height:var(--stad-section-frame)!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    padding:96px 0!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
  }

  body.stad-home-snap main > .section > .container{
    width:min(1320px,calc(100% - 96px));
    margin-left:auto;
    margin-right:auto;
  }

  body.stad-home-snap .pillars + .section{
    padding-top:150px!important;
    min-height:var(--stad-section-frame)!important;
  }

  body.stad-home-snap .service-grid,
  body.stad-home-snap .projects-grid,
  body.stad-home-snap .zones-grid{
    align-items:stretch;
  }

  body.stad-home-snap .service-card,
  body.stad-home-snap .project-card{
    min-height:0;
  }

  body.stad-home-snap .timeline,
  body.stad-home-snap .approach-grid{
    margin-top:42px;
  }

  body.stad-home-snap .footer{
    min-height:calc(72vh - var(--stad-header-height))!important;
    display:flex!important;
    align-items:center!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
    padding:84px 0!important;
  }

  .stad-snap-dots{
    right:18px!important;
    gap:9px!important;
    opacity:.72;
  }
  .stad-snap-dots span{
    width:7px!important;
    height:7px!important;
  }
}

@media(max-width:980px){
  :root{
    --stad-header-height:88px;
    --stad-hero-frame:auto;
    --stad-hero-content-top:110px;
  }

  .hero,
  .page-hero{
    height:auto!important;
    min-height:650px!important;
    display:block!important;
    padding:0!important;
  }

  .hero .container,
  .page-hero .container{
    padding-top:var(--stad-hero-content-top)!important;
    padding-bottom:92px!important;
  }

  body.stad-home-snap main > .section{
    min-height:auto!important;
    display:block!important;
    padding:72px 0!important;
  }
}

@media(min-height:1050px) and (min-width:981px){
  :root{
    --stad-hero-content-top:170px;
  }
}


.geo-faq .section-head{align-items:flex-end}.geo-faq-intro{max-width:760px;font-size:18px;margin-top:16px}.geo-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.geo-faq-card{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 16px 46px rgba(0,0,0,.18)}.geo-faq-card h3{margin:0 0 10px;font-size:19px;line-height:1.25}.geo-faq-card p{margin:0;color:var(--muted);font-size:15px}@media(max-width:780px){.geo-faq-grid{grid-template-columns:1fr}.geo-faq-card{padding:20px}}


:root{--stad-frame-offset:104px}.home-sequence{position:relative}.home-sequence>.hero,.home-sequence>.section{scroll-snap-align:start;scroll-snap-stop:normal}.stad-topic-snap-ready{scroll-snap-type:y proximity}.home-sequence>.section{min-height:calc(100svh - var(--stad-frame-offset));display:flex;align-items:center;padding-block:72px}.home-hero-frame{min-height:calc(100svh - var(--stad-frame-offset));align-items:center}.home-pillars-frame{background:linear-gradient(180deg,#071522,#081b2c)}.home-pillars-clean{margin-top:26px}.home-pillars-clean .pillar{min-height:230px;display:grid;grid-template-columns:58px 1fr;align-items:start}.home-sequence .section-head{margin-bottom:24px}.home-sequence .service-grid,.home-sequence .projects-grid{align-items:stretch}.home-sequence .service-card,.home-sequence .project-card,.home-sequence .card{height:100%}.stad-topic-dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:40;display:grid;gap:10px}.stad-topic-dots button{width:10px;height:10px;border-radius:99px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);padding:0;cursor:pointer}.stad-topic-dots button.active{height:26px;background:var(--gold);border-color:var(--gold)}.phase-list{display:grid;gap:12px;margin-top:18px}.phase-card{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);padding:16px;display:grid;gap:12px}.chantier-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.chantier-photo-grid figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.025)}.chantier-photo-grid img{width:100%;height:180px;object-fit:cover}.chantier-photo-grid figcaption{padding:10px 12px;color:#fff;font-size:13px}.chantier-photo-grid figcaption span{color:var(--muted)}.table .progress-bar{min-width:120px;margin:6px 0}@media(max-width:980px){:root{--stad-frame-offset:82px}.stad-topic-snap-ready{scroll-snap-type:none}.home-sequence>.section,.home-hero-frame{min-height:auto;padding-block:54px}.stad-topic-dots{display:none}.chantier-photo-grid{grid-template-columns:1fr}.home-pillars-clean .pillar{grid-template-columns:1fr}.home-pillars-clean{margin-top:0}}


/* admin accordion, project planning page, clean home frames */
.project-switcher{max-width:640px}.phase-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.phase-card.is-blocked{border-color:rgba(255,105,120,.45);background:linear-gradient(180deg,rgba(255,105,120,.08),rgba(255,255,255,.025))}.badge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 10px;font-size:12px;color:#d9e8f4;background:rgba(255,255,255,.035)}
@media(min-width:981px){.home-sequence>.section{align-items:flex-start!important;padding-top:clamp(112px,14vh,152px)!important;padding-bottom:70px!important}.home-sequence>.section>.container{position:relative;z-index:2}.home-pillars-frame .section-head{margin:0 0 44px!important}.home-pillars-frame .section-head h2{font-size:clamp(34px,4vw,54px);max-width:860px}.home-pillars-clean{margin-top:0!important}.home-pillars-clean .pillar{min-height:210px}.home-sequence .about-grid{align-items:start}.home-sequence #apropos .container,.home-sequence #approche .container{padding-top:0!important}.page-hero{min-height:calc(100vh - var(--stad-header-height))!important;height:calc(100vh - var(--stad-header-height))!important}.page-hero .container{padding-top:clamp(128px,18vh,185px)!important}.page-hero h1{margin-top:24px!important}.page-hero .eyebrow{margin-top:0!important}}
@media(max-width:980px){.home-pillars-frame .section-head{margin-bottom:26px}.home-pillars-clean{margin-top:0!important}}

/* targeted title alignment, scroll logic unchanged */
:root{
  --stad-header-height: 104px;
  --stad-title-top-desktop: 176px;
  --stad-title-top-mobile: 118px;
}
.hero,
.page-hero{
  position:relative;
}
.hero > .container,
.page-hero > .container,
.hero .hero-layout{
  position:relative;
  z-index:2;
}
@media (min-width: 901px){
  .hero:not(.hero-home),
  .page-hero{
    min-height:calc(100vh - var(--stad-header-height));
    display:flex;
    align-items:flex-start;
  }
  .hero:not(.hero-home) > .container,
  .page-hero > .container{
    padding-top:var(--stad-title-top-desktop) !important;
    padding-bottom:96px !important;
    margin-top:0 !important;
  }
  .hero-home > .container,
  .hero-home .hero-layout{
    padding-top:var(--stad-title-top-desktop) !important;
    margin-top:0 !important;
  }
  .page-hero .eyebrow,
  .hero .eyebrow{
    margin-top:0 !important;
  }
  .page-hero h1,
  .hero h1{
    margin-top:0 !important;
  }
  .page-hero .filters,
  .page-hero .project-filters,
  .page-hero .category-filters{
    margin-top:28px;
  }
}
@media (max-width: 900px){
  .hero:not(.hero-home) > .container,
  .page-hero > .container,
  .hero-home > .container,
  .hero-home .hero-layout{
    padding-top:var(--stad-title-top-mobile) !important;
    margin-top:0 !important;
  }
}

/* workspace platform */
.workspace-tabs{display:flex;gap:10px;flex-wrap:wrap;position:sticky;top:0;z-index:15;background:rgba(4,14,23,.92);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;padding:10px;margin:16px 0 18px}.workspace-tabs a{color:#dce9f4;text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 13px;font-weight:800}.workspace-tabs a:hover{border-color:rgba(244,200,61,.55);color:var(--gold)}.workspace-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.workspace-hero strong{display:block;font-size:52px;letter-spacing:-.05em;color:#fff}.workspace-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.workspace-kpis div{border:1px solid var(--line);border-radius:14px;padding:18px;background:rgba(255,255,255,.035)}.workspace-kpis b{display:block;font-size:34px;color:var(--gold)}.workspace-kpis span{color:var(--muted)}.workspace-actions{display:flex;gap:10px;flex-wrap:wrap}.workspace-project-list{display:grid;gap:10px}.workspace-project-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);text-decoration:none;color:#fff}.workspace-project-row:hover{border-color:rgba(244,200,61,.45);background:rgba(244,200,61,.055)}.workspace-project-row small{display:block;color:var(--muted);margin-top:4px}.workspace-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.add-inline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.add-inline label:last-of-type,.add-inline textarea{grid-column:span 2}.phase-timeline{display:grid;gap:14px}.phase-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,255,255,.025);margin:0}.phase-card.phase-blocked,.phase-card.is-blocked{border-color:rgba(255,105,120,.45);box-shadow:inset 3px 0 0 var(--danger)}.phase-card.phase-done{border-color:rgba(69,212,131,.35)}.phase-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.chantier-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.chantier-photo-grid figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.025)}.chantier-photo-grid img{width:100%;height:160px;object-fit:cover;display:block}.chantier-photo-grid figcaption{padding:10px;color:#fff;font-size:13px}.chantier-photo-grid figcaption span{color:var(--muted)}
@media(max-width:1100px){.workspace-hero,.workspace-form-grid,.add-inline{grid-template-columns:1fr}.workspace-kpis{grid-template-columns:repeat(2,1fr)}.chantier-photo-grid{grid-template-columns:repeat(2,1fr)}.workspace-project-row{grid-template-columns:1fr}.workspace-tabs{position:relative;top:auto}.add-inline label:last-of-type,.add-inline textarea{grid-column:auto}}
@media(max-width:680px){.workspace-kpis,.chantier-photo-grid{grid-template-columns:1fr}.workspace-hero strong{font-size:38px}}

/* platform polish */
.qa-list{display:grid;gap:10px}.qa-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(255,255,255,.025)}.qa-ok{border-color:rgba(69,212,131,.25)}.qa-warn{border-color:rgba(255,105,120,.30)}
.plan-stage{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#071522;min-height:360px;display:grid;place-items:center}.plan-stage img{width:100%;height:auto;display:block}.plan-pin{position:absolute;width:22px;height:22px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 6px rgba(244,200,61,.22),0 0 28px rgba(244,200,61,.55);transform:translate(-50%,-50%);border:2px solid #071522}.plan-pin.is-closed{background:#45d483;box-shadow:0 0 0 6px rgba(69,212,131,.20)}
.workspace-tabs a,.client-project-shell .workspace-tabs a{white-space:nowrap}

@media(max-width:980px){.plan-stage{min-height:220px}}

/* operational platform */
.planning-visual .timeline-scale{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;color:var(--muted);font-size:12px}.timeline-list{display:grid;gap:12px;margin-top:18px}.timeline-row{display:grid;grid-template-columns:220px 1fr 160px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.025)}.timeline-row.is-late{border-color:rgba(255,92,115,.55)}.timeline-label strong{display:block}.timeline-label small,.timeline-dates{color:var(--muted);font-size:12px}.timeline-track{height:22px;background:rgba(255,255,255,.07);border-radius:99px;position:relative;overflow:hidden}.timeline-bar{position:absolute;top:4px;bottom:4px;border-radius:99px;background:rgba(244,200,61,.30);overflow:hidden}.timeline-bar em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#d8a820,var(--gold))}.edit-panel{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}.edit-panel summary{cursor:pointer;font-weight:800}.journal-entry p{margin:.65rem 0}.inline-form .input{min-width:320px}@media(max-width:980px){.timeline-row{grid-template-columns:1fr}.inline-form .input{min-width:0;width:100%}}

/* operational UX + mobile chantier */
.operations-head{align-items:flex-start}.kpis-ops{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-link{text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease}.kpi-link:hover{transform:translateY(-2px)}.kpi-link.warn{border-color:rgba(255,92,115,.42)}.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px}.ops-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title h2{margin:0}.ops-item,.today-item{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:rgba(255,255,255,.025)}.ops-item h3,.today-item h3{margin:.1rem 0 .25rem}.ops-item.compact{align-items:center}.ops-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mini-progress{height:8px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-top:8px}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,#d8a820,var(--gold))}.today-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.mobile-action-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0 18px}.mobile-action-grid a{display:block;text-align:center;border:1px solid var(--line);border-radius:14px;padding:14px 10px;text-decoration:none;font-weight:800;background:rgba(255,255,255,.035);color:inherit}.search-form{display:flex;gap:10px}.search-input{font-size:18px;padding:16px}.search-results{display:grid;gap:10px}.search-result{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:inherit;background:rgba(255,255,255,.025)}.search-result:hover{border-color:rgba(244,200,61,.45)}.workspace-quick-mobile{display:none}
@media(max-width:1180px){.kpis-ops{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-grid,.today-grid{grid-template-columns:1fr}.mobile-action-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .toolbar{display:grid;gap:12px}.toolbar .actions{display:flex;flex-wrap:wrap}.kpis,.kpis-ops{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr)}.quick-actions .btn{width:100%;text-align:center}.ops-item,.today-item{display:grid}.ops-badges{justify-content:flex-start}.mobile-action-grid{grid-template-columns:repeat(2,1fr)}.search-form{display:grid}.workspace-tabs{overflow:auto;white-space:nowrap;padding-bottom:6px}.workspace-quick-mobile{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.workspace-quick-mobile a{border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;text-decoration:none;color:inherit;font-weight:800;background:rgba(255,255,255,.035)}.table{display:block;overflow:auto}.form .two-cols,.two-cols{grid-template-columns:1fr!important}.input,textarea.input,select.input{font-size:16px}.today-priority{border-color:rgba(244,200,61,.38)}
}

/* admin cleanup: project-first navigation, compact titles, Gantt planning, calendar UX */
.project-submenu{border-left:2px solid rgba(244,200,61,.35);margin-left:10px;padding-left:8px}
.journal-entry h3,.ops-item h3,.today-item h3{font-size:1rem}.journal-note-line strong{display:block;font-size:.95rem;color:#fff;margin-bottom:3px}.journal-note-line{font-size:.95rem;color:var(--muted);margin:.7rem 0}
.workspace-tabs-clean{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.workspace-tabs-clean a{border:1px solid var(--line);border-radius:999px;padding:10px 14px;text-decoration:none;color:#fff;background:rgba(255,255,255,.035);font-weight:800}.workspace-tabs-clean a:hover{border-color:rgba(244,200,61,.55)}
.gantt-card{overflow:hidden}.gantt-percent{font-size:2rem;color:#fff}.gantt-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(7,21,34,.35)}.gantt-header,.gantt-row>summary{display:grid;grid-template-columns:1.4fr 110px 110px 110px 90px minmax(260px,1.5fr);gap:12px;align-items:center}.gantt-header{padding:12px 14px;background:rgba(255,255,255,.055);color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.gantt-row{border-top:1px solid rgba(255,255,255,.08)}.gantt-row>summary{list-style:none;cursor:pointer;padding:13px 14px}.gantt-row>summary::-webkit-details-marker{display:none}.gantt-row:hover>summary{background:rgba(255,255,255,.035)}.gantt-row.is-late>summary{box-shadow:inset 4px 0 0 #ff5c73}.gantt-title{font-weight:900;color:#fff}.gantt-scale{display:flex;justify-content:space-between}.gantt-track{height:20px;background:rgba(255,255,255,.08);border-radius:999px;position:relative;overflow:hidden}.gantt-track i{position:absolute;top:4px;bottom:4px;border-radius:999px;background:rgba(244,200,61,.26);overflow:hidden}.gantt-track i em{display:block;height:100%;background:linear-gradient(90deg,#d8a820,var(--gold));border-radius:999px}.gantt-edit{padding:16px;background:rgba(255,255,255,.035);border-top:1px solid rgba(255,255,255,.08)}.gantt-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.compact-form textarea{min-height:90px}
input[type="date"].js-date-picker{cursor:pointer;position:relative;padding-right:44px}input[type="date"].js-date-picker::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;width:28px;height:28px;filter:invert(1);background-color:rgba(244,200,61,.18);border-radius:8px;padding:4px}
@media(max-width:1180px){.gantt-header{display:none}.gantt-row>summary{grid-template-columns:1fr 1fr;gap:8px}.gantt-track{grid-column:1/-1}.gantt-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gantt-row>summary{grid-template-columns:1fr}.gantt-edit-grid{grid-template-columns:1fr}.workspace-tabs-clean{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.workspace-tabs-clean a{white-space:nowrap}}

/* commercial + field operations modules */
.quote-panel summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.quote-item-grid{display:grid;grid-template-columns:1fr 2fr .6fr .6fr .8fr;gap:8px}.compact-table td,.compact-table th{font-size:.88rem;padding:8px}.check-row{display:grid;grid-template-columns:1.2fr 140px 1fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.finance-positive{color:#45d483}.finance-negative{color:#ff5c73}
@media(max-width:980px){.quote-item-grid{grid-template-columns:1fr}.check-row{grid-template-columns:1fr}}


/* invoices, payments, messages, timeline, finance dashboard */
.message-card.from-client{border-color:rgba(244,200,61,.42);background:rgba(244,200,61,.055)}.message-card.from-admin{border-color:rgba(255,255,255,.12)}.timeline-list{position:relative;display:grid;gap:14px}.timeline-item{position:relative;display:grid;grid-template-columns:26px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03)}.timeline-dot{width:14px;height:14px;margin-top:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(244,200,61,.12)}.timeline-item h3{margin:.35rem 0}.finance-positive{color:#45d483}.finance-negative{color:#ff5c73}.invoice-balance-open{border-color:rgba(255,92,115,.42)}.invoice-balance-paid{border-color:rgba(69,212,131,.32)}
@media(max-width:760px){.timeline-item{grid-template-columns:18px 1fr}.timeline-dot{width:10px;height:10px}.quote-panel summary{display:grid}.kpis-ops{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* purchases, deliveries, work orders, templates, deadlines */
.deadline-list{display:grid;gap:10px}.deadline-row{display:grid;grid-template-columns:auto 110px 1fr;gap:14px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none;color:inherit;background:rgba(255,255,255,.025)}.deadline-row:hover{border-color:rgba(244,200,61,.55)}.deadline-row.is-late{box-shadow:inset 4px 0 0 #ff5c73}.deadline-row small{display:block;color:var(--muted);margin-top:4px}.template-textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.edit-panel summary span:last-child{margin-left:auto}.message-card h3{font-size:1.02rem}
@media(max-width:760px){.deadline-row{grid-template-columns:1fr}.template-textarea{min-height:180px}}

/* advanced project cockpit modules */
.cockpit-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,rgba(244,200,61,.13),rgba(255,255,255,.025))}.cockpit-hero strong{font-size:3rem;color:#fff}.message-card.warn{border-color:rgba(255,92,115,.45)}.advanced-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.status-open{border-color:rgba(255,92,115,.35)}.status-approved{border-color:rgba(69,212,131,.35)}
@media(max-width:980px){.advanced-card-grid{grid-template-columns:1fr}.cockpit-hero{display:grid}.cockpit-hero strong{font-size:2.2rem}}

/* admin IA: navigation regroupée, hub projet, quick command bar */
.project-submenu-groups{display:grid;gap:8px;margin:10px 4px 8px}.project-submenu-groups details{border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(0,0,0,.10);overflow:hidden}.project-submenu-groups details>summary{padding:9px 10px;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:900;cursor:pointer}.project-submenu-groups a{display:block;text-decoration:none;color:#dce6f2;font-size:.88rem;padding:8px 12px;border-top:1px solid rgba(255,255,255,.055)}.project-submenu-groups a:hover,.project-submenu-groups a.active{background:rgba(244,200,61,.12);color:#fff}.project-hub-head h1{margin-bottom:.25rem}.project-hub-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.project-hub-kpis>div{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);padding:18px}.project-hub-kpis strong{display:block;font-size:1.5rem;color:#fff}.project-hub-kpis span{display:block;color:var(--muted);font-size:.88rem;margin-top:4px}.project-hub-kpis .warn{border-color:rgba(255,92,115,.42)}.project-hub-layout{display:grid;gap:22px}.hub-section{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:20px;background:rgba(255,255,255,.025)}.hub-section h2{margin:0 0 14px}.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hub-card{min-height:112px;border:1px solid var(--line);border-radius:18px;padding:16px;text-decoration:none;color:inherit;background:rgba(255,255,255,.035);transition:transform .18s ease,border-color .18s ease,background .18s ease}.hub-card:hover{transform:translateY(-2px);border-color:rgba(244,200,61,.55);background:rgba(244,200,61,.08)}.hub-card span{display:block;color:#fff;font-size:1.02rem;font-weight:950;margin-bottom:8px}.hub-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.35}.hub-card em{display:inline-block;margin-top:12px;color:var(--gold);font-style:normal;font-weight:900;font-size:.82rem}.hub-card.warn{border-color:rgba(255,92,115,.42)}
@media(max-width:1240px){.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-hub-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hub-grid,.project-hub-kpis{grid-template-columns:1fr}.hub-section{padding:14px}.project-hub-head .actions{display:grid;width:100%}}

/* direction cockpit, pipeline, calendar, compliance */
.kpis-direction{grid-template-columns:repeat(6,minmax(0,1fr))}.direction-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}.lead-card summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.calendar-list{display:grid;gap:14px}.calendar-day.today{border-color:rgba(244,200,61,.55)}.calendar-day h2{margin-top:0}.calendar-event{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:start;text-decoration:none;color:inherit;border-top:1px solid var(--line);padding:11px 0}.calendar-event strong{color:#fff}.calendar-event em{font-style:normal;color:var(--muted);grid-column:2}.calendar-event.urgent .badge,.calendar-event.high .badge{background:rgba(255,92,115,.18);border-color:rgba(255,92,115,.35)}.hub-grid.single{grid-template-columns:1fr}
@media(max-width:1180px){.kpis-direction{grid-template-columns:repeat(3,minmax(0,1fr))}.direction-grid{grid-template-columns:1fr}}
@media(max-width:760px){.kpis-direction{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-event{grid-template-columns:1fr}.calendar-event em{grid-column:1}.lead-card summary{display:grid}}

/* field handover UX */
.quick-access-card{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;align-items:stretch}.quick-url{margin:14px 0}.site-card-print{border:2px dashed rgba(244,200,61,.55);border-radius:18px;padding:24px;background:rgba(255,255,255,.04);display:grid;gap:10px;align-content:center;text-align:center}.site-card-print strong{font-size:1.2rem;color:var(--gold)}.site-card-print span{font-size:1.4rem;font-weight:900}.photo-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-edit-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.03)}.photo-edit-card img{width:100%;height:170px;object-fit:cover;border-radius:10px}.signature-input{font-family:cursive;font-size:1.25rem}.signature-card{border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;background:rgba(255,255,255,.03)}.signature-render{font-family:cursive;font-size:2rem;line-height:1.2;margin:12px 0;color:#fff}.edit-panel summary .badge{margin-left:8px}@media(max-width:980px){.quick-access-card{grid-template-columns:1fr}.photo-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.photo-album-grid{grid-template-columns:1fr}.signature-render{font-size:1.5rem}}@media print{.admin-sidebar,.admin-mobile-top,.admin-quickbar,.no-print{display:none!important}.site-card-print{break-inside:avoid}}

/* admin IA cleanup: simple sections, rational typography, spacing, persistent shell */
.project-context-bar{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:-8px 0 24px;background:rgba(255,255,255,.028)}.project-context-bar small{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.project-context-bar strong{font-size:1rem}.project-context-bar nav{display:flex;gap:8px;flex-wrap:wrap}.project-context-bar nav a{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 12px;text-decoration:none;color:#fff;font-weight:800;font-size:.88rem;background:rgba(255,255,255,.025)}.project-context-bar nav a.active,.project-context-bar nav a:hover{border-color:rgba(244,200,61,.55);background:rgba(244,200,61,.12)}
.admin-card,.section-tile,.project-card-clean{box-shadow:0 12px 28px rgba(0,0,0,.10)}.admin-grid,.ops-grid,.today-grid,.direction-grid,.project-hub-layout,.admin-page-grid{gap:var(--admin-gap)!important}.admin-card + .admin-card,section + section{margin-top:var(--admin-gap)}.toolbar{margin-bottom:var(--admin-gap)}.toolbar .actions{gap:10px}.kpis,.kpis-ops,.kpis-direction,.admin-home-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--admin-gap);margin-bottom:var(--admin-gap)}.kpis .admin-card strong,.kpis-ops .admin-card strong,.kpis-direction .admin-card strong,.admin-home-kpis .admin-card strong,.project-hub-kpis strong{font-size:clamp(1.45rem,2.2vw,2.15rem)!important;line-height:1.05}
.section-tile{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:18px;padding:22px;background:rgba(255,255,255,.03);min-height:130px}.section-tile.primary{border-color:rgba(244,200,61,.45);background:linear-gradient(135deg,rgba(244,200,61,.16),rgba(255,255,255,.03))}.section-tile span{display:block;font-size:1.08rem;font-weight:950;color:#fff;margin-bottom:8px}.section-tile p{color:var(--muted);margin:0}.section-tile:hover{border-color:rgba(244,200,61,.55);transform:translateY(-1px)}.clean-row{display:flex;justify-content:space-between;gap:14px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:rgba(255,255,255,.025)}.clean-row strong{display:block;font-size:1rem!important;color:#fff}.clean-row small{display:block;color:var(--muted);margin-top:4px}.clean-row em{font-style:normal;color:var(--gold);font-weight:900}.project-list-clean{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-gap)}.project-card-clean{display:flex;justify-content:space-between;gap:18px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:20px;padding:22px;background:rgba(255,255,255,.03)}.project-card-clean:hover{border-color:rgba(244,200,61,.52)}.project-card-clean h2{margin:0 0 8px}.project-card-clean strong{font-size:1.6rem!important;color:#fff}.deadline-row{grid-template-columns:120px 120px minmax(0,1fr)!important;align-items:center!important;padding:14px 16px!important}.deadline-row>strong{font-size:1.08rem!important;line-height:1.1!important;white-space:nowrap}.deadline-row span:last-child{min-width:0}.deadline-row span:last-child small{font-size:.86rem}.message-card,.ops-item,.today-item,.edit-panel,.gantt-row>summary{border-radius:16px}.hub-card span{font-size:1rem!important}.hub-card p{font-size:.9rem}.project-hub-kpis{gap:var(--admin-gap)!important}.project-hub-kpis div{padding:18px!important}.project-hub-kpis strong{word-break:break-word}.form label{gap:7px}.input,textarea.input,select.input{border-radius:12px}.btn{border-radius:12px}.btn.mini{padding:8px 10px;font-size:.82rem}
@media(max-width:1180px){.kpis,.kpis-ops,.kpis-direction,.admin-home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.project-list-clean,.admin-page-grid.two{grid-template-columns:1fr}.project-context-bar{display:grid}.project-context-bar nav{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.project-context-bar nav a{white-space:nowrap}}
@media(max-width:760px){.admin-home-kpis,.kpis,.kpis-ops,.kpis-direction{grid-template-columns:1fr 1fr}.deadline-row{grid-template-columns:1fr!important}.project-card-clean{display:grid}}

/* validated logo treatment + light/dark public theme + document branding polish */
.site-header{transition:background .25s ease,border-color .25s ease}.logo-pill{width:auto!important;height:auto!important;min-height:58px;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.logo-pill img{width:232px!important;max-height:58px!important;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}.site-header .logo-pill{display:inline-flex;align-items:center}.theme-toggle,.admin-theme-toggle{border:1px solid rgba(244,200,61,.55);border-radius:999px;background:rgba(255,255,255,.035);color:var(--text);font-weight:850;padding:8px 12px;cursor:pointer}.theme-toggle:hover,.admin-theme-toggle:hover{background:rgba(244,200,61,.12);color:var(--gold)}
.admin-card,.card,.service-card,.project-card{border-radius:14px}.admin-grid,.admin-grid-wide,.ops-grid,.today-grid{gap:22px!important}.kpis{gap:18px}
html.theme-light{--navy:#f7f5ef;--navy-deep:#fffdf8;--navy-soft:#f1ede4;--panel:#ffffff;--panel2:#fbfaf6;--panel3:#f5f2ea;--text:#071522;--muted:#536275;--muted2:#7b8795;--line:rgba(7,21,34,.13);--shadow:0 22px 70px rgba(7,21,34,.10)}
html.theme-light .site-header{background:rgba(255,252,246,.86);border-bottom:1px solid rgba(7,21,34,.10);box-shadow:0 14px 40px rgba(7,21,34,.055)}html.theme-light .nav-links{color:#071522}html.theme-light .nav-links a:hover,html.theme-light .nav-links a.active{color:#071522}html.theme-light .logo-pill img{filter:none}html.theme-light .theme-toggle{background:#fff;color:#071522;border-color:rgba(7,21,34,.18)}html.theme-light .hero{background:#f7f5ef}html.theme-light .hero:before{background:linear-gradient(90deg,rgba(247,245,239,.98) 0%,rgba(247,245,239,.88) 32%,rgba(247,245,239,.48) 54%,rgba(247,245,239,.10) 82%),linear-gradient(180deg,rgba(247,245,239,.05),rgba(247,245,239,.72)),url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat}html.theme-light .hero:after{background:linear-gradient(180deg,transparent,#f7f5ef)}html.theme-light .hero h1,html.theme-light .page-hero h1{color:#071522}html.theme-light .lead{color:#415166}html.theme-light .btn{background:#fff;color:#071522;border-color:rgba(7,21,34,.20);box-shadow:0 10px 25px rgba(7,21,34,.08)}html.theme-light .btn.primary{background:linear-gradient(180deg,#ffda59,var(--gold));border-color:#efbf24;color:#071522}html.theme-light .section{border-top-color:rgba(7,21,34,.08)}html.theme-light .card,html.theme-light .service-card,html.theme-light .admin-card,html.theme-light .project-card{background:rgba(255,255,255,.88);border-color:rgba(7,21,34,.12);box-shadow:0 18px 55px rgba(7,21,34,.08)}html.theme-light .project-card{background:#fff}html.theme-light .cta{background:#fff;border-color:rgba(7,21,34,.12)}html.theme-light .page-hero{background:#f7f5ef}html.theme-light .page-hero:before{background:linear-gradient(90deg,rgba(247,245,239,.95) 0%,rgba(247,245,239,.78) 48%,rgba(247,245,239,.24)),url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat}html.theme-light .input,html.theme-light textarea,html.theme-light select{background:#fff;color:#071522;border-color:rgba(7,21,34,.18)}html.theme-light .footer{background:#efeae0;color:#536275;border-top-color:rgba(7,21,34,.12)}html.theme-light .lang-switch a{background:#fff;color:#071522;border-color:rgba(7,21,34,.16)}html.theme-light .lang-switch a.active{background:linear-gradient(180deg,#ffda59,var(--gold));border-color:var(--gold)}
html.theme-light .admin-command-bar,html.theme-light .project-context-bar,html.theme-light .admin-active-project-mini{background:#fff;border-color:rgba(7,21,34,.12);box-shadow:0 14px 40px rgba(7,21,34,.06)}html.theme-light .admin-card,html.theme-light .message-card,html.theme-light .edit-panel{background:#fff;border-color:rgba(7,21,34,.12);box-shadow:0 16px 50px rgba(7,21,34,.06)}html.theme-light .table th{color:#071522}html.theme-light .table td{color:#536275}html.theme-light .badge{background:#fff;border-color:rgba(7,21,34,.14);color:#536275}
@media(max-width:980px){.logo-pill img{width:190px!important}.theme-toggle{padding:7px 10px}}

/* final logo integration, light hero fix, admin CRUD UI polish */
.logo-pill,.admin-logo-pill{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important;overflow:visible!important}
.logo-pill .logo-img,.admin-logo-pill .logo-img,.footer-logo-light .logo-img{display:block;height:auto;object-fit:contain}
.logo-img-light{display:none!important}.logo-img-dark{display:block!important}
html.theme-light .logo-img-dark{display:none!important}html.theme-light .logo-img-light{display:block!important}
.logo-pill .logo-img{width:292px!important;max-height:97px!important;filter:none!important}.footer-logo-light .logo-img{width:210px!important;max-height:72px!important}
.site-header{min-height:92px}.nav{height:92px!important}.site-header .logo-pill{display:flex!important;align-items:center!important;justify-content:flex-start!important}
@media(max-width:980px){.logo-pill .logo-img{width:210px!important}.nav{height:82px!important}.site-header{min-height:82px}}
/* Force the light theme hero to really be light, overriding older !important dark hero rules */
html.theme-light .hero:before,html.theme-light .page-hero:before{background:linear-gradient(90deg,rgba(247,245,239,.98) 0%,rgba(247,245,239,.90) 34%,rgba(247,245,239,.52) 58%,rgba(247,245,239,.12) 86%),linear-gradient(180deg,rgba(247,245,239,.02),rgba(247,245,239,.72)),url("/assets/img/hero-construction-full-scene-1600.webp") center center/cover no-repeat!important;opacity:1!important;filter:brightness(1.08) saturate(1.02)!important}
html.theme-light .hero:after,html.theme-light .page-hero:after{background:linear-gradient(180deg,transparent,#f7f5ef)!important}html.theme-light .page-hero h1,html.theme-light .hero h1{color:#071522!important;text-shadow:none!important}html.theme-light .page-hero .lead,html.theme-light .hero .lead{color:#43546a!important}.theme-light .page-hero .filters .btn,.theme-light .page-hero .project-filters .btn{color:#071522!important;background:#fff!important;border-color:rgba(7,21,34,.22)!important}
/* Admin readable tables */
.btn.danger,.button-danger{border-color:rgba(255,92,115,.55)!important;color:#ffb4bf!important;background:rgba(255,92,115,.08)!important}.price-library-table .price-title strong,.table .price-title strong{font-size:1rem!important;line-height:1.25!important;letter-spacing:0!important;color:#fff}.price-library-table .price-title .muted{display:block;font-size:.88rem;line-height:1.35;margin-top:4px}.price-library-table td{vertical-align:top}.price-edit-form{padding:16px;margin-top:12px;border-top:1px solid var(--line);display:grid;gap:12px}.price-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.entity-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.edit-panel summary strong{font-size:1rem!important}
html.theme-light .price-library-table .price-title strong,html.theme-light .clean-row strong,html.theme-light .section-tile span{color:#071522!important}
@media(max-width:900px){.price-edit-grid{grid-template-columns:1fr}.admin-table-actions,.entity-actions{display:grid}.price-library-table{font-size:.9rem}}

/* light theme background/framing + admin readability cleanup */
/* Public light mode: use the same full hero image/framing as the dark mode, with a light overlay only. */
html.theme-light .hero:before,
html.theme-light .page-hero:before{
  background:
    linear-gradient(90deg,rgba(247,245,239,.98) 0%,rgba(247,245,239,.90) 31%,rgba(247,245,239,.56) 55%,rgba(247,245,239,.16) 82%),
    linear-gradient(180deg,rgba(247,245,239,.02) 0%,rgba(247,245,239,.42) 78%,rgba(247,245,239,.82) 100%),
    url("/assets/img/hero-construction-full-scene-1600.webp") var(--stad-hero-bg-x) var(--stad-hero-bg-y)/cover no-repeat!important;
  opacity:1!important;
  filter:brightness(1.08) saturate(1.04)!important;
}
html.theme-light .hero:after,
html.theme-light .page-hero:after{
  background:linear-gradient(180deg,rgba(247,245,239,0),#f7f5ef)!important;
}
html.theme-light .hero,
html.theme-light .page-hero{
  background:#f7f5ef!important;
}
html.theme-light .hero h1,
html.theme-light .page-hero h1{
  color:#071522!important;
  text-shadow:none!important;
}
html.theme-light .hero .lead,
html.theme-light .page-hero .lead{
  color:#405269!important;
}
html.theme-light .hero .eyebrow,
html.theme-light .page-hero .eyebrow{
  color:#b88708!important;
}
/* Public light mode: every home snap section becomes light instead of falling back to dark section backgrounds. */








/* Admin light mode: force readable cards, forms and tables across all modules. */














/* Price library: compact and readable in both themes. */
.price-library-table .price-title strong,
.table .price-title strong{
  display:block!important;
  font-size:.98rem!important;
  line-height:1.28!important;
  letter-spacing:0!important;
  word-break:normal!important;
}
.price-library-table .price-title .muted{
  display:block!important;
  margin-top:4px!important;
  font-size:.84rem!important;
  line-height:1.35!important;
}
.price-library-table td,
.price-library-table th{
  vertical-align:top!important;
}


/* Keep dark mode readable after the generic compacting. */



/* company settings + clean hub safety */
.settings-grid{align-items:start}.clean-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--card);box-shadow:var(--shadow-soft);min-height:145px}.hub-card span{display:block;color:var(--gold);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.hub-card strong{display:block;font-size:1.14rem;color:var(--text);margin-bottom:8px}.hub-card p{color:var(--muted);margin:0;line-height:1.55}.hub-card:hover{border-color:rgba(244,200,61,.55);transform:translateY(-1px)}.doc-brand-logo img{filter:none!important}
@media(max-width:1020px){.clean-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.clean-hub-grid{grid-template-columns:1fr}.settings-grid{display:grid!important;grid-template-columns:1fr!important}}

/* Documents STAD / plan financier / répertoire */
.company-doc-list{display:grid;gap:10px}.company-doc-row{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden}.company-doc-row>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.company-doc-row>summary::-webkit-details-marker{display:none}.company-doc-row.is-expired{border-color:rgba(255,92,115,.45)}.company-doc-actions{padding:0 16px 16px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.025)}.directory-card span{display:block;color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.directory-card strong{display:block;margin:5px 0;color:var(--text)}.btn.danger{border-color:rgba(255,92,115,.6)!important;color:#ff8ea0!important;background:rgba(255,92,115,.08)!important}.btn.mini{padding:7px 10px;font-size:.78rem}.theme-light .company-doc-row,.theme-light .directory-card{background:#fff;border-color:#e2ddd2}.theme-light .company-doc-row strong,.theme-light .directory-card strong{color:#071522}.theme-light .company-doc-actions p{color:#475569}
@media(max-width:980px){.directory-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.directory-grid{grid-template-columns:1fr}.company-doc-row>summary{display:grid}}

/* Responsive hero image sources */
@media(max-width:800px){
  .hero:before,.page-hero:before{
    background:
      linear-gradient(90deg,rgba(2,13,24,.92) 0%,rgba(2,13,24,.75) 37%,rgba(2,13,24,.30) 65%,rgba(2,13,24,.14) 100%),
      linear-gradient(180deg,rgba(2,13,24,.08),rgba(2,13,24,.32)),
      url("/assets/img/hero-construction-full-scene-800.webp") var(--stad-hero-bg-x) var(--stad-hero-bg-y)/cover no-repeat!important;
  }
  html.theme-light .hero:before,html.theme-light .page-hero:before{
    background:
      linear-gradient(90deg,rgba(252,250,245,.93) 0%,rgba(252,250,245,.76) 38%,rgba(252,250,245,.29) 68%,rgba(252,250,245,.10) 100%),
      linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.20)),
      url("/assets/img/hero-construction-full-scene-800.webp") var(--stad-hero-bg-x) var(--stad-hero-bg-y)/cover no-repeat!important;
  }
}
@media(min-width:1800px){
  .hero:before,.page-hero:before{
    background-image:
      linear-gradient(90deg,rgba(2,13,24,.92) 0%,rgba(2,13,24,.75) 37%,rgba(2,13,24,.30) 65%,rgba(2,13,24,.14) 100%),
      linear-gradient(180deg,rgba(2,13,24,.08),rgba(2,13,24,.32)),
      url("/assets/img/hero-construction-full-scene.webp")!important;
  }
  html.theme-light .hero:before,html.theme-light .page-hero:before{
    background-image:
      linear-gradient(90deg,rgba(252,250,245,.93) 0%,rgba(252,250,245,.76) 38%,rgba(252,250,245,.29) 68%,rgba(252,250,245,.10) 100%),
      linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.20)),
      url("/assets/img/hero-construction-full-scene.webp")!important;
  }
}
