/* Local public-home review: shared Gestión chrome and viewport-sized hero. */
@font-face { font-family:"Montserrat Home"; font-style:normal; font-weight:100 900; font-display:swap; src:url('../fonts/montserrat-latin.woff2') format('woff2'); }
.ip-public-home-body { --ip-workspace-topbar-height:64px; }
.ip-public-home-body .ip-home-sidebar { position:fixed; z-index:220; inset:0 auto 0 0; width:var(--ip-workspace-sidebar-width); background:var(--ip-color-surface); border-right:1px solid var(--ip-color-border); }
.ip-home-brand { display:flex; align-items:center; justify-content:center; width:100%; height:var(--ip-workspace-topbar-height); padding:10px 24px; box-sizing:border-box; }
.ip-home-brand img { width:100px; height:44px; object-fit:contain; }
.ip-home-brand:focus-visible { outline:2px solid var(--ip-color-action); outline-offset:-6px; border-radius:12px; }
.ip-public-home-body .ip-workspace-topbar { display:flex; height:var(--ip-workspace-topbar-height); gap:24px; justify-content:flex-end; background:var(--ip-color-surface); border-bottom:1px solid var(--ip-color-border); }
.ip-public-home-body .ip-workspace-topbar__actions { margin-left:auto; }
.ip-public-home-body .ip-home-login { min-height:40px; padding:8px 18px; border-radius:var(--ip-button-radius); background:var(--ip-white); border:1px solid var(--ip-purple-600); color:var(--ip-purple-600); }
.ip-public-home-body .ip-home-login:hover { background:var(--ip-white); border-color:var(--ip-purple-700); color:var(--ip-purple-700); }
.ip-home-canvas { min-height:100dvh; padding-top:var(--ip-workspace-topbar-height); box-sizing:border-box; }
.ip-home-canvas:focus { outline:0; }
.ip-home-hero {
    position:relative;
    display:grid;
    align-items:center;
    min-height:calc(100vh - var(--ip-workspace-topbar-height));
    min-height:calc(100dvh - var(--ip-workspace-topbar-height));
    background-image:url('../images/home-horse.webp');
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.ip-home-hero::before { content:""; position:absolute; inset:0; background:rgb(26 26 30 / 50%); pointer-events:none; }
.ip-home-hero__content { position:relative; width:min(1200px,100%); margin-inline:auto; padding:64px 40px 96px; box-sizing:border-box; }
.ip-home-hero__copy { margin:0 auto 60px; max-width:1120px; text-align:center; color:var(--ip-white); }
.ip-public-home .ip-home-hero h1 { max-width:960px; margin:0 auto 10px; color:var(--ip-white); font-family:Manrope,sans-serif; font-size:72px; line-height:1; font-weight:500; letter-spacing:normal; text-transform:uppercase; }
.ip-public-home .ip-home-hero p { color:inherit; }
.ip-home-hero__copy p { max-width:1120px; margin:0 auto; font-family:Manrope,sans-serif; font-size:22px; font-weight:400; line-height:1; letter-spacing:normal; }
/* Desktop arrival: a centered 16:9 frame opens behind the header.
   The frame opens while its image releases a 20% zoom, with an expo-out curve.
   The final hero crop and content stay put.
   The source is 2560 × 1707: its final cover size uses the original hero height. */
@media(min-width:1024px) and (prefers-reduced-motion:no-preference) {
    .ip-home-enter .ip-home-hero { background-image:none; }
    .ip-home-enter .ip-home-hero::before { visibility:hidden; }
    .ip-home-enter .ip-home-hero::after {
        content:"";
        position:absolute;
        left:50%;
        top:calc(50% - var(--ip-workspace-topbar-height) / 2);
        width:100%;
        height:calc(100% + var(--ip-workspace-topbar-height));
        transform:translate(-50%,-50%);
        background-image:linear-gradient(rgb(26 26 30 / 50%),rgb(26 26 30 / 50%)),url('../images/home-horse.webp');
        background-repeat:no-repeat;
        background-size:100% 100%,max(100%,calc((100dvh - var(--ip-workspace-topbar-height)) * 2560 / 1707)) auto;
        background-position:center,center calc(50% + var(--ip-workspace-topbar-height) / 2);
        pointer-events:none;
        animation:ip-home-photo-enter 2000ms both;
    }
    .ip-home-enter .ip-home-hero__content { z-index:1; }
    .ip-home-enter .ip-public-home .ip-workspace-topbar { animation:ip-home-header-enter 360ms ease-out 1800ms both; }
    .ip-home-enter .ip-home-hero__copy { animation:ip-home-copy-enter 440ms cubic-bezier(.22,1,.36,1) 1780ms both; }
    .ip-home-enter .ip-home-search-slot { animation:ip-home-form-enter 400ms cubic-bezier(.22,1,.36,1) 1900ms both; }
}
@keyframes ip-home-photo-enter {
    0% { opacity:0; width:54vw; height:30.375vw; transform:translate(-50%,calc(-50% + 48px)); border-radius:16px; background-size:100% 100%,120% auto; background-position:center; animation-timing-function:cubic-bezier(.22,1,.36,1); }
    18% { opacity:1; width:52vw; height:29.25vw; transform:translate(-50%,-50%); border-radius:16px; background-size:100% 100%,120% auto; background-position:center; animation-timing-function:cubic-bezier(.4,0,.2,1); }
    36% { opacity:1; width:48vw; height:27vw; transform:translate(-50%,-50%); border-radius:16px; background-size:100% 100%,120% auto; background-position:center; animation-timing-function:cubic-bezier(.16,1,.3,1); }
    100% { opacity:1; width:100%; height:calc(100% + var(--ip-workspace-topbar-height)); transform:translate(-50%,-50%); border-radius:0; background-size:100% 100%,max(100%,calc((100dvh - var(--ip-workspace-topbar-height)) * 2560 / 1707)) auto; background-position:center,center calc(50% + var(--ip-workspace-topbar-height) / 2); }
}
@keyframes ip-home-header-enter { from { opacity:0; } to { opacity:1; } }
@keyframes ip-home-copy-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes ip-home-form-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.ip-home-continuation { padding:0; box-sizing:border-box; }
.ip-home-header-start { display:flex; align-items:center; gap:20px; flex:1; min-width:0; height:100%; }
.ip-home-nav-toggle { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border:0; background:transparent; color:var(--ip-color-text-muted); cursor:pointer; }
.ip-home-nav-toggle .ip-icon { width:20px; height:20px; }
.ip-home-mobile-search,.ip-home-mobile-search-heading { display:none; }
.ip-home-nav-toggle:hover { background:var(--ip-color-surface-related); color:var(--ip-color-text); }
.ip-public-home-body .ip-home-sidebar { display:flex; flex-direction:column; background:var(--ip-workspace-sidebar-bg); transition:width 220ms ease,transform 220ms ease,visibility 220ms; }
.ip-home-brand { flex-shrink:0; }
.ip-home-navigation { display:flex; flex:1; flex-direction:column; min-height:0; }
.ip-home-navigation__scroll { flex:1; min-height:0; padding:12px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--ip-color-border) transparent; }
/* Public navigation follows Gestión: group captions and one icon per destination. */
.ip-home-navigation__scroll { padding:12px 16px; }
.ip-home-nav-groups { display:flex; flex-direction:column; gap:20px; }
.ip-home-navigation .ip-home-nav-group__heading { margin:0 10px 8px; color:var(--ip-color-text-muted); font:500 10px/16px Manrope,sans-serif; text-transform:uppercase; letter-spacing:.045em; }
.ip-home-nav-group__items { display:grid; gap:4px; list-style:none; margin:0; padding:0; border:0; }
.ip-home-nav-group__items li { margin:0; padding:0; }
.ip-public-home .ip-home-nav-link { display:flex; align-items:center; gap:12px; min-height:40px; padding:9px 10px; border-radius:10px; text-decoration:none; color:var(--ip-color-text-muted); font:500 13px/20px Manrope,sans-serif; transition:background-color 180ms,color 180ms; }
.ip-home-nav-link > .ip-icon { width:18px; height:18px; flex:0 0 18px; }
.ip-home-nav-link__label { white-space:nowrap; }
.ip-public-home .ip-home-nav-link:hover,.ip-public-home .ip-home-nav-link[aria-current="page"] { background:var(--ip-color-action-soft); color:var(--ip-color-action); }
.ip-public-home .ip-home-nav-link[aria-current="page"] { font-weight:600; }
.ip-public-home .ip-home-nav-link[aria-disabled="true"] { opacity:.55; background:transparent; cursor:default; }
.ip-home-nav-link:focus-visible,.ip-home-navigation__action:focus-visible { outline:2px solid var(--ip-color-focus); outline-offset:2px; }
.ip-home-navigation__footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; flex:none; padding:16px 12px max(16px,env(safe-area-inset-bottom)); }
.ip-home-navigation__action { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:40px; padding:8px; border:1px solid var(--ip-purple-600); border-radius:20px; text-decoration:none; font:600 12px/20px Manrope,sans-serif; transition:background-color 180ms,color 180ms; }
.ip-home-navigation__action .ip-icon { width:16px; height:16px; flex:none; }
.ip-public-home .ip-home-navigation__action--explore { background:var(--ip-purple-600); color:#fff; }
.ip-public-home .ip-home-navigation__action--explore:hover { background:var(--ip-purple-700); border-color:var(--ip-purple-700); }
.ip-public-home .ip-home-navigation__action--publish { background:#fff; color:var(--ip-purple-600); }
.ip-public-home .ip-home-navigation__action--publish:hover { background:var(--ip-purple-50); }
@media(min-width:1024px) {
    .ip-public-home.is-collapsed .ip-home-navigation__scroll { padding-inline:8px; }
    .ip-public-home.is-collapsed .ip-home-nav-groups { gap:12px; }
    .ip-public-home.is-collapsed .ip-home-nav-group__heading { font-size:0; height:1px; margin:0 8px 12px; background:var(--ip-color-border); }
    .ip-public-home.is-collapsed .ip-home-nav-link { justify-content:center; padding-inline:0; }
    .ip-public-home.is-collapsed .ip-home-nav-link__label { display:none; }
    .ip-public-home.is-collapsed .ip-home-navigation__footer { grid-template-columns:1fr; padding-inline:10px; }
    .ip-public-home.is-collapsed .ip-home-navigation__action > span { display:none; }
    .ip-public-home[data-sidebar-mode="hidden"].is-collapsed .ip-home-sidebar { width:var(--ip-workspace-sidebar-width); transform:translateX(-100%); visibility:hidden; }
    .ip-public-home[data-sidebar-mode="hidden"].is-collapsed .ip-shell__workspace { margin-left:0; }
    .ip-public-home[data-sidebar-mode="hidden"].is-collapsed .ip-workspace-topbar { left:0; }
}
@media(prefers-reduced-motion:reduce) { .ip-home-sidebar,.ip-home-navigation * { transition:none!important; } }
.ip-home-search-dock { position:absolute; left:50%; transform:translateX(-50%); width:640px; max-width:calc(100% - 360px); height:46px; min-width:0; pointer-events:none; }
.ip-public-home.is-collapsed .ip-home-sidebar { width:var(--ip-workspace-sidebar-collapsed); }
.ip-public-home.is-collapsed .ip-home-brand { padding:12px 8px; }
.ip-public-home.is-collapsed .ip-home-brand img { width:40px; height:32px; }
.ip-home-search-slot { width:min(800px,100%); min-height:68px; margin-inline:auto; }
.ip-home-search { position:relative; z-index:205; width:100%; margin:0; color:var(--ip-color-text); }
.ip-home-search__bar { display:grid; grid-template-columns:1fr 1.2fr 1.15fr auto; align-items:center; width:100%; min-height:68px; padding:5px; border:1px solid var(--ip-color-border); border-radius:40px; background:var(--ip-color-surface); box-shadow:0 8px 32px rgb(0 0 0 / 14%); box-sizing:border-box; }
.ip-home-search__field { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; min-height:56px; padding:10px 18px; border-radius:28px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; transition:background-color 160ms ease,box-shadow 160ms ease; }
.ip-home-search__field:not(:first-child)::before { content:""; position:absolute; left:0; top:50%; width:1px; height:30px; background:var(--ip-color-border); transform:translateY(-50%); }
.ip-home-search__field:hover { background:var(--ip-color-surface-related); }
.ip-home-search__field-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.ip-home-search__label { display:none; }
.ip-home-search__field strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:450; line-height:20px; color:var(--ip-color-text-muted); }
.ip-home-search__field > .ip-icon { flex:0 0 14px; width:14px; height:14px; color:var(--ip-color-text-muted); }
.ip-home-search.has-open-panel .ip-home-search__bar { background:var(--ip-color-surface-related); }
.ip-home-search.has-open-panel { z-index:221; }
.ip-home-search__field[aria-expanded="true"] { background:var(--ip-color-surface); box-shadow:0 2px 8px rgb(0 0 0 / 8%); }
.ip-home-search__field[aria-expanded="true"]::before,.ip-home-search__field[aria-expanded="true"] + .ip-home-search__field::before { opacity:0; }
.ip-public-home .ip-home-search__submit { display:flex; justify-content:center; align-items:center; gap:8px; min-width:52px; height:52px; margin:0 6px; padding:0 18px; border:0; background:var(--ip-color-action); color:var(--ip-color-on-action); font-weight:650; font-size:14px; cursor:pointer; transition:background-color 160ms ease,transform 160ms ease; }
.ip-home-search__submit:hover { background:var(--ip-color-action-hover); }
.ip-home-search__submit:active { transform:scale(.96); }
.ip-home-search__submit .ip-icon { width:20px; height:20px; }
.ip-public-home .ip-home-search button.ip-home-search__submit { width:52px; min-width:52px; padding:0; border-radius:50%!important; background:var(--ip-color-action); }
.ip-public-home .ip-home-search button.ip-home-search__submit:hover { background:var(--ip-color-action-hover); }
.ip-home-search__submit span { display:none; }
.ip-home-search-panel { position:absolute; top:calc(100% + 12px); width:340px; max-width:100%; max-height:min(440px,calc(100dvh - 200px)); padding:20px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--ip-color-border); border-radius:24px; background:var(--ip-color-surface); box-shadow:0 12px 40px rgb(0 0 0 / 16%); box-sizing:border-box; animation:ip-home-panel-in 180ms ease-out; }
.ip-home-search-panel--type { left:0; }
.ip-home-search-panel--detail { left:50%; }
.ip-home-search-panel--radius { right:0; width:360px; }
.ip-home-search-panel__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.ip-home-search-panel__heading > strong { font-size:16px; font-weight:650; }
.ip-home-search-panel__heading > button { display:grid; place-items:center; flex:0 0 32px; height:32px; padding:0; border:0; background:transparent; color:var(--ip-color-text-muted); cursor:pointer; }
.ip-home-search-panel__heading .ip-icon { width:16px; height:16px; }
.ip-home-search-panel { scrollbar-width:thin; scrollbar-color:var(--ip-color-border-strong) transparent; }
.ip-home-nav-close { display:none; }
.ip-home-search-options { display:grid; gap:4px; }
.ip-home-search-option { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:10px 12px; border:0; background:transparent; color:var(--ip-color-text); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.ip-home-search-option:hover,.ip-home-search-option[aria-pressed="true"] { background:var(--ip-color-surface-related); }
.ip-home-search-option[aria-pressed="true"] { color:var(--ip-color-action); }
.ip-home-search-option__icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border-radius:12px; background:var(--ip-color-surface-subtle); }
.ip-home-search-option__icon .ip-icon { width:20px; height:20px; }
.ip-home-option-check { width:16px; height:16px; margin-left:auto; visibility:hidden; }
.ip-home-search-option[aria-pressed="true"] .ip-home-option-check { visibility:visible; }

/* Desktop search stays visually continuous; feedback belongs to the options. */
@media(min-width:1024px) {
  .ip-home-search { --ip-home-search-option-background:var(--ip-gray-100); }
  [data-theme="dark"] .ip-home-search { --ip-home-search-option-background:var(--ip-ink-800); }
  .ip-home-search.has-open-panel .ip-home-search__bar { background:var(--ip-color-surface); }
  .ip-home-search__field:hover,.ip-home-search__field[aria-expanded="true"] { background:transparent; box-shadow:none; }
  .ip-home-search__field[aria-expanded="true"]::before,.ip-home-search__field[aria-expanded="true"] + .ip-home-search__field::before { opacity:1; }
  .ip-home-search-option:hover,.ip-home-search-option[aria-pressed="true"] { background:var(--ip-home-search-option-background); color:var(--ip-color-text); }
}
.ip-home-location-button { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; margin-bottom:16px; padding:10px 12px; border:1px solid var(--ip-color-border); background:transparent; color:var(--ip-color-action); text-align:left; font:inherit; font-size:14px; cursor:pointer; }
.ip-home-location-button .ip-icon { width:18px; height:18px; }
.ip-home-location-label { display:block; margin-bottom:8px; font-size:12px; color:var(--ip-color-text-muted); }
.ip-home-search #ip-home-location { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--ip-color-border); border-radius:12px; background:var(--ip-color-surface); color:var(--ip-color-text); font:inherit; font-size:14px; }
.ip-home-radius-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:24px 0 14px; font-size:13px; }
.ip-home-radius-heading output { font-size:18px; font-weight:650; color:var(--ip-color-action); }
.ip-home-search #ip-home-radius { width:100%; height:24px; margin:0; padding:0; accent-color:var(--ip-color-action); cursor:pointer; }
.ip-home-radius-limits { display:flex; justify-content:space-between; margin-top:4px; color:var(--ip-color-text-muted); font-size:12px; }
.ip-home-search .ip-home-location-status { min-height:0; margin:12px 0 0; color:var(--ip-color-text-muted); font-size:13px; line-height:1.5; }
.ip-home-location-status:empty { display:none; }
.ip-home-radius-apply { width:100%; margin-top:20px; }
.ip-home-search.is-docked { position:fixed; z-index:221; top:var(--ip-home-dock-top); left:var(--ip-home-dock-left); width:var(--ip-home-dock-width); }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__bar { min-height:46px; padding:3px; grid-template-columns:.8fr 1.15fr 1fr auto; border-radius:24px; box-shadow:0 2px 6px rgb(0 0 0 / 6%); }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__field { min-height:38px; padding:8px 14px; }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__field::before { height:22px; }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__label,.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__field > .ip-icon,.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__submit span { display:none; }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__field strong { font-size:12px; font-weight:600; color:var(--ip-color-text); }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__submit { min-width:36px; width:36px; height:36px; padding:0; margin:0; }
.ip-home-search.is-docked:not(.is-expanded) .ip-home-search__submit .ip-icon { width:16px; height:16px; }
.ip-home-search.is-expanded { top:calc(var(--ip-workspace-topbar-height) + 16px); left:var(--ip-home-expanded-left); width:var(--ip-home-expanded-width); }
.ip-home-search-backdrop { position:fixed; z-index:209; inset:var(--ip-workspace-topbar-height) 0 0; background:rgb(26 26 30 / 20%); }
.ip-home-nav-backdrop { position:fixed; z-index:215; inset:var(--ip-workspace-topbar-height) 0 0; background:rgb(26 26 30 / 25%); }
.ip-home-search [hidden],.ip-public-home > [hidden] { display:none!important; }
.ip-home-search button:focus-visible,.ip-home-nav-toggle:focus-visible { outline:2px solid var(--ip-color-action); outline-offset:3px; }
.ip-home-results { max-width:1160px; margin:auto; scroll-margin-top:100px; }
.ip-home-results h2 { font-size:26px; margin:0 0 12px; }
.ip-home-results > p { color:var(--ip-color-text-muted); margin:0 0 28px; }
.ip-home-results-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:24px; }
.ip-home-result { max-width:340px; }
.ip-home-result img { width:100%; height:200px; object-fit:cover; border-radius:20px; }
.ip-home-result h3 { margin:12px 0 4px; font-size:17px; }
.ip-home-result p { margin:0; font-size:14px; color:var(--ip-color-text-muted); }
@keyframes ip-home-panel-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1023px) {
    .ip-public-home-body { --ip-workspace-topbar-height:60px; }
    .ip-public-home-body .ip-home-sidebar { inset:0 auto auto 0; width:64px; height:var(--ip-workspace-topbar-height); border:0; background:var(--ip-color-surface); }
    .ip-public-home-body .ip-home-brand,.ip-public-home.is-collapsed .ip-home-brand { padding:12px 8px; }
    .ip-public-home-body .ip-home-brand img,.ip-public-home.is-collapsed .ip-home-brand img { width:40px; height:32px; }
    .ip-public-home-body .ip-public-home .ip-shell__workspace { margin-left:0; }
    .ip-public-home-body .ip-public-home .ip-workspace-topbar { left:0; padding-left:68px; }
    .ip-home-header-start { gap:8px; }
    .ip-home-nav-toggle { width:36px; flex-basis:36px; height:44px; }
    .ip-public-home.is-mobile-open .ip-home-sidebar { width:232px; height:100dvh; border-right:1px solid var(--ip-color-border); }
    .ip-public-home:not(.is-mobile-open) .ip-home-navigation { display:none; }
    .ip-public-home.is-mobile-open .ip-home-sidebar { width:min(280px,calc(100vw - 48px)); background:var(--ip-workspace-sidebar-bg); }
    .ip-workspace-body .ip-public-home .ip-home-navigation .ip-shell-nav__link { min-height:44px; }
    .ip-public-home.is-mobile-open .ip-home-brand { justify-content:flex-start; padding-left:18px; }
    .ip-public-home.is-mobile-open .ip-home-nav-close { position:absolute; top:8px; right:12px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--ip-color-text); cursor:pointer; }
    .ip-home-nav-close .ip-icon { width:18px; height:18px; }
    .ip-home-hero__content { padding-inline:24px; }
    .ip-home-search__field { padding-inline:16px; }
    .ip-home-search__submit span { display:none; }
    .ip-home-search__submit { width:52px; padding:0; }
}
@media(max-width:1024px) {
    .ip-public-home .ip-home-hero h1 { font-size:64px; }
}
@media(max-width:767px) {
    .ip-public-home-body .ip-workspace-topbar { gap:4px; }
    .ip-home-search-dock { position:absolute; top:calc(100% + 8px); left:12px; transform:none; width:calc(100% - 24px); max-width:none; }
    .ip-public-home.has-docked-search .ip-home-mobile-search { display:grid; place-items:center; flex:0 0 36px; width:36px; height:44px; padding:0; border:0; background:transparent; color:var(--ip-color-text); cursor:pointer; animation:ip-home-panel-in 180ms ease-out; }
    .ip-home-mobile-search .ip-icon { width:20px; height:20px; }
    .ip-home-mobile-search:hover { background:var(--ip-color-surface-related); }
    .ip-home-hero { min-height:600px; align-items:start; }
    .ip-home-hero__content { padding:50px 30px 30px; }
    .ip-home-hero__copy { margin-bottom:32px; }
    .ip-public-home .ip-home-hero h1 { font-size:38px; letter-spacing:normal; line-height:1.2; }
    .ip-home-hero__copy p { font-size:18px; line-height:1.6; }
    .ip-home-search-slot { min-height:188px; }
    .ip-home-search__bar { grid-template-columns:minmax(0,1fr) 56px; min-height:188px; padding:8px; border-radius:24px; }
    .ip-home-search__field { grid-column:1 / -1; min-height:56px; padding:12px 14px; }
    .ip-home-search__field[data-home-field="radius"] { grid-column:1; }
    .ip-home-search__field:not(:first-child)::before { top:0; left:16px; right:16px; width:auto; height:1px; transform:none; }
    .ip-home-search__submit { grid-column:2; margin:0; }
    .ip-public-home .ip-home-search button.ip-home-search__submit { width:44px; min-width:44px; height:44px; margin:0 4px; }
    .ip-home-search-panel { position:fixed; top:calc(var(--ip-workspace-topbar-height) + 16px); left:16px; right:16px; width:calc(100% - 32px); max-height:calc(100dvh - 100px); padding:16px; border-radius:24px; }
    .ip-home-search.is-docked .ip-home-search-panel { top:calc(var(--ip-workspace-topbar-height) + 16px); max-height:calc(100dvh - 100px); }
    .ip-home-search-panel__heading > button { flex-basis:44px; height:44px; }
    .ip-home-search-panel--type { max-height:460px; }
    .ip-home-search-option { min-height:48px; }
    .ip-home-search.is-docked:not(.is-expanded) .ip-home-search__bar { grid-template-columns:.7fr 1fr 1fr 38px; min-height:46px; }
    .ip-home-search.is-docked:not(.is-expanded) .ip-home-search__field { grid-column:auto; padding-inline:8px; }
    .ip-home-search.is-docked:not(.is-expanded) .ip-home-search__field:not(:first-child)::before { top:50%; left:0; right:auto; width:1px; height:22px; transform:translateY(-50%); }
    .ip-home-search.is-docked:not(.is-expanded) .ip-home-search__submit { grid-column:auto; }
    .ip-public-home .ip-home-search.is-docked:not(.is-expanded) button.ip-home-search__submit { width:36px; min-width:36px; height:36px; margin:0; }
    .ip-home-search.is-docked:not(.is-expanded) { display:none; }
    .ip-home-search.is-expanded { top:calc(var(--ip-workspace-topbar-height) + 16px); animation:ip-home-panel-in 180ms ease-out; }
    .ip-home-search.is-expanded .ip-home-mobile-search-heading { display:flex; align-items:center; justify-content:space-between; padding:12px 16px 4px 24px; background:var(--ip-color-surface); border:1px solid var(--ip-color-border); border-bottom:0; border-radius:24px 24px 0 0; }
    .ip-home-mobile-search-heading strong { font-size:16px; }
    .ip-home-mobile-search-heading button { display:grid; place-items:center; width:44px; height:44px; border:0; padding:0; background:transparent; color:var(--ip-color-text); cursor:pointer; }
    .ip-home-mobile-search-heading .ip-icon { width:18px; height:18px; }
    .ip-home-search.is-expanded .ip-home-search__bar { border-radius:0 0 24px 24px; border-top:0; }
    .ip-home-results { scroll-margin-top:150px; }
}
@media(prefers-reduced-motion:reduce) {
    .ip-home-search *, .ip-home-search-panel { animation:none!important; transition:none!important; }
}

.ip-home-login .ip-icon { width:18px; height:18px; }
.ip-home-guest-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }

/* Legacy home composition: measured at 1920 and 390 px, scoped to this page. */
.ip-home-discover { --ip-home-button:var(--ip-color-surface-related); background:var(--ip-color-surface); color:var(--ip-color-text); }
.ip-public-home :is(.ip-home-discover,.ip-home-health,.ip-home-faq) { background:var(--ip-color-page) var(--ip-surface-texture) repeat; }
.ip-home-section { padding:60px 20px; }
.ip-home-section__inner { width:100%; max-width:1200px; margin-inline:auto; }
.ip-home-editorial { display:flex; justify-content:space-between; gap:20px; }
.ip-home-discover h2,.ip-home-discover h3,.ip-home-discover p { margin:0; letter-spacing:normal; }
.ip-home-editorial h2 { width:45%; flex:none; font:600 35px/35px Manrope,sans-serif; color:var(--ip-color-text); }
.ip-home-editorial p { width:45%; flex:none; font:400 18px/27px Manrope,sans-serif; color:var(--ip-gray-500); }
.ip-home-editorial b { font-weight:700; }
.ip-home-intro { padding-top:120px; }
.ip-home-metrics__track { display:flex; align-items:stretch; gap:12px; padding:10px; border-radius:20px; background:#f5f5f5; overflow:auto hidden; scrollbar-width:none; overscroll-behavior-x:contain; }
.ip-home-metrics__track::-webkit-scrollbar { display:none; }
.ip-home-metrics__track article { flex:1 0 0; min-width:0; padding:24px; border-radius:20px; background:var(--ip-color-surface); }
.ip-home-metrics h3 { margin:0; font:600 20px/25px Manrope,sans-serif; color:var(--ip-color-text); }
.ip-home-metrics p { font:400 16px/22px Manrope,sans-serif; color:var(--ip-gray-500); }
.ip-home-metrics [data-home-count],.ip-home-metrics [data-home-years] { font-variant-numeric:tabular-nums; }
.ip-home-categories__inner { position:relative; padding-bottom:16px; }
.ip-home-categories__viewport { overflow:hidden; touch-action:pan-y pinch-zoom; }
.ip-home-categories__track { display:flex; align-items:start; gap:10px; transition:transform 500ms ease; }
.ip-home-category { display:grid; grid-template-columns:35fr 65fr; gap:20px; flex:0 0 100%; min-width:0; }
.ip-home-category__copy { display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:10px 10px 60px; min-width:0; }
.ip-home-category h2 { font:600 20px/20px "Montserrat Home",Montserrat,sans-serif; color:var(--ip-color-text); }
.ip-home-category--ong h2 { max-width:71%; }
.ip-home-category p { font:400 16px/24px "Montserrat Home",Montserrat,sans-serif; color:#838383; }
.ip-home-discover-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:12px 24px; min-height:39px; box-sizing:border-box; border-radius:var(--ip-button-radius); background:var(--ip-home-button); color:var(--ip-color-text); font:500 15px/15px Manrope,sans-serif; white-space:nowrap; }
.ip-home-discover-button .ip-icon { width:15px; height:15px; stroke-width:3; }
.ip-home-category__media { position:relative; min-width:0; }
.ip-home-category__media > img { display:block; width:100%; height:400px; border-radius:20px; object-fit:cover; object-position:center; }
.ip-home-category__count { position:absolute; top:20px; right:20px; border-radius:5px; padding:5px 10px; background:var(--ip-purple-500); color:#fff; font:400 12px/18px Manrope,sans-serif; }
.ip-home-category-controls { position:absolute; bottom:16px; left:0; display:flex; align-items:center; gap:18px; height:32px; }
.ip-home-category-arrows { display:flex; gap:3px; }
.ip-public-home .ip-home-category-arrows button { display:grid; place-items:center; width:32px; height:32px; min-height:0; border:0; padding:0; border-radius:50%!important; background:#e9e9e9; color:var(--ip-color-text); cursor:pointer; }
.ip-home-category-arrows .ip-icon { width:12px; height:12px; stroke-width:3; }
.ip-home-category-dots { display:flex; gap:12px; align-items:center; }
.ip-home-category-dots button { display:grid; place-items:center; padding:0; border:0; height:32px; width:20px; background:transparent; cursor:pointer; }
.ip-home-category-dots button span { display:block; width:20px; height:1px; background:var(--ip-color-text); opacity:.2; }
.ip-home-category-dots button[aria-pressed="true"] span { opacity:1; }
.ip-home-adoption-heading .ip-home-editorial { justify-content:flex-start; }
.ip-home-adoption-heading p { width:45%; }
.ip-home-animals { padding:0 0 60px; overflow:hidden; }
.ip-home-animals__inner { position:relative; display:flex; flex-direction:column; gap:25px; width:min(1200px,100%); margin:auto; padding:30px 0; }
.ip-home-animal-row { width:100%; overflow:hidden; background:#e9e9e9; container-type:inline-size; }
.ip-home-animal-track { display:flex; width:max-content; animation:ip-home-animals-left 37.14s linear infinite; }
.ip-home-animal-set { display:flex; gap:20px; padding-right:20px; }
.ip-home-animal-card { position:relative; flex:none; width:calc((100cqw - 60px)/4); height:auto; aspect-ratio:4/3; border-radius:16px; overflow:hidden; background:var(--ip-color-surface-related); transition:transform 300ms; }
.ip-home-animal-card:hover { transform:scale(1.02); z-index:1; }
.ip-home-animal-card img { display:block; width:100%; height:100%; object-fit:cover; }
.ip-home-animal-badge { position:absolute; z-index:2; top:15px; right:15px; padding:6px 12px; border-radius:20px; background:#e9e9e9; color:#333; box-shadow:0 2px 5px #0000001a; font:700 12px/18px Manrope,sans-serif; text-transform:uppercase; letter-spacing:.5px; }
.ip-home-animal-info { position:absolute; bottom:0; inset-inline:0; padding:20px; background:linear-gradient(to top,rgba(0,0,0,.8),transparent); color:white; opacity:0; transition:opacity 300ms; }
.ip-home-animal-info h3 { color:white; font:600 18px/22.5px Manrope,sans-serif; }
.ip-home-animal-card:hover .ip-home-animal-info { opacity:1; }
.ip-home-animal-card:focus-visible .ip-home-animal-info { opacity:1; }
.ip-home-animal-card:focus-visible { outline-offset:-3px; }
.ip-home-animal-row.is-short .ip-home-animal-track { animation:none; }
.ip-home-animal-row:has(.ip-home-animal-card:focus-visible) { overflow-x:auto; }
.ip-home-animal-row:has(.ip-home-animal-card:focus-visible) .ip-home-animal-track { animation:none; }
.ip-home-animals-empty { padding-block:30px; }
.ip-home-animal-row.is-reversed .ip-home-animal-track { animation-direction:reverse; }
.ip-home-animal-row:hover .ip-home-animal-track,.ip-home-animal-row:focus-within .ip-home-animal-track,.ip-home-animals.is-offscreen .ip-home-animal-track { animation-play-state:paused; }
.ip-home-discover :focus-visible { outline:2px solid var(--ip-color-focus); outline-offset:3px; }
.ip-home-animal-row:focus-visible { outline-offset:-3px; }
@keyframes ip-home-animals-left { from { transform:translateX(0); } to { transform:translateX(-50%); } }
[data-theme="dark"] .ip-home-metrics__track,[data-theme="dark"] .ip-home-category-arrows button,[data-theme="dark"] .ip-home-animal-row { background:var(--ip-color-surface-related); }
[data-theme="dark"] .ip-home-editorial p,[data-theme="dark"] .ip-home-metrics p,[data-theme="dark"] .ip-home-category p { color:var(--ip-color-text-muted); }
@media(max-width:1024px) { .ip-home-intro { padding-top:60px; } }
@media(max-width:767px) {
  .ip-home-continuation { padding:0; }
  .ip-home-editorial { flex-direction:column; }
  .ip-home-editorial h2,.ip-home-editorial p,.ip-home-adoption-heading p { width:100%; }
  .ip-home-intro { padding:60px 20px 30px; }
  .ip-home-metrics { padding:20px 20px 60px 10px; }
  .ip-home-metrics__track article { flex:0 0 60%; }
  .ip-home-categories { padding:60px 20px; }
  .ip-home-category { display:flex; flex-direction:column-reverse; gap:20px; }
  .ip-home-category__copy { padding:10px; }
  .ip-home-category__media > img { height:400px; }
  .ip-home-categories__inner { padding-bottom:16px; }
  .ip-home-category-controls { inset:auto 0 0; height:32px; justify-content:center; }
  .ip-home-category-arrows { position:absolute; right:0; bottom:47px; gap:8px; }
  .ip-home-category-dots { gap:12px; transform:translateY(13px); }
  .ip-home-adoption-heading { padding:60px 20px 30px; }
  .ip-home-adoption-heading h2 { font-size:25px; line-height:35px; }
  .ip-home-animal-card { width:280px; height:210px; }
  .ip-home-animal-card.is-revealed .ip-home-animal-info { opacity:1; }
  .ip-home-animal-badge { font-size:12px; }
  .ip-home-animals__inner { padding:30px 0; }
}
@media(prefers-reduced-motion:reduce) {
  .ip-home-categories__track { transition:none; }
  .ip-home-animal-track { animation:none; }
  .ip-home-animal-row { overflow-x:auto; }
  .ip-home-animal-set[aria-hidden] { display:none; }
  .ip-home-animal-info { opacity:1; }
  .ip-home-animal-card { transition:none; }
}

/* The next two legacy sections: needs and ways to help. */
.ip-home-help__layout { display:grid; grid-template-columns:35fr 65fr; gap:20px; }
.ip-home-help__copy { display:flex; flex-direction:column; align-items:flex-start; gap:20px; min-width:0; }
.ip-home-help__copy h2 { color:var(--ip-color-text); font:600 20px/20px "Montserrat Home",Montserrat,sans-serif; }
.ip-home-help__copy p { color:#838383; font:400 16px/24px "Montserrat Home",Montserrat,sans-serif; }
.ip-home-needs__cards { display:grid; grid-template-columns:repeat(3,32%); gap:10px; min-width:0; border-radius:20px; }
.ip-home-need-card { display:flex; flex-direction:column; gap:7px; min-width:0; padding:10px; border-radius:15px; background:var(--ip-color-surface-related); }
.ip-home-need-card h3 { display:flex; align-items:center; gap:9px; margin:0; border-radius:14px; padding:10px 10px 10px 20px; background:var(--ip-color-surface); color:var(--ip-color-text); font:400 16px/24px Manrope,sans-serif; }
.ip-home-need-card h3 svg { width:15px; height:15px; flex:none; fill:currentColor; }
.ip-home-need-card ul { display:flex; flex-direction:column; gap:7px; margin:0; padding:10px 10px 10px 20px; list-style:none; border-radius:14px; background:var(--ip-color-surface); color:#54595f; font:400 15px/22.5px Manrope,sans-serif; }
.ip-home-need-card li { margin:0; padding:0; }
.ip-home-volunteering__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:7px; min-width:0; border-radius:20px; background:var(--ip-color-surface-related); }
.ip-home-help-photo { display:flex; justify-content:flex-end; align-items:flex-start; position:relative; min-width:0; height:250px; padding:10px 10px 0 0; border-radius:20px; overflow:hidden; }
.ip-home-help-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ip-home-help-photo::after { content:""; position:absolute; inset:0; background:#0e0e0e; opacity:.44; pointer-events:none; }
.ip-home-help-photo h3 { position:relative; z-index:1; padding:12px 24px; border-radius:10px; background:#e9e9e9c7; color:#0e0e0e; font:500 12px/12px Manrope,sans-serif; }
[data-theme="dark"] .ip-home-help__copy p,[data-theme="dark"] .ip-home-need-card ul { color:var(--ip-color-text-muted); }
@media (min-width:768px) and (max-width:1024px) {
  .ip-home-help__layout { display:flex; flex-direction:column; }
  .ip-home-help__copy { align-self:center; align-items:center; width:75%; text-align:center; }
}
@media(max-width:767px) {
  .ip-home-help__layout { display:flex; flex-direction:column; }
  .ip-home-help__copy { padding:10px; }
  .ip-home-needs { padding:20px; }
  .ip-home-needs__cards,.ip-home-volunteering__cards { display:flex; flex-wrap:nowrap; align-items:flex-start; gap:11px; overflow:auto hidden; scrollbar-width:none; overscroll-behavior-x:contain; }
  .ip-home-needs__cards::-webkit-scrollbar,.ip-home-volunteering__cards::-webkit-scrollbar { display:none; }
  .ip-home-need-card,.ip-home-help-photo { flex:0 0 75vw; }
  .ip-home-need-card { border-radius:20px; }
}

/* Volunteer feature, copied from the public legacy home. */
.ip-home-network__photo { display:flex; flex-direction:column; align-items:flex-start; position:relative; min-height:80vh; padding:70px 50px 70px 60px; box-sizing:border-box; overflow:hidden; border-radius:20px; background:url('../images/home/volunteer-network.webp') center / auto; }
.ip-home-network__photo::before { content:""; position:absolute; inset:0; background:rgb(14 14 14 / 12%); }
.ip-home-network__copy { position:relative; display:flex; flex:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; width:44%; padding:20px; border-radius:20px; background:#f1eeff7a; }
.ip-home-network h2 { color:#212121; font:500 2.2vw/1.1 Manrope,sans-serif; }
.ip-home-network p { margin-top:1%; color:#222; font:300 22px/33px Manrope,sans-serif; }
.ip-home-network .ip-home-discover-button { background:#e9e9e9; color:#212121; }

/* Canonical volunteering calendar. No external UI framework or Google feed. */
.ip-home-calendar-section .ip-home-help__layout { grid-template-columns:minmax(220px,.65fr) minmax(0,1.65fr); align-items:start; gap:32px; }
.ip-home-calendar { min-width:0; display:grid; grid-template-columns:minmax(260px,5fr) minmax(0,7fr); height:650px; padding:10px; gap:10px; border:0; border-radius:20px; background:var(--ip-color-surface-related); overflow:hidden; }
.ip-home-calendar__picker { display:flex; flex-direction:column; border-radius:14px; background:var(--ip-color-surface); min-width:0; overflow-y:auto; padding:24px 16px; border-right:0; }
.ip-home-calendar__picker > * { flex-shrink:0; }
.ip-home-calendar button { font-family:inherit; cursor:pointer; }
.ip-home-calendar__title,.ip-home-calendar__month,.ip-home-calendar__agenda-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ip-home-calendar__title h3 { color:var(--ip-color-text); font-size:18px; font-weight:650; line-height:24px; }
.ip-home-calendar__title > button { min-height:36px; padding:6px 12px; border:0; border-radius:20px; background:var(--ip-color-action-soft); color:var(--ip-color-action); font-size:13px; font-weight:600; }
.ip-home-calendar__month { margin:24px 0 16px; }
.ip-home-calendar__month strong { font-size:14px; font-weight:600; text-align:center; color:var(--ip-color-text); }
.ip-home-calendar__month > button { display:grid; place-items:center; width:36px; height:36px; flex:none; padding:0; border:0; border-radius:20px; background:transparent; color:var(--ip-color-text-muted); }
.ip-home-calendar__month .ip-icon { width:18px; height:18px; }
.ip-home-calendar__weekdays,.ip-home-calendar__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; }
.ip-home-calendar__weekdays { margin-bottom:8px; color:var(--ip-color-text-muted); font-size:11px; line-height:20px; }
.ip-home-calendar__days { row-gap:4px; margin-bottom:32px; }
.ip-home-calendar .ip-home-calendar__day { position:relative; display:grid; place-items:center; min-width:0; width:100%; height:40px; padding:0 0 3px; border:1px solid transparent; border-radius:20px; color:var(--ip-color-text); background:transparent; font-size:14px; line-height:20px; transition:background-color 160ms ease,color 160ms ease; }
.ip-home-calendar__day[aria-current="date"] { border-color:var(--ip-color-action); color:var(--ip-color-action); font-weight:700; }
.ip-home-calendar .ip-home-calendar__day[aria-pressed="true"],.ip-home-calendar__filters button[aria-pressed="true"] { color:var(--ip-white); background:var(--ip-purple-600); border-color:var(--ip-purple-600); }
.ip-home-calendar__dot { position:absolute; bottom:4px; width:4px; height:4px; border-radius:50%; background:var(--ip-color-action); }
.ip-home-calendar__day[aria-pressed="true"] .ip-home-calendar__dot { background:var(--ip-white); }
.ip-home-calendar__filters { --ip-button-radius:10px; margin:auto 0 0; padding:0; border:0; min-width:0; }
.ip-home-calendar__filters > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ip-home-calendar__filters button { min-height:38px; padding:8px 12px; border:1px solid var(--ip-color-border); border-radius:10px; color:var(--ip-color-text-muted); background:var(--ip-color-surface); font-size:14px; font-weight:400; line-height:20px; text-align:left; transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease; }
.ip-home-calendar__filters button:hover { border-color:var(--ip-color-border-strong); }
.ip-home-calendar .ip-home-calendar__timezone { margin-top:16px; color:var(--ip-color-text-muted); font-size:11px; line-height:18px; }
/* The right pane keeps the compact cards and in-place detail of the legacy calendar. */
.ip-home-calendar__agenda { min-width:0; min-height:0; background:var(--ip-color-surface-subtle); scroll-margin-top:80px; }
.ip-home-calendar__results { height:100%; display:flex; flex-direction:column; padding:24px; }
.ip-home-calendar__agenda-title { align-items:flex-start; flex-wrap:wrap; flex:none; gap:6px; margin-bottom:24px; }
.ip-home-calendar__agenda-title h3 { flex-basis:100%; color:var(--ip-color-text); font-size:16px; font-weight:650; line-height:24px; }
.ip-home-calendar__agenda-title h3::first-letter,.ip-home-calendar__month strong::first-letter { text-transform:uppercase; }
.ip-home-calendar__agenda-title > span { color:var(--ip-color-text-muted); font-size:12px; }
.ip-home-calendar__status { padding:24px 0; color:var(--ip-color-text-muted); font-size:14px; line-height:22px; }
.ip-home-calendar__list { display:flex; flex-direction:column; gap:12px; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.ip-home-calendar .ip-home-calendar-event { --ip-button-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex:none; min-width:0; width:100%; min-height:66px; padding:12px 14px; border:1px solid var(--ip-color-border); border-radius:10px; background:var(--ip-color-surface); color:var(--ip-color-text); text-align:left; box-shadow:0 1px 2px rgb(0 0 0 / 3%); transition:border-color 160ms ease,box-shadow 160ms ease; }
.ip-home-calendar .ip-home-calendar-event:hover { border-color:var(--ip-color-border-strong); box-shadow:0 2px 8px rgb(0 0 0 / 6%); }
.ip-home-calendar-event__copy { display:flex; flex:1; flex-direction:column; min-width:0; gap:4px; }
.ip-home-calendar-event__copy > strong { font-size:14px; line-height:20px; font-weight:600; overflow-wrap:anywhere; }
.ip-home-calendar-event__times { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; color:var(--ip-color-text-muted); font-size:12px; line-height:18px; font-variant-numeric:tabular-nums; }
.ip-home-calendar-event__times .ip-icon { width:14px; height:14px; }
.ip-home-calendar-event__arrow { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:50%; background:var(--ip-color-surface-subtle); color:var(--ip-color-text-muted); }
.ip-home-calendar-event__arrow .ip-icon { width:18px; height:18px; }
.ip-home-calendar-event:hover .ip-home-calendar-event__arrow { color:var(--ip-color-action); background:var(--ip-color-action-soft); }
.ip-home-calendar [hidden] { display:none!important; }
.ip-home-calendar button:focus-visible,.ip-home-calendar a:focus-visible { outline:2px solid var(--ip-color-action); outline-offset:-2px; }
.ip-home-calendar-detail { height:100%; display:flex; flex-direction:column; min-height:0; }
.ip-home-calendar-detail__head { flex:none; padding:16px 24px; }
.ip-home-calendar-detail__head > button { display:flex; align-items:center; gap:6px; min-height:36px; padding:4px 0; border:0; border-radius:20px; background:transparent; color:var(--ip-color-text-muted); font-size:12px; font-weight:500; }
.ip-home-calendar-detail__head .ip-icon { width:16px; height:16px; }
.ip-home-calendar-detail__body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 24px 24px; scrollbar-width:thin; animation:ip-calendar-detail-in 180ms ease both; }
.ip-home-calendar-detail__map { height:180px; margin-bottom:20px; padding:4px; border:1px solid var(--ip-color-border); border-radius:16px; background:var(--ip-color-surface); }
.ip-home-calendar-detail__map iframe { display:block; width:100%; height:100%; border:0; border-radius:12px; }
.ip-home-calendar-detail__body > h3 { margin:0 0 12px; color:var(--ip-color-text); font-size:20px; line-height:28px; font-weight:650; }
.ip-home-calendar-detail__meta { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.ip-home-calendar-detail__meta p { display:flex; align-items:flex-start; gap:6px; margin:0; font-size:12px; line-height:18px; }
.ip-home-calendar-detail__meta .ip-icon { flex:none; width:14px; height:14px; margin-top:2px; }
.ip-home-calendar-detail__when { padding:4px 10px; border-radius:20px; color:var(--ip-color-action); background:var(--ip-color-action-soft); font-weight:600; }
.ip-home-calendar-detail__place { color:var(--ip-color-text-muted); }
.ip-home-calendar-detail__description { color:var(--ip-color-text-muted); font-size:14px; line-height:22px; overflow-wrap:anywhere; }
.ip-home-calendar-detail__description h4 { color:var(--ip-color-text); font-size:14px; line-height:22px; font-weight:650; margin:16px 0 8px; }
.ip-home-calendar-detail__description > h4 { margin-top:0; }
.ip-home-calendar-detail__description p { margin:0 0 12px; color:inherit; font:inherit; }
.ip-home-calendar-detail__description ul,.ip-home-calendar-detail__description ol { padding-left:20px; margin:8px 0 16px; }
.ip-home-calendar-detail__description li { margin:4px 0; }
.ip-home-calendar-detail__description strong { color:var(--ip-color-text); }
.ip-home-calendar-detail__actions { display:flex; flex-wrap:wrap; flex:none; gap:10px; padding:16px 24px; border-top:1px solid var(--ip-color-border); background:var(--ip-color-surface); }
.ip-home-calendar-detail__actions a { display:flex; flex:1; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:8px 10px; border:1px solid var(--ip-color-border-strong); border-radius:20px; color:var(--ip-color-text); font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; }
.ip-home-calendar-detail__actions [data-calendar-open] { background:var(--ip-purple-600); border-color:var(--ip-purple-600); color:var(--ip-white); }
.ip-home-calendar-detail__actions .ip-icon { width:16px; height:16px; }
@keyframes ip-calendar-detail-in { from { opacity:0; transform:translateX(8px); } to { opacity:1; transform:translateX(0); } }
@media(max-width:1100px) {
  .ip-home-calendar-section .ip-home-help__layout { grid-template-columns:minmax(0,1fr); }
  .ip-home-calendar-section .ip-home-help__copy { max-width:650px; }
}
@media(max-width:1024px) {
  .ip-home-network h2 { font-size:50px; }
  .ip-home-network p { font-size:18px; line-height:27px; }
}
@media(max-width:767px) {
  .ip-home-network { padding:20px; }
  .ip-home-network__photo { min-height:60vh; padding:0; justify-content:flex-end; }
  .ip-home-network__copy { align-self:center; flex:none; width:90%; margin-bottom:30px; padding:15px 5px 15px 10px; }
  .ip-home-network h2 { font-size:20px; line-height:24px; text-align:center; }
  .ip-home-network p { margin-top:5%; font-size:16px; line-height:24px; }
  .ip-home-calendar-section { padding:40px 20px 60px; }
  .ip-home-calendar { grid-template-columns:minmax(0,1fr); width:100%; height:auto; }
  .ip-home-calendar__picker { padding:20px 12px; border-right:0; border-bottom:1px solid var(--ip-color-border); }
  .ip-home-calendar .ip-home-calendar__day { height:44px; }
  .ip-home-calendar__month > button,.ip-home-calendar__title > button,.ip-home-calendar__filters button { min-height:44px; }
  .ip-home-calendar__results { padding:20px 16px; }
  .ip-home-calendar__list { overflow:visible; }
  .ip-home-calendar-detail { height:min(680px,calc(100dvh - 80px)); min-height:420px; }
  .ip-home-calendar-detail__head { padding:12px 16px; }
  .ip-home-calendar-detail__head > button { min-height:44px; }
  .ip-home-calendar-detail__body { padding:0 16px 20px; }
  .ip-home-calendar-detail__actions { padding:12px 16px; gap:8px; }
  .ip-home-calendar-detail__actions a { min-height:44px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .ip-home-calendar * { transition:none!important; animation:none!important; } }

.ip-home-faq { background:var(--ip-color-surface); }
.ip-home-faq__items { min-width:0; display:flex; flex-direction:column; gap:10px; padding:10px; border-radius:20px; background:var(--ip-color-surface-related); }
.ip-home-faq__item { border:0 solid var(--ip-color-border); border-radius:16px; background:var(--ip-color-surface); overflow:hidden; }
.ip-home-faq__item summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:60px; padding:18px 20px; color:var(--ip-color-text); font:600 16px/24px Manrope,sans-serif; cursor:pointer; list-style:none; }
.ip-home-faq__item summary::-webkit-details-marker { display:none; }
.ip-home-faq__item summary:focus-visible { outline:2px solid var(--ip-color-action); outline-offset:-3px; border-radius:16px; }
.ip-home-faq__icon { position:relative; width:16px; height:16px; flex:none; color:var(--ip-color-text); }
.ip-home-faq__icon::before,.ip-home-faq__icon::after { content:""; position:absolute; top:7px; left:1px; width:14px; height:2px; border-radius:1px; background:currentColor; }
.ip-home-faq__icon::after { transform:rotate(90deg); transition:transform 180ms ease; }
.ip-home-faq__item[open] .ip-home-faq__icon::after { transform:rotate(0); }
.ip-home-faq__answer p { margin:0; color:inherit; font:inherit; }
.ip-home-faq__answer { padding:0 20px 20px; color:var(--ip-color-text-muted); font:400 15px/24px Manrope,sans-serif; }
@media(max-width:767px) {
  .ip-home-faq { padding:40px 20px 60px; }
  .ip-home-faq__item summary { padding:16px; font-size:14px; }
  .ip-home-faq__answer { padding:0 16px 16px; font-size:14px; line-height:22px; }
}
@media(prefers-reduced-motion:reduce) { .ip-home-faq__icon::after { transition:none; } }

.ip-home-calendar__agenda { border-radius:14px; background:var(--ip-color-surface); }
@media(min-width:768px) {
  .ip-public-home .ip-home-search.is-docked .ip-home-search__submit { width:36px; min-width:36px; height:36px; margin:0; }
  .ip-home-search.is-docked .ip-home-search__field { border-radius:20px; }
  .ip-home-search.is-docked .ip-home-search-panel { max-width:none; }
}
@media(max-width:767px) {
  .ip-home-nav-group__items [role="link"],.ip-home-nav-group__items a { text-decoration:none; border-radius:8px; min-height:44px; padding-block:12px; }
  .ip-home-search__field { border-radius:20px; }
  .ip-home-calendar { padding:8px; gap:8px; }
  .ip-home-calendar__picker { border:0; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .ip-home-discover-button,.ip-home-health-card { transition:background-color 180ms,transform 180ms,box-shadow 180ms; }
  .ip-home-discover-button:not([aria-disabled="true"]):hover { transform:translateY(-2px); }
  .ip-home-health-card:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgb(0 0 0 / 5%); }
  .ip-home-faq__item summary { transition:background-color 180ms; }
  .ip-home-faq__item summary:hover { background:var(--ip-color-surface-subtle); }
}

/* Health: the legacy's three photo cards, with nearby veterinarians as card 3. */
.ip-home-health { background:var(--ip-color-surface); }
.ip-home-health__intro { padding:0 0 40px; }
.ip-home-health__intro p { color:var(--ip-color-text-muted); }
.ip-home-health__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ip-home-health-card { display:flex; flex-direction:column; min-width:0; gap:10px; border-radius:20px; }
.ip-home-health-card > img { display:block; width:100%; height:300px; border-radius:20px; object-fit:cover; }
.ip-home-health-card__body { display:flex; flex:1; flex-direction:column; gap:30px; padding:20px; border-radius:20px; background:var(--ip-color-surface-related); }
.ip-home-health-card__body p { margin:0; font:500 16px/24px "Montserrat Home",Montserrat,sans-serif; color:var(--ip-color-text); }
.ip-home-health-card h3 { margin:auto 0 0; font:500 16px/24px "Montserrat Home",Montserrat,sans-serif; color:var(--ip-color-text); text-decoration:underline; text-underline-offset:4px; }
.ip-home-health__cards:focus-visible { outline:2px solid var(--ip-color-action); outline-offset:5px; border-radius:20px; }
.ip-home-footer { padding:56px 40px 0; color:var(--ip-color-text-muted); background:var(--ip-color-surface-related) var(--ip-surface-texture) repeat; background-blend-mode:var(--ip-surface-texture-blend); }
.ip-home-footer__main { display:grid; grid-template-columns:1.5fr 1fr 1fr .85fr; gap:40px; padding-bottom:40px; }
.ip-home-footer__brand img { object-fit:contain; }
.ip-home-footer__brand p { max-width:255px; margin:16px 0 0; color:inherit; font:400 14px/22px Manrope,sans-serif; }
.ip-home-footer nav { display:flex; align-items:flex-start; flex-direction:column; gap:12px; }
.ip-home-footer h2 { margin:8px 0; color:var(--ip-color-text); font:650 14px/22px Manrope,sans-serif; }
.ip-home-footer a { color:var(--ip-color-text-muted); font:400 13px/22px Manrope,sans-serif; text-decoration:none; transition:color 180ms; }
.ip-home-footer a:hover { color:var(--ip-color-action); }
.ip-home-footer a:focus-visible { outline:2px solid var(--ip-color-action); outline-offset:4px; border-radius:4px; }
.ip-home-footer__bottom { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; padding:20px 0; border-top:1px solid var(--ip-color-border); font:400 12px/20px Manrope,sans-serif; }
.ip-home-footer__bottom a { display:flex; align-items:center; gap:8px; margin-left:auto; }
.ip-home-footer__bottom .ip-icon { width:16px; height:16px; }
.ip-home-canvas [id^="ip-home-"] { scroll-margin-top:90px; }
@media(min-width:768px) and (max-width:1023px) {
  .ip-home-health-card > img { height:220px; }
  .ip-home-health-card__body { padding:16px; }
  .ip-home-footer__main { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .ip-home-footer__brand { grid-column:1/-1; }
}
@media(max-width:767px) {
  .ip-home-health { padding:40px 20px; }
  .ip-home-health__intro { padding:0 10px 24px; }
  .ip-home-health__cards { display:flex; gap:10px; overflow:auto hidden; scrollbar-width:thin; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:12px; }
  .ip-home-health-card { flex:0 0 75vw; scroll-snap-align:start; }
  .ip-home-health-card > img { height:300px; }
  .ip-home-footer { padding:36px 24px 0; }
  .ip-home-footer__main { grid-template-columns:1fr 1fr; gap:28px 20px; padding-bottom:28px; }
  .ip-home-footer__brand { grid-column:1/-1; }
  .ip-home-footer nav { gap:4px; }
  .ip-home-footer nav a { display:flex; align-items:center; min-height:44px; }
  .ip-home-footer__bottom { gap:12px; }
  .ip-home-footer__bottom > span:nth-child(2) { margin-left:auto; }
  .ip-home-footer__bottom a { width:100%; min-height:44px; }
}

.ip-home-nav-group__items a:hover,.ip-home-nav-group__items a[aria-current="page"] { background:var(--ip-color-action-soft); color:var(--ip-color-action); }
.ip-home-navigation__action { text-decoration:none; }

.ip-home-discover-button,.ip-home-health-card h3 a { text-decoration:none; color:inherit; }
.ip-home-need-card,.ip-home-help-photo,.ip-home-animal-card { text-decoration:none; color:inherit; }
.ip-home-health-card { position:relative; }
.ip-home-health-card h3 a::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.ip-home-health-card:focus-within { outline:2px solid var(--ip-color-focus); outline-offset:3px; }

/* Public header: the same account controls and proportions as Gestión. */
.ip-public-home-body { --ip-workspace-topbar-height:80px; --ip-workspace-sidebar-width:220px; --ip-workspace-sidebar-collapsed:64px; }
.ip-public-home-body .ip-workspace-topbar { padding-inline:24px; gap:16px; z-index:200; }
.ip-public-home-body .ip-home-nav-toggle { --ip-button-radius:10px; width:36px; height:36px; flex-basis:36px; border:1px solid var(--ip-color-border); border-radius:10px; }
.ip-public-home-body .ip-home-nav-toggle .ip-icon { width:18px; height:18px; }
.ip-public-home-body .ip-workspace-topbar__actions { display:grid; grid-template-columns:32px 32px 1px 36px minmax(0,1fr); gap:8px; width:306px; flex:0 0 306px; }
.ip-public-home-body .ip-workspace-topbar__actions .ip-header-feed { height:36px; }
.ip-public-home-body .ip-workspace-topbar__actions .ip-header-icon { width:32px; min-width:32px; height:36px; border:0; background:transparent; }
.ip-public-home-body .ip-workspace-header-divider { width:1px; height:22px; background:var(--ip-color-border-strong); align-self:center; }
.ip-public-home-body .ip-workspace-topbar__actions > .ip-workspace-theme-toggle { --ip-button-radius:50%; width:36px; min-width:36px; height:36px; min-height:36px; aspect-ratio:1; border:1px solid var(--ip-color-border); border-radius:50%; background:transparent; }
.ip-public-home-body .ip-workspace-account { min-width:0; width:100%; margin:0; padding:0 0 0 4px; border:0; }
.ip-public-home-body .ip-workspace-account > summary { width:100%; max-width:none; height:44px; gap:8px; padding:0; }
.ip-public-home-body .ip-workspace-avatar { width:38px; height:38px; flex:0 0 38px; }
.ip-public-home-body .ip-workspace-account__identity { display:block; min-width:0; flex:1; }
.ip-public-home-body .ip-workspace-account__identity strong { max-width:140px; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ip-public-home-body .ip-workspace-account__identity small { display:block; margin-top:2px; color:var(--ip-color-text-muted); font-size:10px; }
.ip-public-home-body .ip-workspace-account > summary > .ip-icon { display:block; width:12px; height:12px; flex:0 0 12px; margin-left:0; }
@media(min-width:1200px) { .ip-public-home-body [data-header-communication] .ip-home-search-dock { max-width:calc(100% - 650px); } }
@media(max-width:1199px) {
    .ip-public-home-body .ip-workspace-topbar__actions { grid-template-columns:32px 32px 36px 38px; width:162px; flex-basis:162px; }
    .ip-public-home-body .ip-workspace-header-divider,.ip-public-home-body .ip-workspace-account__identity,.ip-public-home-body .ip-workspace-account > summary > .ip-icon { display:none; }
    .ip-public-home-body .ip-workspace-account { padding:0; }
}
@media(max-width:1023px) {
    .ip-public-home-body { --ip-workspace-topbar-height:60px; }
    .ip-public-home-body .ip-public-home .ip-workspace-topbar { padding-inline:16px; }
    .ip-public-home-body .ip-public-home .ip-home-sidebar { inset:0 auto 0 0; width:min(280px,calc(100vw - 48px)); height:100dvh; transform:translateX(-100%); visibility:hidden; border-right:1px solid var(--ip-color-border); transition:transform 220ms ease,visibility 220ms; }
    .ip-public-home-body .ip-public-home.is-mobile-open .ip-home-sidebar { transform:translateX(0); visibility:visible; }
    .ip-public-home-body .ip-public-home .ip-home-brand { justify-content:flex-start; padding:10px 18px; }
    .ip-public-home-body .ip-public-home .ip-home-brand img { width:84px; height:44px; }
    .ip-home-navigation__scroll { padding-top:20px; }
    .ip-public-home .ip-home-nav-link { min-height:44px; }
    .ip-home-navigation__action { min-height:44px; }
    .ip-public-home-body .ip-home-nav-toggle { height:40px; width:40px; flex-basis:40px; }
    .ip-public-home-body .ip-home-mobile-search { width:40px; min-width:40px; height:40px; }
    .ip-public-home .ip-home-nav-backdrop { inset:0; }
}

/* Comparison C: full-width canvas, logo and a floating navigation panel on the right. */
.ip-public-menu-layout { scrollbar-gutter:stable; }
.ip-preview-html:has(.ip-public-listing) { scrollbar-gutter:stable; }
.ip-public-listing-body { --ip-header-height:var(--ip-workspace-topbar-height); }
.ip-public-listing .ip-shell__workspace { padding-top:var(--ip-workspace-topbar-height); }
.ip-public-listing-search-slot { height:0; }
.ip-public-home .ip-account-theme-toggle { display:flex; align-items:center; width:100%; min-height:44px; gap:12px; padding:10px 12px; border:0; border-radius:10px; background:transparent; color:var(--ip-color-text); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.ip-public-home .ip-account-theme-toggle:hover { background:var(--ip-color-action-soft); }
.ip-account-theme-toggle > .ip-icon { width:18px; height:18px; flex:none; }
.ip-account-theme-switch { position:relative; width:32px; height:20px; margin-left:auto; flex:none; background:var(--ip-color-border-strong); border-radius:20px; transition:background-color 180ms; }
.ip-account-theme-switch::after { content:''; position:absolute; width:14px; height:14px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0002; transition:transform 180ms; }
.ip-account-theme-toggle[aria-pressed="true"] .ip-account-theme-switch { background:var(--ip-color-action); }
.ip-account-theme-toggle[aria-pressed="true"] .ip-account-theme-switch::after { transform:translateX(12px); }
.ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-shell__workspace { margin-left:0; }
.ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar { left:0; }
.ip-home-header-brand { display:flex; align-items:center; flex:none; width:100px; height:48px; }
.ip-home-header-brand img { width:100%; height:44px; object-fit:contain; }
.ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar__actions { grid-template-columns:36px 36px 44px 44px; width:184px; flex-basis:184px; gap:8px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account { padding:0; }
.ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account > summary { justify-content:center; }
.ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account__identity,
.ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account > summary > .ip-icon { display:none; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle { width:44px; height:44px; border:0; background:transparent; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle .ip-icon { width:22px; height:22px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-search-dock { max-width:calc(100% - 440px); }
.ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-home-sidebar {
    inset:calc(var(--ip-workspace-topbar-height) + 12px) 24px auto auto;
    width:320px; height:auto; max-height:calc(100dvh - var(--ip-workspace-topbar-height) - 36px);
    border:1px solid var(--ip-color-border); border-radius:20px;
    background:var(--ip-color-surface); box-shadow:0 12px 48px rgb(0 0 0 / 14%);
    overflow:hidden; visibility:hidden; opacity:0; transform:translateX(14px);
    transition:opacity 180ms ease,transform 220ms ease,visibility 220ms;
}
.ip-public-home-body .ip-public-home[data-sidebar-mode="menu"].is-menu-open .ip-home-sidebar { visibility:visible; opacity:1; transform:none; }
.ip-home-menu-heading { flex:none; padding:20px 24px 16px; font-size:16px; line-height:24px; font-weight:650; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-nav-close { position:absolute; top:10px; right:12px; display:grid; place-items:center; width:44px; height:44px; border:0; background:transparent; color:var(--ip-color-text); cursor:pointer; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-nav-close .ip-icon { width:18px; height:18px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-navigation { overflow:hidden; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-navigation__scroll { padding:4px 14px 16px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-nav-link { min-height:40px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-nav-groups { gap:16px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-navigation__footer { border-top:1px solid var(--ip-color-border); padding-inline:16px; }
.ip-public-home[data-sidebar-mode="menu"] .ip-home-nav-backdrop { inset:0; background:rgb(26 26 30 / 12%); }
.ip-public-menu-open { overflow:hidden; }
@media(max-width:767px) {
    .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar { padding-inline:12px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-header-brand { width:64px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-search-dock { max-width:none; }
    .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-home-sidebar { inset:calc(var(--ip-workspace-topbar-height) + 8px) 12px auto auto; width:min(320px,calc(100vw - 24px)); max-height:calc(100dvh - var(--ip-workspace-topbar-height) - 20px); }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-nav-link { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-home-sidebar { transition:none; } }

/* Keep the public account identity consistent with Gestión, desktop only. */
@media(min-width:1024px) {
    .ip-public-home-body { --ip-workspace-topbar-height:96px; }
    .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar { background:linear-gradient(#fff,#f8f8f8); }
    [data-theme="dark"] .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar { background:var(--ip-surface-texture),linear-gradient(var(--ip-ink-900),var(--ip-ink-850)); }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-header-brand { width:90px; height:54px; margin-left:-8px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-header-brand img { width:90px; height:54px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar__actions { display:flex; width:auto; flex:0 0 auto; gap:12px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account { width:173px; max-width:199px; padding-left:4px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account > summary { justify-content:flex-start; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account__identity { display:block; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account > summary > .ip-icon { display:block; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle { --ip-button-radius:50%; width:40px; height:40px; flex-basis:40px; border-radius:50%; background:var(--ip-gray-100); }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle .ip-icon { width:20px; height:20px; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle:hover { background:var(--ip-gray-200); }
    [data-theme="dark"] .ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle { background:var(--ip-ink-800); }
    [data-theme="dark"] .ip-public-home[data-sidebar-mode="menu"] .ip-home-menu-toggle:hover { background:var(--ip-ink-700); }
    .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar__actions .ip-header-feed,
    .ip-public-home-body .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-topbar__actions .ip-header-feed > .ip-header-icon { width:40px; min-width:40px; height:40px; min-height:40px; margin:0; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-header-feed > .ip-header-icon { display:grid; place-items:center; padding:0; line-height:1; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-header-feed > .ip-header-icon > .ip-icon { display:block; width:20px; height:20px; margin:0; grid-area:1 / 1; }
    .ip-public-home[data-sidebar-mode="menu"] .ip-header-badge { top:5px; right:5px; }
    .ip-public-home[data-sidebar-mode="menu"] [data-header-communication] .ip-home-search-dock { max-width:calc(100% - 760px); }
}

@media(min-width:1600px) { .ip-public-home[data-sidebar-mode="menu"] .ip-workspace-account { width:199px; } }
