:root{--ink:#17333a;--muted:#5d6f73;--paper:#f6f8f6;--white:#fff;--sage:#dce8df;--green:#2e6a5c;--line:#d9e1df;--accent:#b78353;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:inherit}h1,h2,h3{line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.7rem,6vw,5.8rem);margin:.25rem 0 1.2rem;max-width:1000px}h2{font-size:clamp(2rem,3.5vw,3.25rem);margin:.25rem 0 1rem}h3{font-size:1.22rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(246,248,246,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800;letter-spacing:-.04em}.brand strong,.brand small{display:block}.brand small{font-size:.77rem;color:var(--muted)}.mainnav{display:flex;gap:22px;align-items:center}.mainnav a{text-decoration:none;font-size:.92rem}.nav-cta{background:var(--ink);color:#fff;padding:10px 15px;border-radius:999px}.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px}.hero{max-width:var(--max);margin:auto;padding:84px 24px 42px;display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end}.hero-copy>p{font-size:1.25rem;max-width:790px;color:var(--muted)}.eyebrow,.section-head span{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--green)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:13px 18px;border-radius:999px;font-weight:700}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}.hero-photo{margin:0;align-self:stretch}.hero-photo img{display:block;width:100%;height:100%;min-height:360px;max-height:560px;object-fit:cover;border-radius:24px;box-shadow:0 18px 50px rgba(23,51,58,.12)}.hero-photo figcaption,.support-photo figcaption{font-size:.78rem;color:var(--muted);margin-top:8px}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.support-photo{margin:0}.support-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px;border:1px solid var(--line)}.hero-visual{display:grid;gap:12px}.visual-card{background:var(--white);border:1px solid var(--line);padding:18px;border-radius:18px;box-shadow:0 12px 35px rgba(23,51,58,.06)}.visual-card span{display:block;color:var(--accent);font-weight:800}.visual-card strong,.visual-card small{display:block}.visual-card small{color:var(--muted)}.journey{max-width:var(--max);margin:0 auto 38px;padding:0 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.journey a{background:var(--sage);text-decoration:none;padding:14px;border-radius:14px;font-weight:700}.journey span{display:block;font-size:.72rem;color:var(--green)}.section,.split,.practice,.sources,.editorial{max-width:var(--max);margin:auto;padding:70px 24px}.section-head{max-width:800px;margin-bottom:28px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;padding:24px;border:1px solid var(--line);border-radius:18px}.card p{color:var(--muted)}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;background:var(--ink);color:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));padding-right:max(24px,calc((100vw - var(--max))/2 + 24px))}.split>div{max-width:760px}.split p{color:#d5e0df}.callout{background:#24474d;padding:28px;border-radius:18px;align-self:start}.callout li{margin:.6rem 0}.practice>div{background:#e8efe9;border:1px solid #cddbd1;border-radius:24px;padding:34px}.practice-facts{display:flex;gap:24px;flex-wrap:wrap;font-weight:700;margin:16px 0}.practice small{display:block;margin-top:18px;color:var(--muted);max-width:900px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:17px 19px}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted)}.related-grid,.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.related-card,.hub-link{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none}.related-card span,.related-card small,.hub-link span{display:block;color:var(--muted);font-size:.88rem}.hub-link strong{display:block;margin-bottom:7px}.sources{padding-top:20px}.sources ul{display:flex;gap:18px;flex-wrap:wrap;padding-left:20px}.editorial{padding-top:20px;padding-bottom:70px;color:var(--muted)}.footer{background:#11282e;color:#dfe8e6;padding:55px 24px 24px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px}.footer a{display:block;text-decoration:none;margin:.45rem 0}.footer h2{font-size:1rem;color:#fff}.footer p{color:#aebfbc}.footer-brand{color:#fff}.footer-base{max-width:var(--max);margin:35px auto 0;border-top:1px solid #345057;padding-top:18px;display:flex;justify-content:space-between;gap:30px;font-size:.78rem;color:#9fb2ae}.sitemap-list{columns:2}.sitemap-list li{margin:.45rem 0}@media(max-width:900px){.menu-btn{display:block}.mainnav{display:none;position:absolute;top:70px;left:12px;right:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;flex-direction:column;align-items:stretch;box-shadow:0 18px 50px rgba(23,51,58,.12)}.mainnav.open{display:flex}.hero,.split{grid-template-columns:1fr}.hero-photo img{min-height:280px;max-height:520px}.hero{padding-top:58px}.card-grid{grid-template-columns:repeat(2,1fr)}.related-grid,.hub-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){h1{font-size:2.65rem}.journey{grid-template-columns:1fr 1fr}.card-grid,.related-grid,.hub-grid,.footer-grid,.image-grid{grid-template-columns:1fr}.footer-base{flex-direction:column}.sitemap-list{columns:1}.hero{padding-top:42px}.section,.split,.practice,.sources,.editorial{padding-top:52px;padding-bottom:52px}}.brand-logo{display:flex;align-items:center;min-width:0;flex:0 1 auto}.brand-logo img{display:block;width:min(390px,33vw);height:auto;max-height:68px;object-fit:contain;object-position:left center}.footer-logo img{display:block;width:min(360px,100%);height:auto;max-height:104px;object-fit:contain;object-position:left center}@media(max-width:900px){.brand-logo img{width:300px;max-height:60px}}@media(max-width:760px){.brand-logo img{width:235px;max-height:52px}}@media(max-width:420px){.brand-logo img{width:195px;max-height:48px}}
/* V2.5 targeted visual refinements */
.nav-wrap{min-height:82px}
.brand-logo{display:flex;align-items:center;min-width:0;overflow:visible}
.brand-logo img{width:430px;max-width:36vw;max-height:74px;height:auto;object-fit:contain;object-position:left center}
.footer-logo img{width:min(430px,100%);max-height:none;height:auto}
.image-strip{padding-top:48px;padding-bottom:48px}
.image-grid{align-items:start}
.support-photo img{width:100%;height:auto;max-height:430px;object-fit:cover}
.hero-photo img{max-height:520px}
body.homepage .image-strip .support-photo img{max-height:360px}
.section:nth-of-type(even) .card-grid .card{background:#fbfcfb}
.section:nth-of-type(odd) .card-grid .card{background:#fff}
.section-head{max-width:820px}
.split{align-items:center}
@media(max-width:900px){
.nav-wrap{min-height:74px}
.brand-logo img{width:330px;max-width:44vw;max-height:62px}
.support-photo img{max-height:360px}
}
@media(max-width:760px){
.nav-wrap{padding:10px 16px;min-height:72px;gap:10px}
.brand-logo{width:235px;overflow:hidden}
.brand-logo img{width:300px;max-width:none;max-height:58px;object-fit:cover;object-position:left top;clip-path:inset(0 0 24% 0);margin-bottom:-10px}
.menu-btn{flex:0 0 auto}
.hero{padding-top:44px;gap:30px}
.hero-photo img{min-height:240px;max-height:380px}
.image-strip{padding-top:32px;padding-bottom:32px}
.support-photo img{max-height:320px}
body.homepage .image-strip .support-photo img{max-height:300px}
.footer-logo img{width:280px}
}
@media(max-width:420px){
.brand-logo{width:210px}
.brand-logo img{width:270px;max-height:54px}
.nav-wrap{padding-left:12px;padding-right:12px}
.support-photo img{max-height:280px}
body.homepage .image-strip .support-photo img{max-height:270px}
.footer-logo img{width:245px}
}

/* V2.6 mobile regression fix */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
img{max-width:100%;height:auto}
@media(max-width:760px){
  body{width:100%;min-width:0;overflow-x:hidden}
  .site-header{width:100%;left:0;right:0}
  .nav-wrap{width:100%;max-width:none;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;min-height:68px;gap:10px}
  .brand-logo{flex:1 1 auto;width:auto;min-width:0;max-width:calc(100% - 72px);overflow:hidden}
  .brand-logo img{display:block;width:100%;max-width:285px;height:auto;max-height:54px;object-fit:contain;object-position:left center;clip-path:none;margin:0}
  .menu-btn{display:block;flex:0 0 auto;margin-left:auto;white-space:nowrap;font-size:.82rem;padding:8px 11px;z-index:30}
  .mainnav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;background:var(--paper);padding:14px 16px 18px;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(23,51,58,.08);flex-direction:column;align-items:stretch;gap:4px}
  .mainnav.open{display:flex}
  .mainnav a{display:block;padding:10px 4px;width:100%}
  .nav-cta{text-align:center;margin-top:6px}
  main{width:100%;max-width:none;margin:0}
  .hero{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding:38px 16px 28px;margin:0}
  .hero-copy,.hero-photo,.hero-visual{width:100%;max-width:none;min-width:0}
  .hero h1{max-width:none;width:100%;font-size:clamp(2.25rem,10.8vw,3.35rem);overflow-wrap:anywhere}
  .hero p{max-width:42rem}
  .actions{display:flex;flex-wrap:wrap;gap:10px}
  .button{max-width:100%}
  .hero-photo img{width:100%;min-height:0;height:auto;max-height:none;aspect-ratio:16/10;object-fit:cover}
  .journey{width:auto;max-width:none;margin:0 16px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey a{min-width:0}
  .section,.split{width:100%;max-width:none;padding-left:16px;padding-right:16px;margin-left:0;margin-right:0}
  .section{padding-top:50px;padding-bottom:50px}
  .split{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-top:50px;padding-bottom:50px}
  .card-grid,.related-grid,.hub-grid,.footer-grid,.image-grid{width:100%;grid-template-columns:minmax(0,1fr)}
  .card,.related-card,.hub-card,.support-photo{min-width:0;width:100%}
  .support-photo img,body.homepage .image-strip .support-photo img{width:100%;max-height:none;aspect-ratio:16/10;object-fit:cover}
  .footer{width:100%}
  .footer-grid{width:100%;max-width:none;padding-left:16px;padding-right:16px}
  .footer-logo img{width:min(300px,100%);max-width:100%}
}
@media(max-width:420px){
  .nav-wrap{padding-left:12px;padding-right:12px}
  .brand-logo{max-width:calc(100% - 68px)}
  .brand-logo img{max-width:250px}
  .hero{padding-left:14px;padding-right:14px}
  .section,.split{padding-left:14px;padding-right:14px}
  .journey{margin-left:14px;margin-right:14px}
}

/* V2.7 targeted cleanup */
.brand-logo picture{display:block;line-height:0}
.brand-logo picture img{display:block}
@media(max-width:760px){
  .brand-logo{max-width:calc(100% - 74px);overflow:visible}
  .brand-logo picture{width:100%;max-width:250px}
  .brand-logo picture img{width:100%;max-width:250px;height:auto;max-height:48px;object-fit:contain;object-position:left center;margin:0;clip-path:none}
  .nav-wrap{min-height:64px}
}
@media(max-width:420px){
  .brand-logo picture,.brand-logo picture img{max-width:220px}
}
.hero-photo figcaption,.support-photo figcaption{display:none!important}

/* V2.8 mobile typography + transparent logo refinement */
.brand-logo picture img,.footer-logo img{background:transparent!important}
@media(max-width:760px){
  .hero h1{font-size:clamp(2.05rem,8.9vw,2.55rem);line-height:1.04;letter-spacing:-.03em}
  h2{font-size:clamp(1.72rem,7vw,2rem);line-height:1.08}
  h3{font-size:1.08rem;line-height:1.18}
  body{font-size:16px;line-height:1.58}
  .hero p,.section p,.split p,.card p,.related-card p,.hub-card p{font-size:.98rem;line-height:1.58}
  .eyebrow,.section-head>span{font-size:.69rem;letter-spacing:.11em}
  .button,.nav-cta{font-size:.88rem}
  .journey a{font-size:.88rem}
  .brand-logo picture img{max-height:44px;background:transparent!important}
  .nav-wrap{min-height:58px}
}
@media(max-width:420px){
  .hero h1{font-size:clamp(1.95rem,8.6vw,2.3rem)}
  h2{font-size:clamp(1.62rem,6.8vw,1.88rem)}
  .brand-logo picture img{max-height:42px}
  .nav-wrap{min-height:56px}
}

/* V2.10 sticky mobile header fix */
.site-header{position:sticky;top:0;z-index:1000}
@supports (-webkit-touch-callout:none){
  .site-header{position:-webkit-sticky;top:0}
}
@media(max-width:760px){
  .site-header{
    position:sticky;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    width:100%;
    background:rgba(246,248,246,.97);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  .nav-wrap{position:relative;width:100%}
  .mainnav{z-index:1001}
}

/* V2.13 mobile submenu navigation */
.nav-group{display:flex;align-items:center;gap:0;position:relative}
.nav-group>.nav-parent{display:block}
.submenu-toggle{display:none}
.submenu{display:none}
@media(min-width:761px){
  .nav-group{display:block}
  .nav-group>.nav-parent{display:block}
}
@media(max-width:760px){
  .mainnav{max-height:calc(100vh - 58px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav-group{
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    width:100%;
    border-bottom:1px solid var(--line);
  }
  .nav-group>.nav-parent{
    padding:12px 4px;
    width:100%;
    font-weight:700;
  }
  .submenu-toggle{
    display:grid;
    place-items:center;
    width:44px;
    min-height:44px;
    border:0;
    background:transparent;
    color:var(--ink);
    font-size:1.35rem;
    line-height:1;
    cursor:pointer;
  }
  .submenu-toggle[aria-expanded="true"]{transform:rotate(45deg)}
  .submenu{
    grid-column:1/-1;
    display:none;
    padding:0 0 10px 14px;
  }
  .submenu.open{display:block}
  .submenu a{
    display:block;
    padding:9px 8px;
    font-size:.92rem;
    color:var(--muted);
    border-left:2px solid var(--sage);
  }
  .nav-cta{margin-top:10px}
}

/* V2.14 mobile sticky + collapsed submenu regression fix */
.site-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  width:100%!important;
}
@media(max-width:760px){
  html,body{overflow-x:hidden}
  .site-header{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    z-index:5000!important;
    background:rgba(246,248,246,.985)!important;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    transform:translateZ(0);
  }
  .nav-wrap{
    position:relative!important;
    z-index:5001!important;
  }
  .mainnav{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100svh - 58px)!important;
    overflow-y:auto!important;
    background:var(--paper)!important;
    z-index:5002!important;
  }
  .mainnav.open{display:flex!important}
  .submenu{
    display:none!important;
    grid-column:1/-1!important;
  }
  .submenu.open{display:block!important}
  .nav-group{width:100%!important}
}

/* V2.15 deterministic fixed mobile header */
@media(max-width:760px){
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:9999!important;
    background:rgba(246,248,246,.985)!important;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  body{padding-top:58px!important}
  .nav-wrap{min-height:58px!important}
  .mainnav{
    position:fixed!important;
    top:58px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100svh - 58px)!important;
    z-index:10000!important;
  }
}
@media(max-width:420px){
  body{padding-top:56px!important}
  .nav-wrap{min-height:56px!important}
  .mainnav{top:56px!important;max-height:calc(100svh - 56px)!important}
}

/* V2.17 desktop typography refinement */
@media(min-width:761px){
  .hero h1{
    font-size:clamp(3rem,4.5vw,4.5rem);
    line-height:1.04;
    letter-spacing:-.03em;
    max-width:860px;
  }
  h2{
    font-size:clamp(1.9rem,2.7vw,2.65rem);
    line-height:1.08;
  }
  h3{
    font-size:1.12rem;
    line-height:1.2;
  }
  .hero p{
    font-size:1rem;
    line-height:1.62;
    max-width:760px;
  }
  .section-head{
    max-width:760px;
  }
}

/* V2.18 stronger desktop typography refinement */
@media(min-width:761px){
  .hero h1{
    font-size:clamp(2.7rem,3.8vw,3.5rem);
    line-height:1.04;
    letter-spacing:-.028em;
    max-width:780px;
  }
  h2{
    font-size:clamp(1.75rem,2.2vw,2.2rem);
    line-height:1.1;
  }
  h3{
    font-size:1.04rem;
    line-height:1.22;
  }
  .hero p,
  .section p,
  .split p,
  .card p,
  .related-card p,
  .hub-card p{
    font-size:.98rem;
    line-height:1.6;
  }
  .eyebrow,
  .section-head>span{
    font-size:.72rem;
    letter-spacing:.1em;
  }
  .button,
  .nav-cta{
    font-size:.9rem;
  }
  .section-head{
    max-width:720px;
  }
}
