@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap");

:root{--navy:#00003f;--blue:#025c93;--pink:#ff0055;--red:#ff003d;--ink:#172c43;--muted:#536578;--line:#dce5ec;--paper:#f7f9fc;--pale-blue:#eaf3f9;--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,system-ui,sans-serif;font-size:16px;line-height:1.65}
a{color:var(--blue);text-underline-offset:4px}
button,input,textarea,select{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.65}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{color:var(--navy);line-height:1.25}
h1{font-size:clamp(2.4rem,4.5vw,3.75rem);font-weight:800;letter-spacing:-.055em}
h1 em{font-style:normal;color:var(--blue)}
h2{font-size:clamp(1.4rem,2.5vw,1.75rem);font-weight:700;letter-spacing:-.03em}
h3{font-size:.95rem;font-weight:700}
.page-width{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.icon-library{width:0;height:0;position:absolute;overflow:hidden}
.icon{display:inline-block;flex-shrink:0;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:12px 20px;background:var(--navy);color:#fff}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.js-only{display:none!important}
.js-enabled .js-only{display:inline-flex!important}
[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none}
.brand-logo{display:block;width:150px;height:auto;flex-shrink:0;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;gap:4px}
.brand-copy strong{font-size:17px;font-weight:700;color:var(--navy)}
.brand-copy>span{font-size:8px;letter-spacing:1.2px;font-weight:600;color:var(--muted)}
.header-nav{display:flex;align-items:center;gap:25px}
.header-link{font-size:14px;font-weight:600;text-decoration:none;color:var(--muted)}
.header-link:hover{color:var(--blue);text-decoration:underline}
.button{min-height:48px;padding:12px 20px;border-radius:9px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:15px;line-height:1.5;text-decoration:none;transition:background .15s,border-color .15s}
.button-primary{background:var(--blue);color:white}
.button-primary:hover{background:#014b79}
.button-outline{background:white;border-color:#bacbd7;color:var(--blue)}
.button-outline:hover{background:var(--pale-blue);border-color:var(--blue)}
.button-small{padding:9px 14px;font-size:14px}
.menu-toggle{background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:8px;width:48px;height:48px;align-items:center;justify-content:center}
.js-enabled .menu-toggle{display:none!important}
.mobile-nav{padding:8px 20px 18px;border-top:1px solid var(--line)}
.mobile-nav a{display:block;padding:12px;text-decoration:none;font-weight:600}
.hero{background:linear-gradient(125deg,#f5f8fb 55%,#f0f5fa);border-bottom:1px solid var(--line);padding:24px 0 28px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--muted);margin-bottom:30px}
.breadcrumb a{text-decoration:none}
.hero-grid{max-width:800px;padding-block:12px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:1.7px;color:var(--blue)}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--pink)}
.hero h1{margin-top:17px;margin-bottom:22px}
.hero-description{max-width:680px;font-size:15px;line-height:1.85;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.soft-note{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.urgent-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding:18px 22px;background:white;border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:10px}
.urgent-strip p{display:flex;gap:13px;font-size:14px;color:var(--muted)}
.urgent-strip p>.icon{margin-top:3px;color:var(--blue)}
.urgent-strip strong{font-weight:600;color:var(--navy)}
.urgent-strip>a{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600;text-decoration:none}
.journey-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:60px;padding-block:62px 70px}
.sidebar-sticky{position:sticky;top:125px}
.sidebar-intro{font-size:14px;line-height:1.7;color:var(--muted);margin-top:12px;max-width:190px}
.step-nav{display:flex;flex-direction:column;gap:7px;margin-top:24px}
.step-nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:11px 12px;text-decoration:none;font-size:14px;font-weight:600;color:var(--muted);border-radius:8px}
.step-nav a>span{font-size:12px;font-weight:600;color:#6c7d8d}
.step-nav a:hover{background:var(--paper)}
.step-nav a.active{background:var(--pale-blue);color:var(--blue)}
.step-nav a.active>span{color:var(--blue)}
.sidebar-note{margin-top:30px;padding:20px 12px;border-top:1px solid var(--line);display:flex;gap:12px;font-size:14px;line-height:1.8;color:var(--muted)}
.sidebar-note .icon{width:18px;margin-top:4px;color:var(--blue)}
.journey-content{min-width:0}
.step-section{padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.section-heading{display:flex;align-items:center;gap:16px;margin-bottom:17px}
.step-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;background:var(--pale-blue);border:1px solid #d7e6f0;border-radius:13px;color:var(--blue);font-size:16px;font-weight:600}
.section-heading .eyebrow{font-size:9px;margin-bottom:5px}
.section-description{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:22px;max-width:670px}
.pause-instructions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.pause-instructions>div{padding:20px 17px;background:var(--paper);border:1px solid #e7edf2;border-radius:12px}
.instruction-symbol{display:inline-flex;height:28px;margin-bottom:12px;color:var(--blue);font-size:34px;line-height:.7}
.pause-instructions h3{font-size:14px;margin-bottom:9px}
.pause-instructions p{font-size:14px;line-height:1.85;color:var(--muted)}
.muted-caption{font-size:14px;line-height:1.8;color:var(--muted);margin-top:17px}
.reflection-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px}
.reflection-card label{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:9px}
textarea,select{width:100%;border:1px solid #7d8fa0;border-radius:8px;background:white;color:var(--ink);padding:12px 14px;font-size:15px;line-height:1.7}
textarea{resize:vertical;min-height:110px}
textarea::placeholder{color:#64748b}
.reflection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:21px}
select{min-height:48px}
.range-row{display:flex;align-items:center;gap:9px;min-height:48px;color:var(--muted);font-size:14px}
input[type=range]{width:100%;min-width:50px;height:24px;accent-color:var(--blue)}
.range-row output{border-radius:6px;padding:3px 7px;white-space:nowrap;background:white;border:1px solid var(--line);color:var(--blue);font-weight:600}
.field-hint{font-size:12px;line-height:1.7;color:var(--muted);margin-top:6px}
.reflection-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.reflection-footer p{font-size:12px;line-height:1.8;color:var(--muted)}
.reflection-footer .icon{width:14px;height:14px;margin-right:4px}
.text-button{background:transparent;border:0;padding:3px 0;min-height:44px;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;align-items:center}
.grounding-list{display:flex;flex-direction:column;gap:9px}
.grounding-item{display:flex;align-items:center;gap:17px;padding:15px 18px;min-height:78px;border:1px solid var(--line);border-radius:11px;cursor:pointer;position:relative}
.grounding-item:hover{background:var(--paper)}
.grounding-item input{position:absolute;opacity:0;width:1px;height:1px}
.grounding-item:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
.grounding-item:has(input:checked){background:var(--pale-blue);border-color:#7babc8}
.sense-number{background:var(--paper);color:var(--blue);width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:19px;font-weight:600;flex-shrink:0}
.grounding-item strong{display:block;color:var(--navy);font-size:14px;font-weight:600}
.grounding-item small{display:block;color:var(--muted);font-size:14px;margin-top:3px}
.check-decoration{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #64748b;border-radius:50%;margin-left:auto;flex-shrink:0;color:transparent}
.check-decoration .icon{width:15px}
.grounding-item:has(input:checked) .check-decoration{background:var(--blue);color:#fff;border-color:var(--blue)}
.gentle-quote{margin:24px 0 0;padding:19px 24px;background:var(--pale-blue);border-left:3px solid var(--blue);border-radius:0 10px 10px 0;color:var(--blue);font-size:14px;font-weight:500;line-height:1.7}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.action-card{display:flex;gap:14px;padding:20px 18px;border:1px solid var(--line);border-radius:12px}
.action-card>span{font-size:12px;color:var(--blue);margin-top:3px;font-weight:600}
.action-card h3{font-size:14px;margin-bottom:7px}
.action-card p{font-size:14px;line-height:1.85;color:var(--muted)}
.message-helper{margin-top:18px;border:1px solid var(--line);border-radius:10px}
.message-helper summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px;cursor:pointer;font-size:14px;font-weight:600;color:var(--blue)}
.message-helper summary::-webkit-details-marker{display:none}
.message-helper summary .icon{transform:rotate(90deg);width:16px}
.message-helper[open] summary .icon{transform:rotate(-90deg)}
.message-helper>div{padding:0 20px 16px;font-size:15px;color:var(--muted)}
.message-helper .text-button{margin-top:8px}
.support-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:14px;margin-top:14px}
.emergency-card{background:#fff5f5;border:1px solid #eccccc}
.helpline-card{background:var(--pale-blue);border:1px solid #d3e4f0}
.support-label{display:block;font-size:9px;font-weight:700;letter-spacing:1px;margin-bottom:8px;color:var(--blue)}
.emergency-card .support-label{color:#a1273b}
.support-card h3{font-size:16px;margin-bottom:8px}
.support-card p{font-size:14px;line-height:1.8;color:var(--muted);max-width:340px}
.support-card .button{flex-shrink:0;font-size:14px;gap:8px;padding-inline:15px}
.button-emergency{background:#a1273b;color:#fff}
.button-emergency:hover{background:#851e2f}
.support-source{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.8}
.institution-support{display:flex;gap:16px;margin-top:23px;padding:20px;border:1px solid var(--line);border-radius:12px}
.institution-support>.icon{color:var(--blue);margin-top:3px}
.institution-support h3{font-size:15px;margin-bottom:7px}
.institution-support p{font-size:14px;color:var(--muted);line-height:1.8}
.institution-support a{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;font-weight:600}
.institution-support a>.icon{width:15px}
.video-section>.eyebrow{margin-bottom:10px}
.video-section h2{margin-bottom:14px}
.video-shell{aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:16px;background:var(--navy)}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse at 80% 20%,#025c9366,transparent 65%),var(--navy);color:#fff}
.video-play-mark{display:flex;justify-content:center;align-items:center;border:1px solid #ffffff40;background:#ffffff0d;color:inherit;padding:0;border-radius:50%;width:64px;height:64px;margin-bottom:18px}
.video-play-mark:hover{background:#ffffff20}
.video-play-mark:focus-visible{outline-color:#fff}
.video-play-mark .icon{width:28px;height:28px;fill:currentColor;stroke-width:1}
.video-placeholder strong{font-size:clamp(14px,2vw,21px);max-width:400px;line-height:1.5}
.video-placeholder p{font-size:14px;color:#c4d2e3;margin-top:9px}
.button-video{background:white;color:var(--navy);margin-top:20px;font-size:14px;min-height:44px}
.button-video:hover{background:#eaf3f9}
.video-shell iframe{border:0;width:100%;height:100%;position:absolute;inset:0}
.video-footer{display:flex;justify-content:space-between;gap:15px;margin-top:13px;font-size:12px;line-height:1.8;color:var(--muted)}
.video-footer a{display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
.video-footer .icon{width:13px}
.closing-section{text-align:center;padding:38px 35px;background:var(--paper);border:1px solid var(--line);border-radius:20px}
.closing-icon{display:flex;align-items:center;justify-content:center;border-radius:50%;width:50px;height:50px;margin:0 auto 16px;color:var(--blue);background:#e3edf5}
.closing-section>.eyebrow{font-size:9px;letter-spacing:1.2px}
.closing-section h2{margin:13px 0 20px}
.closing-section p{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:15px}
.closing-message{display:block;font-size:14px;color:var(--blue);margin-top:22px;font-weight:600}
.closing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:25px}
.closing-actions .button{font-size:14px}
.site-footer{border-top:1px solid var(--line);background:var(--paper);padding-block:30px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-inner>div{display:flex;flex-direction:column;gap:5px}
.footer-inner strong{font-size:15px;color:var(--navy)}
.footer-inner span,.footer-inner p,.footer-inner>a{font-size:12px;color:var(--muted)}
.footer-inner>a{color:var(--blue)}
@media(max-width:1023px){
 .header-nav{gap:15px}.header-link{font-size:14px}
 .journey-layout{grid-template-columns:190px minmax(0,1fr);gap:30px}
 .support-card{align-items:flex-start;flex-direction:column;gap:15px}.support-card p{max-width:none}
 .reflection-grid{grid-template-columns:1fr;gap:15px}
 .reflection-footer{flex-direction:column;gap:6px}
}
@media(max-width:767px){
 html{scroll-padding-top:90px}.page-width{width:calc(100% - 36px)}
 .header-inner{min-height:74px}.brand-logo{width:125px}
 .brand-copy strong{font-size:14px}.brand-copy>span{font-size:6px;letter-spacing:.7px}
 .header-nav{display:none}.js-enabled .menu-toggle{display:inline-flex!important}
 .hero{padding-top:19px}.breadcrumb{font-size:12px;margin-bottom:32px}
 .hero-description{font-size:14px;line-height:1.85}
 .hero h1{margin-top:16px}.hero-actions{gap:14px}.hero-actions .button{font-size:14px}
 .urgent-strip{margin-top:30px;padding:16px}.urgent-strip p{font-size:12px}.urgent-strip>a{padding-left:34px;font-size:12px}
 .journey-layout{display:block;padding-block:32px 40px}.sidebar-sticky{position:static}
 .sidebar-intro,.sidebar-note{display:none}.journey-sidebar{margin-bottom:30px}
 .step-nav{flex-direction:row;overflow-x:auto;gap:8px;margin-top:13px;padding-bottom:10px;scrollbar-width:thin}
 .step-nav a{white-space:nowrap;border:1px solid var(--line);padding-inline:12px;font-size:12px}
 .step-nav a span{font-size:9px}.step-section{padding-bottom:30px;margin-bottom:32px;scroll-margin-top:94px}
 .section-heading{gap:12px}.step-number{width:42px;height:42px;font-size:14px;border-radius:11px}
 .section-heading .eyebrow{font-size:8px;letter-spacing:1.2px}h2{font-size:22px}
 .section-description{font-size:15px}
 .pause-instructions{grid-template-columns:1fr}.pause-instructions>div{padding:18px 20px}
 .instruction-symbol{float:left;margin:2px 16px 50px 0;width:24px}.pause-instructions h3{font-size:15px}
 .pause-instructions p{font-size:14px}.reflection-card{padding:20px 16px}
 .grounding-item{gap:12px;padding:14px 12px}.sense-number{width:35px;height:35px;font-size:16px}
 .grounding-item strong{font-size:14px}.grounding-item small{font-size:12px}
 .check-decoration{width:22px;height:22px}.gentle-quote{font-size:15px;padding:17px}
 .action-grid{grid-template-columns:1fr}.action-card{padding:18px}
 .action-card h3{font-size:15px}.action-card p{font-size:14px}
 .message-helper summary{font-size:14px}.support-card{padding:20px}
 .support-card p,.institution-support p{font-size:14px}.support-card .button{width:100%}
 .video-placeholder{padding:14px}.video-play-mark{width:44px;height:44px;margin-bottom:9px}
 .video-play-mark .icon{width:20px}.video-placeholder strong{font-size:14px}
 .video-placeholder p{font-size:9px;margin-top:5px}.button-video{margin-top:10px;padding:8px 14px}
 .video-footer{flex-direction:column;gap:6px}
 .closing-section{padding:29px 20px}.closing-section p{font-size:14px}
 .closing-section>.eyebrow{font-size:8px}.closing-message{font-size:15px}
 .closing-actions{flex-direction:column}.footer-inner{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.journey-sidebar,.hero-actions,.video-section,.closing-actions,.site-footer,.js-only{display:none!important}.page-width{width:100%}.hero{background:white}.hero-grid,.journey-layout{display:block}.urgent-strip{margin-top:20px}.step-section{break-inside:avoid}.support-card .button{color:#000;background:white;border:1px solid #000}}

/* Comfortable reading and mobile form entry. */
textarea,select{font-size:16px}
.section-description{font-size:16px}
.pause-instructions p,.action-card p,.support-card p,.institution-support p,.closing-section p{font-size:14px}
.reflection-card label,.grounding-item strong,.action-card h3,.pause-instructions h3{font-size:14px}
@media(max-width:767px){.section-description{font-size:15px}.brand-copy>span{font-size:7px}.button{font-size:14px}.video-placeholder strong{font-size:14px}.video-placeholder p{display:none}.video-play-mark{margin-bottom:7px}.button-video{min-height:44px;margin-top:8px}}

/* Institutional branding and shared page navigation. */
.header-inner{min-height:94px;gap:24px}
.brand{flex-shrink:0;gap:16px}
.brand-copy{padding-left:16px;border-left:1px solid var(--line)}
.brand-copy strong{font-size:14px;line-height:1.4}
.brand-copy>span{font-size:7px;letter-spacing:.7px;line-height:1.5}
.header-nav{gap:4px;align-self:stretch}
.header-nav .header-link{display:inline-flex;align-items:center;justify-content:center;position:relative;padding:12px 11px;font-size:12px;line-height:1.5;text-align:center;max-width:155px}
.header-nav .header-link.is-current{color:var(--blue);font-weight:700}
.header-nav .header-link.is-current::after{content:"";position:absolute;bottom:0;left:11px;right:11px;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}
.mobile-nav{display:none}
.mobile-nav .is-current{background:var(--pale-blue);border-radius:8px;color:var(--blue)}
@media(max-width:1199px){
 .header-nav{display:none}
 .js-enabled .menu-toggle{display:inline-flex!important;flex-shrink:0}
 .mobile-nav{display:block}
 .mobile-nav a{display:flex;align-items:center;min-height:48px;font-size:14px}
}
@media(min-width:1200px){
 .js-enabled .menu-toggle{display:none!important}
 .mobile-nav{display:none!important}
}
@media(max-width:767px){
 .header-inner{min-height:82px;gap:12px;padding-block:12px}
 .brand{gap:12px;flex-shrink:1;min-width:0}
 .brand-copy{padding-left:12px}
 .brand-copy strong{font-size:12px}
 .brand-copy>span{font-size:6px;letter-spacing:.4px}
}
@media(max-width:479px){
 .brand-logo{width:145px}
 .brand-copy{display:none}
}
