@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Source+Sans+3:wght@400;600;700&display=swap');
:root{--primary: #1F2A44;--primary-hover:#2E3D5E;--on-primary:#FFFFFF;--secondary:#C8553D;--secondary-hover:#B04730;--bg:#F7F3EA;--surface:#FFFDF8;--text:#1F2A44;--text-secondary:#3A4560;--text-strong:#141B2E;--text-muted:#5B6475;--text-faint:#A3A8B3;--fill:#EFE9DC;--border:#DCD4C4;--callout-bg:#F6E3DC;--callout-text:#8A3424;--callout-border:#E2B6A8;--font-serif:'Fraunces',serif;--font-sans:'Source Sans 3',sans-serif;--green:#1F2A44;--deep:#141B2E;--gold:#E2B6A8;--cream:#F7F3EA;--ink:#1F2A44;--muted:#5B6475;--line:#DCD4C4;--pale:#EFE9DC;--white:#FFFFFF;--radius:12px;--banner-height:40px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Source Sans 3',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a,button{transition:color .2s,background .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #C8553D;outline-offset:4px}img{max-width:100%;display:block;object-fit:cover}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1,h2{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-1.2px}h1{font-size:clamp(40px,4.6vw,64px)}h2{font-size:clamp(30px,3vw,42px)}h3{font-size:20px;letter-spacing:-.4px}p{margin-bottom:20px}.container{width:min(1184px,calc(100% - 80px));margin:auto}.independence-banner{position:sticky;top:0;z-index:50;background:var(--deep);color:#F7F3EA;font-size:11px;min-height:40px;display:flex;align-items:center}.independence-banner .container{display:flex;align-items:center;gap:9px}.independence-banner strong{font-weight:500}.independence-banner a{margin-left:auto;color:var(--gold);white-space:nowrap;font-size:10px}.independence-banner svg{flex-shrink:0}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:105px;gap:30px}.brand{display:flex;align-items:center;gap:11px;line-height:1.25;font-family:'Fraunces',serif;font-size:26px;letter-spacing:-1px;white-space:nowrap}.brand strong{font-weight:600}.brand-symbol{width:45px;height:49px;display:grid;place-items:center;color:var(--green)}.brand small{display:block;font-family:'Source Sans 3',sans-serif;font-size:7.5px;letter-spacing:1.5px;margin-top:8px;font-weight:500}.site-header nav{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:500}.site-header nav>a:hover,.site-header nav [aria-current]{color:var(--green)}.nav-cta{border:1px solid #B9BFCB;border-radius:5px;padding:11px 15px;white-space:nowrap}.nav-cta span{margin-left:13px}.nav-dropdown{position:relative}.nav-dropdown button{border:0;background:none;color:inherit;padding:12px 0;font-size:12px}.nav-dropdown button span{margin-left:6px}.dropdown-panel{position:absolute;top:100%;left:-15px;min-width:225px;padding:10px;background:white;border:1px solid var(--line);border-radius:8px;z-index:20;box-shadow:0 12px 35px #141B2E15}.dropdown-panel a{display:block;padding:10px;border-radius:4px}.dropdown-panel a:hover{background:var(--pale)}.menu-toggle{display:none}.skip-link{position:fixed;top:-80px;left:15px;z-index:100;background:white;padding:10px}.skip-link:focus{top:5px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--green);margin-bottom:23px}.eyebrow::before{content:'';width:6px;height:6px;display:block;background:var(--green);border-radius:50%}.hero{padding:61px 0 65px;display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center}.hero h1{margin-bottom:24px;max-width:580px;line-height:1.12}.hero h1 em{color:var(--green);font-weight:400}.hero .intro{max-width:475px;font-size:15px;color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:25px;margin:30px 0 27px}.button{background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 21px;border-radius:5px;font-size:12px;font-weight:600;border:1px solid var(--green)}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.light{background:var(--gold);color:var(--deep);border-color:var(--gold)}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:16px}.text-link:hover{color:var(--green);text-decoration:underline}.hero-assurance{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.hero-assurance svg{color:var(--green)}.hero-visual{position:relative;padding-bottom:20px}.hero-image{width:100%;height:424px;border-radius:95px 12px 12px 12px;object-position:48% 50%}.photo-note{font-size:9px;color:var(--muted);position:absolute;right:0;bottom:0}.floating-note{position:absolute;left:-26px;bottom:39px;background:white;padding:17px 21px;box-shadow:0 8px 35px #1F2A4414;display:flex;align-items:center;gap:15px;border:1px solid #E6DFD0;border-radius:8px;max-width:290px}.note-icon{background:var(--pale);width:39px;height:39px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:var(--green)}.floating-note strong{display:block;font-size:12px;line-height:1.6}.floating-note small{font-size:10px;color:var(--muted)}.hero-sticker{position:absolute;right:-17px;top:18px;background:var(--gold);color:var(--deep);height:83px;width:83px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(9deg);font-size:10px;line-height:1.4;font-weight:600;text-align:center}.hero-sticker svg{margin-bottom:4px}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.trust-items{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.trust-item{display:flex;align-items:center;gap:15px}.trust-item svg{flex-shrink:0;color:var(--green)}.trust-item strong{display:block;font-size:12px;font-weight:600}.trust-item span{display:block;font-size:10px;color:var(--muted)}.section{padding:69px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{color:var(--muted);font-size:12px;max-width:325px;margin:0 0 4px}.cycle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.cycle-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px 18px;display:flex;flex-direction:column;min-height:224px;position:relative;overflow:hidden}.cycle-card:hover{border-color:var(--green);transform:translateY(-5px);box-shadow:0 10px 25px #1F2A4408}.cycle-icon{width:40px;height:40px;background:var(--pale);color:var(--green);border-radius:10px;display:grid;place-items:center;margin-bottom:19px}.cycle-icon svg{width:25px;height:25px}.cycle-card:nth-child(2) .cycle-icon,.cycle-card:nth-child(5) .cycle-icon{background:#F6E3DC}.age{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:7px}.cycle-card h3{font-family:'Fraunces',serif;font-size:19px;font-weight:500;margin:0 0 8px}.cycle-card p{font-size:11px;color:var(--muted);line-height:1.65;margin:0 0 18px}.cycle-card .card-bottom{font-size:10px;font-weight:600;margin-top:auto;display:flex;justify-content:space-between;align-items:center}.card-bottom span{font-size:20px;line-height:1}.fine-print{font-size:10px;color:var(--muted);margin:17px 0 0}.understand-section{background:var(--pale);border-top:1px solid #E6DFD0;border-bottom:1px solid #E6DFD0}.understand-grid{display:grid;grid-template-columns:.95fr 1.1fr;gap:90px;align-items:center}.understand-copy h2{max-width:400px;margin-bottom:20px}.understand-copy p{font-size:13px;color:var(--muted);max-width:415px}.understand-copy .text-link{margin-top:6px}.comparison-stack{display:grid;gap:12px}.comparison-item{background:#FFFDF8;border:1px solid #DCD4C4;border-radius:9px;padding:21px 25px;display:flex;gap:19px;align-items:flex-start}.comparison-item .number{font-family:'Fraunces',serif;font-size:20px;color:#C8553D;min-width:24px}.comparison-item h3{font-size:13px;margin:0 0 7px}.comparison-item p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}.comparison-item.featured{border-left:3px solid var(--green)}.budget-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.budget-card{border:1px solid var(--line);padding:27px;border-radius:12px;background:white;display:flex;flex-direction:column;min-height:236px}.budget-card.featured{background:var(--green);color:white;border-color:var(--green)}.budget-card .card-label{font-size:9px;letter-spacing:1.5px;font-weight:600;margin-bottom:18px;text-transform:uppercase;color:var(--muted)}.budget-card.featured .card-label{color:#C9CFDB}.budget-card h3{font-family:'Fraunces',serif;font-weight:400;font-size:25px;margin-bottom:12px}.budget-card p{font-size:12px;color:var(--muted);max-width:250px}.budget-card.featured p{color:#E3E6EE}.budget-card .text-link{margin-top:auto;font-size:11px;justify-content:space-between}.budget-card.featured .text-link:hover{color:var(--gold)}.budget-card:hover{transform:translateY(-3px)}.open-day{display:grid;grid-template-columns:1fr 1.2fr;background:#F6E3DC;border-radius:12px;overflow:hidden;margin:0 0 70px}.open-day img{height:100%;min-height:310px;width:100%;object-position:center}.open-day-copy{padding:40px 45px}.open-day-copy h2{font-size:34px;margin-bottom:17px}.open-day-copy p{font-size:13px;color:#5B6475;max-width:405px}.open-day-copy .button{margin-top:5px}.faq-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:85px}.faq-layout>div>p{font-size:13px;color:var(--muted);max-width:320px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font-size:13px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:21px;font-weight:400;line-height:1}.faq details[open] summary::after{content:'−'}.faq details p{font-size:12px;color:var(--muted);margin:15px 0 0}.faq a{text-decoration:underline;color:var(--green)}.source-bar{padding:24px 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:15px}.source-bar svg{flex-shrink:0;color:var(--green);margin-top:2px}.source-bar p{font-size:10px;color:var(--muted);margin:0}.source-bar a{text-decoration:underline;color:var(--green)}.site-footer{background:var(--deep);color:#E3E6EE;padding-top:50px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:43px}.footer-brand{color:white;font-size:25px;display:block;margin-bottom:18px}.gold-dot{color:var(--gold)}.footer-grid p{font-size:11px;color:#B9BFCB;line-height:1.9}.footer-tag{font-size:8px;letter-spacing:.7px;color:var(--gold)}.footer-grid h2{font-family:'Source Sans 3',sans-serif;font-size:11px;letter-spacing:0;color:white;font-weight:600;margin:6px 0 20px}.footer-grid>div>a:not(.brand){display:block;font-size:10px;margin-bottom:11px;color:#B9BFCB}.footer-grid a:hover{color:var(--gold)}.footer-grid .footer-note{font-size:9px;line-height:1.8}.footer-bottom{border-top:1px solid #ffffff20;padding:20px 0;display:flex;justify-content:space-between;gap:20px;color:#A3A8B3;font-size:9px}.will-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}.revealed{opacity:1;transform:translateY(0)}.breadcrumbs{font-size:10px;display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);padding:27px 0 0}.breadcrumbs a:hover{text-decoration:underline}.article-hero{padding:38px 0 44px;border-bottom:1px solid var(--line);max-width:900px}.article-hero h1{font-size:clamp(36px,4.5vw,56px);margin-bottom:22px;max-width:850px}.article-hero .lead{font-size:17px;color:var(--muted);max-width:760px;line-height:1.8}.article-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.article-meta span{padding:5px 10px;background:var(--pale);border-radius:4px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:80px;padding:44px 0 65px;align-items:start}.article-content{max-width:765px;font-size:15px}.article-content h2{font-size:31px;margin:0 0 20px}.article-content h3{font-size:17px;margin:25px 0 12px}.article-content p{color:#3A4560;line-height:1.9}.article-content section{margin-bottom:43px;scroll-margin-top:100px}.article-content ul,.article-content ol{padding-left:23px;color:#3A4560}.article-content li{padding-left:4px;margin:10px 0}.article-content a:not(.button){color:var(--green);text-decoration:underline;text-underline-offset:3px}.key-box{background:var(--pale);border:1px solid #DCD4C4;border-radius:9px;padding:25px 28px;margin-bottom:36px}.key-box h2{font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:700;letter-spacing:0;margin-bottom:12px}.key-box ul{margin:0;font-size:13px}.key-box li{margin:7px 0}.article-sidebar{position:sticky;top:70px}.article-sidebar h2{font-family:'Source Sans 3',sans-serif;font-size:12px;letter-spacing:0;font-weight:700;margin:0 0 15px}.toc{border-left:1px solid var(--line);padding-left:18px;margin-bottom:27px}.toc a{display:block;font-size:11px;padding:8px 0;color:var(--muted)}.toc a:hover{color:var(--green)}.sidebar-notice{background:#F6E3DC;border-radius:8px;padding:22px}.sidebar-notice strong{font-size:12px;display:block;margin-bottom:10px}.sidebar-notice p{font-size:11px;color:var(--muted);margin:0}.sources{background:white;border:1px solid var(--line);border-radius:10px;padding:25px}.sources h2{font-size:23px}.sources ol{font-size:12px}.sources small{font-size:11px;display:block;color:var(--muted)}.related{border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.related>a{display:block;text-decoration:none!important;border:1px solid var(--line);border-radius:8px;padding:20px;background:white;font-size:12px}.related>a strong{display:block;margin-bottom:6px}.related>a span{font-size:10px;color:var(--muted)}.related>a:hover{border-color:var(--green)}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin:24px 0}table{width:100%;border-collapse:collapse;background:white;font-size:12px;min-width:480px}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--pale);font-weight:600}tr:last-child td{border:0}.calculator{background:var(--pale);padding:27px;border-radius:12px;border:1px solid #DCD4C4}.calculator h2{font-size:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:block;font-size:12px;font-weight:600}.form-grid input{display:block;width:100%;margin-top:8px;background:white;border:1px solid #C9C1B0;border-radius:5px;padding:11px;color:var(--ink)}.form-grid small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.calc-results{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0 17px}.calc-result{background:var(--green);color:white;padding:19px;border-radius:7px}.calc-result.secondary{background:white;color:var(--green)}.calc-result span{display:block;font-size:10px;line-height:1.6}.calc-result strong{font-family:'Fraunces',serif;font-size:30px;font-weight:400;display:block;margin-top:5px}.calculator .calc-disclaimer{font-size:11px;margin:0;line-height:1.7}.print-button{background:white;border:1px solid var(--green);color:var(--green);padding:9px 15px;border-radius:4px;font-size:11px}.error-page{min-height:55vh;text-align:center;padding:90px 0}.error-page p{color:var(--muted)}
@media(min-width:1400px){.container{width:min(1240px,calc(100% - 100px))}.hero{gap:95px}.hero-image{height:450px}}
@media(max-width:1050px){.container{width:calc(100% - 48px)}.site-header nav{gap:17px;font-size:11px}.nav-dropdown button{font-size:11px}.brand{font-size:23px}.brand small{font-size:6.5px}.hero{gap:35px;padding-top:45px}.hero-image{height:400px}.hero-sticker{right:-8px}.hero-actions{gap:16px}.cycle-grid{gap:10px}.cycle-card{padding:18px 15px}.cycle-card h3{font-size:17px}.understand-grid{gap:50px}.article-layout{gap:40px;grid-template-columns:minmax(0,1fr) 225px}.footer-grid{gap:25px}}
@media(max-width:800px){.header-inner{min-height:87px}.menu-toggle{display:block;background:transparent;border:1px solid #C9C1B0;padding:8px 12px;border-radius:4px;color:var(--green);font-size:12px}.menu-toggle span{margin-left:9px}.site-header nav{display:none;position:absolute;top:calc(var(--banner-height) + 87px);left:0;right:0;padding:22px 24px;background:var(--cream);border-bottom:1px solid var(--line);z-index:30;align-items:stretch;gap:12px;font-size:13px}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav>a{padding:10px}.nav-dropdown button{font-size:13px;padding:10px;width:100%;text-align:left}.dropdown-panel{position:static;box-shadow:none}.hero{grid-template-columns:1fr 1fr;gap:28px}.hero h1{font-size:42px}.hero .intro{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:15px}.hero-assurance{font-size:9px}.hero-image{height:365px}.hero-sticker{width:66px;height:66px;font-size:8px}.floating-note{left:-12px;bottom:39px;padding:13px;gap:10px}.floating-note strong{font-size:10px}.floating-note small{font-size:9px}.trust-items{gap:15px}.trust-item{gap:9px}.trust-item strong{font-size:10px}.trust-item span{font-size:9px}.section{padding:50px 0}.cycle-grid{grid-template-columns:repeat(3,1fr);gap:14px}.cycle-card{min-height:215px;padding:22px}.cycle-card h3{font-size:20px}.section-heading>p{max-width:240px}.understand-grid{gap:35px}.budget-grid{grid-template-columns:repeat(2,1fr)}.budget-card.featured{grid-column:1/-1;min-height:200px}.budget-card.featured p{max-width:none}.open-day-copy{padding:30px}.open-day-copy h2{font-size:29px}.open-day{grid-template-columns:.8fr 1fr;margin-bottom:50px}.faq-layout{gap:35px}.footer-grid{grid-template-columns:1.3fr 1fr}.article-layout{display:flex;flex-direction:column;gap:30px}.article-sidebar{position:static;order:-1;width:100%}.toc{display:flex;flex-wrap:wrap;gap:0 20px}.article-sidebar .sidebar-notice{display:none}.article-content{width:100%;max-width:100%}.article-hero .lead{font-size:15px}}
@media(max-width:560px){:root{--banner-height:64px}.container{width:calc(100% - 40px)}.independence-banner{min-height:64px;padding:9px 0;font-size:10px;line-height:1.55}.independence-banner .container{gap:8px}.independence-banner span{max-width:280px}.independence-banner a{font-size:0}.independence-banner a span{font-size:17px}.independence-banner strong{display:block}.brand{font-size:23px}.brand small{font-size:6.3px;letter-spacing:1px}.brand-symbol{width:30px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding:38px 0 34px}.hero h1{font-size:45px;max-width:370px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:18px}.hero .intro{font-size:14px;max-width:370px}.hero-actions{flex-direction:row;align-items:center;gap:19px}.button{padding:13px 16px;font-size:11px;gap:20px}.text-link{font-size:11px;gap:10px}.hero-image{height:300px;border-top-left-radius:70px}.hero-sticker{top:14px;right:10px;width:72px;height:72px}.floating-note{left:10px;bottom:38px;padding:13px 17px}.trust-items{grid-template-columns:1fr;gap:18px}.trust-item strong{font-size:12px}.trust-item span{font-size:10px}.trust-strip{padding:22px 0}.section{padding:42px 0}.section-heading{display:block;margin-bottom:24px}.section-heading>p{max-width:none;margin-top:15px;font-size:12px}.section-heading h2{font-size:32px}.cycle-grid{grid-template-columns:1fr 1fr;gap:12px}.cycle-card{padding:20px 17px;min-height:220px}.cycle-card:last-child{grid-column:1/-1;min-height:150px;display:grid;grid-template-columns:45px 1fr;column-gap:15px}.cycle-card:last-child .cycle-icon{grid-row:1/4;margin-top:4px}.cycle-card:last-child .card-bottom{grid-column:2}.cycle-card:last-child p{margin-bottom:8px}.cycle-card h3{font-size:18px}.cycle-card p{font-size:11px}.understand-grid{grid-template-columns:1fr;gap:30px}.comparison-item{padding:20px}.understand-copy h2{font-size:33px}.budget-grid{grid-template-columns:1fr}.budget-card.featured{grid-column:auto}.budget-card{min-height:210px}.open-day{grid-template-columns:1fr}.open-day img{min-height:0;height:200px}.open-day-copy{padding:29px}.open-day-copy h2{font-size:31px}.faq-layout{grid-template-columns:1fr;gap:20px}.faq-layout h2{font-size:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}.article-hero{padding-top:28px;padding-bottom:30px}.article-hero h1{font-size:37px}.article-hero .lead{font-size:14px}.article-layout{padding-top:28px}.article-content{font-size:14px}.article-content h2{font-size:27px;letter-spacing:-.6px}.key-box{padding:20px}.sources{padding:20px}.related{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.calculator{padding:21px}.calc-results{grid-template-columns:1fr}.breadcrumbs{font-size:9px}.source-bar{gap:10px}.source-bar p{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}}
@media print{.independence-banner{position:static;background:white;color:black;border-bottom:1px solid black}.site-header,.site-footer,.article-sidebar,.hero-actions,.menu-toggle,.print-button,.related{display:none}.container{width:100%}body{background:white;font-size:12pt}.article-layout{display:block;padding-top:20px}.will-reveal{opacity:1;transform:none}a{text-decoration:underline}.article-hero h1{font-size:30pt}.key-box,.sources{break-inside:avoid}.calculator{background:white}.calc-result{background:white;color:black;border:1px solid #bbb}}

/* ===== BLOC SOUS-MENU OUTILS — sans JavaScript (hover + focus-within) ===== */
.nav-item{position:relative;display:inline-flex;align-items:center}
.has-sub>a::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
.sub-nav{position:absolute;top:calc(100% + 18px);left:-16px;z-index:30;min-width:296px;flex-direction:column;gap:1px;padding:8px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 34px rgba(31,58,77,.14);display:none}
.has-sub:hover>.sub-nav,.has-sub:focus-within>.sub-nav{display:flex}
.sub-nav a{display:block;padding:9px 12px;font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;border-left:2px solid transparent}
.sub-nav a small{display:block;margin-top:2px;font-family:var(--font-body);font-size:11px;font-weight:400;color:var(--text-muted)}
.sub-nav a:hover,.sub-nav a:focus{background:var(--fill);color:var(--primary);border-left-color:var(--primary)}
.sub-nav a:hover small,.sub-nav a:focus small{color:var(--text-secondary)}
.sub-nav-all{margin-top:5px;border-top:1px solid var(--line);padding-top:11px!important;color:var(--primary)}
@media(max-width:850px){
.nav-item{display:block}
.has-sub::after{display:none}
.has-sub>a::after{transform:rotate(45deg) translateY(-2px)}
.sub-nav{position:static;display:flex;min-width:0;margin:9px 0 4px 2px;padding:2px 0 2px 14px;border:0;border-left:2px solid var(--line);box-shadow:none;background:transparent;gap:0}
.sub-nav a{white-space:normal;padding:7px 0;font-size:13px;border-left:0}
.sub-nav a small{display:none}
.sub-nav a:hover,.sub-nav a:focus{background:transparent}
.sub-nav-all{padding-top:8px!important}
}

/* SOUS-MENU 801-850 : le drawer du front s'ouvre à 800px ; entre 801 et 850px le sous-menu reste déroulant */
@media(min-width:801px) and (max-width:850px){.nav-item{display:inline-flex}.has-sub::after{display:block}.sub-nav{position:absolute;top:calc(100% + 18px);left:-16px;display:none;min-width:296px;margin:0;padding:8px;border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 34px rgba(31,58,77,.14)}.has-sub:hover>.sub-nav,.has-sub:focus-within>.sub-nav{display:flex}.sub-nav a small{display:block}}

/* ===== BLOC LARGEUR UNIFIÉE — toutes les pages à la largeur de la home ===== */
/*
 * Posé par 06a2-largeur-contenu. Les sélecteurs ci-dessous ont été RELEVÉS
 * dans les feuilles réellement chargées par le front, pas devinés : c'est la
 * correction du défaut d'origine, où une liste de classes supposées rendait
 * le bloc inerte sans que rien ne le signale.
 *
 * Largeur de référence relevée sur `.container` : 1184 px.
 *
 * `!important` est délibéré. Une contrainte peut être déclarée dans une
 * feuille chargée APRÈS celle-ci, ou plus bas dans ce même fichier par un
 * bloc appendu ultérieurement : à spécificité égale elle gagnerait, et le
 * bloc serait posé, validé, et sans effet.
 *
 * Les contrôles de formulaire, les images et les cartes sont épargnés.
 *
 * Ce qui suit la borne « relevé automatique : fin » est CONSERVÉ au rejeu :
 * c'est là que vivent les règles tranchées à la main. N'écris rien au-dessus.
 */

/* --- relevé automatique : début --- */
.hero h1{max-width:none!important}   /* styles.css : 370px */
.hero .intro{max-width:none!important}   /* styles.css : 370px */
.floating-note{max-width:none!important}   /* styles.css : 290px */
.section-heading>p{max-width:none!important}   /* styles.css : 240px */
.understand-copy h2{max-width:none!important}   /* styles.css : 400px */
.understand-copy p{max-width:none!important}   /* styles.css : 415px */
.open-day-copy p{max-width:none!important}   /* styles.css : 405px */
.faq-layout>div>p{max-width:none!important}   /* styles.css : 320px */
.article-hero{max-width:none!important}   /* styles.css : 900px */
.article-hero h1{max-width:none!important}   /* styles.css : 850px */
.article-hero .lead{max-width:none!important}   /* styles.css : 760px */
.article-content{max-width:none!important}   /* styles.css : 765px */
.independence-banner span{max-width:none!important}   /* styles.css : 280px */
.source-list{max-width:none!important}   /* styles.css : 820px */

/* Grilles à deux colonnes relevées, NON collapsées d'office : une grille de
   cartes se collapserait à tort. À trancher au brief 06a2, puis à écrire
   SOUS la borne de fin ci-dessous. */
/*   .hero { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .understand-grid { grid-template-columns: .95fr 1.1fr }  (styles.css) */
/*   .open-day { grid-template-columns: .8fr 1fr }  (styles.css) */
/*   .footer-grid { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .cycle-grid { grid-template-columns: 1fr 1fr }  (styles.css) */
/* --- relevé automatique : fin --- */

/* Règles tranchées à la main, conservées au rejeu de 06a2. */
/* Règles tranchées à la main, conservées au rejeu de 06a2. */
.content-narrow{max-width:none!important}
.content-narrow select,.content-narrow input[type=number],.content-narrow input[type=text]{max-width:520px}
.article-layout{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.article-body{max-width:72ch}
.article-layout{width:min(100% - 28px,1140px)}
/* 06a2 — .faq-layout = grille de TEXTE (intitulé à gauche, FAQ à droite) : une colonne. Les cinq autres grilles (hero, understand-grid, open-day, footer-grid, cycle-grid) portent des cartes ou un visuel : conservées. */
.faq-layout{grid-template-columns:1fr!important}
@media(min-width:561px){.faq-layout{gap:28px!important}}

/* ===== ENVELOPPE + OUVERTURE NORMÉE (couches 1 et 2 du gabarit) ===== */
.author-card{display:flex;gap:18px;align-items:flex-start;margin:0 0 22px;padding:20px 22px;background:var(--fill);border-left:3px solid var(--primary)}
.author-card .author-avatar{flex:0 0 auto;line-height:0}
.author-card .author-img{object-fit:cover}
.author-footer .author-card .author-img{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-round, 50%)}
.author-footer .author-card .author-monogram{width:88px;height:88px;font-size:30px}
.author-name{margin:0;font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.3}
.author-name a{color:var(--text-strong)}
.author-name a:hover{color:var(--primary)}
.author-job{display:block;margin-top:3px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-muted)}
.author-legit{margin:11px 0 0;font-size:14.5px;line-height:1.5;font-weight:600;color:var(--text-strong)}
.author-bio{margin:7px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.author-links{margin:10px 0 0;font-size:13px}
.author-links a{color:var(--primary);font-weight:700;border-bottom:1px solid currentColor}
.page-dates{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 22px;font-size:12px;color:var(--text-muted)}
.page-dates time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary)}
.method-note{margin:0 0 26px;padding:17px 19px;background:var(--callout-bg);border:1px solid var(--callout-border);border-left:3px solid var(--primary)}
.method-note-title{margin:0 0 6px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--callout-text)}
.method-note p:last-child{margin:0;font-size:14px;line-height:1.6;color:var(--callout-text)}
.opening{margin:0 0 34px}
.opening .answer{margin:0;padding:22px 24px;background:var(--secondary);color:var(--white);font-family:var(--font-heading);font-size:clamp(17px,1.9vw,20px);line-height:1.45;letter-spacing:-.2px}
.essentials{margin:0;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-top:0}
.essentials-title{margin:0 0 10px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}
.essentials ul{margin:0;padding:0;list-style:none}
.essentials li{position:relative;padding:7px 0 7px 22px;font-size:15px;line-height:1.5;color:var(--text)}
.essentials li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:2px;background:var(--primary)}
.scope{margin:0;padding:14px 24px;background:var(--fill);border:1px solid var(--border);border-top:0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.scope span{font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-muted);margin-right:6px}
.scope a{color:var(--secondary);font-weight:700;border-bottom:1px solid currentColor}
.scope a:hover{color:var(--primary)}
.update-log{margin:0;padding:20px 22px;border-top:2px solid var(--secondary);background:var(--fill)}
.update-log-title{margin:0 0 9px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}
.update-log ul{margin:0;padding:0;list-style:none}
.update-log li{padding:6px 0;font-size:13.5px;line-height:1.5;color:var(--text-secondary);border-bottom:1px solid var(--border)}
.update-log li:last-child{border-bottom:0}
.update-log time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-strong)}
@media(max-width:640px){.author-card{padding:16px}.opening .answer{padding:18px}.essentials,.scope{padding:16px 18px}}

/* Signature de tête — identité et dates sur une seule ligne. Le parcours de
   l'auteur n'est pas ici : il se lit en pied, via .author-footer. */
.author-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid var(--border,#D3CEC1);font-size:13px;color:var(--text-secondary,#4A554D)}
.byline-author a{color:var(--primary,#1F2A44);font-weight:700;border-bottom:1px solid currentColor}
.byline-author a:hover{color:var(--callout-text,#8A3424)}
.author-byline .page-dates{margin:0;gap:6px 18px}

/* Pied d'article — la carte auteur complète, détachée du corps du texte. */
.author-footer{margin:38px 0 22px;border-top:2px solid var(--secondary,#3A4A3F)}
.author-footer .author-card{margin:0}

/* Signature dans le hero d'article (blog) : le hero est un aplat sombre, la
   signature doit y passer en blanc. Sans cette règle, elle hérite des couleurs
   pensées pour un fond clair et devient illisible (contraste ~1,1:1). */
.guide-hero .author-byline,
.guide-hero .author-byline .page-dates,
.guide-hero .byline-author a,
.guide-hero .page-dates time{color:#FFFFFF}
.guide-hero .author-byline{border-bottom-color:rgba(255,255,255,.28)}

/* ===== SOURCES — liens sortants cités près de l'affirmation ===== */
.source-note a[rel~="nofollow"]{color:var(--secondary);font-weight:600;border-bottom:1px solid var(--text-faint)}
.source-note a[rel~="nofollow"]:hover{color:var(--primary);border-bottom-color:var(--primary)}
.tool-table a[rel~="nofollow"]{font-weight:600;text-decoration:none;border-bottom:1px solid var(--text-faint)}
.tool-table a[rel~="nofollow"]:hover{color:var(--primary);border-bottom-color:var(--primary)}
.source-list{list-style:none;margin:0;padding:0;max-width:820px}
.source-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.source-list li:last-child{border-bottom:0}
.source-list span{display:block;margin-top:2px;font-size:11px;color:var(--text-muted)}
