
:root {
      --navy:#1b3c53;
      --navy-deep:#102d40;
      --navy-soft:#456882;
      --blush:#d2c1b6;
      --cream:#f9f3ef;
      --white:#ffffff;
      --ink:#17191a;
      --grey:#656b6d;
      --line:rgba(27,60,83,.17);
      --display:"Sora","Avenir Next",Arial,sans-serif;
      --sans:"Manrope",Arial,sans-serif;
      --page:min(1380px,calc(100vw - 56px));
    }

    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; overflow-x:hidden; background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
    body.nav-open { overflow:hidden; }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    button,input { font:inherit; }
    address { font-style:normal; }
    [hidden] { display:none!important; }
    :focus-visible { outline:3px solid var(--blush); outline-offset:4px; }
    ::selection { background:var(--blush); color:var(--navy); }
    .page { width:var(--page); margin-inline:auto; }
    .skip { position:fixed; z-index:1000; top:12px; left:12px; padding:10px 14px; background:var(--white); color:var(--navy); transform:translateY(-150%); }
    .skip:focus { transform:translateY(0); }

    .label { display:inline-flex; align-items:center; gap:11px; margin:0 0 22px; color:var(--navy-soft); font-size:.69rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
    .label::before { content:""; width:28px; height:1px; background:currentColor; }
    .label.light { color:var(--blush); }
    .display { margin:0; color:var(--navy); font-family:var(--display); font-size:clamp(4rem,7.3vw,7.8rem); font-weight:500; letter-spacing:-.065em; line-height:.91; }
    .headline { margin:0; color:var(--navy); font-family:var(--display); font-size:clamp(2.8rem,5vw,5.6rem); font-weight:500; letter-spacing:-.055em; line-height:1; }
    .headline.light { color:var(--white); }
    .button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:14px 24px; border:1px solid var(--navy); border-radius:2px; background:var(--navy); color:var(--white); font-size:.82rem; font-weight:700; letter-spacing:.02em; cursor:pointer; transition:background .25s,color .25s,transform .25s; }
    .button:hover { transform:translateY(-2px); background:var(--navy-deep); }
    .button::after { content:"↗"; font-size:1.05rem; }
    .button.light { border-color:var(--white); background:var(--white); color:var(--navy); }
    .button.outline { background:transparent; color:var(--navy); }
    .button.outline:hover { background:var(--navy); color:var(--white); }
    .button.outline-light { border-color:rgba(255,255,255,.45); background:transparent; color:var(--white); }
    .button.outline-light:hover { border-color:var(--white); background:var(--white); color:var(--navy); }

    .header { position:relative; z-index:100; border-bottom:1px solid var(--line); background:rgba(249,243,239,.96); backdrop-filter:blur(16px); }
    .header.sticky { position:sticky; top:0; box-shadow:0 10px 40px rgba(27,60,83,.06); }
    .nav { height:92px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:52px; }
    .brand { display:inline-flex; align-items:center; gap:13px; width:max-content; line-height:1; }
    .brand-symbol { width:42px; height:42px; display:grid; place-items:center; flex:0 0 42px; background:var(--navy); color:var(--blush); font-family:var(--display); font-size:1.3rem; font-weight:600; letter-spacing:-.08em; }
    .brand-wordmark { display:grid; gap:5px; }
    .brand-wordmark strong { color:var(--navy); font-family:var(--display); font-size:.95rem; font-weight:600; letter-spacing:.22em; line-height:1; }
    .brand-wordmark span { color:var(--navy-soft); font-size:.54rem; font-weight:700; letter-spacing:.36em; line-height:1; }
    .nav-links { display:flex; align-items:center; justify-content:center; gap:31px; }
    .nav-links a { position:relative; color:#34393b; font-size:.79rem; font-weight:600; }
    .nav-links a:hover { color:var(--navy-soft); }
    .nav-links a.active { color:var(--navy); }
    .nav-links a.active::after { content:""; position:absolute; right:0; bottom:-9px; left:0; height:1px; background:var(--navy); }
    .nav-cta { display:flex; align-items:center; gap:16px; }
    .finance-link { font-size:.75rem; font-weight:700; border-bottom:1px solid currentColor; }
    .menu { display:none; width:46px; height:46px; border:1px solid var(--line); background:transparent; color:var(--navy); }
    .menu i { display:block; width:19px; height:1px; margin:5px auto; background:currentColor; transition:transform .25s; }

    .hero { position:relative; overflow:hidden; background:var(--cream); }
    .hero::before { content:"JOURNAL"; position:absolute; right:-35px; bottom:-73px; color:rgba(27,60,83,.04); font-family:var(--display); font-size:clamp(9rem,19vw,21rem); font-weight:700; letter-spacing:-.08em; line-height:1; white-space:nowrap; }
    .hero-grid { position:relative; z-index:2; min-height:760px; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr); align-items:center; gap:clamp(60px,8vw,125px); padding:70px 0 95px; }
    .hero-copy { min-width:0; }
    .hero .display span { display:block; margin-left:clamp(22px,5vw,90px); color:var(--navy-soft); font-weight:400; }
    .hero-intro { width:min(615px,100%); margin:38px 0 0 clamp(22px,5vw,90px); color:#555d60; font-size:clamp(1rem,1.25vw,1.17rem); }
    .hero-actions { margin:34px 0 0 clamp(22px,5vw,90px); display:flex; flex-wrap:wrap; gap:10px; }
    .cover { position:relative; min-width:0; min-height:620px; }
    .cover-back { position:absolute; inset:0 0 35px 70px; background:var(--navy); }
    .cover-photo { position:absolute; z-index:2; top:48px; right:45px; bottom:0; left:0; overflow:hidden; background:var(--blush); box-shadow:0 32px 80px rgba(16,45,64,.19); }
    .cover-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(.96); }
    .cover-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(16,45,64,.76)); }
    .cover-title { position:absolute; z-index:3; right:95px; bottom:42px; left:38px; color:var(--white); }
    .cover-title small { display:block; color:var(--blush); font-size:.61rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
    .cover-title strong { display:block; max-width:400px; margin-top:10px; font-family:var(--display); font-size:clamp(1.7rem,2.7vw,2.75rem); font-weight:500; letter-spacing:-.04em; line-height:1.04; }
    .cover-number { position:absolute; z-index:4; top:22px; left:25px; width:76px; height:76px; display:grid; place-items:center; background:var(--blush); color:var(--navy); font-family:var(--display); font-size:.77rem; font-weight:700; }
    .cover-edge { position:absolute; z-index:3; top:35px; right:14px; color:rgba(255,255,255,.85); font-size:.59rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase; writing-mode:vertical-rl; }
    .cover-note { position:absolute; z-index:4; right:0; bottom:0; width:142px; height:142px; display:grid; place-items:center; border-radius:50%; background:var(--blush); color:var(--navy); text-align:center; transform:rotate(7deg); box-shadow:0 18px 45px rgba(16,45,64,.18); }
    .cover-note::before { content:""; position:absolute; inset:10px; border:1px solid rgba(27,60,83,.35); border-radius:50%; }
    .cover-note span { position:relative; max-width:86px; font-family:var(--display); font-size:.79rem; font-weight:600; line-height:1.25; }

    .journal-strip { background:var(--navy); color:var(--white); }
    .strip-grid { min-height:132px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .strip-item { display:flex; align-items:center; gap:18px; padding:24px 31px; border-left:1px solid rgba(255,255,255,.15); }
    .strip-item:first-child { border-left:0; }
    .strip-item b { color:var(--blush); font-family:var(--display); font-size:1.45rem; font-weight:500; }
    .strip-item strong,.strip-item small { display:block; }
    .strip-item strong { font-size:.86rem; }
    .strip-item small { margin-top:3px; color:rgba(255,255,255,.58); font-size:.69rem; }

    .journal { padding:145px 0 155px; background:var(--white); }
    .journal-intro { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(60px,9vw,135px); align-items:end; }
    .journal-intro > p { max-width:590px; margin:0 0 8px; color:var(--grey); }
    .toolbar { margin-top:72px; display:grid; grid-template-columns:1fr minmax(260px,390px); gap:35px; align-items:end; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .filter-group { display:flex; flex-wrap:wrap; gap:8px; }
    .filter { min-height:42px; padding:9px 16px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--navy); font-size:.72rem; font-weight:700; cursor:pointer; transition:.2s; }
    .filter:hover,.filter[aria-pressed="true"] { border-color:var(--navy); background:var(--navy); color:var(--white); }
    .search-wrap { position:relative; }
    .search-wrap label { display:block; margin-bottom:7px; color:var(--grey); font-size:.59rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
    .search-wrap input { width:100%; min-height:47px; border:0; border-bottom:1px solid rgba(27,60,83,.4); border-radius:0; padding:9px 46px 9px 0; background:transparent; color:var(--ink); outline:none; }
    .search-wrap input:focus { border-bottom-color:var(--navy); }
    .search-icon { position:absolute; right:4px; bottom:11px; color:var(--navy); font-size:1.1rem; }
    .results-line { display:flex; justify-content:space-between; gap:25px; margin:20px 0 38px; color:var(--grey); font-size:.7rem; }
    .results-line span:last-child { text-align:right; }
    .article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    .article-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--cream); transition:transform .3s,box-shadow .3s; }
    .article-card:hover { transform:translateY(-6px); box-shadow:0 26px 65px rgba(16,45,64,.11); }
    .article-image { position:relative; overflow:hidden; aspect-ratio:1.52/1; background:var(--blush); }
    .article-image img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
    .article-card:hover .article-image img { transform:scale(1.035); }
    .article-index { position:absolute; top:14px; left:14px; min-width:43px; height:43px; display:grid; place-items:center; padding:0 9px; background:var(--navy); color:var(--white); font-family:var(--display); font-size:.61rem; }
    .article-body { flex:1; display:flex; flex-direction:column; padding:29px 29px 31px; }
    .article-meta { display:flex; justify-content:space-between; gap:15px; color:var(--navy-soft); font-size:.59rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    .article-body h3 { margin:20px 0 14px; color:var(--navy); font-family:var(--display); font-size:clamp(1.25rem,1.7vw,1.75rem); font-weight:600; letter-spacing:-.035em; line-height:1.18; }
    .article-body p { margin:0; color:var(--grey); font-size:.79rem; }
    .read-link { margin-top:auto; padding-top:25px; display:inline-flex; align-items:center; justify-content:space-between; gap:20px; color:var(--navy); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
    .read-link span { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; transition:.2s; }
    .article-card:hover .read-link span { background:var(--navy); color:var(--white); }
    .article-card.featured { grid-column:span 2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); background:var(--navy); color:var(--white); }
    .article-card.featured .article-image { min-height:100%; aspect-ratio:auto; }
    .article-card.featured .article-body { justify-content:center; padding:42px; }
    .article-card.featured .article-meta { color:var(--blush); }
    .article-card.featured h3 { color:var(--white); font-size:clamp(1.75rem,2.55vw,2.65rem); }
    .article-card.featured .article-body p { color:rgba(255,255,255,.66); }
    .article-card.featured .read-link { color:var(--white); }
    .article-card.featured .read-link span { border-color:rgba(255,255,255,.25); }
    .no-results { margin:45px 0 0; padding:50px; border:1px solid var(--line); background:var(--cream); text-align:center; color:var(--grey); }
    .medical-note { margin:32px 0 0; padding:20px 23px; border-left:3px solid var(--blush); background:rgba(210,193,182,.2); color:var(--grey); font-size:.7rem; }

    .perspective { background:var(--navy-deep); color:var(--white); }
    .perspective-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .perspective-photo { position:relative; min-width:0; min-height:760px; overflow:hidden; background:var(--blush); }
    .perspective-photo img { width:100%; height:100%; object-fit:cover; }
    .perspective-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(16,45,64,.6)); }
    .photo-caption { position:absolute; z-index:2; left:30px; bottom:30px; padding:19px 22px; background:var(--navy); color:var(--white); }
    .photo-caption strong,.photo-caption span { display:block; }
    .photo-caption strong { font-family:var(--display); font-size:.9rem; }
    .photo-caption span { margin-top:4px; color:rgba(255,255,255,.58); font-size:.64rem; }
    .perspective-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; min-height:760px; padding:95px max(55px,calc((100vw - min(1380px,calc(100vw - 56px)))/2)); }
    .perspective-copy > p:not(.label) { max-width:590px; margin:31px 0 39px; color:rgba(255,255,255,.65); }
    .journey { border-top:1px solid rgba(255,255,255,.17); }
    .journey-row { display:grid; grid-template-columns:47px minmax(0,1fr); gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.17); }
    .journey-row b { color:var(--blush); font-family:var(--display); font-size:.68rem; }
    .journey-row strong { display:block; font-size:.86rem; }
    .journey-row span { display:block; margin-top:4px; color:rgba(255,255,255,.5); font-size:.71rem; }
    .perspective-actions { margin-top:36px; display:flex; flex-wrap:wrap; gap:10px; }

    .faq { padding:145px 0; background:var(--cream); }
    .faq-grid { display:grid; grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr); gap:clamp(65px,9vw,140px); align-items:start; }
    .faq-intro { position:sticky; top:125px; }
    .faq-intro > p:last-child { max-width:430px; margin:30px 0 0; color:var(--grey); }
    .faq-list { border-top:1px solid var(--line); }
    details { border-bottom:1px solid var(--line); }
    summary { position:relative; min-height:98px; display:flex; align-items:center; padding:25px 58px 25px 0; color:var(--navy); font-family:var(--display); font-size:1.08rem; font-weight:600; cursor:pointer; list-style:none; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:"+"; position:absolute; right:3px; display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; font-family:var(--sans); font-weight:400; transition:transform .25s; }
    details[open] summary::after { transform:rotate(45deg); }
    details p { max-width:730px; margin:-4px 0 31px; padding-right:45px; color:var(--grey); font-size:.85rem; }

    .newsletter { padding:120px 0; background:var(--blush); }
    .newsletter-box { position:relative; overflow:hidden; padding:86px 90px; background:var(--navy); color:var(--white); }
    .newsletter-box::after { content:"READ"; position:absolute; right:-18px; bottom:-62px; color:rgba(255,255,255,.035); font-family:var(--display); font-size:15rem; font-weight:700; line-height:1; }
    .newsletter-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:95px; align-items:end; }
    .newsletter-copy p:last-child { max-width:550px; margin:28px 0 0; color:rgba(255,255,255,.62); }
    .subscribe-form { display:grid; gap:16px; }
    .subscribe-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
    .subscribe-row input { min-width:0; min-height:56px; border:1px solid rgba(255,255,255,.35); border-radius:0; padding:13px 17px; background:rgba(255,255,255,.06); color:var(--white); outline:none; }
    .subscribe-row input::placeholder { color:rgba(255,255,255,.48); }
    .subscribe-row input:focus { border-color:var(--white); }
    .subscribe-consent { display:grid; grid-template-columns:17px minmax(0,1fr); gap:10px; align-items:start; color:rgba(255,255,255,.55); font-size:.63rem; }
    .subscribe-consent input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--blush); }
    .subscribe-status { display:none; margin:0; color:var(--blush); font-size:.68rem; }
    .subscribe-status.visible { display:block; }

    footer.site-footer { padding:80px 0 30px; background:var(--cream); }
    .footer-main { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr) minmax(0,.8fr) minmax(0,.9fr); gap:70px; padding-bottom:68px; }
    .footer-brand p { max-width:330px; margin:24px 0 0; color:var(--grey); font-size:.8rem; }
    .footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
    .footer-col h3 { margin:0 0 12px; color:var(--navy); font-size:.64rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
    .footer-col a,.footer-col address { color:var(--grey); font-size:.77rem; }
    .footer-col a:hover { color:var(--navy); }
    .footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-top:27px; border-top:1px solid var(--line); color:var(--grey); font-size:.68rem; }
    .legal { display:flex; gap:25px; }

    .reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s ease; }
    .reveal.visible { opacity:1; transform:translateY(0); }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal { opacity:1; transform:none; transition:none; } .article-card,.article-image img { transition:none; } }

    @media (max-width:1120px) {
      :root { --page:min(100% - 42px,1060px); }
      .nav { gap:28px; }
      .nav-links { gap:20px; }
      .finance-link { display:none; }
      .hero-grid { gap:55px; }
      .strip-item { padding-inline:21px; }
      .article-card.featured .article-body { padding:38px; }
      .newsletter-box { padding-inline:65px; }
    }

    @media (max-width:920px) {
      :root { --page:min(100% - 36px,760px); }
      .nav { grid-template-columns:auto minmax(0,1fr) auto; height:82px; }
      .nav-links { position:fixed; z-index:90; inset:82px 0 auto; display:none; align-items:stretch; flex-direction:column; gap:0; padding:24px 18px 32px; border-bottom:1px solid var(--line); background:var(--cream); box-shadow:0 25px 60px rgba(16,45,64,.12); }
      .nav-links.open { display:flex; }
      .nav-links a { padding:15px 7px; border-bottom:1px solid var(--line); font-size:.9rem; }
      .nav-links a.active::after { display:none; }
      .nav-cta .button { display:none; }
      .menu { display:block; }
      .menu[aria-expanded="true"] i:first-child { transform:translateY(3px) rotate(45deg); }
      .menu[aria-expanded="true"] i:last-child { transform:translateY(-3px) rotate(-45deg); }
      .hero-grid { min-height:auto; grid-template-columns:minmax(0,1fr); padding:85px 0 110px; }
      .cover { min-height:590px; }
      .strip-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
      .strip-item:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.15); }
      .strip-item:nth-child(4) { border-top:1px solid rgba(255,255,255,.15); }
      .journal { padding:110px 0 120px; }
      .journal-intro,.toolbar,.faq-grid,.newsletter-grid { grid-template-columns:minmax(0,1fr); }
      .journal-intro { gap:28px; }
      .toolbar { align-items:start; }
      .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .article-card.featured { grid-column:1 / -1; }
      .perspective-grid { grid-template-columns:minmax(0,1fr); }
      .perspective-photo { min-height:650px; }
      .perspective-copy { min-height:auto; padding:100px max(18px,calc((100vw - min(100% - 36px,760px))/2)); }
      .faq { padding:110px 0; }
      .faq-intro { position:static; }
      .newsletter { padding:90px 0; }
      .newsletter-grid { gap:40px; }
      .footer-main { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap:50px; }
      .footer-brand { grid-column:1 / -1; }
    }

    @media (max-width:700px) {
      .article-grid { grid-template-columns:minmax(0,1fr); }
      .article-card.featured { grid-column:auto; display:flex; }
      .article-card.featured .article-image { min-height:300px; aspect-ratio:1.45/1; }
      .article-card.featured .article-body { padding:31px 29px; }
    }

    @media (max-width:620px) {
      :root { --page:calc(100% - 28px); }
      .brand { gap:10px; }
      .brand-symbol { width:38px; height:38px; flex-basis:38px; }
      .brand-wordmark strong { font-size:.78rem; }
      .brand-wordmark span { font-size:.47rem; }
      .display { font-size:clamp(3.2rem,14vw,4.7rem); }
      .headline { font-size:clamp(2.45rem,12vw,3.9rem); }
      .hero-grid { padding-top:67px; }
      .hero .display span,.hero-intro,.hero-actions { margin-left:0; }
      .cover { min-height:520px; }
      .cover-back { inset:0 0 28px 37px; }
      .cover-photo { top:36px; right:22px; }
      .cover-title { right:68px; bottom:28px; left:24px; }
      .cover-number { top:15px; left:14px; width:62px; height:62px; }
      .cover-edge { top:27px; right:6px; }
      .cover-note { width:104px; height:104px; }
      .strip-grid { grid-template-columns:minmax(0,1fr); }
      .strip-item { min-height:96px; border-left:0; border-top:1px solid rgba(255,255,255,.15); }
      .strip-item:first-child { border-top:0; }
      .toolbar { margin-top:52px; }
      .filter-group { gap:6px; }
      .filter { padding-inline:13px; }
      .results-line { align-items:flex-start; flex-direction:column; }
      .results-line span:last-child { text-align:left; }
      .article-body { padding-inline:23px; }
      .perspective-photo { min-height:540px; }
      .perspective-copy { padding-inline:18px; }
      summary { min-height:88px; font-size:1rem; }
      .newsletter-box { padding:55px 24px; }
      .subscribe-row { grid-template-columns:minmax(0,1fr); }
      .subscribe-row .button { width:100%; }
      .footer-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px 28px; }
      .footer-brand { grid-column:1 / -1; }
      .footer-bottom { align-items:flex-start; flex-direction:column; }
    }
