.welcome-page { margin: 0; color: var(--ui-text); background: #fffdf4; font: 400 16px/1.6 var(--ui-font); -webkit-font-smoothing: antialiased; }
.welcome-page *, .welcome-page *::before, .welcome-page *::after { box-sizing: border-box; }
.welcome-page a { color: inherit; text-underline-offset: 5px; }
.welcome-page a:hover { text-decoration-thickness: 2px; }
.welcome-page :focus-visible { outline: 3px solid var(--ui-focus); outline-offset: 5px; }
.welcome-page h1, .welcome-page h2, .welcome-page h3, .welcome-page p, .welcome-page figure { margin: 0; }
.welcome-page h1, .welcome-page h2, .welcome-page h3 { text-wrap: balance; }
.welcome-page [id] { scroll-margin-top: 24px; }
.welcome-page [hidden] { display: none !important; }
.welcome-container { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.welcome-skip { position: absolute; top: 8px; left: 12px; z-index: 10; padding: 12px 20px; background: var(--ui-surface); border: 2px solid var(--ui-text); transform: translateY(-180%); }
.welcome-skip:focus { transform: translateY(0); }
.welcome-utility { background: var(--ui-brand-dark); color: var(--ui-surface); font-size: 12px; }
.welcome-utility .welcome-container { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.welcome-utility a { text-decoration: none; padding-block: 10px; }
.welcome-utility a:hover { text-decoration: underline; }
.welcome-utility :focus-visible, .welcome-feature-resource :focus-visible, .welcome-office :focus-visible, .welcome-system :focus-visible { outline-color: var(--ui-focus-inverse); }
.welcome-header { border-bottom: 2px solid var(--ui-text); background: var(--ui-surface); }
.welcome-nav-wrap { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.welcome-brand { display: inline-flex; align-items: center; gap: 16px; text-decoration: none; flex-shrink: 0; }
.welcome-brand-name { font-size: 12px; line-height: 1.4; border-left: 2px solid var(--ui-text); padding-left: 16px; }
#welcome-navigation { display: flex; align-items: center; gap: 24px; font-size: 14px; font-weight: 700; }
#welcome-navigation > a { text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
#welcome-navigation > a:not(.welcome-button):hover { text-decoration: underline; }
#welcome-navigation > a:not(.welcome-button) { position: relative; }
#welcome-navigation > a:not(.welcome-button)::after { content: ''; position: absolute; bottom: 3px; inset-inline: 0; height: 3px; background: var(--ui-primary); transform: scaleX(0); transform-origin: left; }
#welcome-navigation > a[aria-current="location"]::after, #welcome-navigation > a:not(.welcome-button):focus-visible::after { transform: scaleX(1); }
.welcome-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 52px; padding: 12px 20px; border: 2px solid var(--ui-text); background: var(--ui-primary); color: var(--ui-surface) !important; font: 700 15px/1.4 var(--ui-font); text-decoration: none; box-shadow: 4px 4px 0 var(--ui-text); }
.welcome-button:hover { background: var(--ui-primary-hover); box-shadow: 2px 2px 0 var(--ui-text); }
.welcome-button:active { box-shadow: none; }
.welcome-button span { font-size: 22px; line-height: 1; }
.welcome-button-secondary { background: var(--ui-surface); color: var(--ui-text) !important; }
.welcome-button-secondary:hover { background: var(--ui-accent-soft); }
.welcome-menu { border: 2px solid var(--ui-text); background: var(--ui-accent); color: var(--ui-text); min-height: 44px; padding: 8px 16px; font: 700 14px var(--ui-font); }
.welcome-hero { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 64px; padding-block: 60px 52px; }
.welcome-hero-copy { min-width: 0; padding-block: 12px; }
.welcome-kicker { display: flex; gap: 12px; align-items: center; width: fit-content; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--ui-primary); margin-bottom: 24px !important; }
.welcome-kicker::before { content: ''; width: 28px; height: 3px; background: var(--ui-primary); flex-shrink: 0; }
.welcome-hero h1 { font-size: clamp(42px, 4.7vw, 68px); line-height: 1.12; letter-spacing: -2.4px; max-width: 560px; }
.welcome-title-line { display: block; }
.welcome-title-highlight { position: relative; display: inline-block; isolation: isolate; }
.welcome-title-highlight::before { content: ''; position: absolute; z-index: -1; inset-inline: -3px; bottom: .06em; height: .3em; background: var(--ui-accent); transform: rotate(-1deg); }
.welcome-hero-intro { max-width: 440px; margin-top: 24px !important; font-size: 17px; line-height: 1.65; }
.welcome-hero-actions { display: flex; align-items: stretch; gap: 16px; flex-wrap: wrap; margin-top: 28px; max-width: 480px; }
.welcome-hero-actions .welcome-button { flex: 1 1 180px; padding-inline: 16px; gap: 12px; justify-content: space-between; }
.welcome-hero-help { display: flex; align-items: flex-start; gap: 12px; max-width: 440px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--ui-control-border); }
.welcome-help-symbol { display: grid; place-items: center; flex: 0 0 22px; height: 22px; border: 1px solid var(--ui-text); background: var(--ui-accent-soft); font-size: 13px; font-weight: 700; }
.welcome-hero-note { margin: 0; font-size: 13px; line-height: 1.6; color: var(--ui-text-muted); }
.welcome-hero-note strong { color: var(--ui-text); }
/* Only the photograph frames are tilted. Navigation and slideshow controls stay level. */
.welcome-gallery { position: relative; min-width: 0; }
.welcome-collage { position: relative; padding: 28px 12px 12px; }
.welcome-collage-label { position: absolute; top: -2px; left: 0; z-index: 2; border: 2px solid var(--ui-text); background: var(--ui-accent); padding: 8px 16px; font-size: 13px; font-weight: 700; transform: rotate(-4deg); }
.welcome-scene { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(12, minmax(0, 1fr)); gap: 14px; height: clamp(420px, 43vw, 530px); }
.welcome-page .welcome-collage-photo { min-width: 0; min-height: 0; display: flex; flex-direction: column; padding: 6px; border: 2px solid var(--ui-text); background: var(--ui-surface); box-shadow: 4px 4px 0 var(--ui-text); transform: rotate(var(--photo-angle, -1deg)); }
.welcome-collage-photo-1 { --photo-angle: -1.5deg; }
.welcome-page .welcome-collage-photo-2 { --photo-angle: 3deg; background: var(--ui-accent-soft); }
.welcome-collage-photo-3 { --photo-angle: -3deg; }
.welcome-collage-photo-4 { --photo-angle: 2deg; }
.welcome-scene-media { position: relative; flex: 1; min-height: 0; background: var(--ui-primary-soft); overflow: hidden; border: 1px solid var(--ui-text); }
.welcome-scene-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.welcome-scene-fallback { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; padding: 8px; color: var(--ui-primary); font-size: 12px; line-height: 1.4; }
.welcome-collage-photo figcaption { flex-shrink: 0; padding: 8px 3px 3px; font-size: 12px; line-height: 1.35; }
.welcome-collage-photo figcaption > span { display: block; font-weight: 700; }
.welcome-collage-photo figcaption small { display: none; }
.welcome-collage-photo-1 figcaption { font-size: 14px; }
.welcome-collage-photo-1 figcaption small { display: block; margin-top: 4px; color: var(--ui-text-muted); font-size: 12px; }
/* Five distinct compositions share the same canvas, so playback never shifts the page. */
.welcome-scene-harvest .welcome-collage-photo-1 { grid-area: 1 / 1 / 8 / 9; }
.welcome-scene-harvest .welcome-collage-photo-2 { grid-area: 1 / 9 / 8 / 13; }
.welcome-scene-harvest .welcome-collage-photo-3 { grid-area: 8 / 1 / 13 / 6; }
.welcome-scene-harvest .welcome-collage-photo-4 { grid-area: 8 / 6 / 13 / 13; }
.welcome-scene-growers .welcome-collage-photo-1 { grid-area: 1 / 1 / 13 / 8; --photo-angle: 1deg; }
.welcome-scene-growers .welcome-collage-photo-2 { grid-area: 1 / 8 / 5 / 13; --photo-angle: -3deg; }
.welcome-scene-growers .welcome-collage-photo-3 { grid-area: 5 / 8 / 9 / 13; --photo-angle: 2deg; }
.welcome-scene-growers .welcome-collage-photo-4 { grid-area: 9 / 8 / 13 / 13; --photo-angle: -2deg; }
.welcome-scene-coast .welcome-collage-photo-1 { grid-area: 6 / 1 / 13 / 13; --photo-angle: 1deg; }
.welcome-scene-coast .welcome-collage-photo-2 { grid-area: 1 / 1 / 6 / 5; --photo-angle: -3deg; }
.welcome-scene-coast .welcome-collage-photo-3 { grid-area: 1 / 5 / 6 / 9; --photo-angle: 1deg; }
.welcome-scene-coast .welcome-collage-photo-4 { grid-area: 1 / 9 / 6 / 13; --photo-angle: 3deg; }
.welcome-scene-orchard .welcome-collage-photo-1 { grid-area: 1 / 6 / 13 / 13; --photo-angle: -1deg; }
.welcome-scene-orchard .welcome-collage-photo-2 { grid-area: 1 / 1 / 5 / 6; --photo-angle: 2deg; }
.welcome-scene-orchard .welcome-collage-photo-3 { grid-area: 5 / 1 / 9 / 6; --photo-angle: -3deg; }
.welcome-scene-orchard .welcome-collage-photo-4 { grid-area: 9 / 1 / 13 / 6; --photo-angle: 1deg; }
.welcome-scene-farm .welcome-collage-photo-1 { grid-area: 1 / 1 / 8 / 8; --photo-angle: 2deg; }
.welcome-scene-farm .welcome-collage-photo-2 { grid-area: 1 / 8 / 6 / 13; --photo-angle: -2deg; }
.welcome-scene-farm .welcome-collage-photo-3 { grid-area: 8 / 1 / 13 / 8; --photo-angle: -2deg; }
.welcome-scene-farm .welcome-collage-photo-4 { grid-area: 6 / 8 / 13 / 13; --photo-angle: 3deg; }
.welcome-gallery-controls { position: absolute; top: 50%; inset-inline: -36px; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.welcome-gallery-arrow { display: grid; place-items: center; width: 44px; height: 48px; padding: 0; border: 0; border-radius: var(--ui-radius-control); color: var(--ui-primary); background: transparent; cursor: pointer; pointer-events: auto; }
.welcome-gallery-arrow:hover { background: var(--ui-accent-soft); color: var(--ui-primary-hover); }
.welcome-gallery-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.welcome-season { background: var(--ui-accent); border-block: 2px solid var(--ui-text); }
.welcome-season-inner { display: grid; grid-template-columns: 1.1fr 1fr auto; gap: 48px; padding-block: 24px; align-items: center; }
.welcome-season-label { font-size: 12px; font-weight: 700; }
.welcome-season-inner > div > p { font-size: 21px; line-height: 1.3; font-weight: 700; margin-top: 6px; }
.welcome-season-inner > p { font-size: 14px; }
.welcome-text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; gap: 12px; }
.welcome-section { padding-block: 72px; }
.welcome-section-heading { display: flex; justify-content: space-between; gap: 48px; align-items: flex-end; margin-bottom: 36px; }
.welcome-section-label { display: flex; align-items: center; gap: 12px; color: var(--ui-primary); font-size: 13px; font-weight: 700; margin-bottom: 20px !important; }
.welcome-section-number { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 2px solid var(--ui-text); color: var(--ui-text); background: var(--ui-accent); font-size: 12px; }
.welcome-page h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; letter-spacing: -1px; font-weight: 700; }
.welcome-section-heading > p { max-width: 365px; font-size: 15px; color: var(--ui-text-muted); }
.welcome-service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.welcome-service { border: 2px solid var(--ui-text); background: var(--ui-surface); }
.welcome-service summary { cursor: pointer; display: flex; align-items: center; gap: 20px; list-style: none; padding: 20px; min-height: 132px; }
.welcome-service summary::-webkit-details-marker { display: none; }
.welcome-service summary:hover { background: var(--ui-accent-soft); }
.welcome-service[open] { box-shadow: 5px 5px 0 var(--ui-text); }
.welcome-service[open] summary { border-bottom: 2px solid var(--ui-text); background: var(--ui-accent-soft); }
.welcome-service-photo { display: block; width: 88px; height: 88px; object-fit: cover; border: 1px solid var(--ui-text); flex-shrink: 0; background: var(--ui-primary-soft); }
.welcome-service summary strong { display: block; font-size: 18px; line-height: 1.3; }
.welcome-service summary small { display: block; font-size: 13px; font-weight: 400; color: var(--ui-text-muted); margin-top: 6px; }
.welcome-plus { position: relative; width: 30px; height: 30px; flex-shrink: 0; margin-left: auto; border: 2px solid var(--ui-text); background: var(--ui-accent); }
.welcome-plus::before, .welcome-plus::after { position: absolute; content: ''; background: var(--ui-text); height: 2px; width: 12px; top: 12px; left: 7px; }
.welcome-plus::after { transform: rotate(90deg); }
.welcome-service[open] .welcome-plus::after { transform: rotate(0deg); }
.welcome-service-body { padding: 24px; font-size: 15px; }
.welcome-service-body p + p { margin-top: 12px; }
.welcome-service-body a { color: var(--ui-primary); display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; margin-top: 8px; }
.welcome-service-footnote { font-size: 14px; color: var(--ui-text-muted); margin-top: 24px !important; }
.welcome-system { background: var(--ui-brand-dark); color: var(--ui-surface); border-block: 2px solid var(--ui-text); }
.welcome-system-layout { display: grid; grid-template-columns: .85fr 1.35fr; gap: 64px; align-items: center; }
.welcome-system-intro { min-width: 0; }
.welcome-system .welcome-section-label { color: var(--ui-accent); }
.welcome-system h2 { max-width: 460px; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.12; text-wrap: initial; }
.welcome-system h2 > span { color: var(--ui-accent); }
.welcome-system-copy > p:first-child { margin-top: 24px; font-size: 16px; max-width: 390px; }
.welcome-system .welcome-system-entry { margin-top: 28px; background: var(--ui-accent); color: var(--ui-on-accent) !important; box-shadow: 4px 4px 0 var(--ui-surface); }
.welcome-system .welcome-system-entry:hover { background: var(--ui-accent-hover); }
.welcome-system-copy .welcome-system-note { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--ui-control-border); font-size: 13px; max-width: 350px; color: #e0eae3; }
.welcome-toolkit { min-width: 0; color: var(--ui-text); background: var(--ui-surface); border: 2px solid var(--ui-text); box-shadow: 8px 8px 0 var(--ui-accent); }
.welcome-toolkit-heading { padding: 24px; background: var(--ui-accent-soft); border-bottom: 2px solid var(--ui-text); }
.welcome-toolkit-heading h3 { font-size: 20px; line-height: 1.3; }
.welcome-toolkit-heading p { margin-top: 6px; color: var(--ui-text-muted); font-size: 14px; }
.welcome-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.welcome-tool { min-width: 0; border-bottom: 1px solid var(--ui-control-border); }
.welcome-tool:nth-child(odd) { border-right: 1px solid var(--ui-control-border); }
.welcome-tool:nth-last-child(-n+2) { border-bottom: 0; }
.welcome-tool summary { display: grid; grid-template-columns: 1fr 28px; column-gap: 12px; row-gap: 12px; align-content: start; cursor: pointer; list-style: none; min-height: 148px; padding: 20px; }
.welcome-tool summary::-webkit-details-marker { display: none; }
.welcome-tool-number { color: var(--ui-primary); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.welcome-tool summary > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.welcome-tool summary strong { display: block; font-size: 17px; line-height: 1.35; }
.welcome-tool summary small { display: block; margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--ui-text-muted); }
.welcome-tool .welcome-plus { grid-column: 2; grid-row: 1; width: 28px; height: 28px; background: var(--ui-surface); }
.welcome-tool .welcome-plus::before, .welcome-tool .welcome-plus::after { top: 11px; left: 6px; }
.welcome-tool summary:hover, .welcome-tool[open] { background: var(--ui-accent-soft); }
.welcome-tool[open] .welcome-plus { background: var(--ui-accent); }
.welcome-tool[open] .welcome-plus::after { transform: rotate(0deg); }
.welcome-tool summary:focus-visible { position: relative; z-index: 1; outline-color: var(--ui-focus); outline-offset: -5px; }
.welcome-tool-body { margin-inline: 20px; padding-block: 16px 20px; border-top: 1px solid var(--ui-control-border); font-size: 14px; line-height: 1.65; }
.welcome-initiatives { background: var(--ui-surface); border-bottom: 2px solid var(--ui-text); }
.welcome-da-identity { display: flex; align-items: center; gap: 16px; width: fit-content; text-decoration: none; margin-bottom: 32px; }
.welcome-da-identity img { width: 80px; height: 80px; object-fit: contain; }
.welcome-da-identity > span { display: grid; gap: 2px; }
.welcome-da-identity small { color: var(--ui-text-muted); font-size: 12px; }
.welcome-da-identity strong { font-size: 19px; line-height: 1.4; }
.welcome-da-identity > span > span { color: var(--ui-primary); font-size: 13px; text-decoration: underline; }
.welcome-resource-layout { display: grid; grid-template-columns: .85fr 1.35fr; gap: 64px; align-items: start; }
.welcome-feature-resource { background: var(--ui-brand-dark); color: var(--ui-surface); padding: 32px; border: 2px solid var(--ui-text); box-shadow: 8px 8px 0 var(--ui-accent); }
.welcome-resource-source { display: block; color: var(--ui-text-muted); font-size: 12px; font-weight: 500; margin-bottom: 8px; }
.welcome-feature-resource .welcome-resource-source { color: var(--ui-accent); margin-bottom: 24px; }
.welcome-feature-resource h3 { font-size: 32px; line-height: 1.2; letter-spacing: -.6px; margin-bottom: 24px; }
.welcome-feature-resource p { font-size: 15px; margin-top: 16px; }
.welcome-resource-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; color: var(--ui-accent) !important; font-size: 15px; font-weight: 700; margin-top: 28px; }
.welcome-resource-list article { padding: 20px 0; border-top: 2px solid var(--ui-text); }
.welcome-resource-list article:first-child { padding-top: 0; border-top: 0; }
.welcome-resource-list article:last-child { padding-bottom: 0; }
.welcome-resource-list h3 { font-size: 20px; line-height: 1.4; }
.welcome-resource-list h3 a { display: flex; gap: 16px; justify-content: space-between; text-decoration: none; min-height: 44px; align-items: center; }
.welcome-resource-list h3 a:hover { text-decoration: underline; }
.welcome-resource-list h3 a span { color: var(--ui-primary); }
.welcome-resource-list p { color: var(--ui-text-muted); font-size: 14px; max-width: 520px; }
.welcome-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.welcome-visit > div > p:not(.welcome-section-label) { margin-top: 24px; max-width: 480px; }
.welcome-visit-note { font-size: 14px; color: var(--ui-text-muted); }
.welcome-checklist { border: 2px solid var(--ui-text); padding: 28px; background: var(--ui-accent-soft); box-shadow: 6px 6px 0 var(--ui-text); }
.welcome-checklist h3 { font-size: 18px; }
.welcome-checklist ul { list-style: none; padding: 0; margin: 24px 0 0; }
.welcome-checklist li { position: relative; padding: 0 0 20px 28px; }
.welcome-checklist li:last-child { padding-bottom: 0; }
.welcome-checklist li::before { content: '✓'; position: absolute; left: 0; top: 0; font-weight: 700; color: var(--ui-primary); }
.welcome-checklist li > span { font-size: 15px; font-weight: 700; }
.welcome-checklist li p { font-size: 14px; color: var(--ui-text-muted); margin-top: 4px; }
.welcome-office { background: var(--ui-brand-dark); color: var(--ui-surface); border-block: 2px solid var(--ui-text); }
.welcome-office > div { display: flex; justify-content: space-between; align-items: center; padding-block: 40px; gap: 32px; }
.welcome-office h2 { font-size: 28px; }
.welcome-office p { margin-top: 8px; font-size: 14px; }
.welcome-office .welcome-button { background: var(--ui-accent); color: var(--ui-on-accent) !important; flex-shrink: 0; }
.welcome-office .welcome-button:hover { background: var(--ui-accent-hover); }
.welcome-footer { padding-block: 40px 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; font-size: 14px; }
.welcome-footer p { margin-top: 6px; color: var(--ui-text-muted); }
.welcome-footer-note { font-size: 12px; }
.welcome-footer-links { display: flex; gap: 24px; align-items: start; }
.welcome-footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.welcome-footer .welcome-photo-credit { border-top: 2px solid var(--ui-text); padding-top: 12px; font-size: 12px; flex: 0 0 100%; }
.welcome-photo-credit summary { cursor: pointer; padding-block: 12px; font-size: 14px; }
.welcome-photo-credit ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; padding: 0; list-style: none; color: var(--ui-text-muted); }
@media (max-width: 1150px) {
    .welcome-container { width: calc(100% - 48px); }
    .welcome-brand-name { display: none; }
    #welcome-navigation { gap: 20px; }
    .welcome-hero { gap: 36px; }
    .welcome-hero h1 { font-size: 50px; }
    .welcome-system-layout, .welcome-resource-layout, .welcome-visit { gap: 40px; }
    .welcome-season-inner { gap: 24px; }
}
@media (min-width: 761px) and (max-width: 950px) {
    .welcome-nav-wrap { flex-wrap: wrap; padding-block: 20px; }
    #welcome-navigation { width: 100%; justify-content: space-between; }
    .welcome-hero { gap: 28px; }
    .welcome-hero h1 { font-size: 42px; letter-spacing: -1.5px; }
    .welcome-collage-label { font-size: 12px; padding-inline: 10px; }
    .welcome-scene { gap: 10px; }
    .welcome-service summary { gap: 12px; padding: 16px; }
    .welcome-service-photo { width: 56px; height: 72px; }
    .welcome-service summary strong { font-size: 16px; }
}
@media (min-width: 761px) and (max-width: 1050px) {
    .welcome-system-layout { grid-template-columns: 1fr; }
    .welcome-system-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-items: start; }
    .welcome-system-intro .welcome-section-label { grid-column: 1 / -1; }
    .welcome-system-copy > p:first-child { margin-top: 0; }
}
@media (max-width: 760px) {
    .welcome-container { width: calc(100% - 40px); }
    .welcome-utility .welcome-container { justify-content: center; }
    .welcome-utility .welcome-container > span { display: none; }
    .welcome-nav-wrap { min-height: 80px; flex-wrap: wrap; padding-block: 16px; gap: 16px; }
    #welcome-navigation { width: 100%; flex-wrap: wrap; gap: 8px 24px; padding-top: 16px; border-top: 2px solid var(--ui-text); }
    .welcome-page.menu-ready #welcome-navigation:not(.is-open) { display: none; }
    .welcome-menu:not([hidden]) { display: inline-flex; align-items: center; gap: 12px; }
    .welcome-hero { grid-template-columns: 1fr; gap: 36px; padding-block: 32px 36px; }
    .welcome-hero h1 { font-size: clamp(38px, 8vw, 58px); max-width: 600px; letter-spacing: -1.5px; }
    .welcome-hero-intro { font-size: 16px; margin-top: 20px !important; max-width: 520px; }
    .welcome-hero-help { margin-top: 24px; padding-top: 16px; }
    .welcome-kicker { font-size: 12px; margin-bottom: 20px !important; }
    .welcome-gallery { max-width: 560px; width: 100%; margin-inline: auto; }
    .welcome-collage { padding-inline: 8px; }
    .welcome-scene { height: 480px; }
    .welcome-season-inner { grid-template-columns: 1fr auto; gap: 12px 20px; }
    .welcome-season-inner > p { grid-row: 2; grid-column: 1 / -1; }
    .welcome-season-inner > div > p { font-size: 18px; }
    .welcome-section { padding-block: 48px; }
    .welcome-section-heading { display: block; margin-bottom: 28px; }
    .welcome-section-heading > p { max-width: 520px; margin-top: 16px; }
    .welcome-service-list, .welcome-system-layout, .welcome-resource-layout, .welcome-visit { grid-template-columns: 1fr; gap: 20px; }
    .welcome-service summary { min-height: 110px; gap: 12px; padding: 16px; }
    .welcome-service-photo { width: 64px; height: 76px; }
    .welcome-service summary strong { font-size: 17px; }
    .welcome-service-body { padding: 20px; }
    .welcome-system-layout, .welcome-resource-layout, .welcome-visit { gap: 32px; }
    .welcome-system-intro { max-width: 550px; }
    .welcome-toolkit { box-shadow: 5px 5px 0 var(--ui-accent); }
    .welcome-feature-resource { padding: 28px; }
    .welcome-feature-resource h3 { font-size: 28px; }
    .welcome-checklist { padding: 24px; }
    .welcome-office > div { flex-direction: column; align-items: flex-start; gap: 24px; padding-block: 32px; }
    .welcome-photo-credit ul { grid-template-columns: 1fr; }
}
@media (min-width: 761px) { .welcome-menu { display: none; } }
@media (max-width: 1100px) {
    .welcome-collage { padding-inline: 28px; }
    .welcome-collage-label { left: 20px; }
    .welcome-gallery-controls { inset-inline: -12px; }
}
@media (max-width: 480px) {
    .welcome-feature-list { grid-template-columns: 1fr; }
    .welcome-toolkit-heading { padding: 20px; }
    .welcome-tool:nth-child(odd) { border-right: 0; }
    .welcome-tool:nth-last-child(2) { border-bottom: 1px solid var(--ui-control-border); }
    .welcome-tool summary { min-height: 0; padding: 16px 20px; row-gap: 8px; }
    .welcome-system .welcome-system-entry { width: 100%; justify-content: space-between; }
    .welcome-da-identity { gap: 12px; }
    .welcome-da-identity img { width: 64px; height: 64px; }
    .welcome-da-identity strong { font-size: 17px; }
    .welcome-scene { height: 440px; gap: 10px; }
    .welcome-page .welcome-collage-photo { padding: 4px; box-shadow: 3px 3px 0 var(--ui-text); }
    .welcome-collage-photo-1 figcaption { font-size: 13px; }
}
@media (max-width: 380px) {
    .welcome-hero-actions { align-items: stretch; flex-direction: column; }
    .welcome-hero-actions .welcome-button { flex-basis: auto; }
    .welcome-hero h1 { font-size: 38px; }
    .welcome-season-inner { grid-template-columns: 1fr; }
    .welcome-season-inner > p { grid-row: auto; }
    .welcome-service-photo { width: 52px; height: 64px; }
    .welcome-service summary { padding: 12px; gap: 10px; }
    .welcome-service summary strong { font-size: 16px; }
    .welcome-plus { width: 26px; height: 26px; }
    .welcome-plus::before, .welcome-plus::after { top: 10px; left: 5px; }
}
@media (prefers-reduced-motion: no-preference) {
    html:has(.welcome-page) { scroll-behavior: smooth; }
    .welcome-scene:not([hidden]) { animation: welcome-photo-in 350ms ease; }
    @keyframes welcome-photo-in { from { opacity: .65; } to { opacity: 1; } }
    .welcome-button { transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
    .welcome-button:focus-visible { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ui-text); }
    .welcome-button:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--ui-text); }
    .welcome-button span, .welcome-text-link span, .welcome-resource-link span, .welcome-resource-list h3 a span { display: inline-block; transition: transform 160ms ease; }
    .welcome-text-link:focus-visible span, .welcome-resource-link:focus-visible span, .welcome-resource-list h3 a:focus-visible span { transform: translate(3px, -2px); }
    #welcome-navigation > a::after { transition: transform 180ms ease; }
    .welcome-service, .welcome-service summary, .welcome-gallery-arrow { transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
    .welcome-plus::after { transition: transform 180ms ease; }
    .welcome-service[open] .welcome-service-body { animation: welcome-disclosure-in 180ms ease-out; }
    .welcome-tool summary, .welcome-tool .welcome-plus { transition: background-color 160ms ease; }
    .welcome-tool[open] .welcome-tool-body { animation: welcome-disclosure-in 180ms ease-out; }
    .welcome-system .welcome-system-entry:focus-visible { box-shadow: 6px 6px 0 var(--ui-surface); }
    .welcome-system .welcome-system-entry:active { box-shadow: 1px 1px 0 var(--ui-surface); }
    @keyframes welcome-disclosure-in { from { opacity: .85; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
    .welcome-menu span { display: inline-block; transition: transform 180ms ease; }
    .welcome-menu[aria-expanded="true"] span { transform: rotate(90deg); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .welcome-button:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ui-text); }
    .welcome-button:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--ui-text); }
    .welcome-button:hover span { transform: translateX(3px); }
    .welcome-hero-actions .welcome-button:first-child:hover span { transform: translateY(3px); }
    .welcome-text-link:hover span, .welcome-resource-link:hover span, .welcome-resource-list h3 a:hover span { transform: translate(3px, -2px); }
    #welcome-navigation > a:not(.welcome-button):hover::after { transform: scaleX(1); }
    #welcome-navigation > a:not(.welcome-button):hover { text-decoration: none; }
    .welcome-page .welcome-collage-photo { transition: transform 240ms ease, box-shadow 240ms ease; }
    .welcome-page .welcome-collage-photo:hover { transform: rotate(0deg) translateY(-2px); box-shadow: 6px 6px 0 var(--ui-text); }
    .welcome-service:hover { border-color: var(--ui-primary); }
    .welcome-system .welcome-system-entry:hover { box-shadow: 6px 6px 0 var(--ui-surface); }
    .welcome-system .welcome-system-entry:active { box-shadow: 1px 1px 0 var(--ui-surface); }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.welcome-page) { scroll-behavior: auto; }
}
@media print {
    .welcome-menu, .welcome-utility, .welcome-office, #welcome-navigation, .welcome-gallery-controls { display: none !important; }
    .welcome-section { padding-block: 24px; }
    .welcome-container { width: 100%; }
    .welcome-page .welcome-collage-photo { transform: none; box-shadow: none; }
}
