/* Landing page: a hero and extra sections around the unchanged /robots catalogue. */
.home{--navy:#0c1a33;--home-header-h:78px;--home-top-header-h:78px;--home-header-sky:#2f4367;--hero-fade-h:clamp(120px,18svh,200px)}
.home .market-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--home-header-h);padding-inline:28px 18px;gap:16px;flex-wrap:nowrap;border-bottom:0;background:transparent;color:#fff}
/* Keep the glass on its own surface so fixed menus retain their viewport positioning. */
.home .market-header:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--home-header-sky);box-shadow:0 6px 22px rgba(12,26,51,.14),inset 0 -1px rgba(255,255,255,.16);opacity:0;transition:opacity .24s ease}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .home .market-header:before{background:linear-gradient(180deg,rgba(47,67,103,.82),rgba(47,67,103,.74));-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}
}
.home .market-nav{flex:none;flex-wrap:nowrap;gap:12px}
.home .wordmark{flex:none}
.home .market-header .site-menu-panel{position:fixed;top:calc(var(--home-header-h) + 8px);right:18px}
.home[data-header-compact] .market-header .site-menu-panel{right:12px}
.home[data-header-account-hidden] .market-nav .nav-account{display:none}
.home[data-header-compact] .market-header{padding-inline:18px 12px;gap:12px}
.home[data-header-compact] .wordmark,.home[data-header-compact] .brand-logo{font-size:32px}
.home[data-header-compact] .market-nav{gap:10px}
.home[data-header-compact] .market-nav>.nav-find{min-height:38px;padding:8px 11px;font-size:.75rem}
.home[data-header-minimal] .market-header{padding-inline:12px;gap:10px}
.home[data-header-minimal] .wordmark{font-size:34px}
.home[data-header-minimal] .brand-logo,.home[data-header-minimal] .market-nav>.nav-find{display:none}
.home[data-header-scrolled] .market-header:before{opacity:1}
.home .market-nav .nav-provider{display:none}
.home .market-nav>.nav-find{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(255,255,255,.1)}
.home .market-nav>.nav-find:hover{background:rgba(255,255,255,.18);text-decoration:none}
.home[data-search-docked] .market-nav .nav-bookings{display:none}
.home #app,.home #how-it-works{scroll-margin-top:calc(var(--home-header-h) + 32px)}
.home .skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 16px;border-radius:30px;background:var(--navy);color:#fff;transform:translateY(-200%)}
.home .skip-link:focus{transform:none}

/* ---------- Hero: one full-bleed photo, a calm headline, the search bar centred in the sky ---------- */
.home{--hero-frame-h:max(600px,100svh);--hero-h:calc(var(--hero-frame-h) + var(--hero-fade-h))}
.home-hero{position:relative;display:flex;align-items:flex-start;justify-content:center;height:var(--hero-h);overflow:hidden;background:#0c1a33;color:#fff;text-align:center;isolation:isolate}
/* The robots stand bottom-right; anchor the crop there so they stay in frame at every width. */
.home-hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.home-hero-media:after{content:"";position:absolute;inset:auto 0 0;height:var(--hero-fade-h);background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.2) 45%,#fff)}
.home-hero-image-scene{position:absolute;inset:0;transform-origin:72% calc(var(--hero-frame-h)*.78);animation:hero-drift 28s ease-in-out infinite alternate}
.home-hero-extension{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 100%}
/* Keep the original photograph at its original viewport height. Only the terrace below it is new. */
.home-hero-photo{position:absolute;inset:0 0 auto;width:100%;height:var(--hero-frame-h);object-fit:cover;object-position:72% 78%;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 64px),transparent)}
@keyframes hero-drift{from{transform:scale(1.025) translate(0,0)}to{transform:scale(1.06) translate(-.5%,0)}}
/* A light veil behind the text only; the photo stays vivid where the robots are. */
.home-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 55% at 50% 30%,rgba(12,26,51,.42) 0%,rgba(12,26,51,.18) 55%,rgba(12,26,51,0) 80%),linear-gradient(180deg,rgba(12,26,51,.35) 0%,rgba(12,26,51,0) 40%)}
.home-hero-copy{max-width:900px;padding:calc(var(--home-top-header-h) + clamp(32px,3.5vw,64px)) 24px 0}
.home-hero-copy h1{margin:0;font-size:clamp(2.3rem,4.3vw,3.75rem);font-weight:700;line-height:1.08;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 1px 18px rgba(12,26,51,.3)}
.home-hero-sub{max-width:640px;margin:40px auto 0;font-size:clamp(.98rem,1.25vw,1.1rem);font-weight:400;line-height:1.6;color:rgba(255,255,255,.88);text-wrap:balance}

/* ---------- Catalogue: the hero has its own search, so hide the catalogue's bar here ---------- */
.home #app{min-height:0;padding-top:72px;padding-bottom:24px}
.home #app>.discovery>.discovery-search-wrap,.home #app>.discovery>.discovery-results-meta{display:none}
.home #app>.loading{padding-top:48px}

/* ---------- Hero search: Location · When · Search, like Airbnb or Turo ---------- */
/* The hero must not clip the pickers, and it paints above the catalogue below it. */
.home-hero{overflow:visible;z-index:5;flex-direction:column;align-items:center;justify-content:flex-start}
/* Desktop: the bar floats in the open sky above the robots. */
.hero-search-slot{position:relative;flex:none;width:min(780px,calc(100vw - 48px));margin:16px auto 0}
.hero-search{position:relative;z-index:20;width:100%;margin:0;text-align:left;color:var(--navy)}
.hero-search-form{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:center;min-height:76px;padding:7px;border-radius:999px;background:#fff;box-shadow:0 14px 44px rgba(12,26,51,.28)}
.hero-search-form[data-active]{background:#f1f2f4}
.hero-search-form[data-active] .discovery-active-pill{opacity:1}
.hero-field{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;height:62px;padding:8px 24px;border:0;border-radius:999px;background:transparent;text-align:left;font-size:.7rem;font-weight:700;line-height:1.4;cursor:pointer}
.hero-search .discovery-location:after{display:none}
.hero-field+.hero-field:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:#e3e6ea}
.hero-search-form[data-active] .hero-field:before{opacity:0}
.hero-field:hover:not([aria-expanded="true"]){background:#eef0f2}
.hero-field .discovery-segment-label{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--navy)}
.hero-field .discovery-search-value{font-size:.9rem;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-field.has-selection .discovery-search-value{color:var(--navy)}
.hero-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:62px;margin-left:6px;padding:0 30px 0 24px;border:0;border-radius:999px;background:var(--navy);color:#fff;font-size:.92rem;font-weight:700;white-space:nowrap;transition:background .18s,transform .18s}
.hero-submit:hover{background:#1d2c47}
.hero-submit:active{transform:scale(.98)}
.hero-submit svg{width:19px;height:19px;flex:none}
/* Pickers open below the bar, lined up with their field, at full height. */
.hero-search .discovery-popover{top:calc(100% + 12px);max-height:none!important;color:var(--navy)}
.hero-search .discovery-popover:not([data-view="location"]){left:0;right:0;width:auto}
/* Start and end time, added under the calendar. */
.when-times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #edf0ec}
.when-times label{display:grid;gap:6px;font-size:.72rem;font-weight:700;color:var(--navy)}
.when-times select{width:100%;min-height:46px;padding:10px 38px 10px 14px;border:1px solid #d8dde3;border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230c1a33' stroke-width='1.6'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center/16px;color:var(--navy);font:inherit;font-size:.9rem;font-weight:500;appearance:none;-webkit-appearance:none;cursor:pointer}
.when-times select:focus-visible{outline:2px solid var(--navy);outline-offset:1px}
.when-times-to{padding-bottom:13px;color:var(--muted);font-size:.82rem}
.hero-search .discovery-date-footer{margin-top:18px}

/* The same search form is picked up by the fixed header after its original slot scrolls past. */
.home-search-dock{position:fixed;top:calc((var(--home-header-h) - 52px)/2);left:var(--home-dock-left,calc(50% - 210px));z-index:55;width:var(--home-dock-width,420px);pointer-events:none}
.home-search-dock:empty{display:none}
.home-search-dock .home-search-shell{pointer-events:auto}
.home-search-dock .hero-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 40px;min-height:52px;padding:5px;box-shadow:0 3px 16px rgba(12,26,51,.16)}
.home-search-dock .hero-field{height:42px;min-height:42px;padding:7px 16px;gap:0}
.home-search-dock .hero-field .discovery-segment-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-search-dock .hero-field .discovery-search-value{font-size:.78rem;line-height:1.4}
.home-search-dock .hero-field+.hero-field:before{top:9px;bottom:9px}
.home-search-dock .hero-submit{width:38px;height:38px;margin:0;padding:0}
.home-search-dock .hero-submit span{display:none}
.home-search-dock .hero-submit svg{width:17px;height:17px}
.home-search-dock .hero-field.field-when{border-top:0;border-radius:999px}
.home-search-dock .discovery-active-pill{top:5px;bottom:5px}
.home-search-dock .hero-search .discovery-popover{top:calc(100% + 13px);right:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--home-header-h) - 24px)!important;translate:none}
.home-search-dock .hero-search .discovery-popover[data-view="location"]{left:var(--home-location-panel-left,0px);width:min(420px,calc(100vw - 24px))}
.home-search-dock .hero-search .discovery-popover:not([data-view="location"]){left:var(--home-date-panel-left,0px);width:min(720px,calc(100vw - 24px));transform-origin:top center}
.home[data-header-minimal] .home-search-dock .hero-field{padding-inline:10px}
.home[data-header-minimal] .home-search-dock .hero-field .discovery-search-value{font-size:.72rem}


/* ---------- Shared section styles: one rhythm for every section ---------- */
.home{--section-gap:112px}
.home-section{padding-top:var(--section-gap)}
.home-head{margin-bottom:36px}
.home-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.home-head h2,.home-host h2{margin:0;font-size:clamp(1.75rem,2.6vw,2.3rem);font-weight:700;line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
.home-head p{margin:10px 0 0;color:var(--muted);font-size:1.02rem;line-height:1.6}
.home-scroll{display:flex;gap:10px}
.home-scroll button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:inherit;transition:background .15s,border-color .15s,opacity .15s}
.home-scroll button:hover:not(:disabled){background:#f3f4f2}
.home-scroll button:disabled{opacity:.35}
.home-scroll svg{width:18px;height:18px}
/* Catalogue section titles sit one step below the page's section titles. */
.home #app .discovery-category-title{font-size:clamp(1.4rem,2vw,1.7rem)}

/* ---------- Catalogue cards: wrapping grids for Experiences and Equipment ---------- */
/* Equipment tiles use the catalogue's own service-card markup, so shape, grey and type match exactly. */
.home .home-machines .service-card-title{display:block;margin:12px 3px 0;font-size:.91rem;font-weight:600;line-height:1.45;letter-spacing:-.025em}
.home .home-machines .service-card-link:hover .service-card-title{text-decoration:underline;text-underline-offset:3px}
.home-all-equipment{display:inline-block;margin-top:20px;font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}
/* Keep six cards per row on desktop and wrap at smaller widths. */
.home #app .discovery-category{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 16px;align-items:start}
.home #app .discovery-category>.discovery-category-title,.home #app .discovery-category>.discovery-category-empty,.home #app .home-all-equipment{grid-column:1/-1}
.home #app .discovery-category>.discovery-category-title{margin-bottom:0}
.home #app .discovery-category .discovery-row,.home #app .discovery-category .discovery-offers,.home #app .home-machines{display:contents}
.home #app .discovery-category .discovery-row-heading{display:none}
.home #app .home-all-equipment{justify-self:start;margin-top:0}
@media (min-width:851px){
  .home .service-card-image{border-radius:18px}
  .home .service-card-image img{width:74%;height:74%}
  .home #app .service-card-title{font-size:.86rem;margin-top:10px}
}
@media (max-width:850px){
  .home #app .discovery-category{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:600px){
  .home .market-header .site-menu-panel{left:12px;right:12px;width:auto}
  .home #app .discovery-category{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
}

/* ---------- How it works: soft grey cards, the same family as the catalogue tiles ---------- */
.home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none}
.home-steps li{padding:32px 30px 34px;border-radius:22px;background:#f6f6f6}
.home-step-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-size:.88rem;font-weight:700}
.home-steps h3{margin:22px 0 8px;font-size:1.12rem;letter-spacing:-.02em}
.home-steps p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.65}

/* ---------- See them in action: a full-width navy band, like Peerspace's dark section ---------- */
.home-band{margin-top:var(--section-gap);padding:96px 0 104px;background:radial-gradient(90% 120% at 15% 0%,#16294d 0%,#0c1a33 60%);color:#fff}
.home-band .home-head p{color:rgba(255,255,255,.64)}
.home-band .home-scroll button{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.home-band .home-scroll button:hover:not(:disabled){background:rgba(255,255,255,.08)}
.home-band .home-video h3{color:#fff}
.home-band .home-video>span:last-child{color:rgba(255,255,255,.58)}
.home-band .home-video-thumb{box-shadow:0 18px 40px rgba(0,0,0,.28)}
.home-band :focus-visible{outline-color:#fff}
.home-videos{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px) / 3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.home-videos::-webkit-scrollbar{display:none}
.home-video{display:block;scroll-snap-align:start;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
.home-video-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--navy)}
.home-video-thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.home-video:hover .home-video-thumb img{transform:scale(1.04)}
.home-video-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,27,50,0) 55%,rgba(15,27,50,.6) 100%)}
.home-video-play{position:absolute;z-index:1;right:14px;bottom:14px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--navy);box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.home-video:hover .home-video-play{transform:scale(1.08)}
.home-video-play svg{width:18px;height:18px;margin-left:2px}
.home-video-platform{position:absolute;z-index:1;left:14px;top:14px;padding:6px 10px;border-radius:30px;background:rgba(15,27,50,.72);color:#fff;font-size:.7rem;font-weight:700;backdrop-filter:blur(6px)}
.home-video h3{margin:14px 0 3px;font-size:1rem;line-height:1.4;letter-spacing:-.01em}
.home-video>span:last-child{color:var(--muted);font-size:.8rem}
.home-player{--player-ratio:1.777778;width:min(960px,calc(100vw - 32px),calc((100dvh - 32px)*var(--player-ratio)));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;background:#000;overflow:hidden}
.home-player[data-portrait]{--player-ratio:.5625;max-width:480px}
.home-player::backdrop{background:rgba(15,27,50,.8)}
.home-player-frame{aspect-ratio:var(--player-ratio)}
.home-player iframe,.home-player video{width:100%;height:100%;border:0;display:block}
.home-player video{object-fit:contain}
.home-player .dialog-close{position:absolute;top:12px;right:12px;z-index:2;background:#fff}

/* ---------- Host band: a soft grey card, set apart from the sections around it ---------- */
.home-host{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:56px;padding:20px;border-radius:28px;background:#f6f6f6}
.home-host img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.home-host-copy{padding:24px 40px 24px 0}
.home-host-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.home-host-actions .button{font-size:16px;min-height:50px}
.home-host-actions .home-partners-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:600;color:var(--navy,#0c1a33);text-decoration:underline;text-underline-offset:5px;padding:0;border:0;background:none;box-shadow:none;border-radius:0}
.home-host-actions .home-partners-link:hover{text-decoration-thickness:2px}
.home-host h2>span{display:block}
.home-host-copy>p{margin:14px 0 30px;color:var(--muted);font-size:1.02rem;line-height:1.6;text-wrap:balance}

@media (max-width:1100px){
  .home-videos{grid-auto-columns:calc((100% - 20px) / 2)}
}
@media (max-width:850px){
  .home-steps{grid-template-columns:1fr}
  .home-host{grid-template-columns:1fr;gap:24px}
  .home-host-copy{padding:4px 16px 20px}
  .home-videos{grid-auto-columns:calc((100% - 20px) / 1.6)}
}
@media (max-width:600px){
  .home-hero-photo,.home-hero-extension{object-position:80% 100%}
  .home-hero-image-scene{transform-origin:80% var(--hero-frame-h)}
  .home-hero:before{background:linear-gradient(180deg,rgba(12,26,51,.55) 0%,rgba(12,26,51,.15) 50%,rgba(12,26,51,0) 75%)}
  .home{--section-gap:80px}
  .home-band{padding:72px 0 80px}
  .home-host{padding:14px;gap:20px;border-radius:24px}
  .home-host-copy{padding:8px 10px 18px}
  .home-host h2{font-size:clamp(1.5rem,7.5vw,1.75rem)}
  .home-steps li{padding:26px 24px 28px}
  .home-scroll{display:none}
  .home-videos{grid-auto-columns:84%;margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}
}
@media (prefers-reduced-motion:reduce){
  .home .market-header:before{transition:none}
  .home-hero-image-scene{animation:none;transform:none}
  .home-machine img,.home-video-thumb img{transition:none}
}
.home .market-footer.site-footer{margin-top:var(--section-gap)}

@media (max-width:700px){.home{--home-top-header-h:72px;--home-header-h:72px}}


/* ---------- Hero search on phones ---------- */
@media (max-width:760px){
  /* Keep the stacked search within the initial phone screen, ahead of the fade. */
  .home{--bar-overhang:150px}
  .hero-search-slot{position:absolute;left:16px;right:16px;bottom:calc(var(--hero-fade-h) + 214px);width:auto;margin:0;transform:translateY(var(--bar-overhang))}
  .hero-search-slot .hero-search-form{grid-template-columns:1fr;padding:8px;border-radius:24px;box-shadow:0 12px 36px rgba(12,26,51,.22)}
  .hero-search-slot .hero-field{height:58px;padding:8px 16px;border-radius:16px}
  .hero-search-slot .hero-field:before{display:none}
  .hero-search-slot .field-when{border-top:1px solid #edf0f2;border-radius:0 0 16px 16px}
  .hero-search-slot .hero-submit{height:52px;margin:6px 0 0;border-radius:16px}
  .hero-search .discovery-popover,.hero-search .discovery-popover:not([data-view="location"]){left:0;right:0;width:auto}
  .when-times{gap:8px}
  .home #app{padding-top:40px}
}
