/* Production adaptations of the Catapult source design. */
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--olive);outline-offset:5px}[hidden]{display:none!important}.hero__title em{color:var(--linen)}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:var(--linen);padding:10px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.travel-journal{padding:5rem 0 0;background:var(--linen)}.journal-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.journal-heading h2{font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1.3}.journal-heading>a{font-size:.8rem;text-decoration:underline;text-underline-offset:5px}.journal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.journal-grid img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.8rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #583b1f25;padding-top:1.5rem;margin-top:2rem;font-size:.65rem;letter-spacing:.08em;color:var(--text-secondary)}.contact-alternative{margin-top:2rem!important;font-size:.85rem!important}.contact-alternative a{text-decoration:underline;text-underline-offset:4px}.contact-service-option:focus-visible{outline-offset:0}.discovery-progress progress{width:120px;height:4px;accent-color:var(--olive);border:0;background:#583b1f22}.discovery-progress progress::-webkit-progress-bar{background:#583b1f22}.discovery-progress progress::-webkit-progress-value{background:var(--olive)}fieldset{border:0;min-width:0;margin:2rem 0}fieldset legend{font-family:var(--ff-display);font-size:clamp(2rem,4vw,3.8rem);line-height:1.14;letter-spacing:-.04em;margin-bottom:1.2rem;width:100%}fieldset legend:focus{outline:none}.form-field{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0;font-size:.85rem}.form-field input,.form-field textarea{border:0;border-bottom:1px solid #583b1f55;border-radius:0;background:#ffffff36;color:var(--espresso-deep);padding:.8rem;width:100%;min-width:0}.form-field textarea{resize:vertical}.choice{display:flex;align-items:center;gap:1rem;border:1px solid #583b1f35;padding:1rem;cursor:pointer}.choice>span:last-child{margin-left:auto}.choice:has(input:checked){background:#7e7b4620;border-color:var(--olive)}.choice input{accent-color:var(--olive);width:17px;height:17px;flex-shrink:0}.consent{display:flex;align-items:start;gap:.75rem;font-size:.8rem;margin-top:1.5rem;line-height:1.6}.consent input{width:18px;height:18px;margin-top:4px;accent-color:var(--olive);flex-shrink:0}.consent a{text-decoration:underline}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0}.form-actions>.btn:last-child{margin-left:auto}.text-button{border:0;background:none;color:var(--espresso);text-decoration:underline;text-underline-offset:4px;font-size:.85rem;padding:.7rem 0}#form-status{font-size:.9rem;color:#71371c}.reference{font-size:.8rem;margin-block:1rem}.discovery-complete p{margin:1.2rem 0}.text-page,.admin-page{padding-top:10rem;padding-bottom:6rem}.text-page{max-width:850px}.text-page h1,.admin-page h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1.2;margin-bottom:2rem}.text-page h2{font-size:1.8rem;font-weight:400;margin-top:2rem}.text-page p{margin:1rem 0}.text-page a{text-decoration:underline}#admin-login{max-width:400px;margin-block:2rem}.admin-toolbar{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;margin:2rem 0}.admin-toolbar select,.inquiry-card select{padding:.4rem;border:1px solid #583b1f44;background:var(--linen)}.inquiry-card{background:#f5f2ed;border:1px solid #583b1f22;padding:2rem;margin-bottom:1.5rem}.inquiry-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.inquiry-heading h2{font-size:1.8rem;font-weight:400}.status-badge{font-size:.75rem;background:#7e7b4622;padding:.2rem .7rem}.inquiry-date{font-size:.75rem;color:var(--text-secondary)}.inquiry-card dl{display:grid;grid-template-columns:150px 1fr;gap:.5rem 1rem;margin:1.5rem 0;font-size:.85rem}.inquiry-card dt{font-weight:600}.inquiry-card dd{overflow-wrap:anywhere;white-space:pre-wrap}.inquiry-card a{text-decoration:underline}.admin-page #admin-status{margin:1rem 0}.inbox-empty{padding:3rem;border:1px solid #583b1f25}.btn{min-height:44px}.nav__logo{white-space:nowrap}html{scroll-padding-top:100px}
@media(max-width:650px){.journal-heading{display:block}.journal-heading>a{display:inline-block;margin-top:1rem}.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-grid img:nth-child(n+4){display:none}.footer-bottom{flex-direction:column;gap:.75rem}.discovery-question__nav{flex-direction:column;align-items:start;gap:1rem}.inquiry-card{padding:1rem}.inquiry-card dl{grid-template-columns:1fr}.inquiry-card dd{margin-bottom:.75rem}.inquiry-heading{align-items:start;flex-direction:column}.discovery-contact__row{grid-template-columns:1fr}.footer-links{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* Progressive enhancement: server content is visible until effects initialize. */
html:not(.motion-ready) .reveal{opacity:1;transform:none}
html:not(.motion-ready) .about__image{opacity:1;filter:none}

/* Preserve native form semantics while matching the reference conversation. */
.discovery-progress progress{width:100%;height:1px}
.question-step{margin:0;border:0;padding:0}
.question-step legend{max-width:15ch;margin-bottom:1.25rem;color:var(--espresso);font-size:clamp(2.8rem,6vw,5.25rem);font-weight:400;line-height:.98;letter-spacing:normal}
.form-actions{justify-content:flex-start;margin:2rem 0 0}
.form-actions>.btn:last-child{margin-left:0}
.form-actions:has(>button[hidden]):not(:has(>button:not([hidden]))){display:none}
.inquiry-enhanced .choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice:has(input:focus-visible){outline:2px solid var(--olive);outline-offset:3px}
.choice{font-size:1rem}
.form-field input,.form-field textarea{background:transparent;padding:.65rem 0}
.question-step[data-step="0"] .form-field{margin-top:2.5rem}
.question-step[data-step="0"] .form-field input{min-height:4rem;font-family:var(--ff-display);font-size:clamp(1.35rem,3vw,2rem)}
.question-step[data-step="4"] .form-field{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.question-step[data-step="4"] input,.question-step[data-step="4"] textarea{font-size:1rem;letter-spacing:0;text-transform:none}
@media(prefers-reduced-motion:reduce){.about__image{opacity:1;filter:none}}

.inquiry-enhanced:has(.question-step[data-step="0"]:not([hidden])){display:grid;grid-template-columns:1fr auto;column-gap:1rem;align-items:end}
.inquiry-enhanced:has(.question-step[data-step="0"]:not([hidden])) .form-actions{grid-column:2;grid-row:1;margin-bottom:1rem}
.inquiry-enhanced:has(.question-step[data-step="0"]:not([hidden])) #form-status{grid-column:1 / -1}
@media(max-width:600px){.inquiry-enhanced:has(.question-step[data-step="0"]:not([hidden])){display:block}}

.about__content p.about__personal-note{color:var(--olive);font-weight:700;font-style:italic}

/* Keep the homepage headline and action comfortably inset at every width. */
.home .hero{padding-inline:clamp(2.5rem,6vw,5rem)}
.home .hero__content{width:100%;max-width:1120px;padding-inline:0;min-width:0}
.home .hero__title{max-width:100%;overflow-wrap:break-word}
