/* pwp-authored-additional-v1-20261028: technical foundation only */
@layer pwp-runtime-foundation {
  :root {
    --bg:#020617; --text:#F8FAFC;
    --surface:#0E1223; --text-muted:#94A3B8;
    --primary:#0F172A; --primary-fg:#FFFFFF;
    --border:#334155;
  }
  *, *::before, *::after { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; background:var(--bg); color:var(--text); }
  img, video { max-inline-size:100%; block-size:auto; }
  button, input, select, textarea { font:inherit; }
  button, summary { cursor:pointer; }
  :where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
  .skip { position:fixed; inset-block-start:-10rem; inset-inline-start:1rem; z-index:10000; padding:.75rem; background:var(--bg); color:var(--text); }
  .skip:focus { inset-block-start:1rem; }
  /* Legal prose is a separate utility; never constrain the author's main site. */
  .legal-container { max-inline-size:76ch; margin-inline:auto; padding:clamp(1rem,4vw,3rem); }
  .legal-body { line-height:1.7; overflow-wrap:anywhere; }
  .legal-body p + p, .legal-body section + section { margin-block-start:1.25em; }
  .legal-body table { display:block; overflow-x:auto; max-inline-size:100%; }
  .legal-body h1, .legal-body h2, .legal-body h3, .legal-title { line-height:1.2; }
  [data-cookie-fallback] { position:fixed; inset-inline:1rem; inset-block-end:1rem; z-index:9999; max-inline-size:34rem; padding:1rem; border:1px solid var(--border); background:var(--bg); color:var(--text); }
  [data-cookie-fallback] .cookie-text { font:14px/1.5 system-ui,sans-serif; }
  [data-cookie-fallback] .cookie-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-block-start:.75rem; }
  [data-cookie-fallback] button { min-block-size:44px; padding:.6rem 1rem; border:1px solid var(--border); background:var(--surface); color:var(--text); }
  [data-cookie-fallback] [data-action="accept-cookie"] { background:var(--primary); color:var(--primary-fg); }
}
/* Required state, not a visual layout. Expanded pages may be grid/flex/block. */
[hidden], .cookie-banner.hidden { display:none !important; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* === AUTHOR-OWNED SITE STYLES === */
:root{--ink:#152b39;--muted:#52636d;--paper:#f5f4ee;--white:#fff;--blue:#254edb;--lemon:#e6ee83;--line:#ccd2ce;--soft:#e8ece7;--heading:"Manrope",sans-serif;--body:"Inter",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}button,input,select{font:inherit}a{color:inherit;text-underline-offset:4px}button,a,input,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);line-height:1.12;font-weight:600;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.7vw,5.6rem)}h2{font-size:clamp(2rem,3.3vw,3.2rem)}h3{font-size:1.4rem}p{margin-bottom:1.25rem}svg{display:block}.skip{position:absolute;top:-90px;left:20px;background:var(--white);padding:12px;z-index:50}.skip:focus{top:10px}.wrap{width:min(1400px,90%);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.header-inner{min-height:104px;display:flex;align-items:center;gap:35px}.wordmark{text-decoration:none;display:flex;align-items:center;gap:12px;margin-right:auto;font-family:var(--heading);font-weight:800;font-size:25px;letter-spacing:-1px}.brand-mark{width:36px;height:40px;flex-shrink:0}.wordmark small{font-size:10px;letter-spacing:.02em;align-self:flex-start;margin-top:10px;font-weight:500}.main-nav{display:flex;gap:30px;align-items:center;font-size:14px}.main-nav a{text-decoration:none}.main-nav a:hover{text-decoration:underline}.topic-menu{position:relative}.topic-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;list-style:none}.topic-menu summary::-webkit-details-marker{display:none}.topic-menu summary:after{content:"⌄";font-size:19px}.topic-links{position:absolute;right:0;top:50px;background:var(--white);border:1px solid var(--line);width:310px;padding:12px;box-shadow:0 12px 28px #152b3910}.topic-links a{display:block;padding:13px 12px;border-bottom:1px solid var(--line)}.topic-links a:last-child{border:0}.languages{display:flex;gap:10px;font-size:12px;border-left:1px solid var(--line);padding-left:24px}.languages a[aria-current]{font-weight:700}.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;margin-bottom:25px}.hero{padding:65px 0 55px;display:grid;grid-template-columns:1.12fr 1fr;gap:7%;align-items:center}.hero h1{margin-bottom:26px;max-width:760px}.hero h1 span{color:var(--blue)}.intro{font-size:18px;line-height:1.65;max-width:520px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;text-decoration:none;padding:15px 22px;border:1px solid var(--blue);background:var(--blue);color:white;font-weight:600;font-size:14px;min-height:52px}.button:hover{background:#1839b1}.button.light{background:transparent;color:var(--ink);border-color:var(--ink)}.button.light:hover{background:var(--soft)}.hero .button{margin-top:12px}.ledger{background:var(--lemon);padding:32px 32px 24px;position:relative}.ledger-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #152b3940;padding-bottom:20px;font-size:13px}.ledger-top strong{font-family:var(--heading);font-size:18px}.ledger-total{font-family:var(--heading);font-size:clamp(3.5rem,6vw,6rem);font-weight:500;letter-spacing:-.07em;line-height:1.2;margin:25px 0 0}.ledger-caption{font-size:13px;margin-bottom:25px}.ledger-row{display:flex;justify-content:space-between;border-top:1px solid #152b3930;padding:13px 0;gap:15px;font-size:14px}.ledger-row strong{font-weight:600}.ledger-balance{background:var(--ink);color:var(--lemon);padding:18px;margin:8px -10px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.ledger-balance strong{font-size:27px;letter-spacing:-1px}.fine{font-size:12px;line-height:1.6;color:var(--muted)}.ledger .fine{margin:16px 0 0;color:var(--ink)}.statement{display:flex;gap:28px;align-items:center;border-top:1px solid var(--line);padding:25px 0;font-size:14px;color:var(--muted)}.statement strong{color:var(--ink);font-weight:600;white-space:nowrap}.section{padding:75px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading p{max-width:390px;margin:0;color:var(--muted)}.guide-list{border-top:1px solid var(--ink)}.guide{display:grid;grid-template-columns:85px 1fr 1fr 45px;gap:30px;padding:32px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center}.guide-index{font-size:13px;color:var(--blue)}.guide h3{margin:0}.guide p{color:var(--muted);font-size:14px;margin:0;max-width:410px}.guide-arrow{font-size:28px;justify-self:end;transition:transform .2s}.guide:hover .guide-arrow{transform:translateX(5px)}.guide:hover h3{color:var(--blue)}.everyday{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:410px}.everyday img{width:100%;height:100%;max-height:520px}.everyday-copy{padding:55px 12%;align-self:center}.everyday-copy h2{font-size:clamp(2rem,3vw,3rem)}.everyday-copy p{color:#ccd6da}.text-link{font-size:14px;font-weight:600}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:10%}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:600;padding-right:15px}.faq-list details p{font-size:15px;color:var(--muted);margin:16px 0 0}.page-top{padding:65px 0 35px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:13px;margin-bottom:35px;color:var(--muted)}.page-top h1{max-width:1050px;margin-bottom:25px;font-size:clamp(2.6rem,5vw,4.8rem)}.page-deck{max-width:740px;font-size:20px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:240px minmax(0,780px);gap:8%;padding:55px 0 80px}.article-meta{font-size:13px;color:var(--muted)}.article-meta strong{display:block;color:var(--ink);margin-bottom:12px}.article-body h2{font-size:30px;margin:42px 0 20px}.article-body h2:first-child{margin-top:0}.article-body h3{font-size:21px;margin-top:28px}.article-body p,.article-body li{font-size:16px;line-height:1.85}.article-body li{padding-left:5px;margin-bottom:12px}.article-body ul,.article-body ol{padding-left:23px}.note{padding:24px;background:var(--soft);border-left:3px solid var(--blue);margin:28px 0}.note p:last-child{margin-bottom:0}.table-scroll{overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;font-size:14px;min-width:400px}th,td{padding:15px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft);font-weight:600}.source{border-top:1px solid var(--line);padding-top:22px;font-size:13px!important;color:var(--muted)}.next-guide{margin-top:40px;padding-top:25px;border-top:1px solid var(--ink)}.budget-tool{background:var(--lemon);padding:28px;margin:30px 0}.budget-tool h3{margin:0 0 12px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.budget-fields label{font-size:13px;display:block;font-weight:600}.budget-fields input{display:block;width:100%;border:1px solid #7f8b65;padding:11px;background:#ffffffba;color:var(--ink);margin-top:7px;border-radius:0}.budget-result{border-top:1px solid #152b3950;padding-top:18px;font-size:16px}.budget-result output{font-size:26px;font-weight:600;display:block}.budget-tool .fine{color:var(--ink);margin-top:12px;margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:55px 0 85px}.contact-main>a{font-size:clamp(1.1rem,2.2vw,2rem);display:inline-block;margin:10px 0 20px;overflow-wrap:anywhere}.contact-main h2,.contact-side h2{font-size:26px}.contact-main address{font-style:normal;color:var(--muted);margin-top:25px}.contact-side{padding:30px;background:var(--soft)}.contact-side p{font-size:15px}.site-footer{background:var(--ink);color:var(--paper);padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:7%}.footer-brand{font-family:var(--heading);font-size:27px;letter-spacing:-1px;font-weight:700;margin-bottom:18px}.site-footer p,.site-footer address{font-size:13px;line-height:1.8;font-style:normal;color:#c3cdd1}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:13px;align-items:flex-start}.footer-links button{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font-size:13px;min-height:30px}.footer-bottom{border-top:1px solid #ffffff30;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#c3cdd1}.cookie-notice{position:fixed;bottom:20px;left:20px;z-index:100;width:min(490px,calc(100% - 40px));padding:24px;background:var(--white);border:1px solid var(--ink);box-shadow:0 10px 40px #152b3926}.cookie-notice h2{font-size:21px;margin-bottom:10px}.cookie-notice p{font-size:13px;line-height:1.65;margin-bottom:18px}.cookie-actions{display:flex;gap:12px}.cookie-actions button{padding:11px 16px;min-height:44px;font-size:13px;flex:1;border:1px solid var(--ink);background:var(--white);color:var(--ink);font-weight:600}.cookie-actions button:first-child{background:var(--ink);color:var(--white)}.legal-document{max-width:820px;margin:0 auto;padding:65px 25px 85px}.legal-document h1{font-size:clamp(2.5rem,5vw,4rem)}.legal-document h2{font-size:25px;margin-top:35px}.legal-document p,.legal-document li{line-height:1.85}.legal-document a{overflow-wrap:anywhere}
@media(min-width:1600px){.hero{padding-top:85px;padding-bottom:75px}}
@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:10px;padding:20px 0}.wordmark{flex:1}.main-nav{order:3;width:100%;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:10px;margin-top:8px}.languages{border:0;padding-left:0}.topic-links{right:auto;left:0}.hero{gap:6%;padding-top:45px}.ledger{padding:24px}.hero h1{font-size:clamp(2.6rem,6vw,4rem)}.intro{font-size:16px}.guide{grid-template-columns:35px 1fr 1fr 25px;gap:18px}.article-layout{grid-template-columns:150px 1fr;gap:5%}.footer-grid{gap:5%}.everyday-copy{padding:35px}.faq-section{gap:5%}}
@media(max-width:640px){.wrap{width:89%}.wordmark{font-size:22px;gap:8px}.brand-mark{width:30px}.languages{font-size:11px;gap:9px}.header-inner{padding:15px 0}.main-nav{font-size:13px}.topic-links{width:min(300px,85vw)}.hero{grid-template-columns:1fr;gap:35px;padding:38px 0 30px}.hero h1{font-size:3.15rem;max-width:480px}.eyebrow{margin-bottom:18px;font-size:11px}.intro{font-size:17px}.ledger{padding:25px}.ledger-total{font-size:4.8rem}.statement{align-items:flex-start;flex-direction:column;gap:6px;font-size:13px}.section{padding:48px 0}.section-heading{display:block}.section-heading p{margin-top:18px}.guide{grid-template-columns:25px 1fr 25px;gap:12px;padding:25px 0}.guide h3{font-size:22px}.guide p{grid-column:2;grid-row:2}.guide-arrow{grid-column:3;grid-row:1/3}.everyday{grid-template-columns:1fr}.everyday img{height:250px}.everyday-copy{padding:35px 6%}.faq-section{display:block}.faq-list{margin-top:28px}.page-top{padding-top:35px}.page-top h1{font-size:2.7rem}.page-deck{font-size:18px}.breadcrumb{margin-bottom:25px}.article-layout{grid-template-columns:1fr;padding-top:28px;gap:30px}.article-meta{border-bottom:1px solid var(--line);padding-bottom:20px}.article-meta strong{margin-bottom:4px}.article-body h2{font-size:27px}.budget-tool{padding:22px}.budget-fields{grid-template-columns:1fr;gap:13px}.contact-grid{grid-template-columns:1fr;gap:35px;padding-top:35px}.contact-side{padding:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.cookie-notice{bottom:12px;left:12px;width:calc(100% - 24px);padding:20px}.cookie-actions{gap:8px}.cookie-actions button{padding:10px}.legal-document{padding-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* === OPEN NAVIGATION SURFACE SAFETY === */
/* Position, shadows, borders and scroll treatment belong to the author.
   Only an OPEN mobile menu gets a mandatory opaque readable surface. */
header.site-header[data-pwp-nav-open] {
  background-color: var(--bg, #ffffff) !important;
  isolation: isolate;
}
[data-pwp-mobile-menu][data-pwp-menu-open] {
  background-color: var(--bg, #ffffff);
  color: var(--text, #0f172a);
  max-block-size: var(--pwp-nav-available-height, calc(100dvh - 6rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.pwp-source-note {
  margin-block-start: 1rem;
  font-size: .875em;
  line-height: 1.5;
}
.pwp-source-note a { text-decoration: underline; text-underline-offset: .2em; }
