:root{
  --marine:#0F2438; --marine-2:#173350; --teal:#1F7A72; --teal-l:#2F958B;
  --gold:#C79A48; --sail:#F6F3EC; --ink:#16232E; --ink-soft:#4C5A66;
  --line:rgba(22,35,46,0.12);
  box-sizing:border-box;
}
*{box-sizing:border-box;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --sail:#0F2438; --ink:#EAE6DC; --ink-soft:#B9C2C9; --line:rgba(234,230,220,0.14); }
}
:root[data-theme="dark"]{ --sail:#0F2438; --ink:#EAE6DC; --ink-soft:#B9C2C9; --line:rgba(234,230,220,0.14); }
html{scroll-behavior:smooth;}
body{margin:0; background:var(--sail); color:var(--ink); font-family:'Work Sans',system-ui,sans-serif; line-height:1.55;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif; font-weight:500; margin:0; letter-spacing:-0.01em;}
a{color:inherit;}
.wrap{max-width:920px; margin:0 auto; padding:0 24px;}
img{max-width:100%; display:block;}

html[data-lang="en"] .lang-fr{display:none;}
html[data-lang="fr"] .lang-en{display:none;}

.topbar{position:sticky; top:0; z-index:10; background:var(--marine); color:var(--sail); border-bottom:1px solid rgba(246,243,236,0.15);}
.topbar-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:920px; margin:0 auto;}
.brand{font-family:'Fraunces',serif; font-size:1.1rem; text-decoration:none; color:var(--sail);}
.nav-links{display:flex; align-items:center; gap:22px;}
.nav-links a{text-decoration:none; font-size:0.92rem; color:#D7DEE2;}
.nav-links a.current{color:var(--gold);}
.lang-switch{display:flex; gap:0;}
.lang-switch button{font-family:'Work Sans',sans-serif; font-size:0.78rem; font-weight:600; padding:7px 12px; border:1px solid rgba(246,243,236,0.4); background:transparent; color:#F6F3EC; cursor:pointer;}
.lang-switch button:first-child{border-radius:2px 0 0 2px; border-right:none;}
.lang-switch button:last-child{border-radius:0 2px 2px 0;}
.lang-switch button[aria-pressed="true"]{background:var(--gold); color:var(--marine); border-color:var(--gold);}

.hero{position:relative; min-height:88vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--marine);}
.hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.88;}
.hero::after{content:'';position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,36,56,0.15) 0%, rgba(15,36,56,0.15) 40%, rgba(15,36,56,0.92) 100%);}
.hero-inner{position:relative; z-index:1; width:100%; padding:56px 24px; color:var(--sail);}
.hero-eyebrow{font-family:'Fraunces',serif; font-style:italic; font-size:1.05rem; color:#E4D5A8; margin-bottom:10px;}
.hero h1{font-size:clamp(2.4rem,6vw,4.2rem); max-width:14ch; color:#F6F3EC;}
.hero p{max-width:46ch; margin-top:18px; font-size:1.1rem; color:#D7DEE2;}
.hero-cta{display:inline-block; margin-top:30px; padding:14px 30px; background:var(--gold); color:var(--marine); text-decoration:none; font-weight:600; border-radius:2px;}

section{padding:72px 0;}
.lede{font-size:1.3rem; font-family:'Fraunces',serif; font-weight:400; color:var(--ink); max-width:36ch; line-height:1.4;}
.body-text{max-width:58ch; color:var(--ink-soft); margin-top:18px; font-size:1.02rem;}
.divider{border:none; border-top:1px solid var(--line); margin:0;}

.highlights{margin-top:36px; border-top:1px solid var(--line);}
.hl-row{display:grid; grid-template-columns:220px 1fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--line);}
.hl-row h3{font-size:1.15rem; color:var(--teal-l);}
.hl-row p{margin:0; color:var(--ink-soft);}

.journey{margin-top:36px; display:flex; flex-direction:column;}
.step{display:grid; grid-template-columns:56px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line);}
.step:last-child{border-bottom:none;}
.step-num{font-family:'Fraunces',serif; font-size:1.5rem; color:var(--gold);}
.step h3{font-size:1.05rem; margin-bottom:4px;}
.step p{margin:0; color:var(--ink-soft); font-size:0.98rem;}

.practical{background:var(--marine); color:var(--sail); border-radius:4px; padding:44px 32px;}
.practical h2{color:var(--sail); margin-bottom:28px;}
.pi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px 32px;}
.pi-item{border-top:1px solid rgba(246,243,236,0.2); padding-top:14px;}
.pi-label{font-size:0.85rem; color:#B7C6CC; margin-bottom:6px;}
.pi-value{font-family:'Fraunces',serif; font-size:1.3rem; color:var(--sail);}

.cta-block{text-align:left; padding:80px 0 60px; border-top:1px solid var(--line);}
.cta-block h2{font-size:clamp(1.8rem,4vw,2.6rem); max-width:18ch;}
.cta-block p{color:var(--ink-soft); margin-top:14px; max-width:46ch;}
.cta-buttons{margin-top:28px; display:flex; gap:16px; flex-wrap:wrap;}
.btn-primary{padding:14px 30px; background:var(--teal); color:#F6F3EC; text-decoration:none; font-weight:600; border-radius:2px;}
.btn-ghost{padding:14px 30px; border:1px solid var(--line); text-decoration:none; font-weight:600; border-radius:2px; color:var(--ink);}

footer{padding:28px 24px 40px; text-align:left; color:var(--ink-soft); font-size:0.9rem; border-top:1px solid var(--line);}
footer a{color:inherit; text-decoration:underline;}

/* Blog */
.page-head{padding:56px 0 20px;}
.page-head h1{font-size:clamp(2rem,5vw,2.8rem);}
.page-head p{color:var(--ink-soft); margin-top:12px; max-width:52ch;}
.article-list{margin-top:20px; border-top:1px solid var(--line);}
.article-row{display:block; padding:30px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink);}
.article-date{font-size:0.85rem; color:var(--gold); font-family:'Work Sans',sans-serif; font-weight:600;}
.article-row h2{font-size:1.4rem; margin-top:8px;}
.article-row p{color:var(--ink-soft); margin-top:8px; max-width:60ch;}
.article-row .read-more{display:inline-block; margin-top:10px; font-size:0.92rem; color:var(--teal-l); font-weight:600;}

@media (max-width:640px){
  .hl-row{grid-template-columns:1fr; gap:6px;}
  section{padding:52px 0;}
  .nav-links{gap:12px;}
  .nav-links span.sep{display:none;}
}
