/* Camp-only actions: shared state, a desktop rail and a safe-area mobile dock. */
.camp-narrative { max-inline-size:1440px; }
.camp-reading-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,3.5vw,64px);align-items:start; }
.camp-reading-content { grid-column:1;grid-row:1;min-inline-size:0; }
.camp-action-rail { grid-column:2;grid-row:1;position:sticky;inset-block-start:24px;min-inline-size:0; }
.camp-narrative .camp-reading-layout { margin-block-start:48px; }
.camp-reading-content>.story-section:first-child { margin-block-start:0; }
.camp-reading-content .story-intro-split { grid-template-columns:1fr;gap:16px; }
.camp-reading-content .story-intro-split h2 br { display:none; }
.camp-reading-content .story-intro-split h2 em { display:block; }
.camp-reading-content .story-section-head { display:block; }
.camp-reading-content .story-section-head>p { max-inline-size:65ch; }
.camp-reading-content .camp-panel-story,.camp-reading-content .wallet-story { grid-template-columns:1fr;gap:28px; }
.camp-reading-content .wallet-story figure { max-inline-size:780px; }
.camp-reading-content .learning-panel-visual { max-inline-size:560px;inline-size:100%;transform:none;margin-inline:auto; }
.camp-reading-content .story-three { gap:20px; }
.camp-reading-content .fitness-levels { grid-template-columns:1fr;gap:16px; }
.camp-reading-content .fitness-levels article { padding:24px; }
.camp-reading-content .fitness-levels article h3 { margin-block:5px; }
.camp-reading-content .fitness-levels article p { margin-block:8px; }
.camp-reading-content .camp-story-steps { grid-template-columns:1fr 1fr; }
.hampa-story .camp-action-button { display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-block-size:54px;padding:14px 22px;border:1px solid #d8b86d;border-radius:10px;background:#e7c67f;color:#102632;font-size:15px;font-weight:800;line-height:1.8;text-decoration:none;box-shadow:0 4px 0 #00000012;overflow-wrap:break-word; }
.hampa-story .camp-action-button:hover { background:#f3d89f;border-color:#f3d89f;color:#0b1f2a; }
.hampa-story .camp-action-button:focus-visible { outline:3px solid #b47d1e;outline-offset:4px; }
.camp-action-button .p-icon { inline-size:22px;block-size:22px;flex:none; }
.camp-action-card { padding:28px 24px;border:1px solid #344b50;border-radius:18px;background:#102831;color:#f6f3eb;box-shadow:0 14px 34px #0b1f2a0b; }
.camp-action-eyebrow { display:block;color:#d4bd87;font-size:12px;line-height:1.8;font-weight:650; }
.hampa-story .camp-action-card h2 { font-size:25px;line-height:1.65;letter-spacing:-.3px;margin-block:10px 14px;color:#f6f3eb; }
.hampa-story .camp-action-date { color:#e8e5dc;font-size:14px;margin-block:8px; }
.hampa-story .camp-action-summary { color:#ccd9d4;font-size:14px;line-height:1.95;margin-block:12px 20px; }
.camp-action-card .camp-action-button { inline-size:100%;padding-inline:16px; }
.camp-action-pricing { border-block:1px solid #385159;padding-block:16px;margin-block:22px 12px;display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center; }
.camp-action-pricing del { color:#c4ccc6;font-size:12px; }
.camp-action-discount { padding:3px 9px;background:#284d46;color:#e5eee5;border-radius:5px;font-size:11px;font-weight:800; }
.camp-action-pricing strong { display:block;flex-basis:100%;font-size:32px;line-height:1.7;color:#fff5d9; }
.camp-action-pricing strong small { font-size:14px;font-weight:500; }
.hampa-story .camp-action-includes { font-size:12px;line-height:2;color:#c6d4ce;margin-block:14px 20px; }
.camp-action-note { display:block;font-size:11px;color:#c0ccc6;line-height:1.9;margin-block-start:14px; }
.camp-hero-actions { display:flex;flex-wrap:wrap;gap:14px;margin-block-start:28px;align-items:stretch; }
.camp-hero-actions .story-button { background:transparent;box-shadow:none;justify-content:center; }
.camp-hero-status { display:flex;align-items:center;gap:10px;padding-block:16px 0;color:#d9e7df;font-size:14px; }
.camp-hero-status .p-icon { color:#d8bb7e; }
.camp-action-mid { margin-block:48px; }
.camp-action-card--mid { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 30px; }
.camp-action-card--mid .camp-action-eyebrow,.camp-action-card--mid h2,.camp-action-card--mid .camp-action-summary { grid-column:1; }
.camp-action-card--mid .camp-action-summary { margin-block:0 18px; }
.camp-action-card--mid .camp-action-date { grid-column:1; }
.camp-action-card--mid .camp-action-pricing { grid-column:2;grid-row:1 / 5;align-self:center;max-inline-size:230px;border:0;padding:0;margin:0 0 20px; }
.camp-action-card--mid .camp-action-includes { grid-column:1 / -1; }
.camp-action-card--mid .camp-action-button { grid-column:1 / -1; }
.camp-action-card--mid .camp-action-note { grid-column:1 / -1; }
.camp-reading-content .camp-offer { grid-template-columns:1fr;padding:clamp(24px,3vw,40px);gap:24px; }
.camp-reading-content .camp-offer-policy { grid-column:1; }
.camp-offer .camp-action-button { justify-self:stretch;grid-column:1; }
.camp-offer .camp-offer-current { margin:0;grid-column:1;font-size:15px;font-weight:700;color:#173f32; }
.camp-mobile-action { display:none; }
.camp-landing #camp-intake { scroll-margin-block:24px 130px; }
@media(min-width:1500px) {
  .camp-reading-layout { grid-template-columns:minmax(0,1fr) 320px; }
  .camp-reading-content .fitness-levels { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1099.98px) {
  .camp-reading-layout { display:block; }
  .camp-action-rail { display:none; }
  .camp-landing { padding-block-end:calc(116px + env(safe-area-inset-bottom,0px)); }
  .camp-mobile-action { display:grid;grid-template-columns:minmax(0,1fr) minmax(168px,auto);align-items:center;gap:8px 18px;position:fixed;z-index:70;inset-inline:0;inset-block-end:0;padding:12px max(18px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom,0px));background:#102831;border-block-start:1px solid #647360;box-shadow:0 -6px 28px #091c261c;color:#f7f3e8; }
  .camp-mobile-action .camp-action-button { font-size:14px;min-block-size:50px;padding:10px 16px; }
  .camp-mobile-action strong { display:block;font-size:15px;line-height:1.6;color:#f7f3e8; }
  .camp-mobile-action small { display:block;font-size:11px;line-height:1.7;color:#c6d6ce; }
  .camp-mobile-action .camp-action-button .p-icon { inline-size:19px;block-size:19px; }
  .camp-reading-content .fitness-levels { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .camp-reading-content .camp-panel-story,.camp-reading-content .wallet-story { grid-template-columns:1fr 1fr; }
}
@media(max-width:680px) {
  .camp-narrative .camp-reading-layout { margin-block-start:32px; }
  .camp-hero-actions { display:grid;grid-template-columns:1fr;gap:12px; }
  .camp-hero-actions .camp-action-button { inline-size:100%; }
  .camp-hero-actions .story-button { min-block-size:46px;padding-block:10px; }
  .camp-hero-status { font-size:13px; }
  .camp-reading-content .camp-panel-story,.camp-reading-content .wallet-story,.camp-reading-content .fitness-levels,.camp-reading-content .camp-story-steps { grid-template-columns:1fr; }
  .camp-action-card--mid { display:block; }
  .camp-action-card { padding:24px 22px; }
  .camp-action-card--mid .camp-action-pricing { margin-block:20px;padding-block:16px;border-block:1px solid #385159;max-inline-size:none; }
  .camp-mobile-action { grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:12px;padding-inline:14px; }
  .camp-mobile-action strong { font-size:13px; }
  .camp-mobile-action .camp-action-button { gap:8px;padding-inline:12px;font-size:13px; }
  .camp-mobile-action small { font-size:10px; }
}
@media(max-width:360px) {
  .camp-mobile-action { padding-inline:10px;gap:8px; }
  .camp-mobile-action .camp-action-button { font-size:12px; }
  .camp-mobile-action .camp-action-button .p-icon { display:none; }
}
@media(max-height:650px) and (min-width:1100px) {
  .camp-action-rail { inset-block-start:12px; }
  .camp-action-card--rail { padding:18px; }
  .camp-action-card--rail .camp-action-summary,.camp-action-card--rail .camp-action-includes { display:none; }
  .camp-action-card--rail .camp-action-pricing { margin-block:12px; }
}
@media print { .camp-action-rail,.camp-mobile-action,.camp-hero-actions,.camp-action-mid,.camp-offer .camp-action-button { display:none!important; }.camp-reading-layout { display:block; }.camp-landing { padding:0; } }
