:root{--ink:#242320;--rust:#a33825;--rust-dark:#8b2d1f;--paper:#f5f3ed;--muted:#67645e;--line:#c9c5bc;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #d48b32;outline-offset:4px}[hidden]{display:none!important}header{height:76px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,3vw,48px)}.wordmark{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1.72rem;line-height:.9;font-weight:600;letter-spacing:.025em;text-decoration:none}.wordmark span{display:block}.home-link{font-size:.9rem;text-underline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:16px;z-index:5}.skip:focus{top:12px}main{display:grid;grid-template-columns:36% 64%;align-items:start}.intro{background:var(--rust);color:white;padding:48px clamp(24px,4vw,64px);position:sticky;top:0;min-height:calc(100svh - 76px);display:flex;flex-direction:column;justify-content:space-between;gap:40px}.eyebrow{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:600;letter-spacing:.11em;font-size:1rem;margin:0 0 24px}h1,h2,.intro-heading{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;text-transform:uppercase;font-weight:500;letter-spacing:-.025em}h1{font-size:clamp(4.6rem,7.8vw,8.5rem);line-height:.83;margin:38px 0}h1 span{color:#e8c5b5}.intro-heading{font-size:2.5rem;line-height:1;margin:0 0 24px}.intro p:not(.eyebrow):not(.intro-heading){line-height:1.65;max-width:390px}.tag{display:inline-block;border:1px solid #d9a394;padding:10px 13px;font-family:'Barlow Condensed',sans-serif;letter-spacing:.08em}.intro-bottom p{font-size:.875rem}.form-wrap{padding:36px clamp(24px,5vw,80px) 26px;min-width:0}.progress{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--muted)}.progress span{display:flex;flex-direction:column;gap:5px}.progress b{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;font-weight:500}.progress [aria-current]{color:var(--rust);font-weight:700}.progress-track{height:2px;background:var(--line);margin:20px 0 16px}#progress-fill{width:16.666%;height:100%;background:var(--rust)}.required-note{font-size:.8rem;color:var(--muted);margin:0 0 38px}.step>.eyebrow{color:var(--rust);margin-bottom:12px}h2{font-size:clamp(3rem,4.9vw,5rem);line-height:.95;margin:0 0 16px}.subtitle{margin:0 0 36px;line-height:1.5;color:var(--muted)}.hint{font-size:.9rem;line-height:1.5}.question{border:0;border-bottom:1px solid var(--line);padding:0 0 26px;margin:0 0 28px;min-width:0}.question legend{padding:0;margin-bottom:14px;line-height:1.6;font-weight:500;width:100%;font-size:1rem}.q-number{font-family:'Barlow Condensed',sans-serif;color:var(--rust);font-size:.95rem;margin-right:12px}.required{color:var(--rust)}input[type=text],input[type=number],input[type=email],textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf8;padding:14px;color:var(--ink);min-height:50px}textarea{resize:vertical;line-height:1.5}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid var(--line);background:transparent;cursor:pointer;line-height:1.5;max-width:100%;flex:1 1 210px}.choice:has(input:checked){background:var(--rust);color:white;border-color:var(--rust)}.choice:has(input:focus-visible){outline:3px solid #d48b32;outline-offset:3px}.choice input{accent-color:var(--rust);width:17px;height:17px;flex-shrink:0;margin:3px 0 0}.choice:has(input:checked) input{accent-color:white}.scale{flex-wrap:nowrap}.scale .choice{justify-content:center;align-items:center;flex:1 1 0;padding:12px 4px;min-height:50px}.scale .choice input{position:absolute;opacity:0;width:1px;height:1px}.scale-labels{display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted);margin-top:12px}.scale-labels span{max-width:45%}.scale-labels span:last-child{text-align:right}.clear{padding:8px 0;background:none;border:0;text-decoration:underline;font-size:.85rem;color:var(--muted)}.other-label{width:100%;font-size:.9rem;line-height:2}.actions{display:flex;justify-content:flex-end;gap:12px;padding:8px 0 32px}.actions button{border:1px solid var(--rust);padding:15px 28px;min-height:54px;background:var(--rust);color:white;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:1.15rem;letter-spacing:.08em}.actions button:hover{background:var(--rust-dark)}.actions .secondary{margin-right:auto;background:transparent;color:var(--rust)}.actions .secondary:hover{background:#e9dfd3}.form-footer{border-top:1px solid var(--line);padding-top:22px;font-family:'Barlow Condensed',sans-serif;font-size:.875rem;letter-spacing:.1em;color:var(--muted)}#error{border-left:3px solid var(--rust);padding:12px;color:var(--rust)}.review-item{padding:18px 0;border-bottom:1px solid var(--line)}.review-item dt{font-weight:600;font-size:.9rem;line-height:1.6}.review-item dd{margin:7px 0 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.review-edit{border:0;background:none;color:var(--rust);text-decoration:underline;padding:10px 0}.submission-note{line-height:1.65;font-size:.9rem;color:var(--muted);margin:28px 0}.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}@media(min-width:1500px){main{max-width:1800px;margin:auto}}@media(max-width:900px){main{grid-template-columns:32% 68%}.intro{padding:30px 22px}h1{font-size:4.5rem}.intro-heading{font-size:2rem}.form-wrap{padding:30px 28px}}@media(max-width:680px){header{height:68px}.wordmark{font-size:1.5rem}main{display:block}.intro{position:static;min-height:0;padding:28px 24px;gap:8px}.intro h1{font-size:4.8rem;line-height:.88;margin:22px 0}.intro h1 br{display:none}.intro h1 span{margin-left:12px}.intro .intro-heading{font-size:1.7rem}.intro p:not(.eyebrow):not(.intro-heading){font-size:.9rem;max-width:none}.intro .eyebrow{margin-bottom:14px}.intro-bottom{display:none}.form-wrap{padding:26px 22px}.progress{gap:6px;font-size:.7rem}.required-note{margin-bottom:30px}.choice{flex-basis:100%}h2{font-size:3.5rem}.actions button{padding:15px 20px}}
/* Enter Good Times moodboard: paper, olive, editorial serif, natural photography. */
:root{--ink:#39372d;--rust:#505b43;--rust-dark:#394331;--paper:#f1eee5;--muted:#626454;--line:#c7c5b7;--display:'Cormorant Garamond',Georgia,serif}
header{height:88px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding-inline:clamp(24px,4vw,64px)}
.wordmark{font-family:var(--display);font-size:1.8rem;font-weight:500;letter-spacing:-.055em;line-height:.83}
.home-link{font-size:.875rem;text-decoration:none;border-bottom:1px solid var(--line);padding-block:7px}
main{grid-template-columns:38% 62%;max-width:1680px;margin:auto}
.intro{background:#e2e3d6;color:var(--ink);min-height:calc(100svh - 88px);padding:38px clamp(28px,4vw,64px);border-right:1px solid var(--line);gap:24px}
.eyebrow{font-family:'DM Sans',Arial,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.15em;line-height:1.6}
h1,h2,.intro-heading{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:-.045em}
h1{font-size:clamp(4.7rem,7.7vw,8rem);line-height:.84;margin:30px 0}
h1 span{color:#657054;font-style:italic;display:inline-block;padding-right:.1em}
.intro-heading{font-size:clamp(1.8rem,2.8vw,2.7rem);line-height:1.05;letter-spacing:-.025em;margin-bottom:20px}
.intro p:not(.eyebrow):not(.intro-heading){font-size:.9rem;line-height:1.75;max-width:380px}
.journey-photo{margin:24px 0 0;border-top:1px solid #b8bbaa;padding-top:17px}
.journey-photo img{display:block;width:100%;height:180px;object-fit:cover;object-position:center 65%;filter:saturate(.65) contrast(.95)}
.intro-bottom{border-top:1px solid #b8bbaa;padding-top:18px}
.tag{border:0;padding:0;font-family:'DM Sans',Arial,sans-serif;font-size:.75rem;letter-spacing:.12em}
.intro-bottom p{margin-bottom:0}
.form-wrap{padding:36px clamp(26px,4.5vw,72px) 28px}
.progress{font-size:.75rem;gap:8px}
.progress b{font:italic 1.5rem var(--display)}
.progress [aria-current]{color:var(--rust);font-weight:600}
.progress-track{height:1px;margin:17px 0}
#progress-fill{height:2px;transform:translateY(-1px)}
.required-note{font-size:.8rem;margin-bottom:40px}
h2{font-size:clamp(3.5rem,5.4vw,5.6rem);line-height:.94;margin-bottom:16px}
.step>.eyebrow{font-size:.75rem;letter-spacing:.14em;margin-bottom:15px}
.subtitle{font-size:1rem;margin-bottom:40px}
.question{border-bottom:0;padding-bottom:12px;margin-bottom:25px}
.question legend{font-size:1rem;font-weight:400;line-height:1.6;margin-bottom:10px}
.q-number{font:italic 1.15rem var(--display);color:#687058;margin-right:14px}
input[type=text],input[type=number],input[type=email],textarea{background:#f7f5ef;border:0;border-bottom:1px solid #aeb19e;padding:13px 14px;transition:background .15s,border-color .15s}
input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,textarea:focus{background:#fffdf8;border-color:var(--rust)}
.choices{gap:9px}
.choice{background:#e9e8df;border:1px solid #d0d1c3;padding:13px 15px;transition:background .15s,border-color .15s}
.choice:hover{background:#dedfd1;border-color:#949c83}
.choice:has(input:checked){background:#505b43;border-color:#505b43;color:#fffdf5}
.choice input{accent-color:#505b43}
.scale .choice{background:transparent;font-family:var(--display);font-size:1.5rem}
.scale .choice:has(input:checked){background:#505b43;color:#fffdf5}
.actions{border-top:1px solid var(--line);padding-top:24px;margin-top:10px}
.actions button{font-family:'DM Sans',Arial,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.13em;padding:17px 30px;min-height:52px;background:#505b43;border-color:#505b43;color:#fffdf5}
.actions .secondary{border-color:#b4b7a5;color:#505b43}
.actions .secondary:hover{background:#e2e3d6}
.form-footer{font-family:'DM Sans',Arial,sans-serif;font-size:.75rem;letter-spacing:.12em}
.review-item dt{font-weight:500}.review-item dd{color:#555a49}
:focus-visible,.choice:has(input:focus-visible){outline-color:#737e55}
@media(max-width:1000px) and (min-width:681px){main{grid-template-columns:34% 66%}.intro{padding:32px 24px}h1{font-size:4.5rem}.intro-heading{font-size:2rem}.journey-photo img{height:150px}.form-wrap{padding:32px 28px}.progress{font-size:.7rem}}
@media(max-width:680px){header{height:76px;padding-inline:24px}.wordmark{font-size:1.65rem}main{display:block}.intro{position:static;min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:25px 24px}.intro h1{font-size:clamp(3.4rem,11.5vw,4.8rem);line-height:1;margin:18px 0}.intro h1 br{display:none}.intro h1 span{margin-left:12px}.intro .intro-heading{font-size:1.8rem}.intro p:not(.eyebrow):not(.intro-heading){font-size:.9rem}.journey-photo,.intro-bottom{display:none}.form-wrap{padding:26px 22px}.progress{font-size:.7rem}.progress b{font-size:1.4rem}.required-note{margin-bottom:30px}h2{font-size:3.7rem}.choice{flex-basis:100%}.actions button{padding:16px 22px}}
@media(prefers-reduced-motion:reduce){input,textarea,.choice{transition:none}}
.journey-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:26px;padding-top:18px;border-top:1px solid #b8bbaa}
.journey-photos figure{margin:0;min-width:0}.journey-photos .photo-wide{grid-column:1/-1}
.journey-photos img{display:block;width:100%;height:116px;object-fit:cover;filter:saturate(.7) contrast(.96)}
.journey-photos .photo-wide img{height:178px;object-position:center 65%}
.journey-photos figcaption{font:italic 1rem/1.3 var(--display);color:#555e48;margin-top:7px}
.intro{position:static}
@media(max-width:680px){.journey-photos{grid-template-columns:1.3fr 1fr 1fr;gap:9px;margin-top:22px;padding-top:15px}.journey-photos .photo-wide{grid-column:auto}.journey-photos img,.journey-photos .photo-wide img{height:100px}.journey-photos figcaption{font-size:.875rem}}
.intro-heading em{font-weight:400;color:#59664a}
.intro p strong{font-weight:600;color:#424e35}

/* Compact application typography. */
.question legend,.choice,.other-label{font-size:.875rem}
.question input[type=text],.question input[type=number],.question input[type=email],.question textarea{font-size:.875rem}
.q-number{font-size:1rem}
@media(max-width:680px){.question input[type=text],.question input[type=number],.question input[type=email],.question textarea{font-size:1rem}}

/* Smaller headings and application copy. */
.form-wrap h2{font-size:clamp(2.5rem,3.7vw,3.6rem)}
.form-wrap .subtitle{font-size:.875rem}
.question legend,.choice,.other-label{font-size:.8125rem}
.question input[type=text],.question input[type=number],.question input[type=email],.question textarea{font-size:.8125rem}
.form-wrap .hint,.submission-note,.review-item dt,.review-item dd{font-size:.8125rem}
@media(max-width:680px){.form-wrap h2{font-size:2.7rem}.question input[type=text],.question input[type=number],.question input[type=email],.question textarea{font-size:1rem}}

/* More compact answer boxes. */
.question input[type=text],.question input[type=number],.question input[type=email]{min-height:38px;padding:9px 11px}
.question textarea{min-height:76px;height:76px;padding:9px 11px;line-height:1.5}
