
.journey-shell{max-width:1180px;margin:0 auto;padding:0 20px 64px}
.journey-panel{background:#fff;border:1px solid rgba(23,52,60,.14);border-radius:22px;box-shadow:0 18px 45px rgba(23,52,60,.08);padding:28px}
.journey-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}
.journey-head h2{margin:.2rem 0 .55rem}
.journey-label{font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#315f70}
.issue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.issue-option{appearance:none;text-align:left;background:#f6f9fa;border:1px solid #d8e2e5;border-radius:16px;padding:18px;cursor:pointer;font:inherit;color:inherit;transition:.18s ease}
.issue-option:hover,.issue-option:focus-visible{transform:translateY(-2px);border-color:#4d78a6;box-shadow:0 10px 25px rgba(77,120,166,.13);outline:none}
.issue-option[aria-pressed="true"]{background:#e8f0f8;border-color:#4d78a6;box-shadow:inset 0 0 0 1px #4d78a6}
.issue-option strong{display:block;font-size:1rem;margin-bottom:5px}
.issue-option span{display:block;font-size:.9rem;line-height:1.45;color:#52636a}
.journey-result{margin-top:22px;padding-top:22px;border-top:1px solid #e3eaec}
.journey-result[hidden]{display:none}
.result-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.result-card{border-radius:16px;background:#f7f9fa;padding:20px}
.result-card h3{margin-top:0}
.action-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.action-list li{display:flex;gap:10px;align-items:flex-start}
.action-number{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#17343c;color:white;font-size:.8rem;font-weight:800}
.result-links{display:grid;gap:10px;margin-top:16px}
.result-links a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #d8e2e5;text-decoration:none;font-weight:700}
.checklist{display:grid;gap:10px}
.check-row{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;background:#fff;border:1px solid #dfe7e9;border-radius:12px}
.check-row input{margin-top:4px;width:18px;height:18px}
.progress-wrap{margin:16px 0 4px}
.progress-track{height:10px;border-radius:999px;background:#e2e9eb;overflow:hidden}
.progress-fill{height:100%;width:0;background:#315f70;transition:width .2s ease}
.progress-copy{font-size:.86rem;color:#52636a;margin-top:7px}
.journey-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.journey-button{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.journey-button.primary{background:#17343c;color:#fff}
.journey-button.secondary{background:#edf2f3;color:#17343c}
.saved-note{font-size:.86rem;color:#52636a;margin-top:10px}
@media(max-width:850px){.issue-grid{grid-template-columns:1fr 1fr}.result-grid{grid-template-columns:1fr}.journey-head{display:block}}
@media(max-width:560px){.issue-grid{grid-template-columns:1fr}.journey-panel{padding:20px}.journey-shell{padding-inline:14px}}


.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.stage-option{appearance:none;text-align:left;background:#f8fafb;border:1px solid #d8e2e5;border-radius:16px;padding:18px;cursor:pointer;font:inherit;color:inherit;transition:.18s ease}
.stage-option:hover,.stage-option:focus-visible{transform:translateY(-2px);border-color:#7a6a4c;box-shadow:0 10px 25px rgba(122,106,76,.13);outline:none}
.stage-option[aria-pressed="true"]{background:#f5efe3;border-color:#b3925a;box-shadow:inset 0 0 0 1px #b3925a}
.stage-option strong{display:block;margin-bottom:5px}
.stage-option span{display:block;color:#52636a;font-size:.9rem;line-height:1.45}
.parent-safety{margin-top:20px;padding:16px;border-radius:14px;background:#fff8e7;border:1px solid #e8d39d}
.parent-safety strong{display:block;margin-bottom:5px}
@media(max-width:850px){.stage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stage-grid{grid-template-columns:1fr}}


/* Build 59 — premium interactive hub treatment */
.journey-shell{
  max-width:1240px;
  padding:18px 22px 78px;
}
.journey-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(19,38,48,.10);
  border-radius:28px;
  background:
    radial-gradient(circle at 96% 0%, rgba(184,145,74,.13), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#fbfcfc 100%);
  box-shadow:
    0 28px 75px rgba(17,34,43,.11),
    0 2px 8px rgba(17,34,43,.04);
  padding:34px;
}
.journey-panel::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#bd9952,#e5cc94,#17343c);
}
.journey-head{
  align-items:center;
  margin-bottom:28px;
}
.journey-head h2{
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(1.65rem,3vw,2.35rem);
  letter-spacing:-.035em;
  color:#142f38;
}
.journey-head p:not(.journey-label){
  max-width:760px;
  color:#5e6c72;
  line-height:1.7;
}
.journey-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border:1px solid rgba(181,143,73,.25);
  border-radius:999px;
  background:#fff8e9;
  color:#745820;
  font-size:.72rem;
  letter-spacing:.12em;
}
.journey-label::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#bd9952;
  box-shadow:0 0 0 4px rgba(189,153,82,.13);
}

.issue-grid,.stage-grid{
  gap:18px;
}
.issue-option,.stage-option,.safety-option{
  position:relative;
  min-height:146px;
  overflow:hidden;
  border:1px solid #dbe3e5;
  border-radius:20px;
  padding:22px 20px 20px;
  background:
    linear-gradient(145deg,#ffffff 0%,#f7f9fa 100%);
  box-shadow:0 10px 26px rgba(23,52,60,.06);
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}
.issue-option::before,.stage-option::before,.safety-option::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#c5a25b,#8a6b32);
  opacity:.72;
  transition:width .22s ease,opacity .22s ease;
}
.issue-option::after,.stage-option::after,.safety-option::after{
  content:"→";
  position:absolute;
  right:18px;
  bottom:16px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#edf2f3;
  color:#17343c;
  font-weight:900;
  transition:transform .22s ease,background .22s ease,color .22s ease;
}
.issue-option:hover,.issue-option:focus-visible,
.stage-option:hover,.stage-option:focus-visible,
.safety-option:hover,.safety-option:focus-visible{
  transform:translateY(-5px);
  border-color:#c5a25b;
  background:linear-gradient(145deg,#fffefb 0%,#f8f2e6 100%);
  box-shadow:0 20px 42px rgba(59,47,25,.14);
}
.issue-option:hover::before,.stage-option:hover::before,.safety-option:hover::before,
.issue-option:focus-visible::before,.stage-option:focus-visible::before,.safety-option:focus-visible::before{
  width:7px;
  opacity:1;
}
.issue-option:hover::after,.stage-option:hover::after,.safety-option:hover::after,
.issue-option:focus-visible::after,.stage-option:focus-visible::after,.safety-option:focus-visible::after{
  transform:translateX(3px);
  background:#17343c;
  color:#fff;
}
.issue-option[aria-pressed="true"],
.stage-option[aria-pressed="true"],
.safety-option[aria-pressed="true"]{
  border-color:#af8740;
  background:linear-gradient(145deg,#fff9eb 0%,#f1e4c8 100%);
  box-shadow:0 18px 36px rgba(91,69,28,.16),inset 0 0 0 1px rgba(175,135,64,.42);
}
.issue-option[aria-pressed="true"]::after,
.stage-option[aria-pressed="true"]::after,
.safety-option[aria-pressed="true"]::after{
  content:"✓";
  background:#17343c;
  color:#fff;
}
.issue-option strong,.stage-option strong,.safety-option strong{
  position:relative;
  z-index:1;
  display:block;
  max-width:85%;
  margin-bottom:9px;
  color:#17343c;
  font-family:Manrope,Inter,sans-serif;
  font-size:1.04rem;
  line-height:1.28;
}
.issue-option span,.stage-option span,.safety-option span{
  position:relative;
  z-index:1;
  display:block;
  max-width:88%;
  color:#647177;
  font-size:.91rem;
  line-height:1.58;
}
.option-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:13px;
  background:#eef3f4;
  color:#17343c;
  font-size:1.15rem;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(23,52,60,.07);
}
[aria-pressed="true"] .option-icon{
  background:#17343c;
  color:#fff;
}

.journey-result{
  margin-top:30px;
  padding-top:30px;
}
.result-card{
  border:1px solid #e0e7e9;
  border-radius:22px;
  background:linear-gradient(180deg,#fbfcfc 0%,#f5f8f8 100%);
  padding:25px;
  box-shadow:0 12px 30px rgba(23,52,60,.055);
}
.result-card h3{
  font-family:Manrope,Inter,sans-serif;
  color:#17343c;
  font-size:1.35rem;
}
.action-list{
  gap:14px;
  margin-top:20px;
}
.action-list li{
  padding:13px 14px;
  border:1px solid #e1e7e9;
  border-radius:15px;
  background:#fff;
  line-height:1.55;
}
.action-number{
  min-width:32px;
  height:32px;
  background:linear-gradient(145deg,#17343c,#295663);
  box-shadow:0 6px 14px rgba(23,52,60,.18);
}
.result-links a{
  padding:14px 16px;
  border-radius:14px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.result-links a:hover,.result-links a:focus-visible{
  transform:translateX(4px);
  border-color:#bd9952;
  box-shadow:0 9px 18px rgba(78,61,28,.09);
}
.check-row{
  padding:13px 14px;
  border-radius:14px;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.check-row:hover{
  transform:translateX(2px);
  border-color:#c8a45d;
  background:#fffdf8;
}
.check-row input{
  accent-color:#17343c;
}
.progress-track{
  height:12px;
  border:1px solid #dfe5e7;
  background:#eef2f3;
}
.progress-fill{
  background:linear-gradient(90deg,#17343c,#bd9952);
}
.journey-button{
  min-height:46px;
  padding:13px 18px;
  border-radius:14px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.journey-button:hover,.journey-button:focus-visible{
  transform:translateY(-2px);
}
.journey-button.primary{
  background:linear-gradient(135deg,#17343c,#28535f);
  box-shadow:0 10px 22px rgba(23,52,60,.18);
}
.journey-button.secondary{
  border:1px solid #dde4e6;
  background:#fff;
}
.journey-button.secondary:hover{
  border-color:#bd9952;
  background:#fffaf0;
}

.premium-quick-actions{
  position:sticky;
  top:76px;
  z-index:20;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  max-width:1180px;
  margin:-24px auto 34px;
  padding:12px;
  border:1px solid rgba(23,52,60,.10);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 35px rgba(23,52,60,.10);
  backdrop-filter:blur(14px);
}
.premium-quick-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:13px;
  color:#17343c;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
  transition:.18s ease;
}
.premium-quick-actions a:hover,.premium-quick-actions a:focus-visible{
  border-color:#c5a25b;
  background:#fff8e9;
  transform:translateY(-2px);
}
.quick-icon{
  display:inline-grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:8px;
  background:#edf2f3;
  font-size:.8rem;
}
.safety-alert{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid #e1c5c2;
  border-radius:16px;
  background:#fff5f4;
  color:#6d2c29;
}
.safety-alert strong{display:block;margin-bottom:4px}
.risk-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:10px 0 4px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.risk-badge.low{background:#e8f6ed;color:#24613a}
.risk-badge.medium{background:#fff4d8;color:#795a12}
.risk-badge.high{background:#ffe8de;color:#8a3b1e}
.risk-badge.critical{background:#7c2424;color:#fff}
@media(max-width:900px){
  .premium-quick-actions{grid-template-columns:repeat(3,1fr);position:relative;top:auto;margin-top:18px}
}
@media(max-width:620px){
  .premium-quick-actions{grid-template-columns:1fr 1fr;border-radius:16px;margin-inline:14px}
  .journey-panel{padding:24px 18px;border-radius:22px}
  .issue-option,.stage-option,.safety-option{min-height:130px}
}


/* Build 60 — premium Food Hub */
.food-option .option-icon{
  background:#fff0e6;
  color:#8e4c27;
}
.food-option[aria-pressed="true"] .option-icon{
  background:#8e4c27;
  color:#fff;
}
.food-priority{
  display:inline-flex;
  align-items:center;
  margin:10px 0 5px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.035em;
}
.food-priority.urgent{background:#7d2929;color:#fff}
.food-priority.planned{background:#fff0d5;color:#755317}
.food-priority.steady{background:#e7f4ec;color:#28613d}
.food-priority.project{background:#e8edf7;color:#304f78}
.food-priority.support{background:#f1eafb;color:#60428b}
.food-planner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  margin-top:24px;
  padding:24px;
  border:1px solid #e4ddd6;
  border-radius:20px;
  background:linear-gradient(145deg,#fffdfb,#faf5ef);
}
.food-planner h3{margin:.1rem 0 .5rem}
.food-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.food-field label{
  display:block;
  margin-bottom:7px;
  color:#17343c;
  font-family:var(--decimus-font-display);
  font-size:.84rem;
  font-weight:800;
}
.food-field input{
  width:100%;
  min-height:48px;
  border:1px solid #d7dfe1;
  border-radius:13px;
  background:#fff;
  padding:10px 13px;
  font-size:1rem;
}
.food-budget-result{
  display:flex;
  align-items:center;
  min-height:100%;
  padding:18px;
  border:1px solid #e2d2bf;
  border-radius:16px;
  background:#fff;
  color:#52636a;
  line-height:1.6;
}
.food-budget-result strong{color:#17343c}
.food-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  margin-top:20px;
}
.food-trust-item{
  padding:15px;
  border:1px solid #e1e7e9;
  border-radius:15px;
  background:#fff;
}
.food-trust-item strong{
  display:block;
  margin-bottom:4px;
  color:#17343c;
  font-family:var(--decimus-font-display);
}
.food-trust-item span{
  color:#607075;
  font-size:.87rem;
  line-height:1.5;
}
@media(max-width:760px){
  .food-planner{grid-template-columns:1fr}
  .food-trust-strip{grid-template-columns:1fr}
}
@media(max-width:520px){
  .food-fields{grid-template-columns:1fr}
}


/* Build 61 — premium Health Hub */
.health-option .option-icon{
  background:#e8f4f2;
  color:#236257;
}
.health-option[aria-pressed="true"] .option-icon{
  background:#236257;
  color:#fff;
}
.health-priority{
  display:inline-flex;
  align-items:center;
  margin:10px 0 5px;
  padding:8px 12px;
  border-radius:999px;
  font-family:var(--decimus-font-display);
  font-size:.77rem;
  font-weight:900;
  line-height:1.4;
}
.health-priority.urgent{background:#7a2828;color:#fff}
.health-priority.planned{background:#fff0d8;color:#765518}
.health-priority.steady{background:#e6f2f7;color:#265a70}
.health-priority.safe{background:#e7f4ed;color:#28613e}
.health-priority.support{background:#f0eaf9;color:#604685}
.health-priority.family{background:#e9eef9;color:#35527d}

.health-notice{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:23px;
  padding:17px 18px;
  border:1px solid #d8e4e2;
  border-radius:17px;
  background:linear-gradient(145deg,#f8fcfb,#eef7f5);
  color:#3f5955;
}
.health-notice-icon{
  display:grid;
  flex:0 0 38px;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#236257;
  color:#fff;
  font-family:var(--decimus-font-display);
  font-weight:900;
}
.health-notice strong{
  display:block;
  margin-bottom:4px;
  color:#17343c;
  font-family:var(--decimus-font-display);
}

.health-note-builder{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:22px;
  margin-top:25px;
  padding:25px;
  border:1px solid #dce6e4;
  border-radius:21px;
  background:linear-gradient(145deg,#fbfefd,#f3f8f7);
}
.health-note-builder h3{margin:.1rem 0 .55rem}
.health-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  margin-top:17px;
}
.health-field.full{grid-column:1/-1}
.health-field label{
  display:block;
  margin-bottom:7px;
  color:#17343c;
  font-family:var(--decimus-font-display);
  font-size:.84rem;
  font-weight:800;
}
.health-field input,
.health-field select,
.health-field textarea{
  width:100%;
  border:1px solid #d5dfe0;
  border-radius:13px;
  background:#fff;
  padding:12px 13px;
  color:#17343c;
  font:inherit;
}
.health-field input,
.health-field select{min-height:48px}
.health-field textarea{
  min-height:96px;
  resize:vertical;
}
.health-note-output{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  min-height:100%;
  padding:20px;
  border:1px solid #d8e3e1;
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 24px rgba(23,52,60,.055);
}
.health-note-output p{
  margin:0;
  color:#52656a;
}
.health-note-output strong{
  color:#17343c;
}
.health-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  margin-top:20px;
}
.health-trust-item{
  padding:16px;
  border:1px solid #e0e7e8;
  border-radius:16px;
  background:#fff;
}
.health-trust-item strong{
  display:block;
  margin-bottom:5px;
  color:#17343c;
  font-family:var(--decimus-font-display);
}
.health-trust-item span{
  color:#607176;
  font-size:.88rem;
  line-height:1.55;
}
@media(max-width:780px){
  .health-note-builder{grid-template-columns:1fr}
  .health-trust-strip{grid-template-columns:1fr}
}
@media(max-width:540px){
  .health-fields{grid-template-columns:1fr}
  .health-field.full{grid-column:auto}
}


/* Build 63 wellbeing journey */
.wellbeing-option .option-icon{background:#e6efe8;color:#315844}
.wellbeing-option[aria-pressed="true"] .option-icon{background:#315844;color:#fff}
.wellbeing-priority{display:inline-flex;margin:16px 0 4px;padding:9px 12px;border-radius:999px;font-size:.84rem;font-weight:800;line-height:1.35}
.wellbeing-priority.steady{background:#e7f2eb;color:#2f6045}
.wellbeing-priority.planned{background:#eef1df;color:#59652d}
.wellbeing-priority.support{background:#f0e9f5;color:#604377}
.wellbeing-priority.connection{background:#e8f0f5;color:#315a71}
.wellbeing-priority.family{background:#fff0df;color:#815223}
.wellbeing-priority.supporting{background:#eaeef8;color:#42557d}
.wellbeing-notice{display:flex;gap:14px;align-items:flex-start;margin:20px 0;padding:16px 18px;border:1px solid #dfc5c5;border-radius:16px;background:#fff7f7;color:#582c2c}
.wellbeing-notice-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#7a3030;color:#fff;font-weight:900}
.wellbeing-notice strong{display:block;margin-bottom:4px}.wellbeing-notice span{display:block;line-height:1.5}
.wellbeing-plan-builder{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:22px;margin-top:24px;padding:24px;border:1px solid rgba(49,88,68,.18);border-radius:22px;background:linear-gradient(135deg,#f6faf7,#eef5f0)}
.wellbeing-plan-builder h3{margin:.1rem 0 .55rem}.wellbeing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.wellbeing-field label{display:block;margin-bottom:6px;color:#294638;font-size:.86rem;font-weight:800}.wellbeing-field input{width:100%;min-height:48px;padding:11px 12px;border:1px solid #b9cbbf;border-radius:11px;background:#fff;color:#17343c;font:inherit}
.wellbeing-plan-output{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:20px;border-radius:18px;background:#173f38;color:#fff;box-shadow:0 15px 35px rgba(23,63,56,.18)}
.wellbeing-plan-output p{color:rgba(255,255,255,.88);line-height:1.65}.wellbeing-plan-output .journey-label{color:#e6c875}
.wellbeing-trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.wellbeing-trust-item{padding:18px;border-radius:16px;background:#f4f7f1;border:1px solid #d8e3d7}.wellbeing-trust-item strong{display:block;margin-bottom:7px;color:#24493a}.wellbeing-trust-item span{display:block;color:#53645b;line-height:1.5;font-size:.92rem}
@media(max-width:760px){.wellbeing-plan-builder{grid-template-columns:1fr}.wellbeing-fields{grid-template-columns:1fr}.wellbeing-trust-strip{grid-template-columns:1fr}}
