
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#f7f2eb;
  --bg-soft:#fbf8f3;
  --ivory:#f9f5ef;
  --text:#273033;
  --muted:#66615b;
  --line:rgba(91,78,58,.16);
  --navy:#204c67;
  --navy-deep:#153949;
  --forest:#163a38;
  --gold:#d6b16a;
  --gold-deep:#ad8747;
  --white:#fff;
  --shadow:0 18px 45px rgba(33,42,52,.10);
  --radius:22px;
  --container:min(1180px, calc(100% - 28px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(214,177,106,.18), transparent 22%),
    linear-gradient(180deg,#f8f4ee,#f4efe7);
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:var(--container);margin:0 auto}
.narrow{max-width:860px;margin-inline:auto}
.center{text-align:center}
.top-space{padding-top:9rem}
.section{padding:5rem 0}
.soft-bg{background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.15))}
.ivory{background:rgba(255,255,255,.44)}

.site-header{
  position:sticky; top:0; z-index:30;
  backdrop-filter:blur(12px);
  background:linear-gradient(180deg, rgba(22,58,56,.90), rgba(22,58,56,.78));
  border-bottom:1px solid rgba(255,255,255,.14);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between;
  min-height:84px; gap:22px;
}
.brand{display:flex; align-items:center; gap:12px; min-width:0}
.brand img{width:66px; height:auto; object-fit:contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,.18));}
.brand span{display:flex; flex-direction:column; color:#fff; line-height:1.2}
.brand strong{font-family:"Cormorant Garamond",serif; font-size:1.8rem; font-weight:600}
.brand em{font-style:normal; color:rgba(255,255,255,.74); font-size:.82rem}
.main-nav{display:flex; align-items:center; gap:4px}
.main-nav a{
  color:rgba(255,255,255,.84);
  padding:.82rem 1rem;
  border-radius:999px;
  transition:.25s ease;
}
.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.10); color:#fff}
.menu-toggle{display:none; width:48px; height:48px; border:1px solid rgba(255,255,255,.16); background:transparent; border-radius:14px}
.menu-toggle span{display:block;width:20px;height:2px;background:#fff;margin:5px auto;border-radius:99px}
body.menu-open{overflow:hidden}

.hero{
  position:relative; min-height:86vh; display:flex; align-items:center;
  background-size:cover; background-position:center;
}
.hero-home{background-image:url('assets/Hero-Home.jpg?v=1')}
.services-hero{background-image:url('assets/Hero-Services.jpg?v=1')}
.hero-overlay,.page-hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(251,247,241,.82) 0%, rgba(251,247,241,.64) 40%, rgba(17,24,28,.16) 100%),
    linear-gradient(180deg, rgba(17,25,29,.28), rgba(17,25,29,.08));
}
.hero-content,.page-hero{position:relative; z-index:1}
.hero-panel, .hero-box{
  max-width:650px;
  padding:2.4rem 2.2rem;
  background:rgba(255,251,247,.40);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:var(--shadow);
  backdrop-filter: blur(7px);
  border-radius:30px;
}
.page-hero{position:relative; padding:8rem 0 6rem; background-size:cover; background-position:center}
.overline{
  display:inline-block;
  font-size:.82rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:.65rem;
}
h1,h2,h3{font-family:"Cormorant Garamond",serif; margin:0 0 .65rem}
h1{font-size:clamp(3rem,7vw,5.3rem); line-height:.93; letter-spacing:-.03em}
h2{font-size:clamp(2.35rem,4vw,3.5rem); line-height:.98}
h3{font-size:1.9rem; line-height:1.1}
p{margin:.35rem 0 0; color:var(--muted)}
.lead{font-size:1.12rem}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:1.5rem}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:.92rem 1.25rem; border-radius:14px;
  font-weight:600; border:none; cursor:pointer;
  box-shadow:0 10px 22px rgba(27,37,46,.10);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 18px 28px rgba(27,37,46,.16)}
.btn-blue{background:linear-gradient(180deg, #2d6282, var(--navy)); color:#fff}
.btn-gold{background:linear-gradient(180deg, #ecd39a, var(--gold)); color:#493516}
.btn-light{background:rgba(255,255,255,.76); color:var(--navy-deep); border:1px solid rgba(32,76,103,.12)}
.btn-small{min-height:44px; padding:.72rem 1rem}

.title-block{margin-bottom:2.2rem}
.title-block p{max-width:720px; margin-inline:auto}

.cards{display:grid; gap:22px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.service-card,.detail-card,.quote-card,.step-card,.contact-form,.faq-item{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(181,158,116,.22);
  border-radius:20px;
  box-shadow:var(--shadow);
}
.service-card,.detail-card,.quote-card{padding:1.5rem}
.service-card h3,.detail-card h3,.quote-card strong{color:#203744}
.icon-circle{
  width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(180deg, rgba(214,177,106,.22), rgba(32,76,103,.10));
  color:var(--navy-deep); font-weight:700; margin-bottom:1rem;
}
.split-band{padding:4.8rem 0}
.split-grid{display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:26px}
.reverse{direction:rtl}
.reverse > *{direction:ltr}
.copy-pane{
  padding:1rem;
}
.image-pane img{
  width:100%; height:420px; object-fit:cover;
  border-radius:26px; box-shadow:var(--shadow);
}
.mini-stats{display:flex; gap:12px; flex-wrap:wrap; margin-top:1.2rem}
.mini-stats div{
  background:rgba(255,255,255,.76); border:1px solid var(--line); border-radius:14px; padding:.85rem 1rem;
}
.steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.step-card{padding:1.4rem}
.step-card span{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg, #f1deba, var(--gold)); color:#533e18; font-weight:700; margin-bottom:1rem;
}
.transparent-band{
  background:
    linear-gradient(180deg, rgba(22,58,56,.88), rgba(22,58,56,.80)),
    url('assets/mood-2.jpg?v=1') center/cover;
  color:#fff;
}
.band-inner{
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:2rem 0;
}
.transparent-band .overline,.transparent-band h2,.transparent-band p{color:#fff}
.about-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center; margin-bottom:2rem}
.info-points .service-card{min-height:100%}
.gallery-grid{
  display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:18px;
}
.gallery-item{position:relative; overflow:hidden; border-radius:22px; box-shadow:var(--shadow)}
.gallery-item.large{grid-row:span 2}
.gallery-item img{width:100%; height:100%; min-height:280px; object-fit:cover; transition:transform .35s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item figcaption{
  position:absolute; left:16px; bottom:16px; color:#fff;
  background:rgba(20,27,31,.38); border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(6px); padding:.55rem .8rem; border-radius:999px; font-size:.92rem;
}
.quote-card p{font-size:1.08rem; margin-bottom:1rem}
.faq-list{display:grid; gap:14px}
.faq-item{padding:1.1rem 1.2rem}
.faq-item summary{cursor:pointer; font-weight:600; color:#213847}
.contact-layout{align-items:start}
.contact-form{padding:1.3rem}
.contact-form label{display:grid; gap:.45rem; margin-bottom:1rem; color:#293237; font-weight:500}
.contact-form input,.contact-form textarea{
  width:100%; border:1px solid rgba(33,56,71,.12); background:#fff; color:#222;
  border-radius:14px; padding:.9rem 1rem; outline:none;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(32,76,103,.45); box-shadow:0 0 0 4px rgba(32,76,103,.10)}
.hidden-field{position:absolute; left:-9999px; opacity:0; pointer-events:none}
.contact-block{margin-top:1.4rem; display:grid; gap:.25rem}

.site-footer{
  background:#15302f;
  color:rgba(255,255,255,.82);
  padding:3rem 0;
}
.footer-grid{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:28px}
.footer-logo{width:110px; margin-bottom:1rem}
.site-footer h3{font-size:1.5rem; color:#fff}
.site-footer a,.site-footer span{display:block; margin:.4rem 0}
.socials{display:flex; gap:14px; flex-wrap:wrap; margin-top:.8rem}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1; transform:none}

@media (max-width: 980px){
  .cards.four,.cards.three,.steps-grid,.split-grid,.about-grid,.gallery-grid,.footer-grid{grid-template-columns:1fr 1fr}
  .gallery-item.large{grid-row:auto; grid-column:span 2}
  .main-nav{
    position:fixed; top:84px; left:14px; right:14px;
    display:none; flex-direction:column; align-items:stretch; gap:6px;
    background:rgba(22,58,56,.96); border:1px solid rgba(255,255,255,.12);
    border-radius:20px; padding:12px; box-shadow:var(--shadow)
  }
  body.menu-open .main-nav{display:flex}
  .menu-toggle{display:block}
}
@media (max-width: 720px){
  .brand span em{display:none}
  .hero,.page-hero{min-height:auto}
  h1{font-size:2.8rem}
  h2{font-size:2.3rem}
  .hero-panel,.hero-box{padding:1.5rem}
  .cards.four,.cards.three,.steps-grid,.split-grid,.about-grid,.gallery-grid,.footer-grid{grid-template-columns:1fr}
  .gallery-item.large{grid-column:auto}
  .image-pane img{height:300px}
  .band-inner{flex-direction:column; align-items:flex-start}
}


/* About editorial page */
.about-editorial-page{padding-bottom:6rem}
.about-editorial{max-width:980px}
.lined-title,.lined-subtitle{display:flex;align-items:center;gap:1.25rem;width:100%}
.lined-title h1,.lined-subtitle h2{display:block;position:relative;padding:0;margin:0;flex:0 1 auto;background:transparent;z-index:1}
.lined-title::before,.lined-title::after,.lined-subtitle::before,.lined-subtitle::after{
  content:"";display:block;position:relative;top:auto;left:auto;right:auto;flex:1 1 140px;height:1px;background:rgba(173,135,71,.28)
}
.about-story-row{display:grid; grid-template-columns:1.05fr 1.35fr; gap:26px; align-items:center; padding:1.4rem 0}
.about-story-media img{width:100%; height:260px; object-fit:cover; border-radius:8px; box-shadow:var(--shadow)}
.about-story-copy h2{font-size:3rem; margin-bottom:.8rem}
.about-story-copy p{font-size:1.06rem}
.section-divider{border-top:1px solid rgba(173,135,71,.16); margin-top:1rem; padding-top:2rem}
.about-focus-grid,.about-engagement-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center}
.about-icon-list{display:grid; gap:1rem; padding:1rem 0 0}
.focus-item{display:flex; gap:.9rem; align-items:flex-start}
.focus-item span{display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:linear-gradient(180deg,#ecd39a,var(--gold)); color:#64481a; font-size:.9rem; margin-top:.12rem; flex:none}
.focus-item p{margin:0; color:#3a3b39}
.about-quote-box{min-height:100%; display:grid; place-items:center; border-left:1px solid rgba(173,135,71,.16); padding:1.5rem 0 1.5rem 2rem}
.about-quote-box p{font-family:"Cormorant Garamond",serif; font-size:2.1rem; line-height:1.15; color:#2a3237; max-width:280px}
.engagement-list{display:grid; gap:.9rem}
.engagement-list p{margin:0; color:#333}
.engagement-visual{position:relative}
.engagement-note{position:absolute; left:0; top:18px; z-index:1; max-width:290px; padding:1.25rem 1.35rem; background:rgba(255,249,241,.88); backdrop-filter:blur(6px); border:1px solid rgba(173,135,71,.16); border-radius:0 18px 18px 0; box-shadow:var(--shadow)}
.engagement-note strong{font-family:"Cormorant Garamond",serif; font-size:1.7rem; line-height:1.05; color:#263238; font-weight:600}
.engagement-visual img{width:100%; height:240px; object-fit:cover; border-radius:8px; box-shadow:var(--shadow)}
.about-approach .about-story-copy p{margin-bottom:.65rem}
@media (max-width: 820px){
  .lined-title,.lined-subtitle{gap:.9rem}
  .lined-title::before,.lined-title::after,.lined-subtitle::before,.lined-subtitle::after{flex-basis:56px;min-width:32px}
  .about-story-row,.about-focus-grid,.about-engagement-grid{grid-template-columns:1fr}
  .about-quote-box{border-left:none; border-top:1px solid rgba(173,135,71,.16); padding:1.4rem 0 0}
  .engagement-note{position:relative; top:auto; margin-bottom:1rem; border-radius:18px}
  .reverse-mobile .about-story-media{order:1}
  .reverse-mobile .about-story-copy{order:2}
}
@media (max-width: 620px){
  .about-story-copy h2{font-size:2.3rem}
  .about-quote-box p{font-size:1.7rem; max-width:none}
  .engagement-note strong{font-size:1.4rem}
}


.icon-svg img{width:24px;height:24px;object-fit:contain;color:var(--forest)}
.icon-circle{
  width:62px;height:62px;margin-bottom:1.15rem;
  background:linear-gradient(180deg, rgba(22,58,56,.12), rgba(22,58,56,.04));
  color:var(--forest);
  border:1px solid rgba(22,58,56,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.icon-text{font-size:1rem;letter-spacing:.04em}
.service-card{padding:2rem 1.6rem; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.service-card:hover,.detail-card:hover,.step-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px rgba(24,35,39,.14); border-color:rgba(22,58,56,.18)}
.service-card h3{font-size:1.7rem}

.premium-steps{position:relative;align-items:stretch}
.premium-steps::before{content:"";position:absolute;left:16%;right:16%;top:42px;height:1px;background:linear-gradient(90deg, rgba(22,58,56,0), rgba(22,58,56,.22), rgba(22,58,56,0));}
.step-card{
  position:relative;
  padding:1.6rem 1.5rem 1.5rem;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
}
.step-card::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg, var(--gold), rgba(22,58,56,.75));opacity:.85}
.step-card span{
  width:58px;height:58px;
  background:linear-gradient(180deg, #ecd39a, #d6b16a);
  box-shadow:0 12px 24px rgba(214,177,106,.28);
  font-size:1.5rem;
}
.step-kicker{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:700;margin-bottom:.45rem}
.step-card h3{margin-bottom:.35rem}

.service-list .detail-card{padding:1.15rem 1.15rem 1.4rem}
.service-thumb{
  width:100%;height:180px;object-fit:cover;border-radius:16px;
  margin:0 0 1rem;box-shadow:0 14px 26px rgba(28,36,42,.10);
}
.detail-card h3{font-size:1.45rem;line-height:1.1}

.site-footer{
  position:relative;
  background:linear-gradient(135deg, #102f2d 0%, #163a38 55%, #1d4a46 100%);
  color:rgba(255,255,255,.84);
  padding:4rem 0 2rem;
  overflow:hidden;
}
.site-footer::before,.site-footer::after{content:"";position:absolute;border-radius:50%;filter:blur(8px);opacity:.18}
.site-footer::before{width:280px;height:280px;background:rgba(214,177,106,.45);left:-80px;top:-120px}
.site-footer::after{width:220px;height:220px;background:rgba(255,255,255,.10);right:-60px;bottom:-70px}
.footer-shell{position:relative;z-index:1}
.footer-top{
  display:grid;grid-template-columns:1.3fr .8fr .9fr .75fr;gap:28px;
  padding:2rem;border:1px solid rgba(255,255,255,.10);border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(0,0,0,.18)
}
.footer-brand-block{max-width:390px}
.footer-logo{width:120px;margin-bottom:1rem;border-radius:18px;background:rgba(255,255,255,.92);padding:.45rem}
.footer-tagline{color:rgba(255,255,255,.75);margin-bottom:1rem}
.footer-mail{display:inline-flex;align-items:center;gap:.4rem;padding:.8rem 1rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:#fff}
.footer-links-col h3{font-size:1.55rem;color:#fff;margin-bottom:.75rem}
.footer-links{display:grid;gap:.35rem}
.footer-links a,.socials a{color:rgba(255,255,255,.82);transition:transform .2s ease,color .2s ease,opacity .2s ease}
.footer-links a:hover,.socials a:hover{color:#fff;transform:translateX(2px)}
.footer-badges{display:flex;flex-wrap:wrap;gap:.6rem}
.footer-badges span{display:inline-flex;align-items:center;padding:.62rem .85rem;border-radius:999px;background:rgba(214,177,106,.14);border:1px solid rgba(214,177,106,.28);color:#fff}
.socials{display:flex;flex-direction:column;gap:.55rem;margin-top:.3rem}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:1rem .35rem 0;color:rgba(255,255,255,.62);font-size:.95rem}

@media (max-width: 980px){
  .footer-top{grid-template-columns:1fr 1fr}
  .premium-steps::before{display:none}
}
@media (max-width: 720px){
  .footer-top{grid-template-columns:1fr;padding:1.35rem}
  .footer-mail{width:100%;justify-content:center}
  .service-thumb{height:160px}
}


.about-engagement-text{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:28px;
  align-items:stretch;
}
.engagement-list-large{
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55));
  border:1px solid rgba(173,135,71,.16);
  border-radius:28px;
  padding:1.5rem 1.6rem;
  box-shadow:0 18px 42px rgba(24,35,39,.08);
}
.engagement-list-large p{font-size:1.08rem;line-height:1.7}
.engagement-quote-inline{
  display:grid;place-items:center;
  border-radius:28px;
  padding:1.6rem;
  background:linear-gradient(135deg, rgba(22,58,56,.96), rgba(29,74,70,.92));
  color:#fff;
  box-shadow:0 22px 48px rgba(16,32,33,.16);
}
.engagement-quote-inline strong{
  font-family:"Cormorant Garamond",serif;
  font-size:2.2rem;
  line-height:1.05;
  max-width:320px;
  text-align:center;
}
.approach-enhanced{gap:34px}
.approach-media-card img{height:340px;border-radius:24px}

.pricing-highlight-section{
  background:linear-gradient(180deg, rgba(22,58,56,.10), rgba(22,58,56,.04));
  color:var(--navy-deep);
  padding-top:5rem;
  padding-bottom:4.2rem;
}
.pricing-highlight{
  display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center;
  padding:2.1rem;
  border-radius:34px;
  border:1px solid rgba(22,58,56,.10);
  background:linear-gradient(135deg, rgba(22,58,56,.96) 0%, rgba(29,74,70,.92) 55%, rgba(214,177,106,.26) 100%);
  box-shadow:0 28px 60px rgba(16,32,33,.14);
}
.overline-light{color:rgba(255,255,255,.72)}
.pricing-highlight-head h2{color:#fff;font-size:3.2rem;line-height:1.04;margin-bottom:1rem}
.pricing-highlight-head p{color:rgba(255,255,255,.82);max-width:700px}
.pricing-highlight-card{
  background:linear-gradient(180deg, rgba(255,251,247,.98), rgba(247,242,234,.96));
  color:#233036;border-radius:28px;padding:2rem 2rem 2.1rem;
  box-shadow:0 26px 50px rgba(7,18,18,.18);border:1px solid rgba(255,255,255,.28)
}
.pricing-highlight-card h3{font-size:2.2rem;margin-bottom:1rem;color:#173735}
.pricing-highlight-card ul{margin:0 0 1.4rem 1.1rem;padding:0;display:grid;gap:.7rem;color:#4a4d4a}
.pricing-highlight-card li::marker{color:var(--gold)}
.partners-mini-section{padding-top:4.4rem}
.partners-mini-head h2{max-width:760px;margin-inline:auto}
.partners-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:2rem}
.partner-mini-card{
  min-height:132px;border-radius:26px;border:1px solid rgba(22,58,56,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,237,.96));
  display:grid;place-items:center;box-shadow:0 20px 45px rgba(24,35,39,.08);
  padding:1rem 1.25rem;
}
.partner-brand-card img{
  width:min(78%, 230px);height:auto;display:block;filter:none;opacity:1;
}
.partner-brand-card:nth-child(2) img{width:min(84%,240px)}
.partner-brand-card:nth-child(3) img{width:min(74%,190px);max-height:72px;object-fit:contain}

.site-footer{padding:4rem 0 2rem}
.footer-shell{width:min(90vw,1240px);margin:0 auto}
.footer-top{grid-template-columns:1.45fr .85fr .95fr .8fr}

@media (max-width: 980px){
  .pricing-highlight,.about-engagement-text{grid-template-columns:1fr}
  .pricing-highlight-head h2{font-size:2.6rem}
  .partners-mini-grid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .lined-title h1,.lined-subtitle h2{padding:0 .2rem}
  .engagement-quote-inline strong{font-size:1.7rem}
  .approach-media-card img{height:260px}
  .pricing-highlight-card{padding:1.45rem}
  .pricing-highlight-head h2{font-size:2.15rem}
  .partner-mini-card span{font-size:1.65rem}
}

.form-alert{
  margin-top:1.25rem;
  padding:1rem 1.1rem;
  border-radius:18px;
  border:1px solid rgba(22,58,56,.14);
  background:#fff;
  color:#243132;
  box-shadow:0 18px 44px rgba(22,58,56,.08)
}
.form-alert--success{border-color:rgba(56,115,89,.24); background:rgba(56,115,89,.08)}
.form-alert--error{border-color:rgba(166,73,73,.24); background:rgba(166,73,73,.08)}
.hidden-field{position:absolute; left:-9999px; opacity:0; pointer-events:none}

.cards.two{grid-template-columns:repeat(2,1fr)}


.footer-shell{display:grid; gap:1.8rem}
.footer-top{display:grid; grid-template-columns:1.3fr .9fr .9fr .9fr; gap:24px; align-items:start}
.footer-brand-block{display:grid; gap:.4rem}
.footer-tagline{max-width:340px}
.footer-mail{color:#fff}
.footer-links{display:grid; gap:.2rem}
.footer-badges{display:grid; gap:.55rem}
.footer-badges span{display:inline-flex; width:max-content; padding:.45rem .7rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.04)}
.footer-bottom{display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:1rem; border-top:1px solid rgba(255,255,255,.08)}
.zone-card{padding:2rem 1.6rem}
.zone-heading{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem}
.zone-badge{display:inline-flex; align-items:center; min-height:34px; padding:.35rem .8rem; border-radius:999px; background:linear-gradient(180deg,#ecd39a,var(--gold)); color:#533e18; font-size:.85rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase}
.featured-zone{border-color:rgba(32,76,103,.22); box-shadow:0 22px 40px rgba(24,35,39,.12)}
.city-cloud{display:flex; flex-wrap:wrap; gap:10px; margin-top:1.2rem}
.city-cloud span,.zone-checklist div{display:inline-flex; align-items:center; padding:.62rem .85rem; border-radius:999px; background:rgba(255,255,255,.88); border:1px solid rgba(32,76,103,.10); color:#1f3644; box-shadow:0 8px 20px rgba(24,35,39,.06)}
.zone-checklist{display:flex; flex-wrap:wrap; gap:10px; margin-top:1.2rem}
@media (max-width: 980px){
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .cards.two,.footer-top{grid-template-columns:1fr}
  .zone-heading{align-items:flex-start; flex-direction:column}
}


.benefit-list{margin:1rem 0 0; padding-left:1.2rem; color:var(--ink)}
.benefit-list li{margin:.45rem 0}
.contact-block + .contact-block{margin-top:.85rem}
.contact-block a[href^="tel"]{font-weight:700}

.legal-hero{padding-bottom:3rem}.legal-section{padding-top:3.5rem}.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.legal-card{border-radius:28px;border:1px solid rgba(22,58,56,.10);background:rgba(255,255,255,.92);box-shadow:0 18px 44px rgba(24,35,39,.08);padding:1.7rem}.legal-card h2{font-size:1.45rem;margin-bottom:.75rem;color:var(--green)}.legal-card p{color:#4a4d4a;margin:.55rem 0}.legal-card a{color:var(--blue);font-weight:700}.legal-note{border-left:3px solid var(--gold);padding-left:.85rem;font-size:.95rem;background:rgba(218,181,94,.08);border-radius:0 12px 12px 0}.cookie-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(92vw,980px);z-index:90;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:1rem 1.1rem;border-radius:24px;background:rgba(22,58,56,.96);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12)}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:.25rem 0 0;color:rgba(255,255,255,.82)}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-banner .btn-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.18)}@media (max-width: 720px){.legal-grid{grid-template-columns:1fr}.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-actions{justify-content:flex-start}}

/* Conformité légale : formulaire et bandeau cookies */
.legal-card ul{margin:.75rem 0 0 1.1rem;color:#4a4d4a}.legal-card li{margin:.38rem 0}.legal-card button{font-family:inherit}.rgpd-consent{display:flex!important;gap:.7rem;align-items:flex-start;font-size:.92rem;line-height:1.45;color:var(--muted)}.rgpd-consent input{width:auto;margin-top:.25rem;accent-color:var(--green)}.rgpd-consent a{color:var(--blue);font-weight:700}.cookie-banner{max-height:calc(100vh - 36px);overflow:auto}.cookie-actions button{cursor:pointer}.cookie-actions .btn-light:hover{background:rgba(255,255,255,.2)}
