:root {
  --ink: #171714;
  --paper: #f7f1e7;
  --yellow: #f6ea62;
  --blue: #66b7d0;
  --coral: #f2765f;
  --green: #88b98b;
  --cream: #fffaf0;
  --muted: #625f58;
  --line: #171714;
  --shadow: 7px 7px 0 var(--ink);
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 28px; }
body { min-width: 320px; margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: "Trebuchet MS", Avenir, "Segoe UI", sans-serif; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button { color: inherit; font: inherit; }
button, a { touch-action: manipulation; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 900; letter-spacing: -.055em; line-height: .96; }
.shell { width: min(1180px, calc(100% - 44px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.ticker { overflow: hidden; border-bottom: 2px solid var(--ink); background: var(--yellow); }
.ticker div { width: max-content; padding: 8px 0; font-size: .66rem; font-weight: 900; letter-spacing: .19em; white-space: nowrap; animation: ticker 25s linear infinite; }
@keyframes ticker { to { transform: translateX(-50%); } }

.site-header { min-height: 98px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-size: .92rem; font-weight: 950; letter-spacing: -.07em; line-height: .84; text-decoration: none; text-transform: lowercase; }
.brand-stamp { width: 45px; height: 45px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); font-family: Georgia, serif; font-size: 1rem; letter-spacing: -.09em; transform: rotate(-7deg); }
.site-header nav { display: flex; align-items: center; gap: 28px; }
.site-header nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .75rem; font-weight: 850; letter-spacing: .03em; text-decoration: none; }
.site-header nav a:not(.visa-link):hover { text-decoration: underline 2px; text-underline-offset: 5px; }
.visa-link { padding: 0 17px; border: 2px solid var(--ink); border-radius: 99px; background: var(--cream); box-shadow: 3px 3px 0 var(--ink); }

.hero { min-height: 690px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 90px; padding-block: 72px 104px; }
.kicker { margin-bottom: 17px; font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.kicker span { display: inline-block; margin-right: 9px; padding: 5px 8px; border: 1.5px solid var(--ink); background: var(--yellow); transform: rotate(-2deg); }
.hero h1 { max-width: 760px; margin-bottom: 27px; font-size: clamp(3.7rem, 8vw, 7.9rem); }
.hero h1 em { position: relative; color: var(--coral); font-style: italic; }
.hero h1 em::after { height: 8px; position: absolute; right: -4px; bottom: 3px; left: -4px; z-index: -1; background: var(--yellow); content: ""; transform: rotate(-1deg); }
.hero-intro { max-width: 660px; margin-bottom: 31px; color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 21px; border: 2px solid var(--ink); border-radius: 0; font-size: .78rem; font-weight: 900; letter-spacing: .04em; text-decoration: none; cursor: pointer; }
.button:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--ink); }
.button.dark { background: var(--ink); color: white; }
.button.scribble { background: transparent; transform: rotate(1deg); }
.button.light { background: var(--yellow); }
.button:focus-visible, a:focus-visible, article:focus-visible { outline: 4px solid #297f9a; outline-offset: 4px; }
.fiction-note { max-width: 640px; margin: 25px 0 0; padding-left: 12px; border-left: 3px solid var(--coral); color: var(--muted); font-size: .68rem; }

.hero-art { min-height: 470px; position: relative; display: grid; place-items: center; }
.postcard-shadow { width: 92%; height: 77%; position: absolute; background: var(--ink); transform: rotate(7deg) translate(13px, 17px); }
.postcard { width: 92%; height: 77%; position: relative; overflow: hidden; border: 2px solid var(--ink); background: var(--blue); transform: rotate(-4deg); }
.postcard::after { position: absolute; inset: 0; background: repeating-linear-gradient(110deg, transparent 0 24px, rgba(255,255,255,.08) 25px 27px); content: ""; }
.postcard-sun { width: 90px; height: 90px; position: absolute; top: 42px; left: 50px; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); }
.mountain { position: absolute; bottom: 73px; border-right: 125px solid transparent; border-bottom: 190px solid var(--green); border-left: 125px solid transparent; }
.mountain-one { left: -35px; }
.mountain-two { right: -80px; bottom: 53px; border-right-width: 165px; border-bottom-width: 230px; border-left-width: 165px; filter: brightness(.87); }
.road { width: 520px; height: 110px; position: absolute; bottom: -55px; left: -45px; border: 2px solid var(--ink); border-radius: 50%; background: var(--cream); transform: rotate(-5deg); }
.tiny-bus { width: 72px; height: 38px; position: absolute; right: 104px; bottom: 55px; z-index: 2; border: 2px solid var(--ink); border-radius: 4px 12px 3px 3px; background: var(--coral); }
.tiny-bus::before { position: absolute; inset: 6px 8px 15px; background: repeating-linear-gradient(90deg, var(--cream) 0 12px, var(--ink) 13px 15px); content: ""; }
.tiny-bus span { width: 12px; height: 12px; position: absolute; bottom: -8px; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); }
.tiny-bus span:first-child { left: 10px; }
.tiny-bus span:last-child { right: 10px; }
.postcard > p { position: absolute; top: 42px; right: 30px; z-index: 2; font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.1; text-align: right; transform: rotate(3deg); }
.postcard > p strong { font-size: 1.25rem; }
.postmark { position: absolute; bottom: 24px; left: 22px; z-index: 2; padding: 10px; border: 2px solid var(--ink); border-radius: 50%; font-size: .55rem; font-weight: 900; line-height: 1.2; text-align: center; transform: rotate(12deg); }
.tape { width: 86px; height: 28px; position: absolute; z-index: 3; background: rgba(255, 250, 224, .72); }
.tape-one { top: 32px; left: -5px; transform: rotate(-37deg); }
.tape-two { right: -11px; bottom: 61px; transform: rotate(-38deg); }
.art-caption { position: absolute; right: 0; bottom: 0; margin: 0; font-family: Georgia, serif; font-size: .7rem; font-style: italic; transform: rotate(-2deg); }

.manifesto { border-block: 2px solid var(--ink); background: var(--ink); color: white; }
.manifesto-grid { min-height: 136px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.manifesto p { margin: 0; color: var(--yellow); font-family: Georgia, serif; font-size: clamp(1.25rem, 2.5vw, 2rem); font-style: italic; line-height: 1.1; }
.manifesto-grid div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.manifesto span { padding: 7px 12px; border: 1px solid rgba(255,255,255,.5); border-radius: 99px; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }

.dispatches { padding-block: 120px; }
.section-heading { display: grid; grid-template-columns: 1fr 260px; align-items: end; gap: 60px; margin-bottom: 55px; }
.section-heading h2, .about h2, .visa-bridge h2 { margin-bottom: 0; font-size: clamp(2.8rem, 5vw, 5rem); }
.section-heading > p { margin: 0; color: var(--muted); font-family: Georgia, serif; font-size: .9rem; font-style: italic; }
.story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.story-card { min-width: 0; display: grid; grid-template-columns: .82fr 1.18fr; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--cream); outline: none; transition: transform .18s ease, box-shadow .18s ease; }
.story-card:hover { position: relative; z-index: 1; transform: translate(-4px, -4px); box-shadow: var(--shadow); }
.story-visual { min-height: 330px; position: relative; overflow: hidden; border-right: 2px solid var(--ink); }
.story-yellow .story-visual { background: var(--yellow); }
.story-blue .story-visual { background: var(--blue); }
.story-coral .story-visual { background: var(--coral); }
.story-green .story-visual { background: var(--green); }
.story-copy { min-width: 0; padding: 31px 27px 25px; }
.story-meta { margin-bottom: 40px; font-size: .61rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.story-card h3 { margin-bottom: 20px; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.story-card .story-copy > p:not(.story-meta):not(.story-footnote) { color: #494740; font-family: Georgia, serif; font-size: .88rem; }
.story-footnote { margin: 26px 0 0; color: var(--muted); font-size: .61rem; font-style: italic; }
.airport-board { position: absolute; top: 56px; left: 22px; padding: 13px 17px; border: 2px solid var(--ink); background: var(--ink); color: white; font-size: .72rem; line-height: 1; transform: rotate(-4deg); }
.airport-board strong { color: var(--yellow); font-family: Georgia, serif; font-size: 3.7rem; letter-spacing: -.1em; }
.arrow { position: absolute; right: 17px; bottom: 45px; font-family: Georgia, serif; font-size: 6rem; transform: rotate(16deg); }
.coconut { position: absolute; top: 40px; left: 30px; font-size: 5.3rem; filter: grayscale(1) contrast(2); transform: rotate(-13deg); }
.receipt { position: absolute; right: 13px; bottom: 39px; padding: 20px 14px 29px; background: var(--cream); font-family: "Courier New", monospace; font-size: .62rem; line-height: 1.65; box-shadow: 4px 4px 0 var(--ink); transform: rotate(5deg); }
.receipt::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 13px; background: linear-gradient(135deg, var(--cream) 50%, transparent 51%) 0 0 / 13px 13px repeat-x; content: ""; }
.moon { width: 78px; height: 78px; position: absolute; top: 35px; right: 29px; border: 2px solid var(--ink); border-radius: 50%; background: var(--cream); box-shadow: inset 18px -8px 0 var(--yellow); }
.bus-body { width: 174px; height: 82px; position: absolute; bottom: 64px; left: -17px; border: 2px solid var(--ink); border-radius: 5px 22px 4px 4px; background: var(--yellow); transform: rotate(-4deg); }
.bus-body i { width: 45px; height: 30px; position: absolute; top: 11px; border: 2px solid var(--ink); background: var(--blue); }
.bus-body i:first-child { left: 17px; }
.bus-body i:nth-child(2) { left: 67px; }
.bus-body b { width: 25px; height: 25px; position: absolute; bottom: -16px; border: 3px solid var(--ink); border-radius: 50%; background: var(--cream); }
.bus-body b:nth-child(3) { left: 22px; }
.bus-body b:last-child { right: 22px; }
.door { width: 105px; height: 210px; position: absolute; bottom: -3px; left: 28px; display: grid; place-items: start center; padding-top: 19px; border: 3px solid var(--ink); background: var(--coral); font-family: Georgia, serif; font-size: 1.3rem; }
.door::after { width: 7px; height: 7px; position: absolute; top: 48%; right: 10px; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); content: ""; }
.plant { position: absolute; top: 22px; right: 10px; font-family: Georgia, serif; font-size: 8rem; transform: rotate(14deg); }
.key-tag { position: absolute; right: -10px; bottom: 29px; padding: 6px 12px; border: 2px solid var(--ink); border-radius: 99px 10px 10px 99px; background: var(--yellow); font-size: .55rem; font-weight: 900; transform: rotate(-9deg); }
.story-picked { position: relative; z-index: 2; animation: pick .8s ease; }
@keyframes pick { 45% { transform: rotate(-1deg) scale(1.015); box-shadow: 9px 9px 0 var(--ink); } }
.surprise-status { width: 1px; height: 1px; position: absolute; overflow: hidden; clip-path: inset(50%); }
.story-callout { display: grid; grid-template-columns: 105px minmax(0, 1fr) auto; align-items: center; gap: 34px; margin-top: 72px; padding: 34px 38px; border: 2px solid var(--ink); background: var(--blue); box-shadow: var(--shadow); }
.story-callout-mark { width: 90px; height: 90px; display: grid; place-items: center; border: 3px solid var(--ink); border-radius: 50%; background: var(--yellow); font-family: Georgia, serif; font-size: 2.8rem; font-weight: 900; letter-spacing: -.12em; transform: rotate(7deg); }
.story-callout .kicker { margin-bottom: 9px; }
.story-callout h2 { max-width: 720px; margin-bottom: 13px; font-size: clamp(2rem, 3.8vw, 3.7rem); }
.story-callout p:last-child { max-width: 710px; margin-bottom: 0; font-family: Georgia, serif; font-size: .88rem; }
.story-callout .button { white-space: nowrap; }

.visa-bridge { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 45px; margin-bottom: 120px; padding: 46px 50px; border: 2px solid var(--ink); background: var(--coral); box-shadow: var(--shadow); }
.visa-bridge .kicker { margin-bottom: 12px; }
.visa-bridge h2 { font-size: clamp(2.4rem, 4.2vw, 4.2rem); }
.visa-bridge p:last-child { max-width: 660px; margin: 15px 0 0; font-family: Georgia, serif; }
.visa-stamp { width: 130px; height: 130px; display: grid; place-content: center; border: 4px double var(--ink); border-radius: 50%; font-size: .65rem; font-weight: 900; letter-spacing: .2em; text-align: center; transform: rotate(-8deg); }
.visa-stamp strong { display: block; font-family: Georgia, serif; font-size: 1.65rem; letter-spacing: -.05em; }
.visa-bridge .button { white-space: nowrap; }
.visa-bridge-prominent { grid-template-columns: 82px minmax(0, 1fr) auto; gap: 26px; margin-top: 18px; margin-bottom: 0; padding: 20px 26px; box-shadow: 5px 5px 0 var(--ink); }
.visa-bridge-prominent .visa-stamp { width: 72px; height: 72px; border-width: 3px; }
.visa-bridge-prominent .visa-stamp strong { font-size: 1rem; }
.visa-bridge-prominent .kicker { margin-bottom: 5px; }
.visa-bridge-prominent h2 { font-size: clamp(1.65rem, 2.7vw, 2.65rem); }
.visa-bridge-prominent p:last-child { margin-top: 7px; font-size: .78rem; }
.visa-bridge-prominent + .hero { padding-top: 58px; }

.about { display: grid; grid-template-columns: 1fr .85fr; gap: 110px; padding-block: 10px 125px; }
.about h2 { max-width: 690px; }
.about-copy { padding-top: 30px; border-top: 2px solid var(--ink); }
.about-copy p { color: var(--muted); font-family: Georgia, serif; font-size: 1.05rem; }
.about-copy p:last-child { margin-bottom: 0; }

.site-footer { border-top: 2px solid var(--ink); background: var(--yellow); }
.footer-grid { min-height: 210px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 50px; }
.footer-grid > p { margin: 0; font-family: Georgia, serif; font-size: 1rem; font-style: italic; text-align: center; }
.footer-grid > p span { font-family: "Trebuchet MS", sans-serif; font-size: .62rem; font-style: normal; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.footer-grid nav { display: flex; justify-content: flex-end; gap: 22px; }
.footer-grid nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .68rem; font-weight: 900; text-decoration: none; }
.footer-grid nav a:hover { text-decoration: underline 2px; text-underline-offset: 4px; }

.error-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--yellow); }
.error-card { width: min(620px, 100%); padding: 48px; border: 3px solid var(--ink); background: var(--cream); box-shadow: var(--shadow); text-align: center; }
.error-code { margin: 0; color: var(--coral); font-family: Georgia, serif; font-size: clamp(6rem, 22vw, 12rem); font-weight: 900; letter-spacing: -.12em; line-height: .8; }
.error-card h1 { margin: 26px 0 18px; font-size: clamp(2.4rem, 7vw, 4.2rem); }
.error-card .button { margin-top: 14px; }

.submission-main { padding-block: 58px 110px; }
.submission-intro { margin-bottom: 48px; }
.submission-intro h1 { max-width: 750px; margin-bottom: 24px; font-size: clamp(3.5rem, 7.5vw, 7.2rem); }
.submission-intro h1 em { color: var(--coral); font-style: italic; }
.submission-intro .lead { max-width: 680px; margin-bottom: 0; color: var(--muted); font-family: Georgia, serif; font-size: 1.12rem; }
.submission-layout { display: grid; grid-template-columns: .72fr 1.28fr; border: 2px solid var(--ink); background: var(--cream); box-shadow: var(--shadow); }
.submission-aside { padding: 40px; border-right: 2px solid var(--ink); background: var(--green); }
.submission-aside h2 { margin-bottom: 24px; font-size: clamp(2.4rem, 4vw, 4.1rem); }
.submission-aside ol { margin: 0; padding: 0; list-style: none; counter-reset: pitch-step; }
.submission-aside li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding-block: 18px; border-top: 1px solid var(--ink); counter-increment: pitch-step; font-family: Georgia, serif; font-size: .85rem; }
.submission-aside li::before { content: "0" counter(pitch-step); font-family: "Trebuchet MS", sans-serif; font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.story-form { display: grid; gap: 22px; padding: 42px; }
.field-row { display: grid; gap: 8px; }
.field-row label, .field-label { font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.field-row input, .field-row select, .field-row textarea { width: 100%; min-height: 50px; border: 2px solid var(--ink); border-radius: 0; background: white; color: var(--ink); font: inherit; }
.field-row input, .field-row select { padding: 0 14px; }
.field-row textarea { min-height: 220px; padding: 14px; resize: vertical; }
.field-row input:focus, .field-row select:focus, .field-row textarea:focus { outline: 4px solid var(--yellow); outline-offset: 1px; }
.field-row small { color: var(--muted); font-size: .66rem; }
.split-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.consent-row { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-family: Georgia, serif; font-size: .76rem; cursor: pointer; }
.consent-row input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--ink); }
.story-form .submit-button { width: 100%; background: var(--coral); }
.form-footnote { margin: -8px 0 0; color: var(--muted); font-size: .65rem; text-align: center; }
.honeypot { width: 1px; height: 1px; position: absolute; overflow: hidden; clip-path: inset(50%); }

.story-response-page { min-height: 100vh; background: var(--blue); }
.story-response-main { display: grid; place-items: center; padding-block: 60px 110px; }
.story-response-card { width: min(900px, 100%); display: grid; grid-template-columns: 1.15fr .85fr; border: 3px solid var(--ink); background: var(--cream); box-shadow: 10px 10px 0 var(--ink); }
.story-response-copy { padding: 52px; }
.story-response-copy h1 { margin-bottom: 24px; font-size: clamp(3.2rem, 7vw, 6.6rem); }
.story-response-copy h1 em { color: var(--coral); font-style: italic; }
.story-response-copy > p:not(.kicker) { color: var(--muted); font-family: Georgia, serif; }
.story-response-copy .button { margin-top: 15px; }
.story-response-art { min-height: 470px; position: relative; overflow: hidden; border-left: 3px solid var(--ink); background: var(--yellow); }
.submission-receipt { width: 78%; position: absolute; top: 70px; left: 11%; padding: 30px 24px 50px; border: 2px solid var(--ink); background: white; box-shadow: 6px 6px 0 var(--ink); font-family: "Courier New", monospace; text-align: center; transform: rotate(5deg); }
.submission-receipt::after { height: 18px; position: absolute; right: 0; bottom: -17px; left: 0; background: linear-gradient(135deg, white 50%, transparent 51%) 0 0 / 18px 18px repeat-x; content: ""; }
.submission-receipt span { display: block; margin-bottom: 25px; font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.submission-receipt strong { display: block; font-family: Georgia, serif; font-size: 2.5rem; letter-spacing: -.07em; line-height: .95; }
.submission-receipt p { margin: 27px 0 0; font-size: .72rem; }
.response-doodle { position: absolute; right: 24px; bottom: 35px; font-family: Georgia, serif; font-size: 1rem; font-style: italic; transform: rotate(-8deg); }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr 420px; gap: 45px; }
  .story-card { grid-template-columns: 1fr; }
  .story-visual { min-height: 230px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .visa-bridge { grid-template-columns: 120px 1fr; }
  .visa-stamp { width: 110px; height: 110px; }
  .visa-bridge .button { grid-column: 2; justify-self: start; }
  .visa-bridge-prominent { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 20px; }
  .visa-bridge-prominent .visa-stamp { width: 64px; height: 64px; }
  .visa-bridge-prominent .button { grid-column: auto; }
  .story-callout { grid-template-columns: 90px 1fr; }
  .story-callout .button { grid-column: 2; justify-self: start; }
  .submission-layout { grid-template-columns: .85fr 1.15fr; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 30px, 1180px); }
  .site-header { min-height: 82px; }
  .site-header nav a:not(.visa-link) { display: none; }
  .site-header nav { gap: 0; }
  .visa-link { padding-inline: 13px; font-size: .66rem !important; }
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 52px; padding-block: 66px 84px; }
  .hero-art { min-height: 420px; }
  .manifesto-grid { min-height: 190px; grid-template-columns: 1fr; gap: 23px; padding-block: 34px; }
  .manifesto-grid div { justify-content: flex-start; }
  .dispatches { padding-block: 82px; }
  .section-heading { grid-template-columns: 1fr; gap: 17px; margin-bottom: 38px; }
  .section-heading > p { max-width: 290px; }
  .story-grid { grid-template-columns: 1fr; }
  .story-card { grid-template-columns: .82fr 1.18fr; }
  .story-visual { min-height: 300px; border-right: 2px solid var(--ink); border-bottom: 0; }
  .visa-bridge { grid-template-columns: 1fr; gap: 27px; margin-bottom: 86px; padding: 32px; }
  .visa-bridge .button { grid-column: auto; width: 100%; }
  .visa-bridge-prominent { grid-template-columns: 64px minmax(0, 1fr); gap: 15px 18px; margin-top: 10px; margin-bottom: 0; padding: 20px; }
  .visa-bridge-prominent .visa-stamp { width: 60px; height: 60px; }
  .visa-bridge-prominent .button { grid-column: 1 / -1; }
  .visa-bridge-prominent + .hero { padding-top: 52px; }
  .story-callout { grid-template-columns: 70px 1fr; gap: 20px; margin-top: 54px; padding: 26px; }
  .story-callout-mark { width: 64px; height: 64px; font-size: 2rem; }
  .story-callout .button { grid-column: 1 / -1; width: 100%; }
  .about { grid-template-columns: 1fr; gap: 50px; padding-bottom: 86px; }
  .submission-main { padding-block: 40px 86px; }
  .submission-intro, .submission-layout, .story-response-card { grid-template-columns: 1fr; }
  .submission-aside { border-right: 0; border-bottom: 2px solid var(--ink); }
  .story-response-main { padding-block: 36px 86px; }
  .story-response-art { min-height: 390px; border-top: 3px solid var(--ink); border-left: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; padding-block: 38px; }
  .footer-grid > p { text-align: right; }
  .footer-grid nav { grid-column: 1 / -1; justify-content: space-between; border-top: 1px solid var(--ink); padding-top: 17px; }
}

@media (max-width: 520px) {
  .ticker div { animation-duration: 18s; }
  .brand-stamp { width: 40px; height: 40px; }
  .hero h1 { font-size: clamp(3.35rem, 17vw, 5rem); }
  .hero-actions, .hero-actions .button { width: 100%; }
  .hero-art { min-height: 340px; }
  .postcard { width: 94%; height: 76%; }
  .postcard-shadow { width: 90%; height: 76%; }
  .postcard-sun { width: 66px; height: 66px; top: 31px; left: 31px; }
  .postcard > p { top: 30px; right: 17px; font-size: .78rem; }
  .postcard > p strong { font-size: 1rem; }
  .tiny-bus { right: 44px; }
  .art-caption { font-size: .62rem; }
  .story-card { grid-template-columns: 1fr; }
  .story-visual { min-height: 220px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .story-copy { padding: 27px 23px; }
  .story-meta { margin-bottom: 25px; }
  .story-callout { width: calc(100% + 30px); margin-left: -15px; border-right: 0; border-left: 0; box-shadow: none; }
  .visa-bridge { width: 100%; border-right: 0; border-left: 0; box-shadow: none; }
  .visa-stamp { width: 96px; height: 96px; }
  .submission-intro h1 { font-size: clamp(3.1rem, 16vw, 4.8rem); }
  .submission-layout { width: calc(100% + 30px); margin-left: -15px; border-right: 0; border-left: 0; box-shadow: none; }
  .submission-aside, .story-form { padding: 29px 22px; }
  .split-fields { grid-template-columns: 1fr; }
  .story-response-copy { padding: 39px 25px; }
  .story-response-card { width: calc(100% + 30px); border-right: 0; border-left: 0; box-shadow: none; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > p { text-align: left; }
  .footer-grid nav { grid-column: auto; }
  .error-card { padding: 40px 22px; }
}

@media (hover: none) and (pointer: coarse) {
  .button:hover, .story-card:hover { transform: none; box-shadow: none; }
}

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