@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap');

.home2-page{width:100%;max-width:none;min-height:calc(100dvh - 165px);margin:0;padding:20px clamp(14px,3vw,48px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#fff}
.home2-mosaic{--grid-gap:clamp(2px,.35vw,5px);position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,auto);gap:var(--grid-gap);width:min(100%,1320px);overflow:hidden;background:#fff}
.home2-cell{position:relative;display:block;width:100%;aspect-ratio:4/3;align-self:start;min-width:0;min-height:0;overflow:hidden;background:#e8ece7;opacity:0;transform:scale(.94);transition:opacity .42s ease,transform .42s ease;perspective:900px}
.home2-cell.is-visible{opacity:1;transform:scale(1)}
.home2-cell img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;backface-visibility:hidden}
.home2-cell .home2-incoming{z-index:1;opacity:0}
.home2-strip{position:absolute;z-index:5;overflow:hidden;background:#fff;pointer-events:none}
.home2-strip-track{display:flex;will-change:transform}
.home2-strip.horizontal .home2-strip-track{width:200%;height:100%;flex-direction:row}
.home2-strip.vertical .home2-strip-track{width:100%;height:200%;flex-direction:column;transform:translateY(-50%)}
.home2-strip-panel{display:grid;flex:0 0 50%;min-width:0;min-height:0;gap:var(--grid-gap);background:#fff}
.home2-strip-panel img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}
.home2-expansion{position:absolute;z-index:7;display:block;overflow:hidden;background:#e8ece7;box-shadow:0 14px 40px #14201845;will-change:left,top,width,height}
.home2-expansion img{display:block;width:100%;height:100%;object-fit:cover}
.home2-text-panel{position:absolute;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(5px,1vw,16px);padding:clamp(8px,2vw,28px);background:rgb(255 255 255 / .76);color:#27352b;text-align:center;pointer-events:none}
.home2-text-panel strong{font-family:Manrope,sans-serif;font-size:clamp(.8rem,2.1vw,2.5rem);font-weight:700;letter-spacing:-.065em;line-height:1.08;text-wrap:balance}

.home2-startup{position:fixed;inset:0;z-index:9999;overflow:hidden;background:#fff;pointer-events:none;transition:background .35s ease}
.home2-startup.is-revealing{background:transparent}
.home2-writing{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .45s ease}
.home2-writing span{display:block;width:max-content;padding-inline:.15em;white-space:nowrap;clip-path:inset(0 100% 0 0);font-family:Caveat,'Brush Script MT',cursive;font-size:clamp(1.5rem,min(7vw,9vh),7rem);font-weight:600;letter-spacing:-.04em;color:#23372a}
.home2-startup.is-writing .home2-writing span{animation:home2-write 1.5s steps(28,end) forwards}
.home2-startup.is-revealing .home2-writing{opacity:0}
@keyframes home2-write{to{clip-path:inset(0 0 0 0)}}

@media(min-width:701px){
  .public-shell:has(.home2-page){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .public-shell:has(.home2-page) .site-header,.public-shell:has(.home2-page) .site-footer{flex:none}
  .public-shell:has(.home2-page) .public-main{flex:1;min-height:0}
  .home2-page{height:100%;min-height:0}
  .home2-mosaic{width:min(100%,1320px,calc(177.78dvh - 355.56px))}
}

@media(min-width:701px) and (hover:hover) and (pointer:fine){
  .home2-cell img,.home2-expansion img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease}
  .home2-cell::after,.home2-expansion::after{content:"";position:absolute;inset:0;z-index:3;border:2px solid rgb(255 255 255 / .95);box-shadow:inset 0 0 0 1px rgb(24 39 29 / .3);opacity:0;pointer-events:none;transition:opacity .3s ease}
  .home2-cell:is(:hover,:focus-visible) img,.home2-expansion:is(:hover,:focus-visible) img{transform:scale(1.045);filter:brightness(1.06)}
  .home2-cell:is(:hover,:focus-visible)::after,.home2-expansion:is(:hover,:focus-visible)::after{opacity:1}
}

@media(max-width:700px){
  .home2-page{min-height:calc(100dvh - 142px);padding:12px 10px;gap:12px}
  .home2-mosaic{--grid-gap:3px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto);width:min(100%,480px)}
  .home2-cell{aspect-ratio:3/4}
  .home2-text-panel strong{font-size:clamp(.82rem,3.2vw,1.4rem)}
}
@media(min-width:701px) and (max-height:520px){.home2-page{padding:8px}}
@media(prefers-reduced-motion:reduce){.home2-cell,.home2-cell img,.home2-expansion img,.home2-cell::after,.home2-expansion::after{transition:none}}
