
:root{
  --bg:#101a26;
  --bg2:#142131;
  --bg3:#182739;
  --ink:#f4f1eb;
  --muted:#ccd3db;
  --quiet:#97a4b2;
  --rule:rgba(244,241,234,.16);
  --rule-soft:rgba(244,241,234,.08);
  --green:#99cdbb;
  --amber:#ddb77e;
  --rose:#e0adaf;
  --focus:#f2d38a;
  --max:1180px;
  --reading:720px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:17px;line-height:1.68;text-rendering:optimizeLegibility;isolation:isolate;overflow-x:hidden}
main,.footer{position:relative;z-index:2}
.ambient-stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,#101a26 0%,#111e2d 42%,#132233 100%)}
.ambient-photo{position:absolute;inset:-8%;background-image:var(--ambient-image);background-size:cover;background-position:center;filter:blur(24px) saturate(.72) brightness(.52);opacity:.11;transform:scale(1.08);will-change:transform}
.ambient-light{position:absolute;inset:-28vh -22vw;background:radial-gradient(42rem 30rem at 18% 24%,rgba(137,185,173,.10),transparent 64%),radial-gradient(38rem 34rem at 84% 38%,rgba(119,151,183,.09),transparent 66%),radial-gradient(30rem 26rem at 58% 84%,rgba(221,183,126,.055),transparent 68%);animation:ambientDrift 26s ease-in-out infinite alternate;will-change:transform}
.ambient-grain{position:absolute;inset:-12%;background:url('../images/grain-v24.png') repeat;opacity:.17;mix-blend-mode:soft-light;animation:grainDrift 14s steps(8,end) infinite}
@keyframes ambientDrift{0%{transform:translate3d(-2%,1%,0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.025)}100%{transform:translate3d(0,2%,0) scale(1.015)}}
@keyframes grainDrift{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-2%,1%,0)}50%{transform:translate3d(1%,-2%,0)}75%{transform:translate3d(2%,2%,0)}100%{transform:translate3d(-1%,1%,0)}}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:120;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,rgba(153,205,187,.85),rgba(221,183,126,.75));pointer-events:none}
body.large-text{font-size:19px}
body.relaxed-reading{line-height:1.82}
body.high-contrast{--muted:#e2e6eb;--quiet:#bdc6cf;--rule:rgba(255,255,255,.27);--rule-soft:rgba(255,255,255,.15)}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.19em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:16px;top:-80px;background:#fff;color:#111;padding:11px 14px;z-index:1000}.skip:focus{top:16px}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(16,26,38,.96);border-bottom:1px solid var(--rule-soft);backdrop-filter:blur(12px)}
.navbar{min-height:78px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:24px}
.brand{display:flex;align-items:center;text-decoration:none;min-width:0}.brand img{height:36px;width:auto;max-width:180px}
.navlinks{display:flex;justify-content:center;gap:25px;align-items:center}.navlinks a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:400;padding:29px 0 25px;border-bottom:1px solid transparent}.navlinks a:hover{color:#fff}.navlinks a[aria-current="page"]{color:#fff;border-bottom-color:#fff}.navlinks .urgent{color:#f1c7c8}.navlinks .urgent[aria-current="page"]{border-bottom-color:#e6b0b2}
.header-tools{display:flex;align-items:center;gap:8px}
.support-login{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:#d8dee5;
  border-left:1px solid var(--rule);
  margin-left:2px;
  padding:8px 0 8px 12px;
  font-size:12px;
  letter-spacing:.01em;
  white-space:nowrap;
}
.support-login:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.support-login .support-short{display:none}
.text-button{appearance:none;background:transparent;border:0;color:var(--muted);padding:9px 8px;cursor:pointer;font-size:13px}.text-button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.menu{display:none;border:1px solid var(--rule);background:transparent;color:#fff;padding:9px 11px}.menu span{display:block;width:21px;height:2px;background:#fff;margin:4px 0}
.page-hero{--hero-y:50%;--parallax-y:0px;height:min(58vh,590px);min-height:430px;background-size:cover;background-position:center calc(var(--hero-y) + var(--parallax-y));position:relative;border-bottom:1px solid var(--rule);will-change:background-position}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,16,24,.12) 0%,rgba(9,16,24,.30) 50%,rgba(9,16,24,.72) 100%)}
.hero-home{background-image:url('../images/home-hero-v40.webp');--hero-y:44%}.hero-understanding{background-image:url('../images/understanding-hero-v40.webp');--hero-y:42%}.hero-toolkit{background-image:url('../images/toolkit-hero-v40.webp');--hero-y:48%}.hero-support{background-image:url('../images/support-hero-v40.webp');--hero-y:22%;height:min(52vh,510px);min-height:390px}.hero-resources{background-image:url('../images/resources-hero-v40.webp');--hero-y:44%}.hero-urgent{background-image:url('../images/urgent-hero-v40.webp');--hero-y:43%}.hero-404{background-image:url('../images/404-hero-v40.webp');--hero-y:46%}
.hero-content{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:54px}.hero-copy{max-width:620px;text-shadow:0 1px 3px rgba(0,0,0,.28)}.hero-label{font-size:13px;letter-spacing:.03em;color:#b9d7cd;margin-bottom:13px}.hero-copy h1,h2,h3,.tool-title h2,.footer h2,.dialog-title{font-family:Georgia,"Times New Roman",serif}.hero-copy h1{font-size:clamp(36px,4.8vw,58px);line-height:1.05;letter-spacing:-.018em;margin:0 0 17px;font-weight:700}.hero-copy p{max-width:58ch;margin:0 0 23px;color:#e7eaed;font-size:18px}.hero-actions{display:flex;gap:18px;flex-wrap:wrap}.action{display:inline-block;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0;font-size:15px;font-weight:700}.action.primary{color:#b4e2d2}.action.alert{color:#f3c4c5}
.section{position:relative;padding:70px 0;border-bottom:1px solid var(--rule-soft);background:linear-gradient(180deg,rgba(16,26,38,.72),rgba(16,26,38,.52))}
.section:nth-of-type(even){background:linear-gradient(110deg,rgba(20,34,50,.76),rgba(16,26,38,.47) 52%,rgba(22,37,54,.68))}
.section:nth-of-type(3n){background:linear-gradient(250deg,rgba(22,38,54,.72),rgba(16,26,38,.50) 58%,rgba(20,31,45,.66))}
.section.compact{padding:48px 0}
.section>.wrap{position:relative;z-index:1}.section-title{display:grid;grid-template-columns:185px 1fr;gap:42px;margin-bottom:38px}.section-title .index{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet);padding-top:6px}.section-title h2{font-size:clamp(28px,3.1vw,41px);line-height:1.13;letter-spacing:-.012em;margin:0;max-width:19ch}.section-title p{max-width:64ch;color:var(--muted);margin:13px 0 0}
.rule-list,.toolset,.path-map,.resource-list,.service-list,.plain-list{border-top:1px solid var(--rule)}
.rule-row{display:grid;grid-template-columns:74px minmax(180px,290px) 1fr 130px;gap:26px;align-items:start;padding:23px 0;border-bottom:1px solid var(--rule)}.rule-row .num{font-size:12px;color:var(--amber);letter-spacing:.1em;padding-top:3px}.rule-row h3{margin:0;font-size:21px;line-height:1.28}.rule-row p{margin:0;color:var(--muted);max-width:62ch}.rule-row a{font-size:14px;color:#fff}
.editorial-grid{display:grid;grid-template-columns:4fr 7fr;gap:72px;align-items:start}.editorial-grid.reverse{grid-template-columns:7fr 4fr}.side-note{border-top:1px solid var(--rule);padding-top:17px}.side-note h3{font-size:24px;margin:0 0 10px}.side-note p{color:var(--muted);margin:0}.prose{max-width:var(--reading)}.prose h2{font-size:32px;line-height:1.15;margin:0 0 20px}.prose h3{font-size:23px;margin:32px 0 10px}.prose p,.prose ul{color:var(--muted)}.prose p{margin:0 0 17px}.prose ul{padding-left:20px}.prose li{margin:8px 0}
.tip-band{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.tip{padding:23px 26px 26px 0;border-right:1px solid var(--rule);margin-right:26px}.tip:last-child{border-right:0;margin-right:0}.tip b{display:block;margin-bottom:7px}.tip p{margin:0;color:var(--muted);font-size:15px}
.need-router{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0}.need-options{display:flex;flex-wrap:wrap;gap:8px 18px}.need-options button{appearance:none;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--muted);padding:9px 0;cursor:pointer;text-align:left}.need-options button:hover,.need-options button[aria-pressed="true"]{color:#fff;border-bottom-color:#fff}.need-answer{margin-top:24px;max-width:720px}.need-answer strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;display:block;margin-bottom:7px}.need-answer p{color:var(--muted);margin:0 0 12px}
.tool-nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:-10px 0 30px;border-bottom:1px solid var(--rule);padding-bottom:14px}.tool-nav a{font-size:14px;color:var(--muted);text-decoration:none}.tool-nav a:hover{color:#fff;text-decoration:underline}.tool{display:grid;grid-template-columns:230px 1fr;gap:42px;padding:38px 0;border-bottom:1px solid var(--rule);scroll-margin-top:95px}.tool-title small{display:block;color:var(--green);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.tool-title h2{font-size:30px;line-height:1.1;margin:0}.tool-body{max-width:780px}.tool-body>p{color:var(--muted)}.tool-panel{border:1px solid var(--rule);padding:20px 22px;background:#132235;margin-top:17px}.progress-shell{height:4px;background:#26364a;margin:18px 0 22px}.progress-bar{height:100%;background:var(--green);width:0;transition:width .25s ease}.step-meta{display:flex;justify-content:space-between;color:var(--quiet);font-size:13px;margin-bottom:10px}.tool-panel h3{font-size:25px;margin:0 0 9px}.controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.control{border:1px solid var(--rule);background:transparent;color:#fff;padding:10px 14px;cursor:pointer;border-radius:0}.control:hover{background:#1a2a3d}.control.main{background:#a1d0bf;color:#10202a;border-color:#a1d0bf;font-weight:700}.control:disabled{opacity:.4;cursor:not-allowed}.status{color:var(--quiet);font-size:13px;margin-top:10px}.breath-disc{width:142px;height:142px;border:1px solid var(--rule);display:grid;place-items:center;margin:13px 0;background:#111e2d;transition:transform 4s ease}.breath-disc.grow{transform:scale(1.11)}.breath-disc.hold{transform:scale(1.11)}.breath-disc.shrink{transform:scale(.93);transition-duration:6s}.breath-disc span{font-size:18px;text-align:center}.timer-readout{font-size:36px;font-weight:700;letter-spacing:-.03em;margin:4px 0}.reset-prompt{font-size:21px;line-height:1.35;max-width:42ch}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.field label{display:block;font-size:14px;margin-bottom:6px;color:#e3e7eb}.field textarea,.field input,.field select{width:100%;background:#0f1a28;border:1px solid var(--rule);color:#fff;padding:11px 12px;border-radius:0}.field textarea{min-height:105px;resize:vertical}.privacy-note{font-size:13px;color:var(--quiet);margin-top:10px}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.decision-track{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--rule)}.decision-track li{display:grid;grid-template-columns:58px 190px 1fr;gap:22px;padding:19px 0;border-bottom:1px solid var(--rule);align-items:start}.decision-track .step-no{font-size:12px;color:var(--amber);padding-top:4px}.decision-track strong{font-family:Georgia,"Times New Roman",serif;font-size:19px}.decision-track span:last-child{color:var(--muted)}
.support-helper{border-top:1px solid var(--rule);padding-top:20px}.support-helper select{width:min(100%,420px);background:#0f1a28;border:1px solid var(--rule);color:#fff;padding:11px 12px}.helper-output{margin-top:20px;border-top:1px solid var(--rule);padding-top:18px;max-width:720px}.helper-output strong{font-family:Georgia,"Times New Roman",serif;font-size:23px}.helper-output p{color:var(--muted)}
.two-column-list{display:grid;grid-template-columns:1fr 1fr;gap:55px}.plain-list h3{font-size:24px;margin:18px 0 10px}.plain-list ul{margin:0;padding:0;list-style:none}.plain-list li{padding:12px 0;border-top:1px solid var(--rule-soft);color:var(--muted)}
.resource{display:grid;grid-template-columns:230px 1fr 190px;gap:30px;padding:25px 0;border-bottom:1px solid var(--rule)}.resource h3{margin:0;font-size:22px}.resource p{margin:0;color:var(--muted)}.resource-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14px}.resource-links a{font-weight:700}
.service-finder{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0}.service-finder label{display:block;font-size:14px;margin-bottom:8px;color:var(--muted)}.service-finder select{width:min(100%,520px);background:#0f1a28;color:#fff;border:1px solid var(--rule);padding:12px}.finder-output{margin-top:22px;max-width:760px}.finder-output strong{font-family:Georgia,"Times New Roman",serif;font-size:25px}.finder-output p{color:var(--muted)}
.service{display:grid;grid-template-columns:220px 1fr 190px;gap:30px;padding:25px 0;border-bottom:1px solid var(--rule)}.service h3{margin:0;font-size:21px}.service p{margin:0;color:var(--muted)}.service a{font-weight:700}
.team-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.team-person{padding:19px 22px 20px 0;border-right:1px solid var(--rule);margin-right:22px}.team-person:last-child{border-right:0;margin-right:0}.team-person strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:23px;margin-bottom:4px}.team-person span{color:var(--muted)}
.footer{padding:52px 0 28px}.footer-grid{display:grid;grid-template-columns:5fr 3fr 4fr;gap:48px}.footer h2{font-size:23px;margin:0 0 9px}.footer h3{font-family:Arial,"Helvetica Neue",sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 11px;color:var(--quiet)}.footer p{color:var(--quiet);font-size:14px;max-width:46ch}.footer-links{display:flex;flex-direction:column;gap:7px}.footer-links a{font-size:14px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--rule-soft);margin-top:33px;padding-top:17px;color:#7f8c9b;font-size:12px}
dialog{width:min(94vw,680px);border:1px solid var(--rule);background:#111d2b;color:var(--ink);padding:0;box-shadow:0 24px 80px rgba(0,0,0,.45)}dialog::backdrop{background:rgba(5,10,16,.72)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;border-bottom:1px solid var(--rule)}.dialog-title{font-size:26px;margin:0}.dialog-close{background:transparent;border:0;color:var(--muted);font-size:14px;cursor:pointer}.dialog-body{padding:22px}.search-box{width:100%;background:#0d1723;color:#fff;border:1px solid var(--rule);padding:13px 14px}.search-results{margin-top:15px;border-top:1px solid var(--rule)}.search-result{display:block;text-decoration:none;padding:15px 0;border-bottom:1px solid var(--rule);color:#fff}.search-result strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:20px}.search-result span{display:block;color:var(--muted);font-size:14px;margin-top:3px}.reading-options{display:grid;gap:0;border-top:1px solid var(--rule)}.reading-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--rule)}.reading-row p{margin:0;color:var(--muted);font-size:14px}.toggle{appearance:none;border:1px solid var(--rule);background:transparent;color:#fff;padding:8px 11px;cursor:pointer}.toggle[aria-pressed="true"]{background:#e9ecef;color:#111;border-color:#e9ecef}
@media(max-width:980px){.navbar{grid-template-columns:1fr auto auto}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:#101a26;padding:20px;border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start}.navlinks[data-open="true"]{display:flex}.navlinks a{padding:5px 0}.menu{display:block}.header-tools{gap:2px}.section-title,.rule-row,.tool,.resource,.service,.decision-track li{grid-template-columns:1fr}.section-title{gap:10px}.rule-row{gap:8px}.editorial-grid,.editorial-grid.reverse{grid-template-columns:1fr;gap:34px}.tool{gap:17px}.tip-band,.two-column-list,.team-list{grid-template-columns:1fr}.tip,.team-person{border-right:0;border-bottom:1px solid var(--rule);margin:0;padding:18px 0}.field-grid,.plan-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.page-hero{min-height:480px}.hero-copy h1{font-size:49px}}
@media(max-width:650px){body{font-size:16px}.wrap{width:min(calc(100% - 28px),var(--max))}.navbar{min-height:68px;grid-template-columns:1fr auto auto;gap:8px}.brand img{height:30px;max-width:145px}.navlinks{top:68px}.header-tools .reading-label{display:none}.text-button{font-size:12px;padding:8px 5px}.page-hero{height:535px;min-height:0;background-position:center center}.page-hero::before{background:linear-gradient(180deg,rgba(10,17,25,.18),rgba(10,17,25,.54) 58%,rgba(10,17,25,.84))}.hero-content{padding-bottom:34px}.hero-copy h1{font-size:39px;max-width:13ch}.hero-copy p{font-size:16px}.section{padding:50px 0}.section-title h2{font-size:34px}.footer-grid{grid-template-columns:1fr}.controls .control{flex:1 1 130px}.tool-nav{gap:8px 16px}.service,.resource{padding:21px 0}.team-person:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress-bar,.breath-disc{transition:none!important}}

.motion-ready .reveal-item{opacity:0;transform:translateY(11px);transition:opacity .58s cubic-bezier(.2,.7,.2,1),transform .58s cubic-bezier(.2,.7,.2,1)}
.motion-ready .reveal-item.in-view{opacity:1;transform:none}
.rule-row,.resource,.service,.tool,.team-person{position:relative}
.rule-row::after,.resource::after,.service::after,.tool::after,.team-person::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:rgba(244,241,234,.30);transition:width .7s cubic-bezier(.2,.7,.2,1)}
.motion-ready .rule-row.in-view::after,.motion-ready .resource.in-view::after,.motion-ready .service.in-view::after,.motion-ready .tool.in-view::after,.motion-ready .team-person.in-view::after{width:100%}
.section-title .index{transition:color .35s ease,letter-spacing .35s ease}.section:hover .section-title .index{color:#b6c1cc;letter-spacing:.16em}
.action{transition:color .22s ease,border-color .22s ease,transform .22s ease}.action:hover{transform:translateY(-1px)}
.control,.text-button,.toggle{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.control:active,.toggle:active{transform:translateY(1px)}
@media(max-width:980px){.ambient-photo{inset:-5%;filter:blur(18px) saturate(.72) brightness(.50);opacity:.09}.ambient-light{animation-duration:32s}.scroll-progress{height:2px}}
@media(max-width:650px){.ambient-photo{opacity:.075;filter:blur(16px) saturate(.68) brightness(.48)}.section,.section:nth-of-type(even),.section:nth-of-type(3n){background:linear-gradient(180deg,rgba(16,26,38,.78),rgba(16,26,38,.60))}.motion-ready .reveal-item{transform:translateY(7px)}}
@media(prefers-reduced-motion:reduce){.ambient-light,.ambient-grain{animation:none!important}.ambient-photo{transform:scale(1.08)!important}.scroll-progress{display:none}.motion-ready .reveal-item{opacity:1!important;transform:none!important;transition:none!important}.rule-row::after,.resource::after,.service::after,.tool::after,.team-person::after{transition:none!important;width:100%!important}.page-hero{--parallax-y:0px!important}}


/* Forward v25 cinematic motion layer */
:root{
  --cinematic-ease:cubic-bezier(.22,.61,.36,1);
  --cinematic-ease-soft:cubic-bezier(.16,1,.3,1);
}
.site-header{transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease,backdrop-filter .45s ease}
.site-header.is-scrolled{background:rgba(13,22,33,.90);border-bottom-color:rgba(244,241,234,.12);box-shadow:0 12px 38px rgba(0,0,0,.14);backdrop-filter:blur(16px)}
.page-hero{
  --hero-scale:1.035;
  --hero-shift:0px;
  --hero-copy-shift:0px;
  --hero-copy-opacity:1;
  background-image:none!important;
  overflow:hidden;
  isolation:isolate;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:-3%;
  z-index:0;
  background-image:linear-gradient(180deg,rgba(8,15,23,.10) 0%,rgba(8,15,23,.28) 48%,rgba(8,15,23,.74) 100%),var(--hero-image);
  background-size:cover;
  background-position:center var(--hero-y);
  transform:translate3d(0,var(--hero-shift),0) scale(var(--hero-scale));
  transform-origin:50% 48%;
  will-change:transform;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 22%,transparent 45%,rgba(5,10,16,.15) 100%),
    linear-gradient(180deg,transparent 65%,rgba(16,26,38,.28) 100%);
}
.hero-home{--hero-image:url('../images/home-hero-v40.webp')}
.hero-understanding{--hero-image:url('../images/understanding-hero-v40.webp')}
.hero-toolkit{--hero-image:url('../images/toolkit-hero-v40.webp')}
.hero-support{--hero-image:url('../images/support-hero-v40.webp')}
.hero-resources{--hero-image:url('../images/resources-hero-v40.webp')}
.hero-urgent{--hero-image:url('../images/urgent-hero-v40.webp')}
.hero-404{--hero-image:url('../images/404-hero-v40.webp')}
.hero-content{z-index:1;transform:translate3d(0,var(--hero-copy-shift),0);opacity:var(--hero-copy-opacity);will-change:transform,opacity}
.ambient-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,8,13,.02),rgba(3,8,13,.14) 48%,rgba(3,8,13,.08));
  pointer-events:none;
}
.ambient-photo{transform-origin:center;transition:opacity .45s ease}
.ambient-light{transform:translate3d(var(--ambient-x,0px),var(--ambient-y,0px),0) scale(var(--ambient-scale,1));}

.motion-ready .section{
  --scene-shift:0px;
  --scene-opacity:1;
  --scene-scale:1;
  --scene-glow:.10;
  overflow:clip;
}
.motion-ready .section>.wrap{
  transform:translate3d(0,var(--scene-shift),0) scale(var(--scene-scale));
  opacity:var(--scene-opacity);
  transform-origin:50% 50%;
  will-change:transform,opacity;
}
.motion-ready .section::before{
  content:"";
  position:absolute;
  inset:-22% -12%;
  pointer-events:none;
  background:
    radial-gradient(36rem 18rem at var(--scene-x,20%) 12%,rgba(153,205,187,var(--scene-glow)),transparent 68%),
    radial-gradient(32rem 20rem at calc(100% - var(--scene-x,20%)) 92%,rgba(128,157,190,.045),transparent 70%);
  transform:translate3d(0,var(--scene-bg-shift,0px),0);
  will-change:transform;
}
.motion-ready .reveal-item{
  opacity:0;
  filter:blur(3px);
  transform:translate3d(0,24px,0) scale(.997);
  transition:
    opacity .88s var(--cinematic-ease-soft) var(--reveal-delay,0ms),
    transform .96s var(--cinematic-ease-soft) var(--reveal-delay,0ms),
    filter .78s ease var(--reveal-delay,0ms);
}
.motion-ready .reveal-item.in-view{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
}
.motion-ready .rule-row::after,
.motion-ready .resource::after,
.motion-ready .service::after,
.motion-ready .tool::after,
.motion-ready .team-person::after{
  transition:width 1.05s var(--cinematic-ease-soft) var(--reveal-delay,0ms);
}
.scroll-progress{
  height:2px;
  background:linear-gradient(90deg,rgba(153,205,187,.72),rgba(221,183,126,.66),rgba(150,177,205,.68));
  box-shadow:0 0 14px rgba(153,205,187,.08);
}
.hero-copy .action,.need-options button,.tool-nav a{transition:color .25s ease,border-color .25s ease,opacity .25s ease,transform .25s ease}
.hero-copy .action:hover{transform:translate3d(0,-2px,0)}
.section-title h2,.prose h2,.tool-title h2{transition:letter-spacing .45s ease}.section:hover .section-title h2{letter-spacing:-.016em}

@media(max-width:980px){
  .page-hero::before{inset:-2.5%}
  .motion-ready .section::before{inset:-16% -18%}
}
@media(max-width:650px){
  .page-hero::before{inset:-2%;background-position:center center}
  .motion-ready .reveal-item{filter:none;transform:translate3d(0,14px,0)}
  .motion-ready .section>.wrap{transform:translate3d(0,calc(var(--scene-shift) * .55),0)}
}
@media(prefers-reduced-motion:reduce){
  .site-header{transition:none!important}
  .page-hero::before,.hero-content,.ambient-light,.section>.wrap,.section::before{transform:none!important;transition:none!important}
  .motion-ready .reveal-item{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
}


/* Forward v26: stronger cinematic scroll treatment */
:root{
  --page-photo:none;
  --cinema-line:rgba(244,241,234,.14);
}
body{
  background:#0f1925;
}
main{
  background:transparent;
}
.motion-ready .section{
  --enter:0;
  --exit:0;
  --photo-y:0px;
  --photo-opacity:.055;
  --content-y:0px;
  --content-scale:1;
  --content-opacity:1;
  --clip-bottom:0%;
  isolation:isolate;
  background:rgba(15,25,37,.80)!important;
  overflow:hidden;
}
.motion-ready .section:nth-of-type(even){
  background:rgba(18,31,46,.78)!important;
}
.motion-ready .section:nth-of-type(3n){
  background:rgba(16,28,42,.76)!important;
}
.motion-ready .section::before{
  content:"";
  position:absolute;
  inset:-10% -5%;
  z-index:-2;
  background-image:
    linear-gradient(90deg,rgba(9,16,24,.80),rgba(9,16,24,.34) 48%,rgba(9,16,24,.72)),
    var(--page-photo);
  background-size:cover;
  background-position:center calc(50% + var(--photo-y));
  filter:saturate(.72) contrast(.96) brightness(.58);
  opacity:var(--photo-opacity);
  transform:scale(1.10);
  will-change:background-position,opacity;
}
.motion-ready .section::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  z-index:2;
  background:linear-gradient(90deg,transparent 0%,rgba(244,241,234,.12) 14%,rgba(244,241,234,.30) 50%,rgba(244,241,234,.12) 86%,transparent 100%);
  transform:scaleX(var(--enter));
  transform-origin:center;
  opacity:.72;
  will-change:transform;
}
.motion-ready .section>.wrap{
  transform:translate3d(0,var(--content-y),0) scale(var(--content-scale));
  opacity:var(--content-opacity);
  clip-path:inset(0 0 var(--clip-bottom) 0);
  will-change:transform,opacity,clip-path;
}
.motion-ready .section-title,
.motion-ready .editorial-grid,
.motion-ready .tip-band,
.motion-ready .need-router,
.motion-ready .callout,
.motion-ready .tool,
.motion-ready .resource,
.motion-ready .service,
.motion-ready .team-list,
.motion-ready .plain-list,
.motion-ready .support-helper,
.motion-ready .service-finder,
.motion-ready .path-map,
.motion-ready .two-column-list,
.motion-ready .decision-track{
  transition:none!important;
}
.motion-ready .reveal-item{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
}
.motion-ready .section-title h2,
.motion-ready .prose h2,
.motion-ready .tool-title h2{
  transform:translate3d(0,var(--heading-y,0px),0);
  opacity:var(--heading-opacity,1);
  will-change:transform,opacity;
}
.motion-ready .section-title .index{
  transform:translate3d(var(--index-x,0px),0,0);
  opacity:var(--index-opacity,1);
  will-change:transform,opacity;
}
.motion-ready .rule-row,
.motion-ready .resource,
.motion-ready .service,
.motion-ready .tool,
.motion-ready .team-person{
  transform:translate3d(0,var(--row-y,0px),0);
  opacity:var(--row-opacity,1);
  will-change:transform,opacity;
}
.motion-ready .rule-row::after,
.motion-ready .resource::after,
.motion-ready .service::after,
.motion-ready .tool::after,
.motion-ready .team-person::after{
  width:var(--row-line,100%)!important;
  transition:none!important;
}
.page-hero::before{
  transition:none!important;
}
.hero-content{
  transition:none!important;
}
.ambient-photo{
  opacity:.07;
  filter:blur(28px) saturate(.64) brightness(.46);
}
.ambient-light{
  opacity:.72;
}
@media(min-width:981px){
  .motion-ready .section{min-height:26rem}
}
@media(max-width:650px){
  .motion-ready .section::before{opacity:calc(var(--photo-opacity) * .72)}
  .motion-ready .section>.wrap{clip-path:none}
  .motion-ready .section-title h2,.motion-ready .prose h2,.motion-ready .tool-title h2{transform:none;opacity:1}
  .motion-ready .section-title .index{transform:none;opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .motion-ready .section::before{opacity:.035!important;background-position:center!important}
  .motion-ready .section::after{transform:scaleX(1)!important}
  .motion-ready .section>.wrap{transform:none!important;opacity:1!important;clip-path:none!important}
  .motion-ready .section-title h2,.motion-ready .prose h2,.motion-ready .tool-title h2,.motion-ready .section-title .index,.motion-ready .rule-row,.motion-ready .resource,.motion-ready .service,.motion-ready .tool,.motion-ready .team-person{transform:none!important;opacity:1!important}
}


/* Forward v27: site effect engine */
.site-announcement{
  position:relative;
  z-index:42;
  display:none;
  padding:9px 20px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:#172537;
  color:#eef3f5;
  font-size:14px;
  text-align:center;
}
.site-announcement.is-visible{display:block}
.site-effect-layer{
  position:fixed;
  inset:0;
  z-index:38;
  overflow:hidden;
  pointer-events:none;
}
.site-effect-layer .effect-particle{
  position:absolute;
  display:block;
  opacity:.72;
  will-change:transform,opacity;
}
body[data-effect="christmas"] .site-header{box-shadow:0 1px 0 rgba(172,210,199,.10),0 10px 28px rgba(9,18,27,.20)}
body[data-effect="christmas"] .site-effect-layer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,#c6d7e3 0 8%,transparent 8% 12%,#d8b774 12% 20%,transparent 20% 25%,#9ccab9 25% 34%,transparent 34% 42%,#c6d7e3 42% 54%,transparent 54% 60%,#d8b774 60% 72%,transparent 72% 80%,#9ccab9 80% 92%,transparent 92%);
  opacity:.58;
}
body[data-effect="christmas"] .effect-particle{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(242,246,248,.90);
  box-shadow:0 0 8px rgba(255,255,255,.22);
  animation:forwardSnow var(--dur,12s) linear infinite;
}
@keyframes forwardSnow{
  0%{transform:translate3d(var(--x,0),-6vh,0) scale(var(--s,1));opacity:0}
  10%{opacity:.72}
  100%{transform:translate3d(calc(var(--x,0) + var(--drift,20px)),106vh,0) scale(var(--s,1));opacity:.12}
}
body[data-effect="halloween"] .site-effect-layer::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 88% 12%,rgba(207,128,62,.10),transparent 0 24rem),radial-gradient(circle at 12% 78%,rgba(93,72,118,.08),transparent 0 25rem);
}
body[data-effect="halloween"] .effect-particle{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d59658;
  box-shadow:0 0 10px rgba(213,150,88,.36);
  animation:forwardEmber var(--dur,9s) ease-in-out infinite;
}
@keyframes forwardEmber{
  0%{transform:translate3d(var(--x,0),104vh,0);opacity:0}
  18%{opacity:.55}
  100%{transform:translate3d(calc(var(--x,0) + var(--drift,12px)),-8vh,0);opacity:0}
}
body[data-effect="suicide-awareness"] .site-effect-layer::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(112deg,rgba(71,154,149,.065),transparent 38%,rgba(109,82,150,.055) 68%,transparent);
  animation:forwardAwareness 10s ease-in-out infinite alternate;
}
body[data-effect="suicide-awareness"] .site-effect-layer::after{
  content:"";
  position:absolute;
  top:84px;
  right:22px;
  width:5px;
  height:72px;
  background:linear-gradient(#5aa89f 0 49%,#7e629e 49% 100%);
  opacity:.48;
}
@keyframes forwardAwareness{from{opacity:.58}to{opacity:1}}
body[data-effect="winter"] .site-effect-layer::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(120,156,181,.06),transparent 45%,rgba(175,195,207,.035));
}
body[data-effect="winter"] .effect-particle{
  width:3px;height:3px;border-radius:50%;background:rgba(226,237,243,.62);
  animation:forwardSnow var(--dur,14s) linear infinite;
}
body[data-effect="spring"] .site-effect-layer::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 82% 15%,rgba(143,190,158,.08),transparent 0 25rem),radial-gradient(circle at 18% 82%,rgba(201,164,178,.055),transparent 0 24rem);
}
body[data-effect="spring"] .effect-particle{
  width:8px;height:4px;border-radius:100% 0 100% 0;background:rgba(159,198,166,.55);
  animation:forwardLeaf var(--dur,15s) linear infinite;
}
@keyframes forwardLeaf{
  from{transform:translate3d(var(--x,0),-8vh,0) rotate(0deg);opacity:0}
  15%{opacity:.48}
  to{transform:translate3d(calc(var(--x,0) + var(--drift,35px)),108vh,0) rotate(320deg);opacity:0}
}
body[data-effect="world-mental-health-day"] .site-effect-layer::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 78% 18%,rgba(74,152,115,.10),transparent 0 28rem),linear-gradient(180deg,transparent,rgba(72,135,105,.025));
}
body[data-effect-intensity="normal"] .site-effect-layer{opacity:1}
body[data-effect-intensity="subtle"] .site-effect-layer{opacity:.62}
body.has-site-accent .action.primary,
body.has-site-accent .control.main{color:var(--site-accent,#9fcfbc)!important;border-color:var(--site-accent,#9fcfbc)!important}
body.has-site-accent .scroll-progress{background:var(--site-accent,#9fcfbc)!important}
@media(prefers-reduced-motion:reduce){
  .site-effect-layer .effect-particle{animation:none!important;display:none!important}
  .site-effect-layer::before{animation:none!important}
}

@media(max-width:760px){
  .support-login{padding-left:9px;margin-left:0}
  .support-login .support-full{display:none}
  .support-login .support-short{display:inline}
}
@media(max-width:430px){
  .header-tools{gap:0}
  .support-login{font-size:11px;padding-left:7px}
}


/* Forward v29 live campaign layer */
.campaign-focus{
  display:none;
  position:relative;
  z-index:3;
  border-bottom:1px solid var(--rule);
  background:rgba(16,26,38,.82);
  backdrop-filter:blur(10px);
}
.campaign-focus.is-visible{display:block}
.campaign-focus .wrap{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:34px;align-items:start;padding-top:28px;padding-bottom:28px}
.campaign-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--quiet);padding-top:4px}
.campaign-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.18;margin:0 0 8px;font-weight:700}
.campaign-copy p{margin:0;color:var(--muted);max-width:68ch}
.campaign-focus .campaign-action{align-self:center;white-space:nowrap}
.campaign-focus::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--campaign-accent,var(--site-accent,#9fcfbc));opacity:.9}
body[data-campaign="suicide-prevention"]{--campaign-accent:#e0b06d}
body[data-campaign="anxiety-panic"]{--campaign-accent:#8db7c9}
body[data-campaign="low-mood-depression"]{--campaign-accent:#9da8c7}
body[data-campaign="stress-burnout"]{--campaign-accent:#c2a27f}
body[data-campaign="grief-bereavement"]{--campaign-accent:#a9a0c7}
body[data-campaign="loneliness-isolation"]{--campaign-accent:#8eafaa}
body[data-campaign="mens-mental-health"]{--campaign-accent:#82a8bd}
body[data-campaign="womens-mental-health"]{--campaign-accent:#b69ab3}
body[data-campaign="self-harm-awareness"]{--campaign-accent:#bb9f7e}
body[data-campaign="ptsd-trauma"]{--campaign-accent:#8da89a}
body[data-campaign="ocd-awareness"]{--campaign-accent:#8cacc6}
body[data-campaign="bipolar-awareness"]{--campaign-accent:#9fa4c9}
body[data-campaign="psychosis-awareness"]{--campaign-accent:#a59aaf}
body[data-campaign="eating-difficulties"]{--campaign-accent:#c3a78e}
body[data-campaign="sleep-mental-health"]{--campaign-accent:#8498b5}
body[data-campaign="workplace-mental-health"]{--campaign-accent:#95afa6}
body[data-campaign="student-mental-health"]{--campaign-accent:#94aebd}
body[data-campaign="carer-wellbeing"]{--campaign-accent:#a5b58d}
body[data-campaign="perinatal-mental-health"]{--campaign-accent:#b5a3b7}
body[data-campaign="neurodiversity-wellbeing"]{--campaign-accent:#9aaf9d}
body[data-campaign="seasonal-pressure"]{--campaign-accent:#b5a47f}

body[data-effect="stars"] .site-effect-layer::before{
  content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 18% 21%,rgba(255,255,255,.34) 0 1px,transparent 1.4px),radial-gradient(circle at 72% 16%,rgba(255,255,255,.22) 0 1px,transparent 1.4px),radial-gradient(circle at 44% 72%,rgba(255,255,255,.20) 0 1px,transparent 1.3px),radial-gradient(circle at 86% 66%,rgba(255,255,255,.16) 0 1px,transparent 1.3px);background-size:260px 260px,310px 310px,370px 370px,420px 420px;opacity:.42
}
body[data-effect="rain"] .site-effect-layer::before{content:"";position:absolute;inset:-10% 0;background:repeating-linear-gradient(102deg,transparent 0 24px,rgba(190,216,231,.08) 25px 26px,transparent 27px 50px);animation:forwardRain 12s linear infinite}
@keyframes forwardRain{from{transform:translateY(-6%)}to{transform:translateY(6%)}}
body[data-effect="autumn"] .effect-particle{width:8px;height:5px;border-radius:60% 20% 60% 20%;background:#b98b61;opacity:.36}
body[data-effect="autumn"] .site-effect-layer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 20%,rgba(180,123,77,.08),transparent 28%),radial-gradient(circle at 88% 70%,rgba(155,93,59,.06),transparent 32%)}
body[data-effect="calm-glow"] .site-effect-layer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(117,170,159,.08),transparent 28%),radial-gradient(circle at 82% 62%,rgba(103,137,166,.06),transparent 34%)}

@media(max-width:820px){.campaign-focus .wrap{grid-template-columns:1fr;gap:10px}.campaign-focus .campaign-action{justify-self:start}.campaign-kicker{padding-top:0}}
@media(prefers-reduced-motion:reduce){body[data-effect="rain"] .site-effect-layer::before{animation:none!important}}


/* Forward v34 local comfort controls */
.saved-pages{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.saved-pages-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.saved-pages-head strong{display:block}
.saved-pages-head p{margin:4px 0 0;color:var(--muted);font-size:14px;max-width:46ch}
.text-action{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:4px 0;cursor:pointer;white-space:nowrap}
.text-action:hover{border-bottom-color:currentColor}
.saved-pages-list{margin-top:14px;border-top:1px solid var(--line2)}
.saved-page-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line2)}
.saved-page-row a{text-decoration:none;color:var(--ink)}
.saved-page-row a:hover{text-decoration:underline;text-underline-offset:4px}
.saved-page-row button{border:0;background:transparent;color:var(--quiet);cursor:pointer;padding:4px}
.saved-page-row button:hover{color:var(--ink)}
body.quiet-mode{scroll-behavior:auto}
body.quiet-mode .site-effect-layer,
body.quiet-mode .cinematic-photo,
body.quiet-mode .ambient-light{display:none!important}
body.quiet-mode .page-hero,
body.quiet-mode .hero-content,
body.quiet-mode .section,
body.quiet-mode .section>.wrap,
body.quiet-mode .rule-row,
body.quiet-mode .resource,
body.quiet-mode .service,
body.quiet-mode .tool,
body.quiet-mode .team-person{transform:none!important;opacity:1!important;clip-path:none!important}
body.quiet-mode *,body.quiet-mode *::before,body.quiet-mode *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(max-width:620px){.saved-pages-head{display:block}.text-action{margin-top:10px}.saved-page-row{grid-template-columns:1fr auto}}


/* Forward v36 visual refinement
   Brighter slate surfaces, simpler editorial rhythm, fewer decorative gradients. */
:root{
  --bg:#172936;
  --bg2:#1c3040;
  --bg3:#203746;
  --ink:#f6f3ed;
  --muted:#d8dfe3;
  --quiet:#aeb9c0;
  --rule:rgba(246,243,237,.20);
  --rule-soft:rgba(246,243,237,.11);
  --green:#a9d6c6;
  --amber:#e5c38f;
  --rose:#e5b9bb;
  --focus:#f1d596;
}
body{
  background:#172936;
  color:var(--ink);
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
.ambient-stage{background:#172936}
.ambient-photo{
  opacity:.09;
  filter:blur(26px) saturate(.70) brightness(.64);
}
.ambient-light{
  background:radial-gradient(44rem 31rem at 19% 24%,rgba(157,202,190,.10),transparent 66%),radial-gradient(38rem 32rem at 84% 45%,rgba(143,175,198,.08),transparent 70%);
  opacity:.55;
}
.ambient-grain{opacity:.09}
.scroll-progress{background:#a9d6c6}

.site-header{
  background:rgba(23,41,54,.96);
  border-bottom-color:rgba(246,243,237,.12);
}
.navlinks a{color:#d6dde1}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:#fff}
.navlinks a[aria-current="page"]{border-bottom-color:#c9ddd5}
.support-login{color:#dce2e5;border-left-color:rgba(246,243,237,.16)}
.text-button{color:#c7d0d6}
.menu{border-color:rgba(246,243,237,.24)}

.page-hero{border-bottom-color:rgba(246,243,237,.15)}
.page-hero::before{
  background-image:
    linear-gradient(180deg,rgba(8,15,23,.10) 0%,rgba(8,15,23,.28) 48%,rgba(8,15,23,.74) 100%),
    var(--hero-image);
  background-size:cover;
  background-position:center var(--hero-y);
}
.hero-copy{text-shadow:0 1px 3px rgba(5,12,17,.22)}
.hero-label{color:#c9e2d9}
.hero-copy h1{font-size:clamp(35px,4.55vw,55px);line-height:1.07;letter-spacing:-.014em}
.hero-copy p{color:#edf0f1}
.action.primary{color:#bfe6d8}.action.alert{color:#f1cdce}

/* Solid, lightly varied sections replace the repeated generated-looking gradients. */
.section{background:rgba(25,44,57,.93);border-bottom-color:var(--rule-soft)}
.section:nth-of-type(even){background:rgba(28,48,63,.94)}
.section:nth-of-type(3n){background:rgba(30,51,66,.94)}
.section.compact{background:rgba(26,46,60,.94)}
.section-title .index{color:#b6c1c8;letter-spacing:.115em}
.section-title h2{font-size:clamp(27px,2.95vw,39px);line-height:1.16;letter-spacing:-.008em}
.section-title p,.prose p,.prose ul,.rule-row p,.resource p,.service p,.tip p{color:#d7dee2}

.rule-list,.toolset,.path-map,.resource-list,.service-list,.plain-list,
.tip-band,.need-router,.service-finder,.team-list{border-color:rgba(246,243,237,.18)}
.rule-row,.resource,.service,.tool{border-bottom-color:rgba(246,243,237,.18)}
.rule-row .num{color:#e3c18d}
.rule-row h3,.resource h3,.service h3{font-weight:700}
.side-note{border-top-color:rgba(246,243,237,.24)}

/* Calm surfaces: lighter slate, no glossy card feel. */
.tool-panel,
.support-helper select,
.service-finder select,
.field textarea,.field input,.field select,
.search-box{
  background:#203746;
  border-color:rgba(246,243,237,.19);
}
.tool-panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.control:hover{background:#294251}
.control.main{background:#b0d9ca;border-color:#b0d9ca;color:#163029}
.progress-shell{background:#2d4657}
.progress-bar{background:#a9d6c6}
.breath-disc{background:#1d3241;border-color:rgba(246,243,237,.20)}

.need-options button{color:#cbd4d9;border-bottom-color:rgba(246,243,237,.18)}
.need-options button:hover,.need-options button[aria-pressed="true"]{color:#fff;border-bottom-color:#c9ddd5}
.tool-nav a{color:#cbd4d9}
.team-person span{color:#d1d9de}

/* Campaigns and announcements remain visible without looking like app banners. */
.site-announcement{
  background:#203645;
  color:#f5f3ee;
  border-bottom-color:rgba(246,243,237,.15);
}
.campaign-focus{
  background:rgba(28,47,60,.96);
  border-top:1px solid rgba(246,243,237,.13);
  border-bottom:1px solid rgba(246,243,237,.16);
  backdrop-filter:none;
}
.campaign-focus::before{display:none}
.campaign-kicker{color:#b5c1c8}
.campaign-copy p{color:#d6dde1}

.footer{
  background:#152632;
  border-top:1px solid rgba(246,243,237,.09);
}
.footer p{color:#aebbc2}
.footer-links a{color:#d2d9dd}
.footer-bottom{color:#94a3ac}

dialog{background:#1b2f3d;border-color:rgba(246,243,237,.20);box-shadow:0 24px 70px rgba(4,10,14,.30)}
dialog::backdrop{background:rgba(8,18,25,.65)}
.search-result{color:#fff}
.toggle[aria-pressed="true"]{background:#dfe8e3;border-color:#dfe8e3;color:#142520}

/* Softer cinematic movement against the lighter palette. */
.motion-ready .section::after{opacity:.42;background:rgba(246,243,237,.22)}
.motion-ready .section::before{filter:saturate(.78) brightness(.72)}
.rule-row::after,.resource::after,.service::after,.tool::after,.team-person::after{background:rgba(246,243,237,.23)}

body.high-contrast{
  --muted:#eef1f2;
  --quiet:#d0d8dc;
  --rule:rgba(255,255,255,.34);
  --rule-soft:rgba(255,255,255,.19);
}
body.quiet-mode .ambient-light,body.quiet-mode .ambient-grain{display:none}

@media(max-width:980px){
  .navlinks{background:#172936}
}
@media(max-width:650px){
  .page-hero::before{
    background-image:
      linear-gradient(180deg,rgba(10,17,25,.18),rgba(10,17,25,.54) 58%,rgba(10,17,25,.84)),
      var(--hero-image);
    background-size:cover;
    background-position:center var(--hero-y);
  }
  .section,.section:nth-of-type(even),.section:nth-of-type(3n),.section.compact{background:rgba(25,44,57,.97)}
}


/* Forward v37
   Restore the original photographic backgrounds while retaining
   the brighter v36 surfaces and typography. */
.ambient-photo{
  opacity:.11;
  filter:blur(24px) saturate(.72) brightness(.52);
}
.page-hero::before{
  background-image:
    linear-gradient(180deg,rgba(8,15,23,.10) 0%,rgba(8,15,23,.28) 48%,rgba(8,15,23,.74) 100%),
    var(--hero-image) !important;
  background-size:cover !important;
  background-position:center var(--hero-y) !important;
}
.page-hero::after{
  background:
    radial-gradient(80% 60% at 50% 22%,transparent 45%,rgba(5,10,16,.15) 100%),
    linear-gradient(180deg,transparent 65%,rgba(16,26,38,.28) 100%);
}
@media(max-width:650px){
  .page-hero::before{
    background-image:
      linear-gradient(180deg,rgba(10,17,25,.18),rgba(10,17,25,.54) 58%,rgba(10,17,25,.84)),
      var(--hero-image) !important;
    background-size:cover !important;
    background-position:center var(--hero-y) !important;
  }
}


/* Forward v38 — human connection sidebar
   Designed as part of the editorial layout rather than a floating overlay. */
.connection-section{
  overflow:visible;
}
.connection-layout{
  display:grid;
  grid-template-columns:minmax(235px,300px) minmax(0,1fr);
  gap:clamp(42px,7vw,92px);
  align-items:start;
}
.connection-sidebar{
  position:sticky;
  top:116px;
  align-self:start;
}
.connection-card{
  background:#e7eee9;
  color:#21342e;
  border:1px solid rgba(35,57,49,.12);
  border-radius:18px;
  padding:26px 24px 24px;
  box-shadow:0 18px 44px rgba(4,14,18,.09);
}
.connection-card__photo{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 0 22px;
  background:#cddbd3;
  border:3px solid rgba(255,255,255,.66);
  color:#496158;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.connection-card__eyebrow{
  margin:0 0 7px;
  color:#65776f;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.connection-card h2{
  margin:0 0 12px;
  color:#21342e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  line-height:1.18;
  letter-spacing:-.01em;
}
.connection-card__text{
  margin:0 0 21px;
  color:#53675f;
  line-height:1.65;
  font-size:15px;
}
.connection-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  width:100%;
  padding:10px 16px;
  border-radius:10px;
  background:#739987;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  transition:background-color .18s ease,transform .18s ease;
}
.connection-card__button:hover{
  background:#638775;
  transform:translateY(-1px);
}
.connection-card__button:focus-visible{
  outline:3px solid #263e35;
  outline-offset:3px;
}
.connection-card__note{
  margin:14px 0 0;
  color:#677970;
  font-size:12px;
  line-height:1.5;
}
.connection-copy{
  padding-top:3px;
}
@media(max-width:900px){
  .connection-layout{grid-template-columns:1fr;gap:34px}
  .connection-sidebar{
    position:static;
    width:min(100%,620px);
  }
}
@media(prefers-reduced-motion:reduce){
  .connection-card__button{transition:none}
  .connection-card__button:hover{transform:none}
}

/* v38 visual restraint
   Keep the original photography and cinematic background treatment,
   but keep foreground surfaces editorial and straightforward. */
.tool-panel,
.text-preview,
.announcement-preview,
.effect-preview{
  border-radius:4px;
}
.action,
.text-button,
.support-login{
  letter-spacing:0;
}


/* Forward v40 — brighter, calmer foreground palette. Photography remains unchanged. */
:root{
  --v40-surface:#f2f4ef;
  --v40-surface-2:#e7eee9;
  --v40-ink:#21342e;
  --v40-muted:#586d64;
  --v40-sage:#83a996;
  --v40-blue:#89a8b7;
  --v40-warm:#d8c6a4;
}
.section:nth-of-type(even):not(.page-hero){background:rgba(235,240,235,.035)}
.tool-nav{
  background:rgba(231,238,233,.08);
  border:1px solid rgba(210,225,218,.16);
}
.tool-nav a[href="#plan"]{
  background:#dce9e2;
  color:#17352c;
  border-radius:8px;
  padding:9px 12px;
  font-weight:700;
}
.home-practical-spotlight{
  margin:0;
  padding:26px 0;
  background:#dfe9e4;
  color:#20352e;
}
.home-practical-spotlight .wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
}
.home-practical-spotlight h2{
  margin:0 0 6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,4vw,40px);
}
.home-practical-spotlight p{margin:0;color:#52665e;max-width:64ch}
.home-practical-spotlight .action{background:#6f9884;color:#fff;border-color:#6f9884}

/* Support team photographs */
.team-person{
  display:grid!important;
  grid-template-columns:64px 1fr;
  column-gap:16px;
  align-items:center;
}
.team-person .team-photo{
  grid-row:1 / span 2;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#d7e2dc center/cover no-repeat;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.36);
  color:#3f5c50;
  font-size:12px;
  font-weight:700;
}
.team-photo.has-photo{box-shadow:0 8px 22px rgba(4,15,18,.12)}
.team-person strong,.team-person span{grid-column:2}

/* Cookie choice banner */
.cookie-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:100;
  max-width:980px;
  margin:auto;
  background:#eef2ed;
  color:#22352f;
  border:1px solid #cbd8d1;
  border-radius:14px;
  box-shadow:0 20px 55px rgba(6,18,20,.22);
}
.cookie-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:18px 20px;
}
.cookie-inner strong{font-family:Georgia,"Times New Roman",serif;font-size:20px}
.cookie-inner p{margin:5px 0 0;color:#5a6d65;font-size:13px;line-height:1.55}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-btn{
  border:1px solid #8fa79b;
  border-radius:9px;
  padding:9px 12px;
  background:transparent;
  color:#28483d;
  cursor:pointer;
}
.cookie-btn.primary{background:#769b89;color:#fff;border-color:#769b89}
.cookie-btn:focus-visible{outline:3px solid #31594a;outline-offset:3px}
.footer-cookie-link{
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

/* Make every public effect visibly work, while remaining low intensity. */
.site-effect-layer{z-index:38}
body[data-effect="autumn"] .effect-particle{
  width:11px;height:7px;border-radius:80% 15% 75% 20%;
  background:#b77b52;
  opacity:.48;
  animation:forwardAutumn var(--dur,13s) linear infinite!important;
}
body[data-effect="autumn"] .effect-particle:nth-child(3n){background:#c69b57}
body[data-effect="autumn"] .effect-particle:nth-child(3n+1){background:#9a674a}
@keyframes forwardAutumn{
  0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}
  12%{opacity:.5}
  50%{transform:translate3d(var(--drift,20px),50vh,0) rotate(220deg)}
  100%{transform:translate3d(calc(var(--drift,20px) * -1),112vh,0) rotate(520deg);opacity:.1}
}
body[data-effect="spring"] .effect-particle{
  width:8px;height:5px;border-radius:70% 30% 70% 30%;
  background:#d6b9c6;
  opacity:.48;
  animation:forwardPetal var(--dur,13s) ease-in-out infinite!important;
}
@keyframes forwardPetal{
  0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}
  15%{opacity:.5}
  100%{transform:translate3d(var(--drift,24px),110vh,0) rotate(420deg);opacity:.08}
}
body[data-effect="winter"] .effect-particle{animation:forwardSnow var(--dur,13s) linear infinite!important}
body[data-effect="christmas"] .effect-particle{animation:forwardSnow var(--dur,12s) linear infinite!important}
body[data-effect="halloween"] .effect-particle{animation:forwardEmber var(--dur,10s) ease-in-out infinite!important}
body[data-effect="stars"] .site-effect-layer::before{
  animation:forwardStars 5s ease-in-out infinite alternate;
}
@keyframes forwardStars{from{opacity:.28}to{opacity:.52}}
body[data-effect="calm-glow"] .site-effect-layer::before{
  animation:forwardGlow 7s ease-in-out infinite alternate;
}
@keyframes forwardGlow{from{opacity:.5}to{opacity:1}}
body[data-effect="suicide-awareness"] .site-effect-layer::after{
  box-shadow:0 0 24px rgba(90,168,159,.18),0 0 36px rgba(126,98,158,.14);
}
body[data-effect="world-mental-health-day"] .site-effect-layer::before{
  animation:forwardGlow 7s ease-in-out infinite alternate;
}

@media(max-width:760px){
  .cookie-inner,.home-practical-spotlight .wrap{grid-template-columns:1fr}
  .cookie-actions{justify-content:flex-start}
}

.condition-tools{max-width:560px;margin:0 0 18px}
.condition-tools label{display:block;margin-bottom:7px;font-weight:700}
.condition-tools input{
  width:100%;padding:12px 13px;border:1px solid var(--line);
  border-radius:8px;background:rgba(255,255,255,.05);color:var(--ink);
}
.condition-directory{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.condition-directory a{
  padding:13px 12px 13px 0;
  border-bottom:1px solid var(--line2);
  color:var(--ink);
  text-decoration:none;
}
.condition-directory a:hover{text-decoration:underline;text-underline-offset:4px}
.condition-directory a[hidden]{display:none}
.condition-note{margin-top:16px;color:var(--muted)}
@media(max-width:850px){.condition-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.condition-directory{grid-template-columns:1fr}}


/* Forward v40 performance pass
   Same photographic artwork and layout, with lighter rendering work. */
.hero-home{--ambient-image:url('../images/home-ambient-v40.webp')}
.hero-understanding{--ambient-image:url('../images/understanding-ambient-v40.webp')}
.hero-toolkit{--ambient-image:url('../images/toolkit-ambient-v40.webp')}
.hero-support{--ambient-image:url('../images/support-ambient-v40.webp')}
.hero-resources{--ambient-image:url('../images/resources-ambient-v40.webp')}
.hero-urgent{--ambient-image:url('../images/urgent-ambient-v40.webp')}
.hero-404{--ambient-image:url('../images/404-ambient-v40.webp')}

/* Large live blur and blend animations were the main GPU cost.
   The ambient image is now pre-blurred instead. */
.ambient-photo{
  filter:none!important;
  opacity:.065!important;
  transform:scale(1.055)!important;
  will-change:auto!important;
}
.ambient-light{
  animation:none!important;
  will-change:auto!important;
}
.ambient-grain{
  animation:none!important;
  will-change:auto!important;
  opacity:.12!important;
}

/* A nearly opaque header already gives the same visual separation.
   Removing backdrop-filter avoids repainting everything behind it. */
.site-header,
.site-header.is-scrolled{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Keep section atmosphere static instead of recalculating depth and
   clip-path on every scroll frame. */
.motion-ready .section::before{
  background-position:center 50%!important;
  filter:none!important;
  will-change:auto!important;
}
.motion-ready .section::after{
  transform:scaleX(1)!important;
  will-change:auto!important;
}
.motion-ready .section>.wrap{
  transform:none!important;
  opacity:1!important;
  clip-path:none!important;
  will-change:auto!important;
}
.motion-ready .section-title h2,
.motion-ready .prose h2,
.motion-ready .tool-title h2,
.motion-ready .section-title .index,
.motion-ready .rule-row,
.motion-ready .resource,
.motion-ready .service,
.motion-ready .tool,
.motion-ready .team-person{
  transform:none!important;
  opacity:1!important;
  will-change:auto!important;
}
.page-hero::before,
.hero-content{
  will-change:auto!important;
}

/* Mobile devices get the original photo and layout without the fixed
   ambient canvas, which saves a substantial amount of compositing work. */
@media(max-width:760px){
  .ambient-stage{display:none!important}
  .scroll-progress{display:none!important}
}

/* Decorative effects stay visible but use fewer simultaneous layers. */
.effect-particle{will-change:transform}

/* Forward v40 usability refinement */
.quick-tools-short{display:none}
.quick-tools-dialog{width:min(720px,calc(100% - 28px))}
.dialog-kicker{display:block;margin-bottom:4px;color:#aebcc3;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.quick-tools-intro{margin:0 0 18px;max-width:60ch;color:#c7d0d5}
.quick-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(246,243,237,.16)}
.quick-tools-grid a{display:block;padding:15px 16px 15px 0;border-bottom:1px solid rgba(246,243,237,.13);color:#f4f2ed;text-decoration:none}
.quick-tools-grid a:nth-child(odd){padding-right:22px}
.quick-tools-grid a:nth-child(even){padding-left:22px;border-left:1px solid rgba(246,243,237,.13)}
.quick-tools-grid a:hover strong{text-decoration:underline;text-underline-offset:4px}
.quick-tools-grid strong,.quick-tools-grid span{display:block}
.quick-tools-grid strong{font-size:15px}
.quick-tools-grid span{margin-top:4px;color:#bfcbd0;font-size:13px;line-height:1.5}
.quick-tools-urgent{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px;padding:13px 15px;border:1px solid rgba(226,176,109,.32);border-radius:8px;background:rgba(226,176,109,.07);color:#f3e8d7;text-decoration:none}
.quick-tools-urgent strong,.quick-tools-urgent span{display:block}
.quick-tools-urgent span{color:#d8c9b4;font-size:13px}

/* More informative notices, without turning them into marketing cards */
.site-announcement{padding:0!important;text-align:left!important;background:#e7eee9!important;color:#20352e!important;border-bottom:1px solid #cbd8d1!important}
.site-announcement-inner{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:15px;align-items:center;padding-top:14px;padding-bottom:14px}
.site-announcement-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #9eb5aa;color:#335649;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700}
.site-announcement-copy{min-width:0}
.site-announcement-kicker{display:block;margin-bottom:1px;color:#61756c;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.site-announcement-title{display:block;color:#20352e;font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.25}
.site-announcement-text{margin:3px 0 0;color:#556a61;font-size:13px;line-height:1.5}
.site-announcement-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #8aa797;border-radius:7px;color:#284b3e!important;font-size:13px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.site-announcement-link:hover{background:#d9e6df}
.site-announcement[data-kind="update"]{background:#e5edf1!important;border-bottom-color:#c5d5dc!important}
.site-announcement[data-kind="update"] .site-announcement-mark{border-color:#90aebc;color:#315666}
.site-announcement[data-kind="reminder"]{background:#f0ede4!important;border-bottom-color:#d9d0bd!important}
.site-announcement[data-kind="reminder"] .site-announcement-mark{border-color:#b9a77d;color:#665633}
.site-announcement[data-kind="support"]{background:#e9e8ef!important;border-bottom-color:#d1cfdb!important}
.site-announcement[data-kind="support"] .site-announcement-mark{border-color:#a9a4be;color:#504b69}

/* Focus sections stay editorial and calm */
.campaign-focus{background:#213845!important}
.campaign-focus .campaign-inner{grid-template-columns:170px minmax(0,1fr) auto;gap:30px;align-items:center}
.campaign-context{align-self:start;padding-top:2px}
.campaign-context-note{display:block;margin-top:5px;color:#9fb0b8;font-size:12px;line-height:1.4}
.campaign-copy h2{font-size:25px}
.campaign-copy p{max-width:62ch;line-height:1.6}

/* Same support photos on Home and Supporting someone */
.team-list .team-person{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:14px;align-items:center}
.team-list .team-photo{grid-row:1 / span 2;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#d6e2dc center/cover no-repeat;border:2px solid rgba(255,255,255,.22);color:#405f52;font-size:12px;font-weight:700}
.team-list .team-photo.has-photo span{display:none}
.team-list .team-person>strong,.team-list .team-person>span{grid-column:2}

@media(max-width:760px){
  .quick-tools-full{display:none}.quick-tools-short{display:inline}
  .quick-tools-grid{grid-template-columns:1fr}
  .quick-tools-grid a,.quick-tools-grid a:nth-child(odd),.quick-tools-grid a:nth-child(even){padding:13px 0;border-left:0}
  .quick-tools-urgent{display:block}.quick-tools-urgent span{margin-top:3px}
  .site-announcement-inner{grid-template-columns:32px minmax(0,1fr);gap:11px;padding-top:12px;padding-bottom:12px}
  .site-announcement-link{grid-column:2;justify-self:start;margin-top:2px}
  .campaign-focus .campaign-inner{grid-template-columns:1fr!important;gap:10px}
  .campaign-context-note{display:none}
}


/* v40 dropdown readability fix */
select{
  color-scheme:dark;
}
select,
select option,
select optgroup{
  background-color:#243b47;
  color:#f3f1eb;
}
select option:checked{
  background-color:#6f9583;
  color:#ffffff;
}
select:disabled{
  color:#9eaaae;
  background-color:#2b3d46;
}
@media (prefers-contrast:more){
  select,
  select option,
  select optgroup{
    background-color:#172a35;
    color:#ffffff;
  }
}


/* Forward v48 refinement
   Keep the v40 structure and photography, but reduce the template-like feel. */

/* Flatter surfaces and less 'app card' styling */
.quick-tools-dialog .dialog-body,
.connection-card,
.cookie-banner{
  box-shadow:none!important;
}
.quick-tools-dialog{
  border-radius:10px!important;
}
.quick-tools-grid a{
  border-radius:0!important;
}
.quick-tools-urgent{
  border-radius:4px!important;
  background:transparent!important;
}

/* Notice styling: simpler and more editorial */
.site-announcement-inner{
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.site-announcement-mark{
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  font-size:14px!important;
}
.site-announcement-title{
  font-size:15px!important;
}
.site-announcement-link{
  border-radius:4px!important;
  padding:7px 10px!important;
}

/* Campaign focus uses lines and spacing instead of a card feel */
.campaign-focus{
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.campaign-context-note{
  font-size:11px!important;
}

/* Buttons stay soft but less 'pill' like */
.action,
.control,
.cookie-btn,
.connection-card__button{
  border-radius:6px!important;
}

/* Less visual noise around practical tools */
.tool-panel{
  box-shadow:none!important;
}
.tool{
  border-radius:0!important;
}

/* Keep dropdowns readable but not stark */
select,
select option,
select optgroup{
  background-color:#243b47!important;
  color:#f3f1eb!important;
}


/* Forward v48 final: public team roster */
.team-list[data-team-list]{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.team-list[data-team-list] .team-person{
  min-width:0;
}
.team-list[data-team-list] .team-person strong{
  overflow-wrap:anywhere;
}
@media(max-width:1100px){
  .team-list[data-team-list]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .team-list[data-team-list]{grid-template-columns:1fr}
}

/* Conventional cookie banner, deliberately plain rather than app-like */
.cookie-banner{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid #c8d3cc!important;
  border-radius:0!important;
  background:#f2f4ef!important;
  box-shadow:0 -8px 24px rgba(18,39,32,.10)!important;
  color:#20342d!important;
}
.cookie-inner{
  width:min(calc(100% - 36px),1180px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:center;
  padding:17px 0!important;
}
.cookie-copy strong{
  display:block;
  font:700 18px/1.2 Georgia,"Times New Roman",serif;
}
.cookie-copy p{
  margin:4px 0 5px!important;
  max-width:72ch;
  color:#556960!important;
  font-size:13px!important;
}
.cookie-text-link{
  border:0;
  background:transparent;
  padding:0;
  color:#355d4d;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  font-size:12px;
}
.cookie-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
.cookie-btn{
  min-height:39px;
  border:1px solid #8ea497!important;
  border-radius:4px!important;
  padding:8px 12px!important;
  background:transparent!important;
  color:#29483c!important;
  font-weight:700;
}
.cookie-btn.primary{
  background:#6f9582!important;
  border-color:#6f9582!important;
  color:#fff!important;
}
.cookie-settings-dialog{
  width:min(560px,calc(100% - 28px));
  border:1px solid #c5d1ca;
  border-radius:6px;
  padding:0;
  background:#f5f6f2;
  color:#20342d;
  box-shadow:0 24px 70px rgba(15,34,28,.22);
}
.cookie-settings-dialog::backdrop{background:rgba(8,18,21,.56)}
.cookie-settings-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:19px 20px 15px;
  border-bottom:1px solid #d1dad4;
}
.cookie-settings-head span{
  display:block;
  margin-bottom:2px;
  color:#687a71;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cookie-settings-head h2{
  margin:0;
  font:700 26px/1.1 Georgia,"Times New Roman",serif;
}
.cookie-settings-head button{
  border:0;background:transparent;color:#435950;cursor:pointer;text-decoration:underline;text-underline-offset:3px
}
.cookie-settings-body{padding:18px 20px}
.cookie-settings-body>p{margin:0 0 14px;color:#596c63;font-size:13px}
.cookie-setting-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid #d5ddd8;
}
.cookie-setting-row:last-child{border-bottom:1px solid #d5ddd8}
.cookie-setting-row strong,.cookie-setting-row span{display:block}
.cookie-setting-row span{margin-top:3px;color:#607269;font-size:12px}
.cookie-setting-row input{width:18px;height:18px}
.cookie-settings-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:14px 20px 18px;
}
@media(max-width:700px){
  .cookie-inner{grid-template-columns:1fr;gap:11px;width:min(calc(100% - 28px),1180px)}
  .cookie-actions{justify-content:flex-start;flex-wrap:wrap}
}

/* Keep v48 dropdown contrast fix */
select,select option,select optgroup{
  background-color:#243b47!important;
  color:#f3f1eb!important;
}

/* v48 navbar sizing tidy-up
   Keep the existing navigation structure, only normalise its footprint. */
.site-header .navbar{
  width:min(calc(100% - 48px),1088px);
  min-height:56px;
  grid-template-columns:138px minmax(0,1fr) auto;
  gap:14px;
}
.brand img{
  height:27px;
  max-width:136px;
}
.navlinks{
  gap:15px;
}
.navlinks a{
  padding:18px 0 16px;
  font-size:13px;
  line-height:1.15;
}
.header-tools{
  gap:1px;
}
.support-login{
  padding:5px 0 5px 8px;
  margin-left:0;
  font-size:11.5px;
}
.text-button{
  padding:6px 5px;
  font-size:12px;
}

@media(max-width:980px){
  .site-header .navbar{
    width:min(calc(100% - 32px),1088px);
    min-height:58px;
    grid-template-columns:1fr auto auto;
    gap:8px;
  }
  .navlinks{top:58px}
}

@media(max-width:650px){
  .site-header .navbar{
    width:calc(100% - 24px);
    min-height:56px;
    gap:6px;
  }
  .brand img{
    height:26px;
    max-width:130px;
  }
  .navlinks{top:56px}
  .support-login{padding-left:6px}
  .text-button{padding:6px 3px}
  .menu{padding:7px 9px}
}

/* v48 cookie notice: conventional centred bottom notification. */
.cookie-banner{
  left:50%!important;
  right:auto!important;
  bottom:20px!important;
  transform:translateX(-50%)!important;
  width:min(560px,calc(100% - 32px))!important;
  max-width:560px!important;
  margin:0!important;
  border:1px solid #c8d3cc!important;
  border-radius:8px!important;
  background:#f2f4ef!important;
  box-shadow:0 16px 42px rgba(18,39,32,.18)!important;
  z-index:140!important;
}
.cookie-inner{
  width:auto!important;
  margin:0!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  padding:16px 17px!important;
}
.cookie-copy strong{font-size:17px!important}
.cookie-copy p{margin:4px 0 6px!important;line-height:1.5!important}
.cookie-actions{justify-content:flex-end!important;flex-wrap:wrap!important}
.cookie-btn{min-height:36px!important;padding:7px 11px!important;font-size:12px!important}
@media(max-width:520px){
  .cookie-banner{
    left:50%!important;
    right:auto!important;
    bottom:12px!important;
    transform:translateX(-50%)!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .cookie-inner{padding:14px!important}
  .cookie-actions{justify-content:flex-start!important}
}
