@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400&family=Inter:wght@400;500;600&display=swap');

:root{
  --paper:#FFFFFF;
  --paper-deep:#EEF2FA;
  --ink:#1D2126;
  --ink-soft:#4A4F56;
  --ink-faint:#8B929A;
  --rule:#DDE1E6;
  --accent:#2C4A93;
  --accent-soft:#5876C2;
  --navy:#1B2A4A;
  --navy-ink:#FFFFFF;
  --navy-ink-soft:#C9D5EE;
  --measure:760px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4', Georgia, serif;
  font-size:18px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--measure);margin:0 auto;padding:0 28px;}
.wrap-wide{max-width:var(--measure);margin:0 auto;padding:0 28px;}
.wrap-grid{max-width:960px;margin:0 auto;padding:0 28px;}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.trio-col{background:var(--paper-deep);padding:22px 20px;border-radius:3px;}
.trio-col h2{
  font-family:'Fraunces',serif;font-weight:600;font-size:18.5px;line-height:1.25;margin:0 0 12px;color:var(--accent);
}
@media (max-width:700px){
  .trio{grid-template-columns:1fr;gap:16px;}
}

a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule);}
a:hover{border-bottom-color:var(--accent);}
a:focus-visible, button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* Header */
.site-header{background:var(--navy);padding:22px 0 18px;}
.header-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px 28px;}
.brand-block{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.brand{
  font-family:'Fraunces',serif;font-weight:600;font-size:19px;letter-spacing:.01em;
  color:#fff;border-bottom:none;
}
.brand:hover{border-bottom:none;color:var(--navy-ink-soft);}
.brand-tagline{
  font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-ink-soft);
}
.nav{display:flex;flex-wrap:wrap;gap:2px 18px;font-family:'Inter',sans-serif;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;}
.nav a{color:var(--navy-ink-soft);border-bottom:1px solid transparent;padding-bottom:2px;}
.nav a:hover, .nav a.current{color:#fff;border-bottom-color:#fff;}

/* Hero band — navy, full-bleed */
.hero{
  background:var(--navy);color:#fff;
  width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
  padding:40px 0 36px;
}
.hero-inner{max-width:var(--measure);margin:0 auto;padding:0 28px;}
.hero h1.display{color:#fff;}
.hero .kicker{color:var(--navy-ink-soft);}
.hero .lead{color:#fff;}
.hero p{color:var(--navy-ink-soft);}
.hero a{color:#fff;border-bottom-color:rgba(255,255,255,.4);}
.hero a:hover{border-bottom-color:#fff;}

/* Sections */
main{padding-bottom:12px;}
.section{padding:18px 0;}
.section-tight{padding:14px 0;}

.kicker{
  font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-soft);margin:0 0 10px;
}

h1.display{
  font-family:'Fraunces',serif;font-weight:600;font-size:25px;
  line-height:1.32;margin:0 0 16px;letter-spacing:-0.005em;
}
h1.display .name-line{display:block;}
h1.display .tag-line{display:block;}

h2.section-title{
  font-family:'Fraunces',serif;font-weight:600;font-size:25px;line-height:1.25;margin:0 0 14px;color:var(--accent);
}
h3.block-title{
  font-family:'Fraunces',serif;font-weight:600;font-size:16.5px;margin:0 0 4px;color:var(--accent);
}

p{margin:0 0 12px;text-align:left;}
.lead{font-size:20px;line-height:1.45;color:var(--ink);text-align:left;margin-bottom:14px;}
.muted{color:var(--ink-soft);}
.small{font-size:14.5px;color:var(--ink-soft);}

ul.list{padding-left:0;margin:0 0 4px;list-style:none;}
ul.list li{position:relative;padding:4px 0 4px 18px;line-height:1.42;}
ul.list li::before{content:"\00B7";position:absolute;left:0;top:4px;color:var(--ink-faint);font-size:20px;line-height:1;}

/* Client / results list */
dl.clients{margin:0;}
.client{padding:10px 0;}
.client dt{font-family:'Fraunces',serif;font-weight:600;font-size:16.5px;margin:0 0 2px;color:var(--accent);}
.client .tag{display:block;font-style:italic;color:var(--ink-soft);font-size:14.5px;margin:0 0 3px;text-align:left;}
.client dd{margin:0;color:var(--ink-soft);text-align:left;}

/* Segment / audience blocks */
.segment-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.segment{background:var(--paper-deep);padding:20px 22px;border-radius:3px;}
.segment h3{font-family:'Fraunces',serif;font-weight:600;font-size:16.5px;margin:0 0 6px;color:var(--accent);}
.segment p{margin:0 0 6px;}
.segment .go{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;}
@media (max-width:700px){
  .segment-grid{grid-template-columns:1fr;}
}

/* Domaines groups on home */
.domaine{padding:16px 0;}
.domaine .sub{font-style:italic;color:var(--ink-soft);margin:0 0 8px;text-align:left;}

/* FAQ */
.faq-item{padding:12px 0;}
.faq-item h3{font-family:'Fraunces',serif;font-weight:600;font-size:17px;margin:0 0 5px;color:var(--accent);}

/* CTA */
.cta{background:var(--paper-deep);padding:26px 28px;margin:8px 0;}
.cta-early{background:var(--paper-deep);padding:20px 28px;margin:20px 0 4px;}
.cta h2.section-title, .cta-early h2.section-title{font-size:20px;margin-bottom:8px;}
.cta p, .cta-early p{text-align:left;}
.contact-line{
  font-family:'Inter',sans-serif;font-size:13.5px;letter-spacing:.02em;color:var(--ink-soft);margin:0;
}
.contact-line a{color:var(--ink-soft);}
.tel{white-space:nowrap;}

/* Contact page rows */
.contact-row{display:flex;gap:14px;padding:9px 0;align-items:baseline;flex-wrap:wrap;}
.contact-row .label{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);min-width:120px;}
.contact-row .value{margin:0;}
.contact-row .value p{margin:0;text-align:left;}

/* Footer — the one horizontal rule kept */
.site-footer{border-top:1px solid var(--rule);padding:20px 0 36px;margin-top:16px;}
.footer-meta{
  font-family:'Inter',sans-serif;font-size:11.5px;color:var(--ink-faint);
  max-width:var(--measure);margin:0 auto;padding:0 28px;
}

.placeholder-box{
  background:var(--paper-deep);padding:22px;color:var(--ink-soft);font-family:'Inter',sans-serif;font-size:14px;
}

@media (max-width:560px){
  body{font-size:16.5px;}
  .section{padding:14px 0;}
}
