:root {
  --background: #ffffff;
  --foreground: #251b20;
  --card: #ffffff;
  --card-foreground: #251b20;
  --popover: #ffffff;
  --popover-foreground: #251b20;
  --primary: #742c48;
  --primary-foreground: #ffffff;
  --secondary: #eef8f7;
  --secondary-foreground: #24494b;
  --muted: #f7f3f1;
  --muted-foreground: #6d6266;
  --accent: #f5ead0;
  --accent-foreground: #5b4020;
  --destructive: #b42318;
  --border: #e8ded9;
  --input: #e8ded9;
  --ring: #b58b43;
  --radius: 1rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--foreground); font-family: Arial, Helvetica, sans-serif; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
p { line-height: 1.7; }

.site-header {
  position: sticky; top: 0; z-index: 50; height: 84px; padding: 0 clamp(22px, 4vw, 68px);
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(116,44,72,.12); backdrop-filter: blur(16px);
}
.brand { display: flex; align-items: center; gap: 12px; min-width: 250px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #c9a65b; border-radius: 50%; color: #742c48; }
.brand-mark svg { width: 22px; }
.brand strong { display: block; font: 600 18px/1.1 Georgia, serif; letter-spacing: .01em; }
.brand small { display: block; margin-top: 4px; color: #7a6a70; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); font-size: 14px; color: #574b50; }
nav a { transition: color .2s ease; }
nav a:hover { color: #742c48; }

.button { min-height: 48px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; background: #742c48; color: white; font-size: 14px; font-weight: 700; box-shadow: 0 10px 30px rgba(116,44,72,.18); transition: transform .2s, background .2s; }
.button:hover { background: #5e2038; transform: translateY(-2px); }
.button svg { width: 17px; }
.button-small { min-height: 40px; padding: 0 18px; font-size: 13px; box-shadow: none; }
.text-link { padding: 8px 0 5px; border-bottom: 1px solid #b58b43; color: #654c2a; font-size: 14px; font-weight: 700; }

.hero { min-height: calc(100vh - 84px); padding: clamp(48px, 6vw, 92px) clamp(22px, 5vw, 86px) 70px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); align-items: center; gap: clamp(40px, 7vw, 108px); overflow: hidden; background: linear-gradient(115deg, #fff 0%, #fff 55%, #f1f9f8 100%); }
.hero-copy { max-width: 650px; }
.eyebrow { margin: 0 0 18px; color: #8d6d35; font-size: 12px; font-weight: 800; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; }
h1 { margin-bottom: 24px; font: 500 clamp(54px, 6.5vw, 94px)/.98 Georgia, serif; letter-spacing: -.045em; }
h1 em { display: block; color: #742c48; font-weight: 400; }
.hero-lede { max-width: 590px; margin: 0; color: #5e5358; font: 400 clamp(18px, 1.6vw, 22px)/1.65 Georgia, serif; }
.hero-actions { margin-top: 36px; display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.signature-line { margin-top: 52px; display: flex; align-items: baseline; gap: 13px; }
.signature-line span { color: #742c48; font: italic 24px Georgia, serif; }
.signature-line small { color: #887b80; font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.hero-visual { position: relative; min-height: min(70vh, 760px); }
.hero-visual:before { content: ""; position: absolute; inset: -22px 32px 22px -22px; border: 1px solid rgba(181,139,67,.45); border-radius: 46% 46% 24px 24px; }
.hero-visual img { position: absolute; inset: 0; height: 100%; object-fit: cover; border-radius: 46% 46% 24px 24px; box-shadow: 0 28px 80px rgba(45,83,84,.16); }
.hero-note { position: absolute; left: -46px; bottom: 42px; max-width: 280px; padding: 18px 20px; display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.94); border-left: 3px solid #c9a65b; box-shadow: 0 20px 45px rgba(42,32,36,.14); font-size: 13px; line-height: 1.5; }
.hero-note svg { flex: 0 0 auto; width: 22px; color: #742c48; }
.hero-note strong { color: #742c48; }
.coordinate { position: absolute; right: -35px; top: 45%; color: #796d71; font-size: 10px; letter-spacing: .2em; transform: rotate(90deg); }

.section-shell { width: min(1180px, calc(100% - 44px)); margin: 0 auto; }
.intro { padding: 120px 0; border-bottom: 1px solid #eee5e1; }
.intro-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(45px, 8vw, 120px); }
h2 { font: 500 clamp(38px, 4.4vw, 64px)/1.06 Georgia, serif; letter-spacing: -.035em; }
.large-copy { margin: 0; color: #51474b; font: 400 clamp(19px, 2vw, 25px)/1.65 Georgia, serif; }
.promise-row { margin-top: 42px; padding-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; border-top: 1px solid #e8ded9; color: #5c5155; font-size: 13px; }
.promise-row span { display: flex; flex-direction: column; gap: 8px; }
.promise-row b { color: #b58b43; font-size: 11px; letter-spacing: .15em; }

.journeys-section { padding: 120px 0; background: #f3f9f8; }
.section-heading { margin-bottom: 54px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 60px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 470px; margin: 0 0 4px; color: #5b6665; font-size: 17px; }
.journey-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.journey-card { min-height: 300px; padding: 34px 28px; background: white; border: 1px solid #dfedeb; border-radius: 22px; transition: transform .25s, box-shadow .25s; }
.journey-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(46,85,84,.10); }
.journey-card svg { width: 27px; color: #742c48; }
.journey-card h3 { margin: 65px 0 13px; font: 600 22px/1.2 Georgia, serif; }
.journey-card p { margin: 0; color: #70666a; font-size: 15px; }

.fit-card { margin-top: 22px; padding: 30px 32px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 52px; background: #fff; border: 1px solid #dfedeb; border-radius: 22px; }
.fit-card .eyebrow { margin-bottom: 9px; }
.fit-card h3 { margin: 0; font: 600 clamp(23px, 2.4vw, 32px)/1.18 Georgia, serif; }
.fit-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.fit-points p { margin: 0; padding: 2px 22px; color: #62575b; font-size: 14px; line-height: 1.55; }
.fit-points p + p { border-left: 1px solid #e7dfda; }

.alaska-section { padding: 130px 0; }
.alaska-feature { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(50px, 8vw, 110px); }
.alaska-image { position: relative; }
.alaska-image img { aspect-ratio: 1.06; object-fit: cover; border-radius: 22px 52% 22px 22px; }
.image-label { position: absolute; left: -16px; bottom: 34px; padding: 13px 18px; background: #fff; color: #742c48; border-left: 3px solid #c9a65b; box-shadow: 0 14px 35px rgba(25,39,41,.15); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.alaska-copy h2 { margin-bottom: 24px; }
.alaska-copy > p:not(.eyebrow) { color: #655b5f; font-size: 18px; }
.alaska-copy .button { margin-top: 22px; }
.alaska-tabs { margin-top: 58px; }
.tab-list { display: flex; align-items: end; gap: 8px; border-bottom: 1px solid #dfd3cc; }
.tab-button { min-height: 52px; padding: 0 22px; color: #75696d; background: #f8f4f2; border: 1px solid #eadfda; border-bottom: 0; border-radius: 14px 14px 0 0; cursor: pointer; font: 700 14px Arial, Helvetica, sans-serif; transition: color .2s, background .2s; }
.tab-button:hover { color: #742c48; background: #fff; }
.tab-button[aria-selected="true"] { position: relative; bottom: -1px; color: #742c48; background: #fff; border-color: #c9a65b; }
.tab-button:focus-visible { outline: 3px solid rgba(181,139,67,.45); outline-offset: 2px; }
.tab-panel { padding: 34px; background: #fffdfb; border: 1px solid #dfd3cc; border-top: 0; border-radius: 0 0 20px 20px; }
.tab-panel[hidden] { display: none; }
.overview-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 34px; align-items: center; }
.overview-grid .eyebrow { margin-bottom: 9px; }
.overview-grid h3, .faq-heading h3 { margin: 0 0 10px; color: #4c303d; font: 600 clamp(25px, 3vw, 38px)/1.15 Georgia, serif; }
.overview-grid p { margin: 0; color: #6c6165; font-size: 15px; }
.route-card { padding: 24px; background: #eef8f7; border-radius: 15px; }
.route-card span { color: #8d6d35; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.route-card p { margin-top: 10px; color: #3c5657; font: 500 17px/1.65 Georgia, serif; }
.tab-panel > .booking-note { margin: 28px 0 0; }
.alaska-details { margin-top: 30px; border: 1px solid #dfd3cc; border-radius: 18px; overflow: hidden; background: #fff; }
.alaska-details summary { min-height: 62px; padding: 0 16px 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #742c48; cursor: pointer; font-size: 14px; font-weight: 800; letter-spacing: .03em; list-style: none; }
.alaska-details summary::-webkit-details-marker { display: none; }
.alaska-details summary:focus-visible { outline: 3px solid rgba(181,139,67,.5); outline-offset: -4px; }
.summary-icon { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; color: #742c48; background: #f5ead0; border-radius: 50%; }
.summary-icon svg { width: 18px; transition: transform .25s ease; }
.alaska-details[open] .summary-icon svg { transform: rotate(180deg); }
.alaska-details-body { padding: 28px 24px 30px; border-top: 1px solid #eadfda; background: #fffdfb; }
.booking-guide-heading { display: grid; gap: 24px; margin-bottom: 24px; }
.booking-guide-heading .eyebrow { margin-bottom: 8px; }
.booking-guide-heading h3 { margin: 0 0 8px; color: #742c48; font: 600 26px/1.2 Georgia, serif; }
.booking-guide-heading p:not(.eyebrow) { margin: 0; color: #6b6064; font-size: 14px; }
.booking-guide-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.guide-link { min-height: 48px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #fff; background: #742c48; border: 1px solid #742c48; border-radius: 12px; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; transition: transform .2s, background .2s; }
.guide-link-light { color: #742c48; background: #fff; border-color: #c9a65b; }
.guide-link:hover { transform: translateY(-2px); background: #5e2038; color: #fff; }
.guide-link svg { width: 16px; flex: 0 0 auto; }
.alaska-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 24px; border: 1px solid #ede2dc; border-radius: 13px; overflow: hidden; }
.alaska-facts span { padding: 14px; color: #6c6165; font-size: 12px; line-height: 1.45; }
.alaska-facts span + span { border-left: 1px solid #ede2dc; }
.alaska-facts strong { display: block; color: #742c48; font: 600 18px Georgia, serif; }
.booking-steps { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; list-style: none; }
.booking-steps li { min-width: 0; padding: 18px; display: grid; grid-template-columns: 34px 1fr; align-items: start; gap: 12px; background: #fff; border: 1px solid #eadfda; border-radius: 13px; }
.booking-steps > li > span { width: 34px; height: 34px; display: grid; place-items: center; color: #742c48; background: #f5ead0; border-radius: 50%; font-size: 11px; font-weight: 800; }
.booking-steps h4 { margin: 1px 0 7px; color: #4c303d; font: 600 16px/1.25 Georgia, serif; }
.booking-steps p { margin: 0; color: #6c6165; font-size: 13px; line-height: 1.55; }
.booking-steps p a { color: #742c48; font-weight: 700; text-decoration: underline; text-decoration-color: #c9a65b; text-underline-offset: 3px; }
.booking-costs { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; color: #fff; background: #702944; border-radius: 14px; }
.booking-costs div { padding: 20px; display: grid; gap: 4px; }
.booking-costs div + div { border-left: 1px solid rgba(255,255,255,.25); }
.booking-costs span { color: #e3c785; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.booking-costs strong { font: 600 19px Georgia, serif; }
.booking-costs small { color: #efe4e8; font-size: 12px; line-height: 1.5; }
.booking-note { margin: 0 0 22px; padding-top: 18px; color: #6f6468; border-top: 1px solid #eadfda; font-size: 13px; line-height: 1.6; }
.booking-costs + .booking-note { margin-top: 20px; }
.booking-guide-footer { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.booking-guide-footer .button { min-height: 44px; padding: 0 18px; font-size: 13px; }
.email-link { display: inline-flex; align-items: center; gap: 7px; color: #742c48; font-size: 13px; font-weight: 700; }
.email-link svg { width: 16px; }
.faq-heading { max-width: 720px; margin-bottom: 28px; }
.faq-heading .eyebrow { margin-bottom: 9px; }
.faq-heading > p:last-child { margin: 0; color: #6c6165; font-size: 15px; }
.faq-groups { display: grid; gap: 10px; }
.faq-group { background: #fff; border: 1px solid #eadfda; border-radius: 14px; overflow: hidden; }
.faq-group summary { min-height: 58px; padding: 0 14px 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #4c303d; cursor: pointer; font: 600 18px Georgia, serif; list-style: none; }
.faq-group summary::-webkit-details-marker { display: none; }
.faq-group[open] .summary-icon svg { transform: rotate(180deg); }
.faq-content { padding: 6px 22px 22px; border-top: 1px solid #eee4df; }
.faq-content h4 { margin: 19px 0 6px; color: #742c48; font: 600 16px/1.3 Georgia, serif; }
.faq-content p { margin: 0; color: #665b60; font-size: 14px; line-height: 1.65; }
.faq-cta { margin-top: 24px; padding: 24px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 24px; background: #f5ead0; border-radius: 15px; }
.faq-cta p { margin: 0; color: #5b4020; font-size: 14px; }
.faq-cta p strong { display: block; color: #742c48; font: 600 21px Georgia, serif; }
.faq-cta > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.story-section { padding: 120px 0; background: #702944; color: white; overflow: hidden; }
.story-layout { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(55px, 9vw, 125px); }
.story-copy .eyebrow { color: #e3c785; }
.story-copy h2 { margin-bottom: 26px; }
.story-copy p:not(.eyebrow) { max-width: 560px; color: #f1e7eb; font-size: 17px; }
.story-signoff { margin-top: 25px; color: #e3c785; font: italic 25px Georgia, serif; }
.story-image { position: relative; }
.story-image:after { content: ""; position: absolute; inset: 20px -22px -22px 20px; border: 1px solid rgba(227,199,133,.55); border-radius: 26px 50% 26px 26px; }
.story-image img { position: relative; z-index: 1; aspect-ratio: 1.05; object-fit: cover; border-radius: 26px 50% 26px 26px; }
.story-cards { margin-top: 94px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.story-cards article { padding: 36px 38px 0 0; }
.story-cards article + article { padding-left: 38px; border-left: 1px solid rgba(255,255,255,.22); }
.story-cards span { color: #e3c785; font-size: 11px; letter-spacing: .18em; }
.story-cards h3 { margin: 25px 0 11px; font: 500 23px/1.25 Georgia, serif; }
.story-cards p { margin: 0; color: #eadde2; font-size: 14px; }

.process-section { padding: 120px 0; }
.section-heading.compact { grid-template-columns: 1fr; }
.process-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 1px solid #e5dad6; }
.process-list li { position: relative; padding: 34px 28px 0 0; }
.process-list li:not(:last-child):after { content: ""; position: absolute; top: -4px; right: 24px; width: 7px; height: 7px; background: #c59a49; border-radius: 50%; }
.process-list span { color: #b58b43; font-size: 11px; letter-spacing: .17em; }
.process-list h3 { margin: 22px 0 8px; font: 600 20px Georgia, serif; }
.process-list p { margin: 0; color: #71666a; font-size: 14px; }
.fee-note { margin: 44px 0 0; padding: 22px 26px; color: #665b60; background: #fbf7ef; border-left: 3px solid #c59a49; border-radius: 0 14px 14px 0; font-size: 14px; }
.fee-note strong { color: #742c48; }

.pledge-section { padding: 110px 22px; background: linear-gradient(115deg, #eff8f7, #fbf6eb); }
.pledge-card { position: relative; width: min(960px, 100%); margin: 0 auto; padding: clamp(46px, 7vw, 82px); text-align: center; background: rgba(255,255,255,.92); border: 1px solid rgba(181,139,67,.35); border-radius: 28px; box-shadow: 0 28px 80px rgba(77,71,58,.09); }
.pledge-compass { width: 58px; height: 58px; margin: -110px auto 38px; display: grid; place-items: center; color: #742c48; background: white; border: 1px solid #c9a65b; border-radius: 50%; }
.pledge-compass svg { width: 29px; }
.pledge-card h2 { font-size: clamp(34px, 4vw, 54px); }
.pledge-card p { max-width: 720px; margin: 15px auto; color: #675c61; font-size: 16px; }
.pledge-copy { max-width: 720px; margin: 34px auto 0; padding-top: 24px; text-align: left; border-top: 1px solid #e8ded9; }
.pledge-copy p { margin: 0 0 18px; }
.pledge-copy strong { color: #742c48; }
.pledge-hope { margin-top: 30px !important; color: #4f303e !important; font: 500 clamp(20px, 2.3vw, 27px)/1.45 Georgia, serif; }
.pledge-card > strong { display: block; margin-top: 28px; color: #742c48; font: italic 22px Georgia, serif; }

.contact-section { padding: 105px 0; display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.contact-section h2 { max-width: 700px; margin-bottom: 0; }
.contact-actions { display: grid; gap: 18px; justify-items: center; flex: 0 0 auto; }
.phone-link { display: flex; align-items: center; gap: 9px; color: #6a5b60; font-size: 14px; }
.phone-link svg { width: 16px; color: #9b7535; }

footer { padding: 48px clamp(22px, 5vw, 80px) 34px; display: grid; grid-template-columns: 1fr auto; gap: 34px; align-items: center; color: white; background: #291b22; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand > svg { width: 30px; color: #d6b568; }
.footer-brand strong { display: block; font: 600 18px Georgia, serif; }
.footer-brand span { display: block; margin-top: 5px; color: #bbaeb3; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.footer-links { display: flex; gap: 26px; color: #e7dce0; font-size: 13px; }
footer > p { grid-column: 1 / -1; margin: 0; padding-top: 24px; color: #9f9197; border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; letter-spacing: .06em; }

@media (max-width: 980px) {
  nav { display: none; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 70px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { min-height: 620px; margin-left: 50px; }
  .intro-grid, .story-layout { grid-template-columns: 1fr; }
  .journey-grid { grid-template-columns: repeat(2, 1fr); }
  .fit-card { grid-template-columns: 1fr; gap: 24px; }
  .alaska-feature { grid-template-columns: 1fr; }
  .alaska-image { width: 85%; }
  .overview-grid, .faq-cta { grid-template-columns: 1fr; }
  .story-image { width: 80%; justify-self: end; }
  .process-list { grid-template-columns: repeat(2, 1fr); row-gap: 45px; }
}

@media (max-width: 680px) {
  .site-header { height: 72px; padding: 0 18px; }
  .brand { min-width: 0; }
  .brand strong { font-size: 16px; }
  .brand small { display: none; }
  .button-small { padding: 0 13px; font-size: 12px; }
  .hero { padding: 50px 22px 55px; gap: 50px; }
  h1 { font-size: clamp(48px, 15vw, 68px); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-visual { min-height: 470px; margin-left: 16px; }
  .hero-visual:before { inset: -12px 18px 16px -12px; }
  .hero-note { left: -16px; bottom: 24px; }
  .coordinate { display: none; }
  .section-shell { width: min(100% - 36px, 1180px); }
  .intro, .journeys-section, .alaska-section, .story-section, .process-section { padding-top: 82px; padding-bottom: 82px; }
  .intro-grid { gap: 24px; }
  .promise-row { grid-template-columns: 1fr; }
  .section-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 38px; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-card { min-height: 240px; }
  .journey-card h3 { margin-top: 48px; }
  .fit-card { padding: 26px 22px; }
  .fit-points { grid-template-columns: 1fr; }
  .fit-points p { padding: 13px 0; }
  .fit-points p + p { border-left: 0; border-top: 1px solid #e7dfda; }
  .alaska-image, .story-image { width: 100%; }
  .alaska-copy .button { width: 100%; }
  .tab-list { align-items: stretch; flex-direction: column; gap: 6px; border-bottom: 0; }
  .tab-button, .tab-button[aria-selected="true"] { bottom: auto; min-height: 46px; border: 1px solid #eadfda; border-radius: 11px; }
  .tab-button[aria-selected="true"] { color: #fff; background: #742c48; border-color: #742c48; }
  .tab-panel { margin-top: 8px; padding: 24px 18px; border-top: 1px solid #dfd3cc; border-radius: 14px; }
  .alaska-facts { grid-template-columns: 1fr; }
  .alaska-facts span + span { border-left: 0; border-top: 1px solid #ede2dc; }
  .booking-guide-actions, .booking-steps, .booking-costs { grid-template-columns: 1fr; }
  .booking-costs div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.25); }
  .booking-guide-footer { align-items: stretch; flex-direction: column; }
  .booking-guide-footer .text-link, .booking-guide-footer .email-link { align-self: flex-start; }
  .faq-cta > div { grid-template-columns: 1fr; }
  .story-cards { grid-template-columns: 1fr; margin-top: 65px; }
  .story-cards article, .story-cards article + article { padding: 28px 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .process-list { grid-template-columns: 1fr; }
  .process-list li:not(:last-child):after { display: none; }
  .pledge-section { padding: 95px 18px 70px; }
  .pledge-card { padding: 48px 24px; }
  .pledge-compass { margin-top: -80px; }
  .contact-section { padding: 82px 0; align-items: stretch; flex-direction: column; gap: 32px; }
  .contact-actions { justify-items: stretch; }
  footer { grid-template-columns: 1fr; }
  .footer-links { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition-duration: .01ms !important; }
}
