
:root{
  --navy:#123B70;
  --navy-dark:#0C376D;
  --blue:#174A86;
  --blue-soft:#EEF5FC;
  --white:#FFFFFF;
  --offwhite:#FAFAF7;
  --red:#DF2434;
  --red-hover:#C91F2E;
  --red-soft:#FCEDEF;
  --ink:#173653;
  --muted:#61788F;
  --line:#DDE8F2;
  --line2:#CADBEC;
  --shadow:0 18px 48px rgba(18,59,112,.09);
  --shadow-soft:0 10px 28px rgba(18,59,112,.06);
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1180px,calc(100% - 48px));margin:auto}

/* ---------- top utility bar ---------- */
.utility{
  background:linear-gradient(90deg,#123B70,#0C376D);
  color:#fff;
  font-size:12px;
}
.utility .wrap{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.utility-start{
  display:flex;
  align-items:center;
  gap:72px;
  min-width:0;
}
.palette-badge{
  flex:none;
  padding:6px 10px;
  border-radius:6px;
  color:#fff;
  background:rgba(255,255,255,.20);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  font-size:13px;
  font-weight:700;
}
.utility-links{
  display:flex;
  align-items:center;
  gap:26px;
}
.utility a{color:#fff;opacity:.96}

/* ---------- header ---------- */
.header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid #E4EBF2;
  box-shadow:0 3px 14px rgba(18,59,112,.035);
}
.header-inner{
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--navy);
  flex:none;
}
.logo-mark{
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  color:var(--navy);
  background:#fff;
  border:1.5px solid #ED7780;
  border-radius:9px;
  font:700 17px Georgia,"Times New Roman",serif;
}
.logo b{
  display:block;
  font-size:14px;
  font-weight:800;
  letter-spacing:.075em;
}
.logo small{
  display:block;
  margin-top:4px;
  color:var(--red);
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
}
.nav{
  display:flex;
  align-items:center;
  gap:2px;
  font-size:13.5px;
  font-weight:780;
}
.nav a{
  padding:11px 10px;
  color:#163f69;
  border-radius:9px;
}
.nav a:hover,.nav a.active{
  color:var(--navy);
  background:#EEF4FB;
}
.nav .cta{
  margin-left:9px;
  padding:11px 15px;
  color:#fff;
  background:var(--red);
  border-radius:9px;
  box-shadow:0 7px 18px rgba(223,36,52,.16);
}
.nav .cta:hover{color:#fff;background:var(--red-hover)}
.menu{
  display:none;
  padding:8px 12px;
  color:var(--navy);
  background:#fff;
  border:1px solid var(--line2);
  border-radius:9px;
}

/* ---------- typography ---------- */
.eyebrow{
  display:block;
  margin-bottom:11px;
  color:var(--red);
  font-size:10px;
  font-weight:850;
  letter-spacing:.19em;
  text-transform:uppercase;
}
h1,h2,h3{color:var(--navy)}
p{margin-top:0}
.text-link{color:var(--red);font-size:12.5px;font-weight:780}
.text-link:hover{color:var(--red-hover)}

/* ---------- exact-style homepage hero ---------- */
.hero{
  position:relative;
  overflow:hidden;
  padding:48px 0 52px;
  background:
    url("/eiffel-mockup-background.png") left bottom/232px 100% no-repeat,
    radial-gradient(circle at 99% 12%,rgba(223,36,52,.18),transparent 28%),
    radial-gradient(circle at 2% 88%,rgba(23,74,134,.15),transparent 31%),
    linear-gradient(108deg,#EEF5FC 0%,#FFFFFF 43%,#FFFFFF 72%,#FCEDEF 100%);
  border-bottom:1px solid #DFE8F1;
}
.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(355px,.84fr);
  gap:58px;
  align-items:center;
}
.hero-grid>div:first-child{
  padding:12px 0 6px 0;
}
.hero h1{
  margin:7px 0 17px;
  max-width:760px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(43px,5vw,64px);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1.02;
}
.hero h1 em{
  color:var(--red);
  font-style:normal;
  font-weight:400;
}
.hero p{
  max-width:700px;
  margin-bottom:0;
  color:#4D6680;
  font-size:16px;
  line-height:1.66;
}
.actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:45px;
  padding:0 20px;
  border-radius:10px;
  font-size:12px;
  font-weight:800;
  transition:.18s ease;
}
.btn.primary,.btn.gold{
  color:#fff;
  background:var(--red);
  box-shadow:0 9px 20px rgba(223,36,52,.14);
}
.btn.primary:hover,.btn.gold:hover{background:var(--red-hover)}
.btn.secondary{
  color:var(--navy);
  background:#fff;
  border:1.5px solid var(--blue);
}
.btn.secondary:hover{background:var(--blue-soft)}
.trust{
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:27px;
  color:#627B93;
  font-size:12px;
}
.trust b{
  color:var(--navy);
  padding-right:15px;
  border-right:2px solid var(--red);
}

/* ---------- quick access card ---------- */
.hero-card{
  position:relative;
  padding:22px 25px 19px 27px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(208,221,234,.82);
  border-radius:16px;
  box-shadow:0 18px 50px rgba(18,59,112,.12);
}
.hero-card:before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  width:5px;
  height:44px;
  background:var(--navy);
  border-radius:0 4px 4px 0;
}
.hero-card>.label{
  display:block;
  padding:0 0 12px;
  color:var(--red);
  border-bottom:1px solid #D7E1EB;
  font-size:10px;
  font-weight:850;
  letter-spacing:.11em;
}
.hero-card a{
  display:grid;
  grid-template-columns:38px 30px 1fr 19px;
  align-items:center;
  gap:8px;
  min-height:76px;
  padding:11px 0;
  border-bottom:1px solid #DFE7EF;
}
.hero-card a:last-child{border-bottom:0}
.quick-icon{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  color:var(--blue);
  background:#EEF4FB;
  border-radius:50%;
}
.quick-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-card b{
  color:var(--red);
  font-size:12px;
}
.hero-card strong{
  display:block;
  color:var(--navy);
  font-size:13.5px;
  font-weight:800;
}
.hero-card small{
  display:block;
  margin-top:3px;
  color:#6D8093;
  font-size:11px;
}
.hero-card i{
  color:var(--red);
  font-size:22px;
  font-style:normal;
  font-weight:500;
}

/* ---------- sections ---------- */
.section{
  padding:58px 0;
  background:#fff;
}
.section.alt{
  background:#F5F9FD;
  border-top:1px solid #E3EDF6;
  border-bottom:1px solid #E3EDF6;
}
.section:nth-of-type(4n){background:#FAFAF7}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.section-head:before{
  content:"";
  position:absolute;
}
.section-head h2,.page-hero h1{
  margin:0;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,3vw,39px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.12;
}
.section-head p{
  margin:6px 0 0;
  color:#667B91;
  font-size:13.5px;
  line-height:1.6;
}
.section>.wrap>.section-head:first-child{
  position:relative;
  padding-top:25px;
}
.section>.wrap>.section-head:first-child:after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:64px;
  height:3px;
  background:var(--red);
}

.cards,.weekly{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.card,.weekly article,.directory-cats article,.resource-grid article{
  position:relative;
  background:#fff;
  border:1px solid #E0E9F1;
  border-radius:17px;
  padding:22px 23px;
  box-shadow:var(--shadow-soft);
}
.card .tag,.weekly span{
  color:var(--navy);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}
.card h3,.weekly h3,.directory-cats h3,.resource-grid h3{
  margin:7px 0 9px;
  color:var(--navy);
  font-size:19px;
  line-height:1.23;
  font-weight:760;
}
.card p,.weekly p,.directory-cats p,.resource-grid p{
  color:#687C90;
  font-size:13.5px;
  line-height:1.58;
}
.card .meta{
  color:#647A90;
  font-size:12px;
}

/* ---------- memory/archive ---------- */
.memory-teaser{
  padding:64px 0;
  background:linear-gradient(108deg,#EEF5FC 0%,#FFFFFF 58%,#FCEDEF 125%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.memory-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:42px;
  align-items:center;
}
.memory-grid h2{
  margin:7px 0 13px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(31px,3.7vw,45px);
  line-height:1.09;
}
.memory-grid p{
  color:#61788E;
  font-size:15.5px;
  line-height:1.67;
}
.memory-grid img{
  width:100%;
  background:#fff;
  border:1px solid #D5E2EE;
  border-radius:17px;
  box-shadow:var(--shadow);
}
.timeline{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow-soft);
}
.timeline article{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:25px;
  padding:0 0 28px;
}
.timeline article:last-child{padding-bottom:0}
.timeline .year{color:var(--red);font-size:13px;font-weight:850}
.timeline h3{margin:0 0 6px;color:var(--navy);font-size:20px}
.timeline p{margin:0;color:#687C90;font-size:14px;line-height:1.58}
.archive{
  margin-top:36px;
  padding:29px;
  background:linear-gradient(110deg,#F3F8FD,#FFFFFF 58%,#FDF2F3);
  border:1px solid #D5E2EE;
  border-radius:22px;
  box-shadow:var(--shadow-soft);
}
.archive h2{
  margin:7px 0 12px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,3.6vw,43px);
}
.archive-intro{max-width:900px;color:#647A90;line-height:1.65}
.archive-layout{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:23px;
  align-items:start;
  margin-top:20px;
}
.archive-image,.archive-side{
  padding:15px;
  background:#fff;
  border:1px solid #D5E2EE;
  border-radius:17px;
}
.archive-image img{border-radius:11px}
.archive-side{background:#EEF5FC}
.archive-side h3{color:var(--navy)}
.archive-side p{color:#647A90;font-size:14px;line-height:1.6}
.archive-link{
  display:block;
  margin:8px 0;
  padding:11px 13px;
  color:var(--navy);
  background:#fff;
  border:1px solid #BED3E6;
  border-radius:9px;
  font-size:12.5px;
  font-weight:760;
}

/* ---------- newsletter ---------- */
.newsletter{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
  padding:31px;
  color:var(--ink);
  background:linear-gradient(110deg,#EEF5FC,#FFFFFF 60%,#FCEDEF);
  border:1px solid #D7E4EF;
  border-radius:19px;
  box-shadow:var(--shadow-soft);
}
.newsletter .eyebrow{color:var(--red)!important}
.newsletter h2{
  margin:0 0 7px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}
.newsletter p{color:#647A90;font-size:14px}
.newsletter form{display:flex;gap:8px}
.newsletter input{
  flex:1;
  min-width:0;
  padding:12px 13px;
  color:var(--ink);
  background:#fff;
  border:1px solid #C6D8E8;
  border-radius:9px;
}
.newsletter button{
  padding:12px 16px;
  color:#fff;
  background:var(--red);
  border:0;
  border-radius:9px;
  font-weight:800;
}

/* ---------- inner pages ---------- */
.page-hero{
  position:relative;
  overflow:hidden;
  padding:48px 0;
  background:linear-gradient(108deg,#EEF5FC,#FFFFFF 62%,#FCEDEF 125%);
  border-bottom:1px solid var(--line);
}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(34px,4vw,48px)}
.page-hero p{max-width:760px;color:#647A90;font-size:16px;line-height:1.62}
.page-body{padding:49px 0 74px}
.callout{
  margin-top:25px;
  padding:22px;
  background:#EEF5FC;
  border:1px solid #D6E4EF;
  border-left:4px solid var(--blue);
  border-radius:16px;
}
.callout h2{margin:0 0 7px;color:var(--navy);font-size:23px}
.callout p{color:#647A90;line-height:1.6}
.form{
  max-width:880px;
  padding:27px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:19px;
  box-shadow:var(--shadow-soft);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:block;margin:14px 0 7px;color:var(--navy);font-size:13px;font-weight:730}
.form input,.form select,.form textarea{
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  color:var(--ink);
  background:#fff;
  border:1px solid #CADBEA;
  border-radius:9px;
}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:3px solid rgba(23,74,134,.10);
  border-color:var(--blue);
}
.form input[type=checkbox]{width:auto;margin-right:7px}
.form .check{color:#536D85;font-weight:400}
.form fieldset{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:11px}
.form legend{color:var(--navy);font-weight:760}
.notice{color:#6D8193;font-size:12.5px}

/* ---------- grids/filters ---------- */
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.directory-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.filters button{
  padding:8px 13px;
  color:var(--navy);
  background:#fff;
  border:1px solid #BED2E4;
  border-radius:999px;
  font-size:12px;
  cursor:pointer;
}
.filters button:hover{background:#EEF5FC}
.filters button.active{color:#fff;background:var(--blue);border-color:var(--blue)}

/* ---------- footer ---------- */
.footer{
  padding:47px 0 20px;
  color:#E1EBF5;
  background:var(--navy);
  border-top:4px solid var(--red);
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.footer .logo{color:#fff}
.footer .logo-mark{color:#fff;background:#174A86;border-color:#85A5C5}
.footer .logo small{color:#FFD7DA}
.footer h3{color:#fff;font-size:14px}
.footer a{display:block;margin:8px 0;color:#DDE8F3;font-size:12.5px}
.footer p{color:#B8CDE0;font-size:13px;line-height:1.57}
.legal{
  margin-top:30px;
  padding-top:16px;
  color:#A8BED4;
  border-top:1px solid rgba(255,255,255,.15);
  font-size:11.5px;
}
.hidden{display:none!important}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .utility-start{gap:28px}
  .nav{
    display:none;
    position:absolute;
    top:84px;
    left:0;right:0;
    padding:14px 20px 18px;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 14px 30px rgba(18,59,112,.08);
    flex-direction:column;
    align-items:stretch;
  }
  .nav.open{display:flex}
  .nav a{padding:11px 12px}
  .nav .cta{margin:4px 0 0}
  .menu{display:block}
  .hero-grid,.memory-grid,.archive-layout,.newsletter{grid-template-columns:1fr}
  .hero-card{max-width:720px}
  .cards,.weekly,.directory-cats,.footer-grid{grid-template-columns:1fr 1fr}
  .newsletter form{max-width:650px}
}
@media(max-width:680px){
  .wrap{width:min(100% - 28px,1180px)}
  .utility .wrap{min-height:38px}
  .utility-start>span:not(.palette-badge){display:none}
  .palette-badge{font-size:11px;padding:5px 8px}
  .utility-links{gap:12px;font-size:10.5px}
  .header-inner{min-height:72px}
  .nav{top:72px}
  .hero{
    padding:36px 0 46px;
    background:
      url("/eiffel-mockup-background.png") left bottom/155px 100% no-repeat,
      linear-gradient(108deg,#EEF5FC,#FFFFFF 57%,#FCEDEF);
  }
  .hero h1{font-size:40px}
  .actions{flex-direction:column}
  .btn{width:100%}
  .trust{align-items:flex-start;flex-direction:column}
  .trust b{padding:0 0 8px;border-right:0;border-bottom:2px solid var(--red)}
  .hero-card{padding:20px 19px 15px 23px}
  .hero-card a{grid-template-columns:34px 27px 1fr 17px}
  .section{padding:49px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .cards,.weekly,.directory-cats,.resource-grid,.footer-grid,.form-row{grid-template-columns:1fr}
  .timeline article{grid-template-columns:1fr;gap:7px}
  .newsletter{padding:23px}
  .newsletter form{flex-direction:column}
  .page-hero{padding:40px 0}
}

/* ===== V47.1 homepage — proportions corrigees, couche ciblee et reversible ===== */
.home-v471 .wrap{
  width:min(1180px,calc(100% - 48px));
}
.home-v471 .editorial-hero{
  padding:24px 0;
}
.home-v471 .editorial-hero-inner{
  width:min(1180px,calc(100% - 48px));
  max-width:1180px;
  min-height:460px;
  margin:0 auto;
  grid-template-columns:minmax(380px,42%) minmax(0,58%);
  overflow:hidden;
  border:1px solid #e2ded4;
  border-radius:16px;
  background:#fbfaf6;
  box-shadow:0 14px 38px rgba(19,49,76,.07);
}
.home-v471 .editorial-hero-copy{
  min-width:380px;
  padding:38px 34px 34px;
  justify-content:center;
  background:#fbfaf6;
}
.home-v471 .editorial-kicker{
  margin-bottom:9px;
}
.home-v471 .hero-era{
  margin-bottom:14px;
}
.home-v471 .editorial-hero h1{
  max-width:470px;
  margin-bottom:16px;
  font-size:clamp(44px,3.7vw,50px);
  line-height:1.02;
}
.home-v471 .editorial-hero-copy>p{
  max-width:460px;
  margin-bottom:0;
  font-size:15.5px;
  line-height:1.55;
}
.home-v471 .editorial-actions{
  margin-top:20px;
}
.home-v471 .editorial-manifesto{
  margin-top:20px;
  padding-top:13px;
  font-size:11px;
}
.home-v471 .editorial-hero-photo{
  min-height:460px;
  background-image:linear-gradient(0deg,rgba(9,35,65,.2),rgba(9,35,65,0) 52%),url('/downtown-des-moines.jpg');
  background-position:center center;
  background-size:cover;
}
.home-v471 .editorial-wave{
  display:none;
}

.home-v471 .daily-hub{
  padding:38px 0 42px;
  background:linear-gradient(180deg,#eef7fb 0%,#f8fbfc 100%);
}
.home-v471 .daily-heading{
  margin-bottom:20px;
}
.home-v471 .daily-heading h2{
  max-width:680px;
  font-size:clamp(36px,3vw,42px);
  line-height:1.08;
}
.home-v471 .daily-grid--v47{
  gap:12px;
}
.home-v471 .daily-grid--v47 .daily-card{
  min-height:196px;
  padding:18px;
  border-radius:12px;
}
.home-v471 .daily-grid--v47 .daily-card--lead{
  min-height:206px;
  padding:20px 22px;
}
.home-v471 .daily-card small{
  margin-bottom:11px;
}
.home-v471 .daily-card h3{
  margin-bottom:8px;
  font-size:17px;
}
.home-v471 .daily-card--lead h3{
  font-size:22px;
}
.home-v471 .daily-card p{
  font-size:12.5px;
  line-height:1.45;
}
.home-v471 .daily-travel-note{
  margin-top:12px;
  padding:13px 17px;
}

@media (min-width:901px) and (max-width:1020px){
  .home-v471 .editorial-hero-inner{
    grid-template-columns:minmax(380px,42%) minmax(0,58%);
  }
  .home-v471 .editorial-hero-copy{
    min-width:380px;
    padding:34px 28px 30px;
  }
  .home-v471 .editorial-hero-photo{
    min-height:450px;
  }
}
@media (max-width:900px){
  .home-v471 .wrap,
  .home-v471 .editorial-hero-inner{
    width:min(100% - 40px,760px);
  }
  .home-v471 .editorial-hero{
    padding:20px 0;
  }
  .home-v471 .editorial-hero-inner{
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-v471 .editorial-hero-copy{
    min-width:0;
    padding:34px 32px 30px;
  }
  .home-v471 .editorial-hero h1{
    max-width:680px;
    font-size:clamp(38px,5.3vw,42px);
  }
  .home-v471 .editorial-hero-photo{
    min-height:330px;
    background-image:linear-gradient(0deg,rgba(9,35,65,.18),transparent 55%),url('/downtown-des-moines.jpg');
  }
  .home-v471 .daily-hub{
    padding:34px 0 38px;
  }
  .home-v471 .daily-grid--v47 .daily-card,
  .home-v471 .daily-grid--v47 .daily-card--lead{
    min-height:185px;
    padding:18px;
  }
}
@media (max-width:620px){
  .home-v471 .wrap,
  .home-v471 .editorial-hero-inner{
    width:calc(100% - 28px);
  }
  .home-v471 .editorial-hero{
    padding:14px 0;
  }
  .home-v471 .editorial-hero-inner{
    border-radius:12px;
  }
  .home-v471 .editorial-hero-copy{
    padding:28px 20px 24px;
  }
  .home-v471 .editorial-hero h1{
    font-size:clamp(30px,8.6vw,34px);
    line-height:1.05;
  }
  .home-v471 .editorial-hero-copy>p{
    font-size:14.5px;
  }
  .home-v471 .editorial-hero-photo{
    min-height:245px;
  }
  .home-v471 .daily-heading h2{
    font-size:32px;
  }
  .home-v471 .daily-grid--v47 .daily-card,
  .home-v471 .daily-grid--v47 .daily-card--lead{
    min-height:0;
  }
}


/* V35 — closer matching to the chosen screenshot */
.hero{
  min-height:520px;
}
.hero-grid{
  grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);
  gap:72px;
}
.hero-grid>div:first-child{
  padding-left:118px;
}
.hero h1{
  max-width:720px;
  font-size:clamp(46px,4.6vw,62px);
}
.hero-card{
  max-width:440px;
  justify-self:end;
  width:100%;
}
.hero-card a{
  min-height:72px;
}
.section:first-of-type{
  border-top:0;
}
@media(max-width:1020px){
  .hero-grid>div:first-child{padding-left:0}
  .hero-card{justify-self:start}
}
@media(max-width:680px){
  .hero{min-height:auto}
}


/* =========================================================
   V36 WORLD-CLASS FINISH
   ========================================================= */
:root{--champagne:#E8D8B5;--midnight:#082B55;--glass:rgba(255,255,255,.78)}
body{overflow-x:hidden}
.hero{min-height:560px}
.hero h1{font-family:"Iowan Old Style","Baskerville","Times New Roman",serif;text-wrap:balance}
.hero-card{backdrop-filter:blur(18px);background:rgba(255,255,255,.88)}
.card,.weekly article,.directory-cats article,.resource-grid article,.archive,.timeline,.form{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.card:hover,.weekly article:hover,.directory-cats article:hover,.resource-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(18,59,112,.10);border-color:#C4D7E8}
.luxury-head h2 em{color:var(--red);font-style:normal;font-weight:400}
.world-gallery{background:linear-gradient(180deg,#fff 0%,#F7FAFE 100%)}
.editorial-collage{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:290px 260px;gap:14px}
.photo-tile{position:relative;margin:0;overflow:hidden;border-radius:22px;background:#DDE8F2;box-shadow:0 18px 45px rgba(9,43,85,.11)}
.photo-tile--hero{grid-row:1/3}.photo-tile--wide{grid-column:2/4}
.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:saturate(.96) contrast(1.02)}
.photo-tile:hover img{transform:scale(1.035)}
.photo-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,28,54,.74));pointer-events:none}
.photo-tile figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff}.photo-tile figcaption span{display:block;color:#FFD6D9;font-size:9px;font-weight:850;letter-spacing:.16em}.photo-tile figcaption strong{display:block;margin-top:4px;font-family:"Iowan Old Style",Georgia,serif;font-size:22px;font-weight:600}
.memory-visual{position:relative;padding:0 42px 34px 0}.memory-visual>img{box-shadow:0 26px 55px rgba(18,59,112,.13)}
.memory-now{position:absolute;right:0;bottom:0;width:42%;border:7px solid #fff;border-radius:17px;overflow:hidden;box-shadow:0 18px 38px rgba(18,59,112,.18)}.memory-now img{width:100%;aspect-ratio:1.3/1;object-fit:cover}.memory-now span{position:absolute;left:10px;bottom:9px;padding:5px 8px;border-radius:6px;background:var(--red);color:#fff;font-size:8px;font-weight:850;letter-spacing:.12em}
.revenue-section{background:radial-gradient(circle at 15% 10%,rgba(23,74,134,.09),transparent 25%),linear-gradient(135deg,#F3F8FD,#fff 56%,#FFF4F5)}
.revenue-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.revenue-card,.price-card{position:relative;padding:27px;border:1px solid #DDE8F2;border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 16px 38px rgba(18,59,112,.07)}.revenue-card.featured,.price-card.featured{border-color:#9BBAD8;box-shadow:0 22px 48px rgba(18,59,112,.12)}.revenue-card.featured:before,.price-card.featured:before{content:"";position:absolute;top:0;left:25px;right:25px;height:3px;background:linear-gradient(90deg,var(--blue),var(--red));border-radius:0 0 4px 4px}.revenue-kicker,.price-card>span{color:var(--red);font-size:9px;font-weight:850;letter-spacing:.16em}.revenue-card h3,.price-card h3{font-family:"Iowan Old Style",Georgia,serif;font-size:25px;margin:10px 0;color:var(--navy)}.revenue-card p,.price-card p{color:#61788F;line-height:1.65;font-size:14px}.revenue-card small{display:block;margin-top:13px;color:#7C8FA1;font-size:11px}.price-card>strong{display:block;color:var(--navy);font-size:34px;margin:8px 0 10px}.price-card>strong small{font-size:13px;font-weight:600;color:#71859A}
.memory-hero{background:radial-gradient(circle at 85% 15%,rgba(223,36,52,.11),transparent 25%),linear-gradient(108deg,#EEF5FC,#fff 60%,#FCEDEF)}.memory-hero-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}.memory-hero h1{font-size:clamp(46px,6vw,78px);line-height:.98}.memory-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.memory-stat{display:flex;align-items:flex-end;gap:12px;padding:18px 22px;border-left:1px solid #C9DBEA}.memory-stat strong{font-family:"Iowan Old Style",Georgia,serif;font-size:76px;line-height:.78;color:var(--red);font-weight:500}.memory-stat span{color:var(--navy);font-size:12px;font-weight:750;line-height:1.25}
.memory-finder,.memory-community,.business-offers,.partner-program,.hubplus-panel{margin:0 0 52px;padding:34px;border:1px solid #DDE8F2;border-radius:26px;background:linear-gradient(145deg,#fff,#F7FAFD);box-shadow:0 18px 45px rgba(18,59,112,.06)}
.finder-heading{max-width:800px;margin-bottom:23px}.finder-heading h2{font-family:"Iowan Old Style",Georgia,serif;color:var(--navy);font-size:clamp(30px,4vw,46px);margin:6px 0 10px;line-height:1.08}.finder-heading p{color:#62798F;line-height:1.65}
.finder-tools{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:20px 0 24px}.memory-search{display:block;flex:1;max-width:480px;color:var(--navy);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.memory-search input{display:block;width:100%;margin-top:7px;padding:13px 15px;border:1px solid #CADBEA;border-radius:12px;background:#fff;color:var(--ink);font-size:14px;text-transform:none;letter-spacing:0}.memory-filters{display:flex;gap:7px;flex-wrap:wrap}.memory-filters button{padding:9px 12px;border-radius:999px;border:1px solid #C7D9E9;background:#fff;color:var(--navy);cursor:pointer;font-size:11px;font-weight:750}.memory-filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.memory-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.memory-card{overflow:hidden;border:1px solid #DFE8F0;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(18,59,112,.06)}.memory-card[hidden]{display:none}.memory-card-media{position:relative;height:220px;overflow:hidden}.memory-card-media img{width:100%;height:100%;object-fit:cover}.memory-card-media span{position:absolute;left:14px;bottom:12px;padding:5px 8px;background:rgba(9,43,85,.88);color:#fff;border-radius:6px;font-size:9px;font-weight:850;letter-spacing:.08em}.memory-card-body{padding:20px}.memory-card-body small{color:var(--red);font-size:9px;font-weight:850;letter-spacing:.13em}.memory-card-body h3{font-family:"Iowan Old Style",Georgia,serif;font-size:24px;margin:7px 0 8px}.memory-card-body p{color:#667C91;line-height:1.58;font-size:13.5px}.memory-card-body a{color:var(--blue);font-size:12px;font-weight:800}.no-memory-results{padding:18px;border-radius:12px;background:#FCEDEF;color:#8E2732}
.memory-photo-strip{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:9px;height:270px}.memory-photo-strip img{width:100%;height:100%;object-fit:cover;border-radius:13px}.profile-preview{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:23px;border-top:1px solid #DFE8F0}.profile-preview h3{font-family:"Iowan Old Style",Georgia,serif;font-size:31px;margin:4px 0 5px}.profile-preview p{max-width:700px;color:#647A90;line-height:1.58}
.compact-form{margin-top:24px;max-width:none}.partner-program,.business-offers{margin-top:44px}.partner-pricing{grid-template-columns:repeat(3,1fr)}
.hubplus-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center;margin-top:30px}.hubplus-panel h2{font-family:"Iowan Old Style",Georgia,serif;font-size:38px;line-height:1.05;margin:6px 0 12px}.hubplus-panel p,.hubplus-panel li{color:#62788E;line-height:1.6}.hubplus-panel ul{padding-left:18px}
.reveal-section{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal-section.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal-section{opacity:1;transform:none;transition:none}.photo-tile img{transition:none}}
@media(max-width:980px){.editorial-collage{grid-template-columns:1fr 1fr;grid-template-rows:270px 230px 230px}.photo-tile--hero{grid-row:1/3}.photo-tile--wide{grid-column:1/3}.revenue-grid,.pricing-grid{grid-template-columns:1fr}.memory-hero-grid{grid-template-columns:1fr}.memory-stat{border-left:0;border-top:1px solid #C9DBEA;padding-left:0}.finder-tools{align-items:stretch;flex-direction:column}.memory-cards{grid-template-columns:1fr}.memory-photo-strip{grid-template-columns:1fr 1fr;height:auto}.memory-photo-strip img{height:220px}.hubplus-panel{grid-template-columns:1fr}}
@media(max-width:650px){.editorial-collage{display:flex;overflow-x:auto;gap:12px;padding-bottom:8px}.photo-tile,.photo-tile--hero,.photo-tile--wide{min-width:82vw;height:300px}.memory-visual{padding-right:18px}.memory-now{width:48%;border-width:5px}.memory-finder,.memory-community,.business-offers,.partner-program,.hubplus-panel{padding:22px;margin-left:-4px;margin-right:-4px}.memory-photo-strip{grid-template-columns:1fr}.memory-photo-strip img{height:240px}.profile-preview{align-items:flex-start;flex-direction:column}.memory-stat strong{font-size:60px}}


/* =========================================================
   V37 — TESTIMONIAL & REUNION EXPERIENCE
   ========================================================= */
.story-link-btn{
  color:var(--navy);
  background:rgba(255,255,255,.72);
  border:1px solid #CBDCEB;
}
.story-link-btn:hover{background:#fff;border-color:var(--blue)}

.testimony-hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(223,36,52,.12),transparent 24%),
    radial-gradient(circle at 10% 100%,rgba(23,74,134,.10),transparent 28%),
    linear-gradient(110deg,#EEF5FC,#fff 58%,#FCEDEF);
}
.testimony-hero-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:55px;
  align-items:center;
}
.testimony-hero h1{
  font-size:clamp(42px,5.4vw,68px);
  line-height:1.01;
  max-width:760px;
}
.story-guide-mini{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin-top:24px;
}
.story-guide-mini span{
  color:#61788F;
  font-size:11px;
  font-weight:720;
}
.story-guide-mini b{color:var(--red);margin-right:5px}
.testimony-note{
  padding:25px;
  background:rgba(255,255,255,.88);
  border:1px solid #D8E5F0;
  border-left:4px solid var(--navy);
  border-radius:17px;
  box-shadow:0 15px 36px rgba(18,59,112,.08);
}
.testimony-note strong{
  display:block;
  color:var(--navy);
  font-family:"Iowan Old Style",Georgia,serif;
  font-size:25px;
}
.testimony-note p{margin:9px 0;color:#61788F;font-size:13.5px;line-height:1.58}
.testimony-note small{color:var(--red);font-weight:780}

.testimony-page{max-width:1040px}
.story-intro{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:34px;
  align-items:start;
  margin-bottom:30px;
}
.story-intro h2,.profile-example h2{
  font-family:"Iowan Old Style",Georgia,serif;
  color:var(--navy);
  font-size:clamp(30px,4vw,44px);
  line-height:1.06;
  margin:6px 0 10px;
}
.story-intro p,.profile-example p{color:#62798F;line-height:1.62}
.story-prompts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.story-prompts article{
  padding:17px;
  background:#F7FAFD;
  border:1px solid #DFE8F1;
  border-radius:14px;
}
.story-prompts b{display:block;color:var(--red);font-size:11px;margin-bottom:5px}
.story-prompts span{color:#61788F;font-size:12.5px;line-height:1.45}

.story-form{
  max-width:none;
  padding:0;
  overflow:hidden;
}
.form-section{
  padding:32px;
  border-bottom:1px solid #E1EAF2;
}
.form-section:last-of-type{border-bottom:0}
.form-section-title{
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:19px;
}
.form-section-title>span{
  width:35px;height:35px;
  display:grid;place-items:center;
  flex:none;
  color:#fff;
  background:var(--navy);
  border-radius:50%;
  font-size:11px;
  font-weight:850;
}
.form-section-title h2{
  margin:0;
  color:var(--navy);
  font-family:"Iowan Old Style",Georgia,serif;
  font-size:27px;
}
.form-section-title p{margin:3px 0 0;color:#74879A;font-size:12.5px}
.today-section{
  background:linear-gradient(110deg,#F3F8FD,#fff 70%,#FFF5F6);
}
.word-counter{
  display:block;
  margin-top:7px;
  color:#7A8DA0;
  font-size:11px;
}
.upload-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:17px;
}
.upload-card{
  min-height:126px;
  padding:17px!important;
  background:#F7FAFD;
  border:1px dashed #AAC3DA;
  border-radius:14px;
  cursor:pointer;
}
.upload-card b{display:block;color:var(--navy);font-size:13px}
.upload-card span{display:block;color:#7A8DA0;font-size:11px;margin:4px 0 10px}
.upload-card input{padding:7px!important;font-size:11px}
.consent-section fieldset{background:#FAFCFE}
.story-submit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px 32px;
  background:var(--navy);
  color:#fff;
}
.story-submit strong{display:block;font-size:13px}
.story-submit span{display:block;margin-top:3px;color:#C8D9E8;font-size:11.5px}
.story-submit .btn{flex:none}

.profile-example{
  margin-top:42px;
  padding:34px;
  background:linear-gradient(135deg,#F4F9FD,#fff 58%,#FFF3F5);
  border:1px solid #DAE6F0;
  border-radius:24px;
}
.profile-example-copy{max-width:760px}
.profile-sample{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:0;
  margin-top:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid #DCE7F0;
  border-radius:18px;
  box-shadow:0 12px 28px rgba(18,59,112,.06);
}
.profile-sample-year{
  display:grid;
  place-content:center;
  text-align:center;
  padding:25px;
  color:#fff;
  background:var(--navy);
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
}
.profile-sample-year strong{color:#FFB2B9;font-size:20px}
.profile-sample-body{padding:24px}
.profile-status{
  display:inline-block;
  padding:5px 8px;
  color:#8D2631;
  background:#FCEDEF;
  border-radius:999px;
  font-size:8px;
  font-weight:850;
  letter-spacing:.1em;
}
.profile-sample-body h3{
  margin:9px 0 8px;
  font-family:"Iowan Old Style",Georgia,serif;
  color:var(--navy);
  font-size:26px;
}
.profile-sample-body p{font-size:13.5px}
.profile-sample-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.profile-sample-tags span{
  padding:5px 8px;
  background:#EEF5FC;
  color:var(--blue);
  border-radius:999px;
  font-size:9px;
  font-weight:780;
}

.first-stories{
  margin:0 0 52px;
  padding:34px;
  background:#fff;
  border:1px solid #DDE8F2;
  border-radius:26px;
  box-shadow:0 18px 45px rgba(18,59,112,.06);
}
.first-stories-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.first-stories-grid article{
  position:relative;
  padding:24px;
  background:#F8FBFE;
  border:1px solid #DFE8F1;
  border-radius:18px;
}
.story-dot{
  position:absolute;
  top:25px;right:24px;
  width:9px;height:9px;border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 6px rgba(23,74,134,.08);
}
.story-dot.red{background:var(--red);box-shadow:0 0 0 6px rgba(223,36,52,.08)}
.first-stories-grid small{color:var(--red);font-size:9px;font-weight:850;letter-spacing:.12em}
.first-stories-grid h3{
  max-width:450px;
  margin:9px 0 8px;
  color:var(--navy);
  font-family:"Iowan Old Style",Georgia,serif;
  font-size:25px;
}
.first-stories-grid p{color:#657B90;font-size:13.5px;line-height:1.6}
.pending-label{
  display:inline-block;
  margin-top:4px;
  padding:5px 8px;
  border-radius:999px;
  color:#6C7D8D;
  background:#EAF0F5;
  font-size:9px;
  font-weight:780;
}

@media(max-width:850px){
  .testimony-hero-grid,.story-intro{grid-template-columns:1fr}
  .upload-grid{grid-template-columns:1fr}
  .first-stories-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .story-prompts{grid-template-columns:1fr}
  .form-section{padding:23px}
  .story-submit{align-items:flex-start;flex-direction:column;padding:22px}
  .story-submit .btn{width:100%}
  .profile-example{padding:23px}
  .profile-sample{grid-template-columns:1fr}
  .profile-sample-year{min-height:100px}
}

.word-counter.over-guide{color:var(--red);font-weight:700}


/* =========================================================
   V38 — RETURN VISITS / LIVING HUB
   ========================================================= */
.return-hub{padding:28px 0 34px;background:#fff;border-bottom:1px solid #E4EDF5}
.return-topline{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.return-topline h2{font-family:"Iowan Old Style",Georgia,serif;margin:2px 0 0;font-size:28px;color:var(--navy)}
.visit-badge{padding:7px 10px;border-radius:999px;background:#FCEDEF;color:#A32733;font-size:9px;font-weight:850;letter-spacing:.08em}
.return-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.return-card{display:grid;grid-template-columns:28px 1fr 18px;align-items:start;gap:10px;padding:16px;border:1px solid #DFE8F1;border-radius:15px;background:#FAFCFE;transition:.22s ease}.return-card:hover{transform:translateY(-2px);background:#fff;box-shadow:0 12px 26px rgba(18,59,112,.07)}.return-card--primary{background:linear-gradient(135deg,#EEF5FC,#fff)}.return-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#EEF5FC;color:var(--blue);font-weight:900}.return-card small{display:block;color:var(--red);font-size:8px;font-weight:850;letter-spacing:.12em}.return-card strong{display:block;margin:4px 0;color:var(--navy);font-size:12.5px}.return-card p{margin:0;color:#718397;font-size:11px;line-height:1.4}.return-card>b{color:var(--red);font-size:17px}
.weekly-feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.weekly-photo-frame{position:relative;height:420px;overflow:hidden;border-radius:24px;box-shadow:0 22px 48px rgba(18,59,112,.13)}.weekly-photo-frame img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}.weekly-photo-label{position:absolute;left:18px;bottom:17px;padding:7px 10px;border-radius:7px;background:rgba(18,59,112,.9);color:#fff;font-size:9px;font-weight:850;letter-spacing:.11em}.weekly-feature-copy h2{font-family:"Iowan Old Style",Georgia,serif;font-size:clamp(34px,4.5vw,52px);line-height:1.02;margin:5px 0 13px}.weekly-feature-copy p{color:#61788F;font-size:15px;line-height:1.65}.weekly-feature-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 12px}.weekly-feature-copy>small{color:#7C8EA0;font-size:10.5px}
.poll-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;padding:30px;border-radius:22px;background:linear-gradient(110deg,#F4F9FD,#fff 62%,#FFF3F4);border:1px solid #DCE7F0}.poll-copy h2{font-family:"Iowan Old Style",Georgia,serif;margin:5px 0 9px;font-size:31px}.poll-copy p{color:#667C91}.poll-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.poll-form label{cursor:pointer}.poll-form label input{position:absolute;opacity:0}.poll-form label span{display:block;padding:12px 13px;border:1px solid #D4E1EC;border-radius:11px;background:#fff;color:var(--navy);font-size:11.5px;font-weight:720}.poll-form label input:checked+span{border-color:var(--blue);background:#EEF5FC;box-shadow:inset 0 0 0 1px var(--blue)}.poll-form .btn{grid-column:1/3;margin-top:4px}
.community-photo-section{margin-top:40px;padding:34px;background:linear-gradient(145deg,#F7FAFD,#fff);border:1px solid #DDE8F2;border-radius:25px;box-shadow:0 16px 40px rgba(18,59,112,.06)}.community-photo-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:25px;align-items:start}.recent-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recent-photo-grid figure{margin:0;position:relative;height:210px;overflow:hidden;border-radius:15px}.recent-photo-grid img{width:100%;height:100%;object-fit:cover}.recent-photo-grid figcaption{position:absolute;left:9px;bottom:8px;padding:5px 7px;background:rgba(9,43,85,.86);color:#fff;border-radius:5px;font-size:9px}.photo-week-form{padding:22px}.photo-week-form label{margin-top:9px}
.anticipation-strip{margin:0 0 25px;padding:25px;background:linear-gradient(110deg,#EEF5FC,#fff 72%,#FCEDEF);border:1px solid #D7E4EF;border-radius:18px}.anticipation-strip h2{font-family:"Iowan Old Style",Georgia,serif;margin:5px 0 8px;font-size:28px}.anticipation-strip p{max-width:700px;color:#667C91;line-height:1.58}
.news-rhythm{margin-bottom:30px;padding:28px;background:#F7FAFD;border:1px solid #DEE8F1;border-radius:20px}.news-rhythm h2{font-family:"Iowan Old Style",Georgia,serif;font-size:31px;margin:5px 0 18px}.news-rhythm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.news-rhythm-grid article{padding:15px;background:#fff;border:1px solid #E0E8F0;border-radius:12px}.news-rhythm-grid b{display:block;color:var(--red);font-size:11px}.news-rhythm-grid span{display:block;margin-top:4px;color:var(--navy);font-size:12.5px;font-weight:700}
@media(max-width:980px){.return-grid{grid-template-columns:1fr 1fr}.weekly-feature-grid,.poll-shell,.community-photo-layout{grid-template-columns:1fr}.weekly-photo-frame{height:370px}}
@media(max-width:650px){.return-topline{align-items:flex-start;flex-direction:column}.return-grid{grid-template-columns:1fr}.weekly-photo-frame{height:300px}.poll-form{grid-template-columns:1fr}.poll-form .btn{grid-column:auto}.recent-photo-grid{grid-template-columns:1fr}.recent-photo-grid figure{height:250px}.news-rhythm-grid{grid-template-columns:1fr}}


/* =========================================================
   V39 — CRÈME EDITORIAL / MODEL-INSPIRED GLOBAL RESKIN
   ========================================================= */
:root{
  --cream:#F5F0E6;
  --cream-2:#FBF8F1;
  --cream-3:#EEE5D6;
  --brown:#4B2F1E;
  --brown-2:#2D1C12;
  --taupe:#8C7968;
  --gold:#B99769;
  --line-cream:#DED2BF;
  --ink-warm:#2B241F;
}
body{background:var(--cream-2)!important;color:var(--ink-warm)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.utility{display:none!important}
.header{background:rgba(251,248,241,.98)!important;border-bottom:1px solid #DDD3C6!important;box-shadow:none!important;position:sticky!important}
.header-inner{min-height:74px!important}
.logo{color:#171513!important;gap:10px!important}
.logo-mark{width:36px!important;height:42px!important;border:0!important;background:transparent!important;color:#1D1915!important;box-shadow:none!important;font-size:30px!important;border-radius:0!important}
.logo b{font-family:Georgia,"Times New Roman",serif!important;font-size:13px!important;line-height:1.03!important;letter-spacing:.01em!important;font-weight:700!important}
.logo small{display:none!important}
.nav{gap:14px!important;font-size:11px!important;font-family:Georgia,"Times New Roman",serif!important}
.nav a{color:#352C26!important;background:transparent!important;padding:8px 3px!important;border-radius:0!important}
.nav a:hover,.nav a.active{color:#6C4B35!important;background:transparent!important;border-bottom:1px solid #7B5A42!important}
.nav .cta{margin-left:6px!important;padding:10px 18px!important;border:1px solid #96775D!important;border-radius:5px!important;color:#4B2F1E!important;background:#FBF8F1!important;box-shadow:none!important}
.nav .cta:hover{background:#EEE5D6!important;color:#2D1C12!important}
.menu{color:var(--brown)!important;border-color:#CBBBA8!important;background:#FBF8F1!important}

/* Homepage hero — closely matching supplied model */
.editorial-hero{position:relative;background:#F8F4EC;overflow:hidden;border-bottom:1px solid #D9CEBE}
.editorial-hero-inner{display:grid;grid-template-columns:45% 55%;min-height:365px;max-width:1440px;margin:auto}
.editorial-hero-copy{position:relative;z-index:2;padding:39px 20px 60px max(42px,calc((100vw - 1180px)/2));background:linear-gradient(90deg,#FBF8F1 0%,#FBF8F1 74%,rgba(251,248,241,.87) 88%,rgba(251,248,241,0) 100%)}
.editorial-kicker{color:#79634E;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.editorial-hero h1{margin:13px 0 12px;color:#171512;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4.6vw,67px);font-weight:400;letter-spacing:-.035em;line-height:.94}
.editorial-hero-copy>p{color:#61564C;font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:1.55}
.editorial-actions{display:flex;gap:12px;margin-top:19px}
.cream-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 17px;border:1px solid #9B846E;border-radius:4px;background:#FBF8F1;color:#4B2F1E;font-family:Georgia,"Times New Roman",serif;font-size:11px;font-weight:700}
.cream-btn--dark{background:#5A3824;border-color:#5A3824;color:#fff}
.cream-btn:hover{background:#EEE5D6}.cream-btn--dark:hover{background:#3C2619;color:#fff}
.editorial-manifesto{margin-top:19px;color:#8A7868;font-family:Georgia,"Times New Roman",serif;font-size:10px}.editorial-manifesto strong{color:#5B3C28;font-weight:600}
.editorial-hero-photo{position:relative;background-image:linear-gradient(90deg,rgba(251,248,241,.95) 0%,rgba(251,248,241,.48) 12%,rgba(251,248,241,0) 28%),linear-gradient(0deg,rgba(34,23,15,.10),rgba(34,23,15,.02)),url('/illustrations/repas-bd.svg');background-size:cover;background-position:center 48%;min-height:365px}
.editorial-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,220,170,.02),rgba(58,35,20,.10));mix-blend-mode:multiply}
.editorial-wave{position:absolute;left:-2%;right:-2%;bottom:-1px;height:42px;background:#F5F0E6;clip-path:path('M 0 12 Q 240 45 520 19 T 1080 18 T 1600 12 L 1600 50 L 0 50 Z')}
@supports not (clip-path:path('M0 0')){.editorial-wave{clip-path:polygon(0 50%,15% 62%,30% 42%,48% 60%,65% 44%,80% 57%,100% 45%,100% 100%,0 100%)}}
.editorial-shortcuts{background:#F5F0E6;border-bottom:1px solid #D8CDBD;padding:15px 0 18px}
.editorial-shortcuts-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.editorial-shortcuts a{text-align:center;color:#40352D;font-family:Georgia,"Times New Roman",serif;padding:7px 5px}
.shortcut-icon{display:block;margin:auto auto 7px;color:#7E6957;font-size:25px;height:29px}
.editorial-shortcuts strong{display:block;font-size:11px;font-weight:700}.editorial-shortcuts small{display:block;color:#847568;font-size:9px;margin-top:2px}

/* Overall warm editorial site */
.section{background:#FBF8F1!important;padding:46px 0!important}
.section.alt{background:#F2EBDD!important;border-color:#DDD1C0!important}
.section:nth-of-type(4n){background:#F8F3EA!important}
.eyebrow{color:#725846!important;font-size:9px!important;letter-spacing:.15em!important}
.section-head h2,.page-hero h1,.memory-grid h2,.finder-heading h2,.story-intro h2,.profile-example h2,.weekly-feature-copy h2,.poll-copy h2,.news-rhythm h2{color:#2D2018!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important}
.section-head p,.card p,.weekly p,.directory-cats p,.resource-grid p,.page-hero p,.memory-grid p,.finder-heading p{color:#796C61!important}
.text-link{color:#634431!important;font-family:Georgia,"Times New Roman",serif!important}
.btn.primary,.btn.gold{background:#563824!important;color:#fff!important;box-shadow:none!important}.btn.primary:hover,.btn.gold:hover{background:#382318!important}
.btn.secondary{background:#FBF8F1!important;color:#533824!important;border-color:#9B816A!important}
.card,.weekly article,.directory-cats article,.resource-grid article,.return-card,.revenue-card,.price-card,.memory-card{background:#FBF8F1!important;border:1px solid #DDD2C3!important;border-radius:7px!important;box-shadow:0 5px 14px rgba(61,43,29,.035)!important}
.card h3,.weekly h3,.directory-cats h3,.resource-grid h3,.return-card strong,.revenue-card h3,.price-card h3,.memory-card-body h3{color:#33251C!important;font-family:Georgia,"Times New Roman",serif!important}
.card .tag,.weekly span,.return-card small,.revenue-kicker,.price-card>span{color:#795B44!important}
.card .meta{color:#8F8174!important}

/* Make next events resemble model cards */
.section>.wrap>.section-head:first-child:after{background:#6F4B35!important;width:52px!important;height:2px!important}
.cards{gap:14px!important}.card{min-height:165px!important;padding:18px!important}.card h3{font-size:18px!important}.card .tag{font-size:9px!important}

/* Keep v38 What's New but make it visually quiet */
.return-hub{background:#F8F3EA!important;border-color:#DED3C4!important;padding:26px 0!important}.return-topline h2{color:#31231A!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important}.visit-badge{background:#ECE2D2!important;color:#624732!important}.return-icon{background:#EDE4D6!important;color:#755842!important}.return-card>b{color:#75513A!important}

/* Memory, forms, finder */
.page-hero,.memory-teaser,.testimony-hero,.memory-hero{background:linear-gradient(110deg,#F2EBDD,#FBF8F1 60%,#EEE3D4)!important;border-color:#D9CEBE!important}
.timeline,.archive,.memory-finder,.memory-community,.business-offers,.partner-program,.hubplus-panel,.first-stories,.community-photo-section,.profile-example,.poll-shell,.news-rhythm,.anticipation-strip{background:#F8F3EA!important;border-color:#DDD0BE!important;box-shadow:none!important}
.form{background:#FBF8F1!important;border-color:#D8CBB9!important;box-shadow:none!important}.form input,.form select,.form textarea{background:#FFFCF7!important;border-color:#CDBDA8!important;color:#3C3027!important}.form label{color:#4E392B!important}
.archive-side,.callout,.today-section{background:#EFE5D7!important;border-color:#D5C5B0!important}

/* Photos — editorial warmth */
.photo-tile,.weekly-photo-frame,.recent-photo-grid figure,.memory-photo-strip img{border-radius:8px!important;box-shadow:none!important}.photo-tile figcaption strong{font-family:Georgia,"Times New Roman",serif!important}.weekly-photo-label{background:rgba(66,44,28,.88)!important}.weekly-feature-copy>small{color:#897A6D!important}

/* Model-inspired newsletter with Eiffel */
.cream-newsletter-section{padding:38px 0 42px;background:#F8F3EA;border-top:1px solid #DED2C2}
.cream-newsletter-shell{display:grid;grid-template-columns:1fr 170px;gap:10px;max-width:450px!important;margin-right:max(42px,calc((100vw - 1180px)/2));margin-left:auto!important;padding:24px 24px 20px;background:#EEE4D5;border:1px solid #D1C1AB;border-radius:10px;box-shadow:0 5px 15px rgba(61,43,29,.045)}
.cream-newsletter-copy h2{margin:5px 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:400;color:#35251B}.cream-newsletter-copy p{font-family:Georgia,"Times New Roman",serif;color:#716358;font-size:11px;line-height:1.5}.cream-newsletter-copy form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:13px}.cream-newsletter-copy input{min-width:0;padding:10px 11px;border:1px solid #CDBBA4;background:#FFFCF7;border-radius:3px;font-size:10px}.cream-newsletter-copy button{border:0;border-radius:3px;padding:0 13px;background:#5A3824;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:700}.cream-eiffel{background:url('/eiffel-mockup-background.png') center bottom/contain no-repeat;opacity:.46;min-height:160px;filter:sepia(1) saturate(.38) hue-rotate(335deg) brightness(.75)}

/* Footer */
.footer{background:#2C1D12!important;border-top:0!important;padding:22px 0 18px!important}.footer-grid{display:none!important}.legal{border:0!important;margin:0!important;padding:0!important;color:#CDBDA9!important;text-align:center!important}.footer:before{content:'À propos     ·     Partenaires     ·     Devenir membre     ·     FAQ     ·     Nous joindre';display:block;text-align:center;margin-bottom:13px;color:#E7DDD0;font-family:Georgia,"Times New Roman",serif;font-size:10px;word-spacing:13px}

/* Monetization remains, but premium/warm */
.revenue-section{background:#F2EBDD!important}.revenue-card.featured,.price-card.featured{border-color:#AE9275!important}.revenue-card.featured:before,.price-card.featured:before{background:#6A4933!important}

/* Responsive */
@media(max-width:1020px){.nav{background:#FBF8F1!important}.editorial-hero-inner{grid-template-columns:1fr}.editorial-hero-copy{padding:36px 28px 34px;background:#FBF8F1}.editorial-hero-photo{min-height:380px;background-image:linear-gradient(180deg,#FBF8F1 0%,rgba(251,248,241,0) 18%),url('/illustrations/repas-bd.svg')}.editorial-shortcuts-grid{grid-template-columns:repeat(5,1fr)}.cream-newsletter-shell{margin:auto!important}}
@media(max-width:680px){.editorial-hero h1{font-size:46px}.editorial-hero-photo{min-height:310px}.editorial-actions{flex-direction:column;align-items:stretch}.editorial-shortcuts-grid{grid-template-columns:repeat(2,1fr)}.editorial-shortcuts-grid a:last-child{grid-column:1/3}.cream-newsletter-shell{grid-template-columns:1fr!important;max-width:calc(100% - 28px)!important}.cream-eiffel{display:none}.cream-newsletter-copy form{grid-template-columns:1fr}.cream-newsletter-copy button{min-height:38px}.footer:before{word-spacing:3px;line-height:2}}

.impact-hero{background:radial-gradient(circle at 90% 12%,rgba(185,151,105,.18),transparent 24%),linear-gradient(110deg,#F1E8DA,#FBF8F1 64%,#EFE4D5)!important}
.impact-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:center}
.impact-hero h1{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(42px,5.5vw,68px)!important;line-height:.99!important;font-weight:400!important}
.impact-principle{padding:26px;background:#FBF8F1;border:1px solid #D5C7B4;border-left:4px solid #5A3824;border-radius:8px}
.impact-principle>span{color:#8A6C54;font-size:9px;font-weight:850;letter-spacing:.14em}.impact-principle strong{display:block;margin:9px 0;color:#35261C;font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400}.impact-principle p{color:#75685D;font-size:13.5px;line-height:1.6}
.impact-values,.impact-profile-demo,.founder-impact,.impact-monetization,.impact-form-shell,.community-expertise{margin:0 0 48px}
.impact-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.impact-value-grid article{padding:20px;background:#F8F3EA;border:1px solid #DDD0BF;border-radius:7px}.impact-value-grid article>span{color:#9B7456;font-family:Georgia,serif;font-size:13px}.impact-value-grid h3{margin:7px 0;color:#34251C;font-family:Georgia,serif;font-size:20px;font-weight:400}.impact-value-grid p{margin:0;color:#776B60;font-size:12.5px;line-height:1.55}
.impact-profile-demo{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;align-items:start;padding:30px;background:#F2EBDD;border:1px solid #DACDBB;border-radius:10px}.impact-demo-aside h2{font-family:Georgia,serif;font-size:34px;font-weight:400;color:#32231A;line-height:1.06}.impact-demo-aside p{color:#75695E;line-height:1.6}
.legacy-profile{background:#FFFDF8;border:1px solid #D4C5B1;border-radius:8px;overflow:hidden}.legacy-profile-top{display:flex;gap:18px;align-items:center;padding:22px;border-bottom:1px solid #E2D7C8}.legacy-avatar{width:72px;height:72px;display:grid;place-content:center;text-align:center;border-radius:50%;background:#4B2F1E;color:#F7EEE2;font-family:Georgia,serif;font-size:10px}.legacy-badge{color:#8C6547;font-size:8px;font-weight:850;letter-spacing:.13em}.legacy-profile h3{margin:5px 0 4px;font-family:Georgia,serif;font-size:28px;font-weight:400;color:#2F2118}.legacy-profile-grid{display:grid;grid-template-columns:1fr 1fr}.legacy-profile-grid section{padding:20px;border-right:1px solid #E7DDD0;border-bottom:1px solid #E7DDD0}.legacy-profile-grid section:nth-child(2n){border-right:0}.legacy-profile-grid small{color:#946A4C;font-size:8px;font-weight:850}.legacy-profile-grid strong{display:block;margin:6px 0;color:#3B2A1F;font-family:Georgia,serif;font-size:17px;font-weight:400}.legacy-profile-grid p{margin:0;color:#7C7065;font-size:11.5px;line-height:1.5}.legacy-profile-footer{display:flex;justify-content:space-between;gap:15px;padding:13px 20px;background:#F5EFE5;color:#847567;font-size:9px}
.founder-impact{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px;background:linear-gradient(120deg,#FBF8F1,#F0E7D9);border:1px solid #D9CCBA;border-radius:9px}.founder-impact h2{font-family:Georgia,serif;font-size:39px;font-weight:400;color:#312219}.founder-impact p{color:#75685C;line-height:1.62}.founder-services{display:grid;grid-template-columns:1fr 1fr;gap:10px}.founder-services article{padding:17px;background:#FFFDF8;border:1px solid #DFD3C3;border-radius:7px}.founder-services b{display:block;color:#4C3424;font-family:Georgia,serif;font-size:16px;font-weight:400}.founder-services span{display:block;margin-top:5px;color:#827469;font-size:11.5px}
.impact-form-shell{padding:30px;background:#F8F3EA;border:1px solid #DDD0BE;border-radius:9px}
.legacy-home{background:linear-gradient(115deg,#F2EBDD,#FBF8F1 65%,#EFE4D5)!important}.legacy-home-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.legacy-home h2{font-family:Georgia,serif!important;font-size:clamp(32px,4vw,48px)!important;font-weight:400!important;color:#302118!important}.legacy-home p{color:#75685D!important}.legacy-home-proof{padding:22px;background:#FBF8F1;border:1px solid #D8CBB9;border-radius:8px}.legacy-home-proof>span{color:#8D684B;font-size:8px;font-weight:850}.legacy-home-proof article{display:grid;grid-template-columns:30px 105px 1fr;gap:8px;align-items:center;padding:13px 0;border-bottom:1px solid #E5D9C9}.legacy-home-proof article:last-child{border-bottom:0}.legacy-home-proof b{color:#956D50;font-size:10px}.legacy-home-proof strong{color:#3A291E;font-family:Georgia,serif;font-size:14px;font-weight:400}.legacy-home-proof small{color:#827469;font-size:10px}
.memory-impact-bridge{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 35px;padding:24px 27px;background:#F2EBDD;border:1px solid #DACDBB;border-radius:8px}.memory-impact-bridge h2{margin:5px 0 7px;font-family:Georgia,serif;font-size:29px;font-weight:400;color:#34241A}.memory-impact-bridge p{margin:0;max-width:720px;color:#776A5E}.memory-impact-bridge .btn{flex:none}
@media(max-width:980px){.impact-hero-grid,.impact-profile-demo,.founder-impact,.legacy-home-grid{grid-template-columns:1fr}.impact-value-grid{grid-template-columns:1fr 1fr}.memory-impact-bridge{flex-direction:column;align-items:flex-start}}
@media(max-width:650px){.impact-value-grid,.founder-services,.legacy-profile-grid{grid-template-columns:1fr}.legacy-profile-grid section{border-right:0}.legacy-profile-footer{flex-direction:column}.legacy-home-proof article{grid-template-columns:28px 1fr}.legacy-home-proof small{grid-column:2}}

/* V41 — identité claire, contemporaine et chaleureuse */
:root{--navy:#123b70;--navy-dark:#0b2f5f;--blue:#2876bd;--blue-soft:#eef7ff;--red:#d9253f;--red-soft:#fff0f3;--ink:#18344f;--muted:#627a90;--line:#dbe9f5;--offwhite:#f8fbfe}
body{background:#fff;color:var(--ink)}
.utility{background:linear-gradient(90deg,#0b2f5f,#174f89 72%,#d9253f 140%)}
.header{background:rgba(255,255,255,.97);border-color:#dce8f3}
.nav a:hover,.nav a.active{background:#edf6fe;color:#123b70}
.editorial-hero{background:#eef7ff;border-color:#d5e6f4}
.editorial-hero-inner{grid-template-columns:46% 54%;min-height:510px}
.editorial-hero-copy{display:flex;flex-direction:column;justify-content:center;padding-top:52px;padding-bottom:70px;background:linear-gradient(90deg,#f6fbff 0%,#f6fbff 72%,rgba(246,251,255,.87) 88%,rgba(246,251,255,0) 100%)}
.editorial-hero h1{color:#123b70;font-size:clamp(42px,4.7vw,64px);line-height:1.02}
.editorial-hero-copy>p{max-width:560px;color:#486781;font-family:inherit;font-size:17px;line-height:1.55}
.editorial-manifesto{color:#365773;border-color:#cbddea}
.editorial-kicker{color:#d9253f}
.editorial-hero-photo{min-height:510px;background-image:linear-gradient(90deg,rgba(246,251,255,.92),rgba(246,251,255,0) 24%),linear-gradient(0deg,rgba(8,37,69,.18),rgba(8,37,69,.02)),url('/downtown-des-moines.jpg');background-position:center;background-size:cover}
.hero-photo-credit{position:absolute;z-index:3;left:24px;bottom:16px;padding:5px 8px;border-radius:7px;background:rgba(8,37,69,.72);color:#fff;font-size:9px}

/* V42 — rendez-vous quotidien, léger et sans flux serveur lourd */
.daily-hub{padding:54px 0 60px;background:linear-gradient(180deg,#edf7ff,#fff);border-bottom:1px solid #d8e8f4}
.daily-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.daily-heading h2{margin:0 0 8px;color:#123b70;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.4vw,46px);font-weight:400;letter-spacing:-.025em}
.daily-heading p{margin:0;color:#60788e}
.daily-all{color:#d9253f;font-size:13px;font-weight:800;white-space:nowrap}
.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.daily-card{position:relative;display:flex;flex-direction:column;min-height:285px;padding:24px;background:#fff;border:1px solid #d9e7f2;border-radius:18px;box-shadow:0 12px 30px rgba(18,59,112,.07)}
.daily-card--trend{background:linear-gradient(145deg,#123b70,#2267a7);border-color:transparent;color:#fff}
.daily-card small{margin:2px 42px 22px 0;color:#d9253f;font-size:10px;font-weight:850;letter-spacing:.13em}
.daily-card--trend small,.daily-card--trend h3,.daily-card--trend p,.daily-card--trend a{color:#fff}
.daily-card h3{margin:0 0 12px;color:#123b70;font-size:20px;line-height:1.2}
.daily-card p{color:#60788e;font-size:14px;line-height:1.58}
.daily-card a{margin-top:auto;color:#d9253f;font-size:12.5px;font-weight:800}
.daily-icon{position:absolute;right:20px;top:18px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef7ff;color:#123b70;font-size:17px;font-weight:800}
.daily-card--trend .daily-icon{background:rgba(255,255,255,.16);color:#fff}
.editorial-shortcuts{background:#fff;border-color:#dce8f3}
.editorial-shortcuts-grid a{border-color:#dce8f3}
.section,.return-hub,.world-gallery,.weekly-poll{background:#fff}
.section.alt,.weekly-feature,.revenue-section{background:#f1f7fc!important}
.return-card,.card,.weekly article,.directory-cats article,.resource-grid article,.revenue-card{background:#fff;border-color:#d9e7f2;box-shadow:0 10px 30px rgba(18,59,112,.06)}
.return-card--primary{background:linear-gradient(135deg,#123b70,#245f9b);color:#fff}
.section-head h2,.page-hero h1,.memory-grid h2,.finder-heading h2,.story-intro h2,.profile-example h2,.weekly-feature-copy h2,.poll-copy h2,.news-rhythm h2{color:#123b70!important}
.section-head p,.card p,.weekly p,.directory-cats p,.resource-grid p,.page-hero p,.memory-grid p,.finder-heading p{color:#60788e!important}
.page-hero,.memory-teaser,.testimony-hero,.memory-hero{background:linear-gradient(110deg,#eef7ff,#fff 62%,#fff1f3)!important;border-color:#d6e6f3!important}
.footer{background:#0b2f5f}
.cream-newsletter-section{background:#fff}
.cream-newsletter-shell{background:linear-gradient(120deg,#eef7ff,#fff 58%,#fff0f3)!important;border:1px solid #d8e8f3!important}
.cream-newsletter-copy h2{color:#123b70!important}
@media(max-width:1020px){.editorial-hero-inner{grid-template-columns:1fr}.editorial-hero-copy{background:#f6fbff}.editorial-hero-photo{min-height:410px;background-image:linear-gradient(180deg,#f6fbff 0%,rgba(246,251,255,0) 18%),url('/downtown-des-moines.jpg')}}
@media(max-width:680px){.wrap{width:min(100% - 28px,1180px)}.editorial-hero h1{font-size:40px}.editorial-hero-copy{padding:34px 22px 28px}.editorial-hero-photo{min-height:330px}.section{padding-top:54px;padding-bottom:54px}.page-hero h1{font-size:34px}}
@media(max-width:980px){.daily-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.daily-heading{align-items:flex-start;flex-direction:column}.daily-grid{grid-template-columns:1fr}.daily-card{min-height:240px}.daily-all{white-space:normal}.nav{font-size:15px}.nav a{padding:13px 14px}}

/* V43 — inspiration éditoriale French District : grandes images + annuaire pro */
.district-discovery{padding:64px 0 58px;background:#f4f7fa;border-top:1px solid #e0e8ef;border-bottom:1px solid #e0e8ef}
.district-shell{max-width:1160px}
.district-section-title{position:relative;margin:0 0 26px;padding:22px 20px 20px;text-align:center;background:#fff;border:1px solid #e1e6eb;box-shadow:0 5px 16px rgba(25,53,79,.05)}
.district-rule{position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:#c92336}
.district-section-title h2{margin:0;color:#3f4852!important;font-family:inherit!important;font-size:18px!important;font-weight:850!important;letter-spacing:.025em}
.district-feature{position:relative;display:block;height:600px;overflow:hidden;background:#123b70;border:1px solid #dce3e9;box-shadow:0 12px 28px rgba(22,54,82,.09)}
.district-feature img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.district-feature:hover img{transform:scale(1.018)}
.district-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,28,47,0) 35%,rgba(8,24,42,.78) 100%)}
.district-feature-copy{position:absolute;left:7%;right:7%;bottom:34px;text-align:center;color:#fff}
.district-tags{display:flex;justify-content:center;gap:8px;margin-bottom:12px}
.district-tags span{padding:7px 13px;background:#b82636;color:#fff;border-radius:5px;font-size:12px}
.district-feature-copy h3{max-width:830px;margin:0 auto 12px;color:#fff!important;font-family:inherit!important;font-size:clamp(31px,4vw,48px);line-height:1.02;font-weight:800;letter-spacing:-.025em}
.district-feature-copy p{max-width:820px;margin:0 auto 14px;color:rgba(255,255,255,.92);font-size:16px;line-height:1.55}
.district-feature-copy strong{font-size:13px;letter-spacing:.02em}
.district-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.district-mini{overflow:hidden;background:#fff;border:1px solid #dfe6ec;box-shadow:0 7px 20px rgba(22,54,82,.05)}
.district-mini img{width:100%;height:180px;object-fit:cover}
.district-mini>div{padding:20px 21px 22px}
.district-mini small{color:#c92336;font-size:9px;font-weight:850;letter-spacing:.13em}
.district-mini h3{margin:8px 0 8px;color:#263d52!important;font-family:inherit!important;font-size:19px;line-height:1.18}
.district-mini p{margin:0;color:#6b7d8c!important;font-size:13px;line-height:1.5}

.district-business{padding:60px 0;background:#fff}
.district-business-card{position:relative;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;min-height:330px;background:#fff;border-top:3px solid #c92336;border-left:1px solid #e0e6eb;border-right:1px solid #e0e6eb;border-bottom:1px solid #e0e6eb;box-shadow:0 8px 24px rgba(22,54,82,.07)}
.district-business-copy{padding:46px 48px;align-self:center}
.district-business-copy h2{max-width:650px;margin:0 0 14px;color:#2e3e4b!important;font-family:inherit!important;font-size:clamp(29px,3.2vw,42px)!important;font-weight:800!important;line-height:1.08}
.district-business-copy p{max-width:650px;margin-bottom:22px;color:#667988!important;font-size:15px;line-height:1.6}
.district-business-actions{display:flex;gap:10px;flex-wrap:wrap}
.district-business-visual{position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#f4f8fb,#eaf4fb)}
.district-business-visual:before{content:"";position:absolute;width:430px;height:170px;border:3px solid rgba(39,118,189,.18);border-radius:50%;transform:rotate(-13deg)}
.business-card-demo{position:relative;z-index:2;width:245px;min-height:188px;padding:26px 28px;background:#fff;border:1px solid #dfe8ef;box-shadow:0 18px 35px rgba(18,59,112,.13)}
.business-card-demo span{display:block;color:#c92336;font-size:9px;font-weight:900;letter-spacing:.16em}
.business-card-demo strong{display:block;margin:14px 0;color:#253b50;font-size:27px;line-height:1.03}
.business-card-demo small{color:#688096;font-size:11px}
.business-card-demo i{position:absolute;right:18px;bottom:15px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#c92336;color:#fff;font-size:23px;font-style:normal}
.business-orbit{position:absolute;border-radius:50%;background:rgba(201,35,54,.12)}
.business-orbit--one{width:80px;height:80px;right:13%;top:19%}.business-orbit--two{width:42px;height:42px;left:15%;bottom:17%;background:rgba(39,118,189,.18)}
@media(max-width:900px){.district-feature{height:500px}.district-mini-grid{grid-template-columns:1fr}.district-mini{display:grid;grid-template-columns:220px 1fr}.district-mini img{height:100%;min-height:170px}.district-business-card{grid-template-columns:1fr}.district-business-visual{min-height:260px}.district-business-copy{padding:36px 30px}}
@media(max-width:620px){.district-discovery{padding:42px 0}.district-section-title{padding:18px 12px}.district-feature{height:480px}.district-feature-copy{left:18px;right:18px;bottom:24px}.district-feature-copy h3{font-size:31px}.district-feature-copy p{font-size:14px}.district-mini{display:block}.district-mini img{height:190px}.district-business{padding:42px 0}.district-business-copy{padding:30px 22px}.district-business-actions{flex-direction:column}.district-business-actions .btn{width:100%}}


/* V44 — prévention & alertes communautaires */
.scam-watch{padding:56px 0;background:#fff8f2;border-top:1px solid #f1ddd1;border-bottom:1px solid #f1ddd1}
.scam-watch-shell{display:grid;gap:24px}.scam-watch-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.scam-watch-head h2{margin:4px 0 8px;color:#7d2e24!important;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.2vw,44px);font-weight:400}.scam-watch-head p{max-width:820px;margin:0;color:#715f58;line-height:1.6}.scam-watch-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.scam-alert-card{display:flex;flex-direction:column;min-height:245px;padding:25px;background:#fff;border:1px solid #eadbd2;border-radius:16px;box-shadow:0 10px 28px rgba(99,52,37,.06)}.scam-alert-card--featured{background:linear-gradient(145deg,#8f3428,#b14b3c);border-color:transparent;color:#fff}.scam-alert-card>span{margin-bottom:15px;color:#b13d2e;font-size:10px;font-weight:900;letter-spacing:.13em}.scam-alert-card--featured>span,.scam-alert-card--featured h3,.scam-alert-card--featured p,.scam-alert-card--featured a{color:#fff}.scam-alert-card h3{margin:0 0 12px;color:#563b34!important;font-size:20px;line-height:1.22}.scam-alert-card p{margin:0 0 18px;color:#74635d!important;font-size:14px;line-height:1.55}.scam-alert-card a{margin-top:auto;color:#b13d2e;font-size:12.5px;font-weight:850}.scam-page-hero{background:linear-gradient(110deg,#fff4ed,#fff 62%,#fff0f2)!important}.alert-status{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:20px 22px;margin-bottom:44px;background:#fff8f2;border:1px solid #eddccf;border-radius:14px}.alert-status>div{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#87372c}.alert-status p{margin:0;color:#6f625d;line-height:1.55}.alert-pulse{width:10px;height:10px;border-radius:50%;background:#c0392b;box-shadow:0 0 0 5px rgba(192,57,43,.12)}.alert-section{margin:0 0 58px}.alert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.alert-grid article{padding:26px;background:#fff;border:1px solid #dce5eb;border-top:3px solid #b13d2e;border-radius:12px}.alert-grid article>span{color:#b13d2e;font-size:10px;font-weight:900;letter-spacing:.13em}.alert-grid h3{margin:9px 0 10px;color:#253b50;font-size:21px}.alert-grid p{color:#667988;line-height:1.55}.alert-grid b{color:#253b50}.alert-tips{padding:34px;background:#f4f8fb;border-radius:16px}.tip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.tip-grid article{padding:20px 16px;background:#fff;border:1px solid #dce5eb;border-radius:12px}.tip-grid b{display:block;margin-bottom:11px;color:#b13d2e;font-size:24px}.tip-grid span{color:#516879;font-size:13px;line-height:1.45}.alert-report-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:start;margin-bottom:60px;padding:36px;background:linear-gradient(135deg,#fff8f2,#fff);border:1px solid #eadbd2;border-radius:18px}.alert-report-copy h2{margin:7px 0 15px;color:#7d2e24;font-family:Georgia,"Times New Roman",serif;font-size:35px;font-weight:400}.alert-report-copy p{color:#6f625d;line-height:1.65}.privacy-note{margin-top:22px;padding:16px;background:#fff;border-left:4px solid #b13d2e;color:#655851;font-size:13px;line-height:1.55}.scam-report-form{margin:0}.check-label{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start}.check-label input{width:auto!important;margin-top:4px}
@media(max-width:900px){.scam-watch-head{align-items:flex-start;flex-direction:column}.scam-watch-grid{grid-template-columns:1fr}.alert-grid{grid-template-columns:1fr}.tip-grid{grid-template-columns:1fr 1fr}.alert-report-section{grid-template-columns:1fr}}
@media(max-width:620px){.scam-watch{padding:42px 0}.alert-status{grid-template-columns:1fr}.tip-grid{grid-template-columns:1fr}.alert-tips,.alert-report-section{padding:22px}}


/* ===== V45 centered + lighter cards + live news ===== */
@media(min-width:1100px){.wrap{width:min(1080px,calc(100% - 56px))}.editorial-hero-inner{max-width:1360px}.editorial-hero-copy{padding-left:max(38px,calc((100vw - 1080px)/2))}}
.daily-card--trend{background:#f8fbff!important;border:1px solid #cfe0ef!important;color:#123b70!important;box-shadow:0 10px 26px rgba(24,72,111,.07)!important}
.daily-card--trend small{color:#d9253f!important}.daily-card--trend h3{color:#123b70!important}.daily-card--trend p{color:#60788e!important}.daily-card--trend a{color:#d9253f!important}.daily-card--trend .daily-icon{background:#eaf4fc!important;color:#123b70!important}
.scam-alert-card--featured{background:#fff3ed!important;border:1px solid #e8c7b9!important;color:#563b34!important;box-shadow:0 10px 26px rgba(99,52,37,.05)!important}.scam-alert-card--featured>span{color:#b13d2e!important}.scam-alert-card--featured h3{color:#563b34!important}.scam-alert-card--featured p{color:#74635d!important}.scam-alert-card--featured a{color:#b13d2e!important}
.memory-visual{position:relative}.memory-visual>img{width:100%;height:auto;object-fit:contain!important;border-radius:8px!important}.memory-grid{align-items:center!important}.memory-grid .memory-visual{padding:0!important}.memory-now{display:none!important}
.live-news{background:#fff;border-top:1px solid #e1ebf2;border-bottom:1px solid #e1ebf2}.live-news-head{align-items:end}.live-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.live-news-grid--full{grid-template-columns:repeat(3,1fr)}.live-news-card{display:flex;flex-direction:column;min-height:230px;padding:23px;background:#fff;border:1px solid #d8e5ef;border-radius:15px;box-shadow:0 8px 24px rgba(24,64,99,.05)}.live-news-card>span{color:#d9253f;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.live-news-card h3{margin:11px 0 10px;color:#123b70;font-size:19px;line-height:1.25}.live-news-card p{margin:0 0 17px;color:#657d91;font-size:13.5px;line-height:1.55}.live-news-card a{margin-top:auto;color:#d9253f;font-size:12px;font-weight:850}.live-news-card time{display:block;margin-top:9px;color:#8b9ba9;font-size:10px}.live-news-note{margin-top:14px;color:#8493a0;font-size:10.5px}.live-news-card.skeleton{background:#f8fbfd}.live-news-card.skeleton h3{opacity:.75}
.practical-hub{background:linear-gradient(180deg,#f5faff,#fff)}.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.practical-card{display:flex;flex-direction:column;min-height:235px;padding:23px;background:#fff;border:1px solid #d7e4ee;border-radius:15px;text-decoration:none;box-shadow:0 7px 20px rgba(20,58,91,.04)}.practical-card>span{color:#d9253f;font-size:9.5px;font-weight:900;letter-spacing:.12em}.practical-card h3{margin:11px 0 10px;color:#123b70;font-size:19px;line-height:1.2}.practical-card p{color:#657b8e;font-size:13.5px;line-height:1.55}.practical-card b{margin-top:auto;color:#6f4b35;font-size:12px}.practical-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(20,58,91,.08)}
.news-page,.resources-expanded{max-width:1080px}.news-intro{max-width:760px;color:#60788e;line-height:1.6}.news-source-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.news-source-row span{padding:7px 10px;border-radius:999px;background:#edf6fd;color:#356080;font-size:11px;font-weight:750}.news-feed-section{margin:28px 0 58px}.news-explore{margin:20px 0 60px}.news-explore h2,.resource-topic h2{font-family:Georgia,"Times New Roman",serif;color:#123b70;font-size:clamp(30px,4vw,44px);font-weight:400;margin:7px 0 22px}.practical-grid--news{grid-template-columns:repeat(4,1fr)}
.resource-topic{scroll-margin-top:110px;padding:42px 0;border-bottom:1px solid #e2ebf1}.resource-topic:first-child{padding-top:10px}.resource-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.resource-topic-grid article{padding:23px;background:#fff;border:1px solid #dce7ef;border-radius:14px}.resource-topic-grid h3{margin:0 0 10px;color:#123b70;font-size:19px}.resource-topic-grid p{margin:0;color:#657b8e;font-size:13.5px;line-height:1.6}.resource-topic-grid .text-link{display:inline-block;margin-top:14px}
@media(max-width:900px){.live-news-grid,.live-news-grid--full{grid-template-columns:1fr 1fr}.practical-grid,.practical-grid--news{grid-template-columns:1fr 1fr}.resource-topic-grid{grid-template-columns:1fr}}
@media(max-width:620px){.live-news-grid,.live-news-grid--full,.practical-grid,.practical-grid--news{grid-template-columns:1fr}.live-news-card,.practical-card{min-height:0}}

/* ===== V47 homepage — couche éditoriale ciblée et réversible ===== */
.home-v47{background:#fbfaf6;color:#18344f}
.home-v47 .wrap{width:min(1120px,calc(100% - 48px))}
.home-v47 .header{box-shadow:0 8px 28px rgba(17,49,79,.055)}
.home-v47 .editorial-hero{position:relative;overflow:hidden;background:#f7f4ec;border-bottom:1px solid #e4dfd2}
.home-v47 .editorial-hero-inner{max-width:1440px;grid-template-columns:minmax(440px,47%) 1fr;min-height:560px}
.home-v47 .editorial-hero-copy{z-index:2;padding-top:54px;padding-bottom:66px;background:linear-gradient(90deg,#fbfaf6 0%,#fbfaf6 78%,rgba(251,250,246,.93) 90%,rgba(251,250,246,0) 100%)}
.home-v47 .editorial-kicker{margin-bottom:13px;color:#a5283c;font-size:10px;letter-spacing:.2em}
.home-v47 .hero-era{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#6c7f8e;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.home-v47 .hero-era i{width:34px;height:1px;background:#c8a758}
.home-v47 .editorial-hero h1{max-width:620px;margin:0 0 22px;color:#102f55;font-size:clamp(40px,4.3vw,59px);line-height:1.04;letter-spacing:-.035em}
.home-v47 .editorial-hero h1 em{color:#9d2940;font-weight:400}
.home-v47 .editorial-hero-copy>p{max-width:590px;color:#526b7d;font-size:17px;line-height:1.68}
.home-v47 .editorial-actions{margin-top:25px}
.home-v47 .cream-btn{border-radius:999px;padding:13px 20px}
.home-v47 .cream-btn--dark{background:#123b70}
.home-v47 .editorial-manifesto{max-width:570px;margin-top:30px;padding-top:18px;color:#617586;border-top:1px solid #d9d7ce;border-left:0}
.home-v47 .editorial-hero-photo{min-height:560px;background-image:linear-gradient(90deg,rgba(251,250,246,.72),rgba(251,250,246,0) 25%),linear-gradient(0deg,rgba(9,35,65,.28),rgba(9,35,65,.02) 55%),url('/downtown-des-moines.jpg');background-position:58% center}
.home-v47 .hero-photo-credit{left:auto;right:18px;bottom:16px}

.home-v47 .daily-hub{padding:62px 0 66px;background:linear-gradient(180deg,#eef7fb 0%,#f7fbfc 58%,#fbfaf6 100%);border-bottom:1px solid #dbe7ec}
.home-v47 .daily-heading{align-items:center;margin-bottom:28px}
.home-v47 .daily-heading h2{max-width:720px;color:#102f55;font-size:clamp(30px,3vw,43px)}
.home-v47 .daily-grid--v47{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.home-v47 .daily-grid--v47 .daily-card{grid-column:span 3;min-height:238px;padding:22px;border-radius:14px;box-shadow:0 10px 27px rgba(21,64,101,.055)}
.home-v47 .daily-grid--v47 .daily-card--lead{grid-column:span 6;min-height:250px;padding:26px 27px}
.home-v47 .daily-card small{margin-bottom:16px}
.home-v47 .daily-card h3{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400;line-height:1.28}
.home-v47 .daily-card--lead h3{max-width:520px;font-size:25px}
.home-v47 .daily-card p{margin-top:0;font-size:13.5px;line-height:1.52}
.home-v47 .daily-card--news{background:#fff;border-top:3px solid #123b70}
.home-v47 .daily-card--watch{background:#fffaf5;border-color:#eaded2}
.home-v47 .daily-card--watch small,.home-v47 .daily-card--watch a{color:#9c3d31}
.home-v47 .daily-card--event{background:#fff;border-top:3px solid #c5a24b}
.home-v47 .daily-card--memory{background:#f8f4eb;border-color:#e4dac7}
.home-v47 .daily-travel-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:14px;padding:17px 20px;background:rgba(255,255,255,.82);border:1px solid #d9e6ec;border-radius:14px}
.home-v47 .daily-travel-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e9f3f8;color:#123b70}
.home-v47 .daily-travel-note small{display:block;color:#a5283c;font-size:9px;font-weight:850;letter-spacing:.13em}
.home-v47 .daily-travel-note h3{display:inline;margin:2px 9px 0 0;color:#123b70;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400}
.home-v47 .daily-travel-note p{display:inline;margin:0;color:#657d8d;font-size:12.5px}
.home-v47 .daily-travel-note>a{color:#a5283c;font-size:12px;font-weight:800;white-space:nowrap}

.home-v47 .scam-watch{padding:58px 0;background:#fbfaf6;border-color:#e5e0d5}
.home-v47 .scam-watch-shell{padding:30px;background:#fff;border:1px solid #e4e3dc;border-left:4px solid #a83b43;border-radius:16px;box-shadow:0 10px 34px rgba(50,57,59,.045)}
.home-v47 .scam-watch-head h2{color:#183b5d!important;font-size:clamp(28px,3vw,40px)}
.home-v47 .scam-watch-head p{color:#65737b}
.home-v47 .scam-watch-head .btn{background:#fff;color:#8e2d3a;border:1px solid #c99da3;box-shadow:none}
.home-v47 .scam-alert-card,.home-v47 .scam-alert-card--featured{min-height:220px;background:#fff!important;border:1px solid #e2e0da!important;border-radius:12px;box-shadow:none!important}
.home-v47 .scam-alert-card--featured{background:#fff8f4!important;border-top:3px solid #a83b43!important}

.home-v47 .section{padding-top:58px;padding-bottom:58px}
.home-v47 .section.alt,.home-v47 .weekly-feature,.home-v47 .revenue-section{background:#f0f6f8!important}
.home-v47 .return-hub{padding:58px 0;background:#fbfaf6}
.home-v47 .district-discovery{background:#f3f7f8}
.home-v47 .district-feature{height:520px;border-radius:12px}
.home-v47 .district-mini,.home-v47 .district-business-card,.home-v47 .return-card,.home-v47 .card,.home-v47 .weekly article,.home-v47 .directory-cats article,.home-v47 .revenue-card{border-radius:12px}
.home-v47 .world-gallery{background:#fbfaf6}
.home-v47 .memory-teaser{padding:62px 0;background:linear-gradient(110deg,#f2f7f9,#fbfaf6 62%,#f9f0f1)!important}
.home-v47 .memory-grid{gap:46px}
.home-v47 .memory-copy h2{font-size:clamp(30px,3.3vw,43px)!important}
.home-v47 .memory-visual{overflow:hidden;background:#fff;border:1px solid #ded8cd;border-radius:14px;box-shadow:0 18px 38px rgba(31,52,65,.1)}
.home-v47 .memory-visual>img{display:block;max-height:390px;object-fit:contain!important}
.home-v47 .live-news,.home-v47 .cream-newsletter-section{background:#fbfaf6}

@media(max-width:1020px){
  .home-v47 .wrap{width:min(100% - 40px,1120px)}
  .home-v47 .editorial-hero-inner{grid-template-columns:1fr;min-height:0}
  .home-v47 .editorial-hero-copy{padding:46px max(28px,calc((100vw - 760px)/2)) 38px;background:#fbfaf6}
  .home-v47 .editorial-hero-photo{min-height:400px;background-image:linear-gradient(180deg,#fbfaf6 0%,rgba(251,250,246,0) 15%),linear-gradient(0deg,rgba(9,35,65,.22),transparent 55%),url('/downtown-des-moines.jpg')}
  .home-v47 .daily-grid--v47 .daily-card,.home-v47 .daily-grid--v47 .daily-card--lead{grid-column:span 6}
  .home-v47 .scam-watch-grid{grid-template-columns:1fr 1fr}.home-v47 .scam-alert-card--featured{grid-column:1/-1}
}
@media(max-width:680px){
  .home-v47 .wrap{width:min(100% - 28px,1120px)}
  .home-v47 .editorial-hero-copy{padding:34px 20px 30px}
  .home-v47 .editorial-hero h1{font-size:38px}
  .home-v47 .editorial-hero-copy>p{font-size:15.5px}
  .home-v47 .editorial-actions{display:grid}.home-v47 .editorial-actions a{text-align:center}
  .home-v47 .editorial-hero-photo{min-height:315px;background-position:62% center}
  .home-v47 .daily-hub{padding:46px 0 50px}
  .home-v47 .daily-heading{gap:14px;margin-bottom:20px}
  .home-v47 .daily-grid--v47{grid-template-columns:1fr}
  .home-v47 .daily-grid--v47 .daily-card,.home-v47 .daily-grid--v47 .daily-card--lead{grid-column:auto;min-height:0;padding:22px}
  .home-v47 .daily-card--lead h3{font-size:22px}
  .home-v47 .daily-travel-note{grid-template-columns:auto 1fr}.home-v47 .daily-travel-note>a{grid-column:2;white-space:normal}
  .home-v47 .scam-watch-shell{padding:22px 18px}.home-v47 .scam-watch-grid{grid-template-columns:1fr}.home-v47 .scam-alert-card--featured{grid-column:auto}
  .home-v47 .district-feature{height:455px}
  .home-v47 .section,.home-v47 .return-hub{padding-top:46px;padding-bottom:46px}
  .home-v47 .memory-grid{gap:26px}.home-v47 .memory-visual>img{max-height:310px}
}

/* V47.1 final override: must remain after the v47 layer. */
.home-v471 .wrap{width:min(1180px,calc(100% - 48px))}
.home-v471 .editorial-hero{padding:24px 0}
.home-v471 .editorial-hero-inner{width:min(1180px,calc(100% - 48px));max-width:1180px;min-height:460px;margin:0 auto;grid-template-columns:minmax(380px,42%) minmax(0,58%);overflow:hidden;border:1px solid #e2ded4;border-radius:16px;background:#fbfaf6;box-shadow:0 14px 38px rgba(19,49,76,.07)}
.home-v471 .editorial-hero-copy{min-width:380px;padding:38px 34px 34px;justify-content:center;background:#fbfaf6}
.home-v471 .editorial-kicker{margin-bottom:9px}.home-v471 .hero-era{margin-bottom:14px}
.home-v471 .editorial-hero h1{max-width:470px;margin-bottom:16px;font-size:clamp(44px,3.7vw,50px);line-height:1.02}
.home-v471 .editorial-hero-copy>p{max-width:460px;margin-bottom:0;font-size:15.5px;line-height:1.55}
.home-v471 .editorial-actions{margin-top:20px}.home-v471 .editorial-manifesto{margin-top:20px;padding-top:13px;font-size:11px}
.home-v471 .editorial-hero-photo{min-height:460px;background-image:linear-gradient(0deg,rgba(9,35,65,.2),rgba(9,35,65,0) 52%),url('/downtown-des-moines.jpg');background-position:center;background-size:cover}
.home-v471 .editorial-wave{display:none}
.home-v471 .daily-hub{padding:38px 0 42px;background:linear-gradient(180deg,#eef7fb 0%,#f8fbfc 100%)}
.home-v471 .daily-heading{margin-bottom:20px}.home-v471 .daily-heading h2{max-width:680px;font-size:clamp(36px,3vw,42px);line-height:1.08}
.home-v471 .daily-grid--v47{gap:12px}
.home-v471 .daily-grid--v47 .daily-card{min-height:196px;padding:18px;border-radius:12px}
.home-v471 .daily-grid--v47 .daily-card--lead{min-height:206px;padding:20px 22px}
.home-v471 .daily-card small{margin-bottom:11px}.home-v471 .daily-card h3{margin-bottom:8px;font-size:17px}.home-v471 .daily-card--lead h3{font-size:22px}
.home-v471 .daily-card p{font-size:12.5px;line-height:1.45}.home-v471 .daily-travel-note{margin-top:12px;padding:13px 17px}
@media(min-width:901px) and (max-width:1020px){.home-v471 .editorial-hero-inner{grid-template-columns:minmax(380px,42%) minmax(0,58%)}.home-v471 .editorial-hero-copy{min-width:380px;padding:34px 28px 30px}.home-v471 .editorial-hero-photo{min-height:450px}}
@media(max-width:900px){
  .home-v471 .wrap,.home-v471 .editorial-hero-inner{width:min(100% - 40px,760px)}
  .home-v471 .editorial-hero{padding:20px 0}.home-v471 .editorial-hero-inner{grid-template-columns:1fr;min-height:0}
  .home-v471 .editorial-hero-copy{min-width:0;padding:34px 32px 30px}.home-v471 .editorial-hero h1{max-width:680px;font-size:clamp(38px,5.3vw,42px)}
  .home-v471 .editorial-hero-photo{min-height:330px;background-image:linear-gradient(0deg,rgba(9,35,65,.18),transparent 55%),url('/downtown-des-moines.jpg')}
  .home-v471 .daily-hub{padding:34px 0 38px}.home-v471 .daily-grid--v47 .daily-card,.home-v471 .daily-grid--v47 .daily-card--lead{min-height:185px;padding:18px}
}
@media(max-width:620px){
  .home-v471 .wrap,.home-v471 .editorial-hero-inner{width:calc(100% - 28px)}.home-v471 .editorial-hero{padding:14px 0}.home-v471 .editorial-hero-inner{border-radius:12px}
  .home-v471 .editorial-hero-copy{padding:28px 20px 24px}.home-v471 .editorial-hero h1{font-size:clamp(30px,8.6vw,34px);line-height:1.05}.home-v471 .editorial-hero-copy>p{font-size:14.5px}
  .home-v471 .editorial-hero-photo{min-height:245px}.home-v471 .daily-heading h2{font-size:32px}.home-v471 .daily-grid--v47 .daily-card,.home-v471 .daily-grid--v47 .daily-card--lead{min-height:0}
}

/* V47.1 — targeted photo-block cleanup (hero intentionally excluded) */
.home-v471 .district-feature,
.home-v471 .district-mini,
.home-v471 .photo-tile,
.home-v471 .weekly-photo-frame,
.home-v471 .recent-photo-grid figure{
  border-radius:12px!important;
}
.home-v471 .district-feature{
  height:auto;
  aspect-ratio:16/8.4;
  max-height:470px;
}
.home-v471 .district-feature img,
.home-v471 .district-mini img,
.home-v471 .photo-tile img,
.home-v471 .weekly-photo-frame img,
.home-v471 .recent-photo-grid img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-v471 .district-feature img{object-position:center 52%}
.home-v471 .district-mini-grid{gap:16px}
.home-v471 .district-mini{display:grid;grid-template-rows:auto 1fr}
.home-v471 .district-mini img{height:auto;aspect-ratio:16/10}
.home-v471 .district-mini:nth-child(1) img{object-position:center 46%}
.home-v471 .district-mini:nth-child(2) img{object-position:center 42%}
.home-v471 .district-mini:nth-child(3) img{object-position:center 38%}
.home-v471 .district-mini>div{padding:18px 19px 20px}

.home-v471 .editorial-collage{
  grid-template-columns:1.18fr .91fr .91fr;
  grid-template-rows:250px 210px;
  gap:14px;
}
.home-v471 .photo-tile--hero{grid-column:1;grid-row:1/3}
.home-v471 .photo-tile:nth-child(2){grid-column:2;grid-row:1}
.home-v471 .photo-tile:nth-child(3){grid-column:3;grid-row:1}
.home-v471 .photo-tile--wide{grid-column:2;grid-row:2}
.home-v471 .photo-tile:nth-child(5){grid-column:3;grid-row:2}
.home-v471 .photo-tile:nth-child(1) img{object-position:center 38%}
.home-v471 .photo-tile:nth-child(2) img{object-position:center 36%}
.home-v471 .photo-tile:nth-child(3) img{object-position:center 28%}
.home-v471 .photo-tile:nth-child(4) img{object-position:center 42%}
.home-v471 .photo-tile:nth-child(5) img{object-position:center 34%}
.home-v471 .photo-tile figcaption{left:16px;right:16px;bottom:15px}
.home-v471 .photo-tile figcaption strong{font-size:19px}

.home-v471 .weekly-feature-grid{gap:36px}
.home-v471 .weekly-photo-frame{height:auto;aspect-ratio:4/3;max-height:360px}
.home-v471 .weekly-photo-frame img{object-position:center 38%}
.home-v471 .weekly-photo-label,
.home-v471 .recent-photo-grid figcaption{
  border-radius:6px;
  background:rgba(18,59,112,.88)!important;
}
.home-v471 .recent-photo-grid{gap:12px}
.home-v471 .recent-photo-grid figure{height:auto;aspect-ratio:4/3}

@media(max-width:900px){
  .home-v471 .district-feature{aspect-ratio:16/9;max-height:410px}
  .home-v471 .district-mini-grid{grid-template-columns:1fr;gap:14px}
  .home-v471 .district-mini{grid-template-columns:200px 1fr;grid-template-rows:none;min-height:150px}
  .home-v471 .district-mini img{height:100%;min-height:0;aspect-ratio:auto}
  .home-v471 .editorial-collage{grid-template-rows:235px 205px}
  .home-v471 .weekly-photo-frame{max-height:340px}
}

@media(max-width:650px){
  .home-v471 .district-discovery{padding:42px 0}
  .home-v471 .district-section-title{margin-bottom:16px}
  .home-v471 .district-feature{height:auto;aspect-ratio:4/3;max-height:300px}
  .home-v471 .district-feature-copy{left:16px;right:16px;bottom:18px}
  .home-v471 .district-feature-copy h3{font-size:25px;line-height:1.08}
  .home-v471 .district-feature-copy p{display:none}
  .home-v471 .district-tags{margin-bottom:8px}
  .home-v471 .district-tags span{padding:5px 9px;font-size:10px}
  .home-v471 .district-mini-grid{gap:12px;margin-top:14px}
  .home-v471 .district-mini{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:126px}
  .home-v471 .district-mini img{height:100%;min-height:126px;aspect-ratio:auto}
  .home-v471 .district-mini>div{padding:14px 15px}
  .home-v471 .district-mini h3{margin:5px 0 5px;font-size:16px}
  .home-v471 .district-mini p{font-size:12px;line-height:1.4}

  .home-v471 .editorial-collage{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:none;
    gap:12px;
    overflow:visible;
    padding-bottom:0;
  }
  .home-v471 .photo-tile,
  .home-v471 .photo-tile--hero,
  .home-v471 .photo-tile--wide{
    grid-column:auto;
    grid-row:auto;
    width:100%;
    min-width:0;
    height:auto;
    aspect-ratio:4/3;
  }
  .home-v471 .photo-tile--hero{aspect-ratio:16/10}
  .home-v471 .photo-tile figcaption strong{font-size:18px}
  .home-v471 .weekly-feature-grid{gap:24px}
  .home-v471 .weekly-photo-frame{width:100%;height:auto;max-height:none;aspect-ratio:4/3}
  .home-v471 .weekly-photo-label{left:12px;bottom:12px;padding:6px 8px}
  .home-v471 .community-photo-section{padding:20px 16px;border-radius:14px}
  .home-v471 .recent-photo-grid{grid-template-columns:1fr;gap:12px}
  .home-v471 .recent-photo-grid figure{height:auto;aspect-ratio:4/3}
}

/* V47.3 — texte hors des photographies, sans refonte de structure */
.home-v473 .editorial-hero h1{
  font-size:clamp(41px,3.4vw,47px);
  line-height:1.04;
}

.home-v473 .district-feature{
  display:grid;
  grid-template-rows:390px auto;
  height:auto;
  max-height:none;
  overflow:hidden;
  background:#fff;
}
.home-v473 .district-feature>img{
  height:390px;
  object-position:center 50%;
}
.home-v473 .district-feature-shade{display:none}
.home-v473 .district-feature-copy{
  position:static;
  padding:22px 26px 24px;
  text-align:left;
  color:#18344f;
  background:#fff;
}
.home-v473 .district-tags{
  justify-content:flex-start;
  margin-bottom:8px;
}
.home-v473 .district-tags span{
  padding:0;
  background:transparent;
  color:#a5283c;
  font-size:9px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-v473 .district-tags span+span:before{
  content:"·";
  margin-right:8px;
  color:#9aacb8;
}
.home-v473 .district-feature-copy h3{
  max-width:900px;
  margin:0 0 8px;
  color:#18344f!important;
  font-size:clamp(25px,2.7vw,34px);
  line-height:1.08;
}
.home-v473 .district-feature-copy p{
  max-width:900px;
  margin:0 0 10px;
  color:#64798a;
  font-size:14px;
}
.home-v473 .district-feature-copy strong{
  color:#a5283c;
  font-size:12px;
}

.home-v473 .photo-tile{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  background:#fff;
  border:1px solid #e0e5e7;
}
.home-v473 .photo-tile:after{display:none}
.home-v473 .photo-tile img{
  min-height:0;
  filter:saturate(.98) contrast(1.01);
}
.home-v473 .photo-tile figcaption{
  position:static;
  padding:11px 14px 13px;
  color:#18344f;
  background:#fff;
}
.home-v473 .photo-tile figcaption span{
  color:#a5283c;
  font-size:8px;
}
.home-v473 .photo-tile figcaption strong{
  margin-top:3px;
  color:#18344f;
  font-size:17px;
  line-height:1.18;
}
.home-v473 .weekly-photo-frame:after{display:none}

@media(max-width:900px){
  .home-v473 .district-feature{grid-template-rows:330px auto}
  .home-v473 .district-feature>img{height:330px}
}

@media(max-width:650px){
  .home-v473 .editorial-hero h1{font-size:clamp(30px,8.6vw,34px)}
  .home-v473 .district-feature{
    grid-template-rows:240px auto;
    aspect-ratio:auto;
    max-height:none;
  }
  .home-v473 .district-feature>img{height:240px}
  .home-v473 .district-feature-copy{
    display:block;
    padding:17px 17px 19px;
  }
  .home-v473 .district-feature-copy h3{font-size:23px}
  .home-v473 .district-feature-copy p{
    display:block;
    font-size:13px;
    line-height:1.48;
  }
  .home-v473 .photo-tile,
  .home-v473 .photo-tile--hero,
  .home-v473 .photo-tile--wide{
    aspect-ratio:auto;
    grid-template-rows:auto auto;
  }
  .home-v473 .photo-tile img{
    height:auto;
    aspect-ratio:4/3;
  }
  .home-v473 .photo-tile--hero img{aspect-ratio:16/10}
  .home-v473 .photo-tile figcaption{padding:10px 13px 12px}
}

/* V47.3.1 — micro-finition des blocs photo approuvés */
.home-v473 .district-feature{
  grid-template-rows:350px auto;
}
.home-v473 .district-feature>img{
  height:350px;
}
.home-v473 .district-feature-copy{
  padding-top:19px;
}
.home-v473 .district-mini-grid{
  align-items:stretch;
}
.home-v473 .district-mini{
  height:100%;
}
.home-v473 .district-mini>div{
  display:grid;
  grid-template-rows:auto minmax(2.36em,auto) minmax(3em,auto);
  align-content:start;
  gap:0;
}
.home-v473 .district-mini h3,
.home-v473 .district-mini p{
  align-self:start;
}
.home-v473 .photo-tile figcaption{
  display:flex;
  min-height:67px;
  flex-direction:column;
  justify-content:flex-start;
}

@media(max-width:900px){
  .home-v473 .district-feature{grid-template-rows:300px auto}
  .home-v473 .district-feature>img{height:300px}
  .home-v473 .district-mini>div{grid-template-rows:auto auto auto}
}

@media(max-width:650px){
  .home-v473 .district-feature{grid-template-rows:220px auto}
  .home-v473 .district-feature>img{height:220px}
  .home-v473 .district-feature-copy{padding-top:15px}
  .home-v473 .district-mini{height:auto}
  .home-v473 .photo-tile figcaption{min-height:64px}
}

/* V47.3.1 — corrections strictement mobiles de la grille communautaire */
@media(max-width:420px){
  .home-v473 .editorial-collage{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:none;
    gap:12px;
  }
  .home-v473 .editorial-collage > .photo-tile,
  .home-v473 .editorial-collage > .photo-tile--hero,
  .home-v473 .editorial-collage > .photo-tile--wide{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%;
    min-width:0;
  }
  .home-v473 .legacy-home h2{
    font-size:34px!important;
    line-height:1.08!important;
  }
}

/* V48 — communauté, archives et assistant du Hub */
.form-trust{padding:12px 14px;border-left:4px solid #1e5a8a;background:#eef6fb;color:#18344f;font-weight:700}
.writing-help{background:#f7f3ea}.writing-help-panel{margin-top:18px;padding:18px;border:1px solid #d9e2e8;border-radius:14px;background:#fff}.writing-help-panel li+li{margin-top:8px}
.community-v48{max-width:1180px}.community-page-hero{background:#edf6fb}.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.journey-card,.journey-invite{display:grid;grid-template-columns:88px 1fr;gap:20px;padding:24px;border:1px solid #dce4e8;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(18,45,68,.07)}.journey-placeholder{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#e8f1f7;color:#163b5a;font:700 34px Georgia,serif}.journey-card h3{margin:6px 0;font-size:28px}.journey-route{color:#4a6071}.journey-card blockquote{margin:14px 0;font-style:italic;color:#314d62}.journey-invite{grid-column:1/-1;display:block;background:#173b59;color:#fff}.journey-invite .eyebrow{color:#ffcfda}.journey-invite p{color:#e5eef4}
.archive-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 20px}.archive-filters button,.assistant-suggestions button{white-space:nowrap;border:1px solid #cbd8df;border-radius:999px;background:#fff;padding:9px 14px;color:#173b59;font-weight:700;cursor:pointer}.archive-filters button.active{background:#173b59;color:#fff}.archive-gallery-v48{display:grid;gap:24px}.archive-gallery-v48 article{display:grid;grid-template-columns:minmax(260px,42%) 1fr;overflow:hidden;border:1px solid #dce4e8;border-radius:20px;background:#fff}.archive-gallery-v48 img{width:100%;height:100%;max-height:330px;object-fit:cover}.archive-gallery-v48 article>div{padding:26px}.archive-gallery-v48 span{color:#a5283c;font-size:12px;font-weight:800;letter-spacing:.08em}.archive-gallery-v48 h2{margin:8px 0 10px;font-size:29px}.empty-state{text-align:center;padding:40px;background:#f3f7f9;border-radius:18px}
.assistant-page{max-width:960px;padding-top:70px;padding-bottom:90px}.assistant-intro{padding:40px;border-radius:26px;background:#edf6fb}.assistant-intro h1{font-size:clamp(42px,7vw,70px);margin:10px 0}.assistant-intro>p{max-width:720px}.assistant-search{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:24px}.assistant-search input{min-width:0;padding:15px;border:1px solid #b9cbd6;border-radius:12px;font:inherit}.assistant-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.assistant-results{padding:34px 0}.assistant-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.assistant-result-grid a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #dce4e8;border-radius:16px;background:#fff;color:#173b59;text-decoration:none}.assistant-result-grid span{color:#506675}.assistant-disclosure{padding:14px 18px;border-radius:12px;background:#f7f3ea;color:#50606b}
.hub-memory-of-day .memory-day-grid{display:grid;grid-template-columns:minmax(260px,42%) 1fr;align-items:center;gap:34px;padding:26px;border:1px solid #dce4e8;border-radius:24px;background:#fff}.memory-day-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.memory-day-date{color:#a5283c;font-weight:800}.journey-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journey-preview article{padding:22px;border:1px solid #dce4e8;border-radius:18px;background:#fff}.journey-preview span{font-size:10px;font-weight:800;color:#a5283c;letter-spacing:.08em}.journey-preview h3{font-size:25px;margin:10px 0 4px}.journey-preview small{display:block;color:#647581;margin-top:14px}.journey-preview .journey-cta{background:#173b59;color:#fff}.ask-hub-shell{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px;border-radius:22px;background:#eaf4fa}.ask-hub-shell h2{margin:8px 0}.ask-hub-shell>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.community-speaks-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start}
@media(max-width:768px){.journey-grid,.journey-preview,.assistant-result-grid{grid-template-columns:1fr}.journey-invite{grid-column:auto}.archive-gallery-v48 article,.hub-memory-of-day .memory-day-grid,.community-speaks-grid{grid-template-columns:1fr}.archive-gallery-v48 img{height:auto;aspect-ratio:16/10}.ask-hub-shell{align-items:flex-start;flex-direction:column}.assistant-intro{padding:26px}.assistant-search{grid-template-columns:1fr}.assistant-search .btn{width:100%}}
@media(max-width:430px){.journey-card{grid-template-columns:58px 1fr;padding:17px;gap:13px}.journey-placeholder{width:54px;height:54px;font-size:24px}.archive-gallery-v48 article>div{padding:18px}.archive-gallery-v48 h2{font-size:24px}.hub-memory-of-day .memory-day-grid{padding:15px;gap:18px}.assistant-page{padding-top:34px}.assistant-intro{padding:20px}.assistant-intro h1{font-size:38px}.community-speaks-grid h2{font-size:32px;line-height:1.1}}

/* V48.1 — finalisation UX des contributions */
.testimony-page .story-form{max-width:980px;margin-inline:auto}.required-mark{margin-left:5px;color:#9d2137;font-size:11px;font-weight:800;text-transform:uppercase}.field-help{display:block;margin-top:6px;color:#526877;font-weight:500;line-height:1.4}.upload-limit{padding:12px 14px;border-radius:12px;background:#eef6fb;color:#18344f;font-weight:700}.form-status:empty{display:none}.form-status{margin-top:16px;padding:14px 16px;border-radius:12px;outline:none}.form-status.is-pending{display:block;background:#eef6fb;color:#18344f}.form-status.is-error{display:block;border:1px solid #c9485e;background:#fff2f4;color:#811b2d;font-weight:700}.form-success{padding:28px;border:1px solid #b8d8c3;border-radius:18px;background:#f1faf4;outline:none}.form-success h2{margin-top:0;color:#173b59}.form-success .btn{margin-top:10px}.form button,.form .btn,.poll-form button{min-height:44px}.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible,.form button:focus-visible,.poll-form input:focus-visible,.poll-form button:focus-visible{outline:3px solid #efb6c0;outline-offset:2px}.scam-report-cta{background:#173b59!important;border-color:#173b59!important;color:#fff!important}
.hub-memory-of-day .memory-day-grid{grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:0;padding:20px;gap:28px}.hub-memory-of-day .memory-day-grid img{height:280px;aspect-ratio:auto;object-fit:cover;object-position:center 34%}.hub-memory-of-day .memory-day-grid h2{margin:7px 0 9px}.hub-memory-of-day .memory-day-grid p{margin-top:7px}
@media(max-width:768px){.hub-memory-of-day .memory-day-grid{grid-template-columns:1fr}.hub-memory-of-day .memory-day-grid img{height:220px}.testimony-page .form-row{grid-template-columns:1fr}.testimony-page .upload-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.testimony-page .form-section{padding:18px 14px}.testimony-page .form-section-title{gap:10px}.testimony-page .form-section-title>span{flex:0 0 38px;width:38px;height:38px}.testimony-page .upload-grid{grid-template-columns:1fr}.testimony-page input,.testimony-page textarea,.testimony-page select,.photo-week-form input,.photo-week-form textarea{width:100%;min-width:0}.testimony-page .check,.photo-week-form .check{align-items:flex-start;padding:12px}.hub-memory-of-day .memory-day-grid{padding:14px;gap:16px}.hub-memory-of-day .memory-day-grid img{height:180px}.hub-memory-of-day .memory-day-grid h2{font-size:28px;line-height:1.12}}

/* V48.3 — typographie du titre du hero uniquement */
.home-v473 .editorial-hero h1{
  max-width:500px;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(22px,2.4vw,30px);
  font-weight:500;
  letter-spacing:-.018em;
  line-height:1.17;
  text-wrap:balance;
}
.home-v473 .editorial-hero h1 em{
  font-family:inherit;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.012em;
}
@media(max-width:650px){
  .home-v473 .editorial-hero h1{
    max-width:100%;
    font-size:clamp(22px,7vw,28px);
    line-height:1.17;
  }
}

/* V48.3.2 — famille typographique uniforme pour les titres principaux */
h1{
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif!important;
}

/* V49 — UFE Iowa / Midwest, rentrée septembre 2026 */
.ufe-page .ufe-hero{padding:58px 0 60px;background:linear-gradient(115deg,#eaf5ff 0%,#fff 58%,#fff0f3 100%)!important}
.ufe-hero .eyebrow,.ufe-section-head .eyebrow,.ufe-links-copy .eyebrow{color:#c71f3b;font-weight:850;letter-spacing:.12em}
.ufe-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}
.ufe-page .ufe-intro{padding-bottom:54px}
.ufe-card-kicker{display:block;margin-bottom:8px;color:#c71f3b;font-size:10.5px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.ufe-update-section{padding:64px 0;background:linear-gradient(180deg,#f4f9fd 0%,#fff 100%);border-top:1px solid #dbe8f3;border-bottom:1px solid #dbe8f3}
.ufe-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}
.ufe-section-head h2,.ufe-links-copy h2{margin:7px 0 9px;color:#123b70;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.2vw,43px);font-weight:400;letter-spacing:-.02em}
.ufe-section-head p,.ufe-links-copy p{margin:0;max-width:760px;color:#60788e;line-height:1.65}
.ufe-fresh-badge{flex:none;padding:7px 11px;border:1px solid #efbac3;border-radius:999px;background:#fff1f3;color:#a91f37;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ufe-feature-card{display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;margin-bottom:20px;background:#fff;border:1px solid #d8e6f2;border-radius:18px;box-shadow:0 14px 36px rgba(18,59,112,.07)}
.ufe-feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px}
.ufe-feature-copy h3{margin:0 0 11px;color:#123b70;font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400}
.ufe-feature-copy p{margin:0 0 20px;color:#60788e;line-height:1.65}
.ufe-feature-media{display:grid;place-items:center;min-height:300px;padding:24px;background:linear-gradient(135deg,#f8fbff,#eef6fd)}
.ufe-feature-media img{width:min(100%,718px);height:auto;border-radius:10px}
.ufe-resource-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ufe-info-card{display:flex;flex-direction:column;min-height:100%;padding:26px;background:#fff;border:1px solid #d9e7f2;border-radius:16px;box-shadow:0 10px 26px rgba(18,59,112,.055)}
.ufe-info-card h3{margin:0 0 10px;color:#123b70;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:400;line-height:1.2}
.ufe-info-card p{margin:0 0 17px;color:#60788e;line-height:1.6}
.ufe-info-card .btn{align-self:flex-start;margin-top:auto}
.ufe-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:17px;border-radius:50%;background:#eef6fd;font-size:20px}
.ufe-qr{width:100%;margin-top:auto;padding-top:8px}
.ufe-small-note{margin-top:auto!important;color:#74889a!important;font-size:12px}
.ufe-links-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;padding-top:66px;padding-bottom:62px}
.ufe-link-list{display:grid;gap:10px}
.ufe-link-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;background:#fff;border:1px solid #d7e5f1;border-radius:12px;box-shadow:0 7px 20px rgba(18,59,112,.04);transition:transform .2s ease,border-color .2s ease}
.ufe-link-list a:hover{transform:translateY(-2px);border-color:#a9c7df}
.ufe-link-list span{color:#123b70;font-weight:800}
.ufe-link-list b{color:#c71f3b;font-size:12px;text-align:right}
.ufe-page .ufe-callout{margin-top:0;margin-bottom:72px;background:linear-gradient(110deg,#eef7ff,#fff 72%)!important;border-color:#cddfeb!important;border-left:4px solid #c71f3b!important;border-radius:14px}
.ufe-page .ufe-callout h2{color:#123b70!important}
.ufe-page .ufe-callout p{margin-bottom:0;color:#60788e!important}
@media(max-width:900px){.ufe-feature-card,.ufe-links-section{grid-template-columns:1fr}.ufe-feature-media{min-height:auto}.ufe-resource-cards{grid-template-columns:1fr 1fr}.ufe-links-section{gap:22px}}
@media(max-width:650px){.ufe-hero-actions{flex-direction:column}.ufe-hero-actions .btn{width:100%}.ufe-section-head{flex-direction:column}.ufe-resource-cards{grid-template-columns:1fr}.ufe-feature-copy{padding:26px 22px}.ufe-feature-copy h3{font-size:30px}.ufe-feature-media{padding:18px}.ufe-link-list a{align-items:flex-start;flex-direction:column;gap:5px}.ufe-link-list b{text-align:left}}

