/* Local draft refinements. The original fox photograph remains untouched. */
.hero { padding: clamp(28px, 4vw, 52px) 0; align-items: center; }
.hero h1 { font-size: clamp(3rem, 5.7vw, 5.6rem); }
.hero-visual img { display: block; width: 100%; height: clamp(300px, 31vw, 390px); aspect-ratio: auto; object-fit: cover; object-position: left center; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(270px, .6fr); gap: clamp(24px, 4vw, 52px); margin: 0 auto 90px; align-items: start; }
.contact-form { padding: clamp(22px, 3vw, 38px); border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.contact-form h2 { font: 700 clamp(1.8rem, 3vw, 2.4rem)/1.2 Georgia, 'Times New Roman', serif; margin: 0 0 10px; }
.contact-form p { color: var(--soft); line-height: 1.6; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: flex; flex-direction: column; gap: 7px; margin: 17px 0; }
.field label, .choices legend { color: var(--text); font-weight: 800; }
.field input, .field textarea { width: 100%; border: 1px solid #58735b; border-radius: 5px; padding: 13px 14px; background: #061006; color: var(--text); font: inherit; }
.field input:focus, .field textarea:focus { outline: 2px solid var(--green); outline-offset: 2px; }
.field textarea { min-height: 150px; resize: vertical; }
.choices { border: 0; padding: 0; margin: 22px 0; }
.choices legend { margin-bottom: 11px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.choice-grid label { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 5px; background: #061006; cursor: pointer; }
.choice-grid label:has(input:checked) { border-color: var(--green); }
.choice-grid input { width: 18px; height: 18px; accent-color: var(--green); }
.form-note { font-size: .88rem; }
.contact-form .button:disabled { opacity: .66; cursor: not-allowed; }
@media (max-width: 800px) { .hero-visual img { height: 360px; } .contact-layout { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .hero-visual img { height: 280px; } .form-grid, .choice-grid { grid-template-columns: 1fr; } }

.ad-list { color: var(--soft); line-height: 1.9; padding-left: 1.3rem; }
.ad-teaser { padding-bottom: 75px; }


.story-callout { align-self: start; }

.hero-photo-frame { position: relative; height: clamp(300px, 31vw, 390px); overflow: hidden; border-radius: 7px; background: #122315; }
.hero-visual .hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease; }
.hero-visual .hero-photo.is-active { opacity: 1; visibility: visible; }
.hero-visual .hero-photo--portrait { object-fit: contain; object-position: center; }
.visual-caption { gap: 14px; }
.visual-caption-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.visual-caption-copy strong { white-space: nowrap; }
.carousel-controls { display: flex; gap: 5px; flex: none; }
.carousel-controls button { width: 32px; height: 32px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: #102113; color: var(--text); font: 700 1.25rem/1 Arial, sans-serif; cursor: pointer; }
.carousel-controls button:hover { border-color: var(--green); color: var(--green); }
.carousel-controls button:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
@media (max-width: 800px) { .hero-photo-frame { height: 360px; } }
@media (max-width: 560px) { .hero-photo-frame { height: 280px; } }
@media (prefers-reduced-motion: reduce) { .hero-visual .hero-photo { transition: none; } }
