:root { --layout-width:76rem; color:#17362e; background:#f5f4ee; font-family:Inter,ui-sans-serif,system-ui,sans-serif; line-height:1.5; }

* { box-sizing:border-box; }
 [hidden] { display:none !important; }
 body { margin:0; }
 a { color:inherit; }
 h1,h2,h3,p { margin-top:0; }
 h1,h2,h3 { letter-spacing:-.05em; line-height:1.02; }

.skip-link { left:-999px; position:absolute; }
.skip-link:focus { background:#fff; left:1rem; padding:.75rem; top:1rem; z-index:3; }
.visually-hidden { height:1px; margin:-1px; overflow:hidden; position:absolute; width:1px; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid #174b38; outline-offset:3px; }

.site-header,.site-footer,.section,.hero { margin-inline:auto; max-width:var(--layout-width); padding-inline:clamp(1.25rem,4vw,3rem); }
.site-header { align-items:center; display:flex; justify-content:space-between; min-height:5.25rem; }
.wordmark { align-items:center; display:inline-flex; flex:0 0 auto; gap:.55rem; text-decoration:none; }
.wordmark img { display:block; height:4rem; width:auto; }
.wordmark__text { font-size:1.65rem; font-weight:800; letter-spacing:-.06em; }
.site-footer .wordmark img { height:3.25rem; }
.site-footer .wordmark__text { font-size:1.4rem; }
.site-navigation { align-items:center; display:flex; gap:1.25rem; }
.site-navigation a { font-size:.95rem; text-decoration:none; }
.site-navigation a:not(.button):hover { text-decoration:underline; text-underline-offset:.25rem; }
.site-navigation .site-navigation__host-link { align-items:center; background:#d9e6d8; border:1px solid #9dbca0; border-radius:99px; color:#1f634a; display:inline-flex; font-size:.85rem; font-weight:800; gap:.35rem; padding:.45rem .75rem; white-space:nowrap; }
.site-navigation .site-navigation__host-link:hover { background:#c7dcc8; text-decoration:none; }
 #member-navigation { display:contents; }
.menu-toggle { display:none; }
.member-photo,.member-photo-fallback { border-radius:50%; flex:0 0 auto; height:2rem; width:2rem; }
.member-photo { object-fit:cover; }
.member-photo-fallback { align-items:center; background:#d9e6d8; color:#17362e; display:inline-flex; font-size:.78rem; font-weight:800; justify-content:center; }
.member-photo--nav,.member-photo-fallback--nav { height:3rem; width:3rem; }
.member-photo--large,.member-photo-fallback--large { height:4.5rem; width:4.5rem; }
.member-profile-trigger { align-items:center; background:none; border:0; color:inherit; cursor:pointer; display:inline-flex; font:inherit; padding:0; text-align:left; }
.member-profile-trigger:disabled { cursor:default; }
.member-profile-card { background:#fff; border:1px solid #bdc9c1; border-radius:1rem; box-shadow:0 1rem 2.5rem rgb(23 54 46 / 20%); max-height:calc(100vh - 2rem); overflow:auto; overscroll-behavior:contain; padding:1rem; position:fixed; z-index:30; }
.member-profile-card h2 { font-size:1.2rem; margin:0; max-width:none; }
.member-profile-card p { margin:.5rem 0 0; }
.member-profile-card__heading { align-items:center; display:flex; gap:.7rem; }
.member-profile-card__photo { height:3.25rem; width:3.25rem; }
.member-profile-card__summary { min-width:0; }
.member-profile-card__location { color:#52635b; font-size:.85rem; font-weight:700; margin:.1rem 0 0 !important; }
.member-profile-card__bio { color:#52635b; font-size:.9rem; white-space:pre-wrap; }
.member-profile-card__rating { color:#b27d24; font-size:.85rem; letter-spacing:.08em; margin:.15rem 0 0 !important; }
.member-profile-card__reviews-link,.member-profile-card__back { background:none; border:0; color:inherit; cursor:pointer; font:inherit; padding:0; }
.member-profile-card__reviews-link { letter-spacing:inherit; text-decoration:underline; text-underline-offset:.2em; }
.member-profile-card__back { color:#2f6d52; font-size:.85rem; font-weight:800; margin-top:.9rem; }
.member-profile-card__reviews-title { font-size:1rem; margin:.7rem 0 0; }
.member-profile-card__reviews { display:grid; gap:.8rem; list-style:none; margin:.8rem 0 0; padding:0; }
.member-profile-card__reviews li { border-top:1px solid #d8ddd5; padding-top:.8rem; }
.member-profile-card__review-rating { color:#b27d24; font-size:.85rem; font-weight:800; letter-spacing:.08em; }
.member-profile-card__review-comment { color:#52635b; font-size:.9rem; white-space:pre-wrap; }
.member-profile-card__interests { display:flex; flex-wrap:wrap; gap:.45rem; list-style:none; margin:.8rem 0 0; padding:0; }
.member-profile-card__interest { align-items:center; background:#edf5ec; border-radius:.65rem; color:#2f6d52; display:flex; font-size:.75rem; font-weight:800; gap:.35rem; padding:.45rem .55rem; white-space:nowrap; }
.member-profile-card__interest--completed { background:#edf5ec; color:#2f6d52; }
.member-profile-card__interest-icon { display:inline-flex; height:1rem; width:1rem; }
.member-profile-card__interest-icon svg { fill:none; height:100%; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:100%; }
.member-profile-card__loading { color:#617169; font-size:.82rem; }
.profile-heading { align-items:center; display:flex; gap:1rem; }
.profile-heading .eyebrow { margin-bottom:.25rem; }

.button { background:#1f634a; border:1px solid #1f634a; border-radius:99px; color:#fff; display:inline-block; font:inherit; font-weight:700; line-height:1.2; padding:.8rem 1.2rem; text-decoration:none; }
.button:hover { background:#174b38; }
.button--small { padding:.55rem .9rem; }
.button.account-link { align-items:center; background:#1f634a; border:0; border-radius:50%; display:inline-flex; height:3.5rem; justify-content:center; padding:.25rem; width:3.5rem; }
.button.account-link.is-signed-out { border-radius:99px; height:auto; padding:.55rem .9rem; width:auto; }
.button.account-link:hover { background:#174b38; }
.account-control { position:relative; }
.account-menu { background:#fff; border:1px solid #d8ddd5; border-radius:1rem; box-shadow:0 .8rem 2rem rgb(23 54 46 / 18%); display:grid; min-width:14rem; overflow:hidden; padding:.4rem; position:absolute; right:0; top:calc(100% + .5rem); z-index:20; }
.account-menu a,.account-menu button { align-items:center; background:none; border:0; border-radius:.6rem; color:#17362e; cursor:pointer; display:flex; font:inherit; gap:.65rem; padding:.7rem .8rem; text-align:left; text-decoration:none; }
.site-navigation .account-menu a:hover,.account-menu button:hover { background:#edf5ec; text-decoration:none; }
.account-menu svg { fill:none; flex:0 0 auto; height:1.15rem; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:1.15rem; }
.account-menu__host { background:#d9e6d8 !important; color:#1f634a !important; font-weight:800; grid-row:2; }
.account-menu__host:hover { background:#c7dcc8 !important; }
.account-menu__logout { border-top:1px solid #e2e5df !important; color:#a44b29 !important; margin-top:.35rem; padding-top:.9rem !important; }
.text-link { font-weight:700; text-underline-offset:.25rem; }

.hero { align-items:center; display:grid; gap:clamp(2.5rem,8vw,7rem); grid-template-columns:1.35fr .8fr; min-height:min(42rem,calc(100vh - 5.25rem)); padding-block:clamp(3rem,8vw,7rem); }
.eyebrow { color:#2f6d52; font-size:.76rem; font-weight:800; letter-spacing:.1em; margin-bottom:.65rem; text-transform:uppercase; }
 h1 { font-size:clamp(3.3rem,7vw,6.5rem); margin-bottom:1.25rem; max-width:11ch; }
 h2 { font-size:clamp(2rem,4vw,3.5rem); margin-bottom:0; max-width:19ch; }
 h3 { font-size:1.35rem; margin-bottom:.65rem; }
.hero__copy { color:#40564e; font-size:clamp(1.08rem,2vw,1.3rem); max-width:38rem; }
.hero__actions { align-items:center; display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:2rem; }
.hero-card { background:#d9e6d8; border-radius:1.25rem; box-shadow:.75rem .75rem 0 #b9d0bc; padding:2rem; transform:rotate(2deg); }
.hero-card__tag,.experience-card__type { color:#2f6d52; font-size:.78rem; font-weight:800; letter-spacing:.08em; margin-bottom:1rem; text-transform:uppercase; }
.hero-card h2 { font-size:clamp(1.8rem,3vw,2.5rem); max-width:8ch; }
.hero-card p:not(.hero-card__tag) { color:#40564e; }
.hero-card__host-meta { align-items:center; display:flex; font-size:.85rem; gap:.45rem; margin-top:.9rem; }
.hero-card__host { font-size:inherit; gap:.4rem; }
.hero-card__host-meta .experience-card__places { margin:0; }
.avatar-stack { display:flex; margin-top:1.75rem; }
.avatar-stack span { align-items:center; background:#fff; border:2px solid #d9e6d8; border-radius:50%; display:flex; font-size:.75rem; font-weight:800; height:2rem; justify-content:center; margin-right:-.45rem; width:2rem; }
.avatar-stack span:nth-child(2) { background:#f7d6aa; }
.avatar-stack span:nth-child(3) { background:#c8d5ef; }

.section { padding-block:clamp(4rem,8vw,7rem); }
.section--muted { background:#e8ede2; max-width:none; padding-inline:max(1.25rem,calc((100vw - var(--layout-width))/2 + 3rem)); }
.legal-page { max-width:66rem; padding-block:clamp(3.5rem,7vw,6rem); }
.legal-page > * { max-width:48rem; }
.legal-page h1 { font-size:clamp(3rem,6vw,5.25rem); margin-bottom:1.5rem; max-width:12ch; }
.legal-page h2 { font-size:clamp(1.65rem,3vw,2.4rem); margin:clamp(2.5rem,5vw,4rem) 0 .8rem; max-width:24ch; }
.legal-page p { color:#40564e; font-size:clamp(1.02rem,1.5vw,1.16rem); line-height:1.65; margin-bottom:1.15rem; }
.legal-page h1 + p:not(.legal-page__status) { font-size:clamp(1.1rem,1.8vw,1.3rem); line-height:1.6; }
.legal-page__status { background:#edf5ec; border-left:4px solid #2f6d52; border-radius:.65rem; color:#40564e; font-size:.98rem !important; line-height:1.55 !important; margin-bottom:0 !important; padding:1rem 1.15rem; }
.legal-page code { background:#e8ede2; border-radius:.3rem; font-size:.9em; padding:.1em .3em; }
.section-heading { align-items:end; display:flex; gap:1rem; justify-content:space-between; margin-bottom:2rem; }
.experience-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }
.experience-card { background:#fff; border:1px solid #e2e5df; border-radius:1rem; min-height:13rem; padding:1.5rem; transition:transform .2s ease,box-shadow .2s ease; }
.experience-card:hover { box-shadow:0 .75rem 2rem rgb(23 54 46 / 10%); transform:translateY(-.25rem); }
.experience-card p:last-child { color:#617169; margin-bottom:0; }
.steps { counter-reset:steps; display:grid; gap:1.5rem; grid-template-columns:repeat(3,1fr); list-style:none; margin:2.5rem 0 0; padding:0; }
.steps li { display:grid; gap:.5rem; grid-template-columns:auto 1fr; }
.steps li::before { align-items:center; background:#1f634a; border-radius:50%; color:#fff; content:counter(steps); counter-increment:steps; display:flex; font-size:.8rem; font-weight:800; grid-row:span 2; height:1.75rem; justify-content:center; width:1.75rem; }
.steps strong { font-size:1.2rem; }
.steps span { color:#52635b; }
.page-state { border-left:4px solid #b35c30; margin-top:1.5rem; padding:1rem; }
.site-footer { align-items:start; border-top:1px solid #d8ddd5; color:#52635b; display:grid; gap:2rem; grid-template-columns:minmax(0,1fr) minmax(15rem,.85fr) minmax(0,1fr); min-height:7rem; padding-block:2rem; }
.site-footer p { margin:0; }
.site-footer__brand { display:grid; gap:.65rem; }
.site-footer__project { display:grid; gap:.5rem; max-width:20rem; }
.site-footer__project p { color:#17362e; font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.site-footer__project > span { color:#52635b; font-size:.92rem; line-height:1.5; }
.site-footer__project a { font-size:.92rem; width:max-content; }
.site-footer__menu { display:grid; gap:.5rem; }
.site-footer__menu { justify-self:end; }
.site-footer__menu > p { color:#17362e; font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.site-footer__menu ul { display:grid; gap:.35rem; list-style:none; margin:0; padding:0; }
.site-footer__menu a { font-size:.92rem; text-decoration:none; }
.site-footer__menu a:hover { text-decoration:underline; text-underline-offset:.25rem; }

.cookie-consent-banner { align-items:stretch; background:#fff; border:1px solid #bdc9c1; border-radius:1rem; bottom:1rem; box-shadow:0 1rem 3rem rgb(23 54 46 / 24%); display:flex; flex-direction:column; gap:.85rem; max-width:min(42rem,calc(100vw - 2rem)); padding:1rem; position:fixed; right:1rem; width:100%; z-index:40; }
.cookie-consent-banner h2 { font-size:1.25rem; margin:0 0 .25rem; max-width:none; }
.cookie-consent-banner p { color:#52635b; font-size:.9rem; margin:0; max-width:38rem; }
.cookie-consent-banner__actions { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-start; }
.cookie-consent-banner__actions .button { font-size:.86rem; padding:.6rem .8rem; }
.cookie-consent-banner__actions .text-button { font-size:.9rem; white-space:nowrap; }
.cookie-settings { background:#edf5ec; border:1px solid #d8ddd5; border-radius:1rem; margin-top:3rem; padding:clamp(1.5rem,4vw,2.5rem); scroll-margin-top:2rem; }
.cookie-settings h2 { font-size:clamp(2rem,4vw,3rem); }
.cookie-settings > p:not(.eyebrow) { color:#52635b; }
.cookie-settings-form { display:grid; gap:1rem; margin-top:1.5rem; }
.cookie-settings-form .checkbox-label { align-items:start; background:#fff; border:1px solid #d8ddd5; border-radius:.8rem; display:flex; gap:.75rem; padding:1rem; }
.cookie-settings-form .checkbox-label input { flex:0 0 auto; margin-top:.25rem; }
.cookie-settings-form .checkbox-label span { display:grid; gap:.2rem; }
.cookie-settings-form .checkbox-label small { color:#52635b; font-size:.87rem; font-weight:400; line-height:1.45; }
.cookie-settings-form .checkbox-label--disabled { background:#edf5ec; }

.has-dialog { overflow:hidden; }
.auth-dialog { align-items:center; background:rgb(23 54 46 / 58%); display:grid; inset:0; justify-items:center; padding:1.25rem; position:fixed; z-index:10; }
.auth-dialog__surface { background:#f5f4ee; border-radius:1.25rem; box-shadow:0 1.5rem 5rem rgb(0 0 0 / 28%); max-height:calc(100vh - 2.5rem); max-width:40rem; overflow:auto; padding:clamp(1.5rem,5vw,3rem); width:100%; }
.auth-dialog .section-heading { align-items:start; margin-bottom:2rem; }
.onboarding-dialog__surface { max-width:52rem; }
.onboarding-dialog__surface h2 { max-width:14ch; }
.onboarding-dialog__intro { color:#40564e; font-size:1.1rem; margin-bottom:0; }
.onboarding-steps { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); list-style:none; margin:2rem 0 0; padding:0; }
.onboarding-steps li { background:#fff; border:1px solid #d8ddd5; border-radius:1rem; display:grid; gap:.85rem; padding:1.15rem; }
.onboarding-steps svg { background:#d9e6d8; border-radius:50%; fill:none; height:2.5rem; padding:.6rem; stroke:#1f634a; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:2.5rem; }
.onboarding-steps strong { font-size:1.1rem; }
.onboarding-steps span { color:#52635b; display:block; font-size:.92rem; margin-top:.3rem; }
.onboarding-steps a { color:#1f634a; font-weight:800; text-underline-offset:.2rem; }
.auth-grid { max-width:32rem; }
.auth-card { background:#fff; border:1px solid #e2e5df; border-radius:1rem; display:grid; gap:1rem; padding:1.5rem; }
.auth-card h3,.auth-card p { margin:0; }
.auth-card > p:not(.form-message):not(.field-help):not(.auth-links) { color:#52635b; }
.auth-card label { display:grid; font-size:.9rem; font-weight:700; gap:.4rem; }
.auth-card input,.auth-card textarea,.auth-card select { background:#fff; border:1px solid #bdc9c1; border-radius:.5rem; color:#17362e; font:inherit; min-height:2.75rem; padding:.6rem .7rem; width:100%; }
.auth-card textarea { min-height:5.5rem; resize:vertical; }
.auth-card input:focus,.auth-card textarea:focus,.auth-card select:focus { border-color:#1f634a; outline:3px solid rgb(31 99 74 / 15%); }
#legal-acceptance-form { display:grid; gap:.9rem; }
#legal-acceptance-form h3 { font-size:clamp(1.4rem,2.5vw,1.8rem); margin:0; }
#legal-acceptance-form > p { color:#52635b; line-height:1.45; margin:0; max-width:34rem; }
#legal-acceptance-form .checkbox-label { line-height:1.4; }
#legal-acceptance-form .checkbox-label + .checkbox-label { margin-top:-.25rem; }
#legal-acceptance-form .button { justify-self:start; margin-top:.2rem; }
#google-sign-in-panel > p:not(.form-message) { padding-block:.4rem; }
.button--secondary { background:#fff; color:#17362e; }
.button--secondary:hover { background:#edf3ed; }
.text-button { background:none; border:0; color:#1f634a; cursor:pointer; font:inherit; font-weight:800; padding:0; text-align:left; text-decoration:underline; text-underline-offset:.2rem; }
.date-time-input { background:#fff; border:1px solid #bdc9c1; border-radius:.5rem; color:#17362e; font:inherit; font-size:1.1rem; font-weight:700; min-height:3.25rem; padding:.6rem .7rem; width:100%; }
.date-time-input::-webkit-datetime-edit,.date-time-input::-webkit-datetime-edit-fields-wrapper,.date-time-input::-webkit-datetime-edit-month-field,.date-time-input::-webkit-datetime-edit-day-field,.date-time-input::-webkit-datetime-edit-year-field,.date-time-input::-webkit-datetime-edit-hour-field,.date-time-input::-webkit-datetime-edit-minute-field,.date-time-input::-webkit-datetime-edit-text { -webkit-text-fill-color:#17362e; color:#17362e; font:inherit; font-weight:700; opacity:1; }
.date-time-input::selection,.date-time-input::-webkit-datetime-edit::selection { background:#d9e6d8; color:#17362e; }
.date-time-input:focus { border-color:#1f634a; outline:3px solid rgb(31 99 74 / 15%); }
.field-help { color:#617169; font-size:.82rem; font-weight:400; }
.form-message { color:#2f6d52; font-size:.9rem; min-height:1.35rem; }
.form-message.is-error { color:#a44b29; }
.profile-form { border-top:1px solid #e2e5df; display:grid; gap:1rem; margin-top:.5rem; padding-top:1.5rem; }
.profile-form--standalone { border-top:0; margin:0; padding-top:0; }
.profile-mode-intro { color:#52635b; margin:0; }
.profile-mode-tabs { background:#d9e6d8; border:2px solid #9dbca0; border-radius:.9rem; display:grid; gap:.35rem; grid-template-columns:1fr 1fr; padding:.35rem; }
.profile-mode-tabs button { background:transparent; border:2px solid transparent; border-radius:.65rem; color:#40564e; cursor:pointer; font:inherit; font-weight:800; padding:.75rem .5rem; }
.profile-mode-tabs button:hover { background:#edf5ec; border-color:#9dbca0; }
.profile-mode-tabs button[aria-selected="true"] { background:#fff; border-color:#1f634a; box-shadow:0 .1rem .35rem rgb(23 54 46 / 12%); color:#17362e; }
.profile-preview { align-items:center; background:#f7faf6; border:1px solid #d8ddd5; border-radius:.8rem; color:#17362e; cursor:pointer; display:flex; font:inherit; gap:.8rem; padding:.8rem; text-align:left; width:100%; }
.profile-preview__content { display:grid; flex:1; gap:.4rem; min-width:0; }
.profile-preview__hint { color:#52635b; font-size:.9rem; }
.wildpal-avatar { align-items:center; background:#d9e6d8; border-radius:50%; color:#1f634a; display:inline-flex; flex:0 0 auto; justify-content:center; overflow:hidden; }
.wildpal-avatar > .member-photo { height:100%; width:100%; }
.wildpal-avatar,.wildpal-avatar svg { fill:none; stroke:currentColor; }
.wildpal-avatar svg { height:100%; width:100%; }
#wildpal-profile-avatar { height:4.5rem; width:4.5rem; }
.profile-form--standalone label { display:grid; font-size:.9rem; font-weight:700; gap:.4rem; }
.profile-form--standalone input,.profile-form--standalone textarea { background:#fff; border:1px solid #bdc9c1; border-radius:.5rem; color:#17362e; font:inherit; min-height:2.75rem; padding:.6rem .7rem; width:100%; }
.profile-form--standalone textarea { min-height:5.5rem; resize:vertical; }
.profile-form--standalone input:focus,.profile-form--standalone textarea:focus { border-color:#1f634a; outline:3px solid rgb(31 99 74 / 15%); }
#shared-profile-fields { display:grid; gap:1rem; }
.profile-form h4 { font-size:1.15rem; margin:0; }
.checkbox-label { align-items:start; display:flex !important; font-weight:400 !important; gap:.65rem !important; }
.checkbox-label input { min-height:0; margin-top:.25rem; width:auto; }
.account-actions,.auth-links { display:flex; flex-wrap:wrap; gap:.75rem; }
.account-actions { margin-top:1rem; }
.auth-links a { color:#1f634a; font-size:.9rem; font-weight:800; text-underline-offset:.2rem; }
.reset-panel { margin-inline:auto; max-width:34rem; }
.signed-in-panel { max-width:38rem; }
.signed-in-panel h3 { font-size:1.8rem; }

.interest-picker { border:0; display:grid; gap:.55rem; margin:0; min-width:0; padding:0; }
.interest-picker legend { font-size:.9rem; font-weight:700; padding:0; }
.interest-picker__options { display:flex; flex-wrap:wrap; gap:.5rem; }
.interest-picker__option { align-items:center; background:#fff; border:1px solid #bdc9c1; border-radius:999px; color:#17362e; cursor:pointer; display:inline-flex; font:inherit; font-size:.88rem; gap:.35rem; padding:.45rem .7rem; }
.interest-picker__icon { display:inline-flex; height:1rem; width:1rem; }
.interest-picker__icon svg { fill:none; height:100%; stroke:#1f634a; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:100%; }
.interest-picker__option:hover { border-color:#2f6d52; }
.interest-picker__option[aria-pressed="true"] { background:#1f634a; border-color:#1f634a; color:#fff; }
.interest-picker__option[aria-pressed="true"] .interest-picker__icon svg { stroke:#fff; }
.notification-preferences { border:0; display:grid; gap:.65rem; margin:0; min-width:0; padding:0; }
.notification-preferences legend { font-size:.9rem; font-weight:700; padding:0; }
.account-delete { border-top:1px solid #e2e5df; display:grid; gap:.7rem; margin-top:.4rem; padding-top:1.2rem; }
.account-delete h3,.account-delete p { margin:0; }
.account-delete p { color:#52635b; line-height:1.45; }
.button--danger { background:#a44b29; border-color:#a44b29; }
.button--danger:hover { background:#853b20; border-color:#853b20; }

@media (max-width:48rem) { .menu-toggle { background:transparent; border:0; display:grid; gap:.25rem; padding:.5rem; }
.menu-toggle span:not(.visually-hidden) { background:#17362e; display:block; height:2px; width:1.4rem; }
.site-navigation { background:#f5f4ee; border-bottom:1px solid #d8ddd5; display:none; flex-direction:column; left:0; padding:1.25rem; position:absolute; right:0; top:5.25rem; z-index:2; }
 .site-navigation.is-open { display:flex; }
.account-menu { max-width:calc(100vw - 2.5rem); position:fixed; right:1.25rem; top:5rem; width:min(20rem,calc(100vw - 2.5rem)); }
.hero { grid-template-columns:1fr; min-height:auto; }
.hero-card { margin:1rem .75rem; }
.experience-grid,.steps,.auth-grid,.onboarding-steps { grid-template-columns:1fr; }
 .section-heading { align-items:flex-start; flex-direction:column; }
 .site-footer { grid-template-columns:1fr; }
 .site-footer__menu,.site-footer__project { justify-self:start; }
 .cookie-consent-banner { align-items:stretch; bottom:.75rem; flex-direction:column; gap:1rem; }
 .cookie-consent-banner__actions { justify-content:flex-start; }
 .legal-page { padding-block:3rem; }
 .legal-page h1 { font-size:clamp(2.7rem,13vw,4rem); }
 .legal-page h2 { margin-top:2.5rem; }
 }

@media (min-width:48.01rem) and (max-width:60rem) {
 .site-header { padding-inline:1.5rem; }
 .wordmark img { height:3.3rem; }
 .wordmark__text { font-size:1.4rem; }
 .site-navigation { gap:.7rem; }
 .site-navigation a { font-size:.82rem; }
 .site-navigation .site-navigation__host-link { font-size:.77rem; padding:.4rem .6rem; }
 .button.account-link.is-signed-out { font-size:.82rem; padding:.5rem .7rem; }
}
