/* Mobile composition from Figma 59:193. Desktop layout remains in styles.css. */
.mobile-header,.film-mobile-caption,.hero-mobile-break{display:none}
.service-list,.film-card{display:contents}
.mobile-menu:not([open]){display:none}
@media(max-width:600px){
 html{scrollbar-gutter:auto;scrollbar-width:none}
 .home-page{--gutter:12px;overflow-x:clip}
 .home-page h2{font-size:24px;line-height:1.1;letter-spacing:-.04em}
 .home-page .section-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .home-page .section-heading>div>p{font-size:16px;line-height:1.4;max-width:none}
 .home-page .pill{width:100%;min-height:56px;padding:12px 12px 12px 24px;font-size:15px;justify-content:space-between;gap:12px}
 .home-page .pill.cutout{--cutout-inset:12px}
 .home-page .fixed-header,.home-page .header-backdrop,.home-page .hero>header,.home-page .floating-tools{display:none}
 .home-page .mobile-header{position:relative;inset:auto;z-index:25;height:70px;display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:#fff}
 .mobile-menu-toggle,.mobile-call{display:flex;align-items:center;justify-content:center;width:64px;height:44px;padding:8px 18px;background:#f1f1f1;border-radius:24px}
 .mobile-menu-toggle:hover,.mobile-call:hover{background:#E7E0D4}
 .mobile-header img{flex:none}
 .home-page .hero{height:666px;min-height:0;overflow:hidden;background:#fff;color:#fff}
 .home-page .hero-video,.home-page .hero-shade,.home-page .hero-birds{top:0;height:520px}
 .home-page .hero h1{left:12px;top:240px;width:340px;max-width:calc(100% - 24px);font-size:32px;line-height:1.02;letter-spacing:-.04em;transform:translateY(-50%)}
 .home-page .hero-mobile-break{display:inline}
 .home-page .hero h1 em{font-size:40px;line-height:.9;letter-spacing:-.06em;margin-top:0}
 .home-page .hero-bottom,.home-page .hero-cta{display:contents}
 .home-page .hero-cta hr{display:none}
 .home-page .hero-cta .eyebrow{position:absolute;top:20px;left:12px;max-width:none;padding:0;font-size:13px;z-index:2}
 .home-page .hero-cta>.pill{position:absolute;left:12px;right:12px;top:444px;bottom:auto;width:calc(100% - 24px);height:56px;z-index:2;font-size:16px}
 .home-page .news{position:absolute;left:0;top:540px;width:100%;color:#111}
 .home-page .news>.eyebrow{font-size:13px;margin:0 12px 12px}
 .home-page .news-grid{display:flex;gap:6px;padding:0 12px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none}
 .home-page .news-grid>.news-card{flex:0 0 min(340px,calc(100vw - 48px));height:98px;background:#f1f1f1;gap:10px;padding:4px;scroll-snap-align:start}
 .home-page .news-thumbnail{width:112px;min-width:112px;height:90px;flex:none;padding:0}
 .home-page .news-thumbnail img{width:100%;height:100%;object-fit:cover}
 .home-page .news-grid .news-card-copy{font-size:14px;line-height:1.1;padding:8px 0;gap:10px}
 .home-page .news-grid small{font-size:13px;line-height:1.1;color:#777}
 .home-page .news-card-arrow{display:none}
 .home-page .works{padding:60px 0}
 .home-page .works>.section-heading,.home-page .catalog>.section-heading{padding-inline:12px}
 .home-page .filters{margin-top:20px;width:100%;gap:2px}
 .home-page .filters button{flex:1;min-width:0;font-size:15px;padding:12px 15px;min-height:44px}
 .home-page .work-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 2px;margin-top:20px}
 .home-page .works .work-row:nth-child(n){display:contents}
 .home-page .work-image{aspect-ratio:200/131}
 .home-page .works .caption{flex-direction:column;align-items:flex-start;gap:5px;font-size:14px;line-height:1.1;margin:12px 0 0;padding:0 12px}
 .home-page .caption i{display:none}
 .home-page .work-card .photo-indicator,.home-page .work-card .media-switch{display:none}
 .home-page .center{margin:30px 12px 0}
 .home-page .forest{display:flex;flex-direction:column;height:auto;min-height:0;background:#fff;color:#111;padding:0 0 60px;gap:0}
 .home-page .forest-copy{display:contents}
 .home-page .forest>video{order:0;position:relative;inset:auto;width:100%;max-width:none;height:auto;aspect-ratio:1;object-fit:cover}
 .home-page .forest h2{position:absolute;left:12px;top:20px;z-index:2;margin:0;color:#fff}
 .home-page .forest:after{content:'';position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(#0006,transparent);pointer-events:none;z-index:1}
 .home-page .forest-copy>p:not(.film-caption){order:1;font-size:16px;line-height:1.4;max-width:none;margin:20px 12px}
 .home-page .forest .branch{display:none}
 .home-page .film-card{order:2;display:flex;gap:12px;padding:6px;border:1px solid #f4f4f4;border-radius:12px;margin:0 12px}
 .home-page .forest .film{position:relative;inset:auto;flex:0 0 120px;width:120px;height:80px;min-height:0;max-height:none;aspect-ratio:3/2;margin:0;border-radius:8px}
 .home-page .film .play{width:21px;height:24px}
 .home-page .film-caption{display:none}
 .home-page .film-mobile-caption{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:space-between;text-align:left;padding:4px 0;gap:8px;font-size:16px;line-height:1.4}
 .home-page .film-mobile-caption small{font-size:13px;line-height:1.1;color:#999}
 .home-page .forest-copy>.pill{order:3;width:calc(100% - 24px);margin:30px 12px 0;background:#f4f4f4;color:#111}
 .home-page .forest-copy>.pill .pill-arrow{background:#fff;color:#111}
 .home-page .catalog{padding:0}
 .home-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 2px;margin-top:20px}
 .home-page .catalog-card{aspect-ratio:auto;padding:0;--catalog-zoom:1!important}
 .home-page .catalog-visual{position:relative;inset:auto;aspect-ratio:200/131;transform:none!important;box-shadow:none!important}
 .home-page .catalog-card>.project-tags{position:relative;inset:auto;display:flex;flex-direction:column;gap:5px;opacity:1;margin-top:12px;padding:0 12px;transform:none!important;white-space:normal}
 .home-page .project-tags span{background:none;color:#111;font-size:14px;line-height:1.1;font-weight:400;text-transform:none;padding:0;overflow-wrap:normal}
 .home-page .catalog-card .photo-indicator,.home-page .catalog-card .media-switch{display:none}
 .home-page .catalog-grid.has-active .catalog-card:not(.is-active) .catalog-photo,.home-page .work-rows.has-active .work-card:not(.is-active) .live-photo{opacity:1}
 .home-page .faq{margin:60px 0 0;padding:0;gap:20px}
 .home-page .catalog>.faq{padding:0}
 .home-page .faq>div:first-child{padding:0 12px}
 .home-page .faq h2 br{display:none}
 .home-page .faq>div:first-child>p{margin:20px 0 0}
 .home-page .faq>div:first-child>.pill{display:none}
 .home-page .questions summary,.home-page .questions summary:hover,.home-page .questions details[open] summary{padding:12px;gap:10px;font-size:16px;line-height:1.4;border-radius:0;min-height:70px}
 .home-page .questions summary>.question-text{transform:none;width:auto;height:auto;flex:1;text-align:left;display:block}
 .home-page .questions summary>.question-icon{transform:none;width:36px;min-height:44px;height:auto;background:#f4f4f4;border-radius:63px;align-self:stretch}
 .home-page .questions summary img{width:20px;height:20px}
 .home-page .answer{padding:12px;font-size:16px}
 .home-page .services{display:block;padding:60px 0}
 .home-page .services-heading{padding:0 12px;margin:0 0 20px}
 .home-page .service-list{display:flex;gap:6px;padding:0 12px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none}
 .home-page .service{display:block;flex:0 0 251px;height:325px;aspect-ratio:auto;padding:0;background:none;color:#111;scroll-snap-align:start;overflow:hidden}
 .home-page .service>img,.home-page .service-watercolor{position:absolute;inset:0 0 auto;width:251px;height:290px;object-fit:cover}
 .home-page .service:after{display:none}
 .home-page .service>span{position:absolute;top:305px;left:0;font-size:18px;line-height:1.1;color:#111}
 .home-page .family,.home-page .family.family-scroll{height:auto;min-height:0;padding:40px 0;background:#e1d5b4;overflow:hidden}
 .home-page .family-viewport{position:relative;top:auto;height:auto;display:flex;flex-direction:column;padding:0;overflow:visible;isolation:auto}
 .home-page .family .family-card{display:contents;transform:none!important;box-shadow:none}
 .home-page .family-card h2{order:0;font-size:32px;line-height:1.1;margin:0 12px;color:#394d39;text-align:center;white-space:normal}
 .home-page .family-card h2 em{font-size:36px;line-height:1.1}
 .home-page .family-construction{order:1;width:calc(100% - 24px);max-width:none;margin:20px 12px;aspect-ratio:842/424}
 .home-page .family-card p{order:2;max-width:none;margin:0 12px;font-size:16px;line-height:1.4;text-align:center;color:#394d39}
 .home-page .family-gallery{order:3;position:relative;inset:auto;display:flex;gap:8px;width:100%;max-width:none;padding:0 12px;margin:40px 0;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none;pointer-events:auto}
 .home-page .family .family-photo{position:relative;inset:auto;flex:0 0 120px;width:120px;height:160px;aspect-ratio:3/4;border-radius:0;object-fit:cover;box-shadow:none;opacity:1;visibility:visible;transform:none;scroll-snap-align:start}
 .home-page .family .family-photo.family-landscape{flex-basis:213.333px;width:213.333px;aspect-ratio:4/3}
 .home-page .family-card>p+.pill{order:4;margin:0 12px;width:calc(100% - 24px);background:#394d39}
 .home-page .reviews{padding:60px 0 0}
 .home-page #reviews-title{font-size:24px;white-space:normal}
 .home-page .reviews .section-heading{padding:0 12px;margin-bottom:20px;gap:20px}
 .home-page .reviews-grid{display:flex;gap:6px;padding:0 12px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none}
 .home-page .review-card{flex:0 0 161px;width:161px;height:260px;aspect-ratio:161/260;scroll-snap-align:start}
 .home-page .review-label{font-size:14px;line-height:1.1;left:12px;right:12px;bottom:12px}
 .home-page .review-play{opacity:1}
 .home-page .review-play img{width:28px;height:32px}
 .home-page .visit{display:block;padding:60px 12px 0}
 .home-page .meeting-card{display:none}
 .home-page .visit-card{min-height:0;height:auto;aspect-ratio:1;padding:16px}
 .home-page .visit h3{font-size:18px;line-height:1.1}
 .home-page .visit .eyebrow{left:16px;bottom:84px;max-width:none;font-size:13px}
 .home-page .visit .pill{left:16px;right:16px;bottom:16px;width:calc(100% - 32px);font-size:16px}
 .home-page .stage{height:406px;min-height:0;padding:0 12px}
 .home-page .stage-picker{height:300px}
 .home-page .stage #stage-title{font-size:16px;line-height:1.4}
 .home-page .stage-option{font-size:18px;min-width:250px;padding:20px 30px;max-width:90%}
 .home-page .stage.is-open{height:600px}
 .home-page .stage.is-open .stage-picker{height:500px}
 .home-page footer{min-height:543px;height:auto;padding:40px 12px;gap:80px;justify-content:flex-start}
 .home-page footer .birds,.home-page .footer-top>.hover-nav{display:none}
 .home-page .footer-top{display:block}
 .home-page .footer-top>div>p{font-size:18px;line-height:1.4;max-width:none;margin:0 0 20px}
 .home-page .footer-top .pill{font-size:16px;min-height:62px;padding:15px 15px 15px 24px}
 .home-page .footer-bottom{display:grid;grid-template-columns:minmax(0,185px) minmax(0,1fr);gap:40px 24px;font-size:12px;line-height:1.2;letter-spacing:-.02em;align-items:start}
 .home-page .footer-bottom address{grid-column:1;grid-row:1}
 .home-page .footer-bottom>div:first-child{grid-column:1;grid-row:2;max-width:none}
 .home-page .footer-bottom p{line-height:1.25;margin:0 0 12px}
 .home-page .footer-bottom p:last-child{margin-bottom:0}
 .home-page .footer-bottom address>a{margin:0 0 12px}
 .home-page .footer-bottom .text-button{font-size:12px;margin:0 0 12px;line-height:1.25}
 .home-page .footer-tree{position:relative;inset:auto;grid-column:2;grid-row:1/3;align-self:end;justify-self:center;width:117px;height:246px}
 .home-page #modal:not(.film-modal){padding-top:76px}
 .mobile-menu{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:20px 16px 32px;background:#fff;color:#253125}
 .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;min-height:56px;font-size:20px}
 .mobile-menu .modal-close{position:relative;inset:auto}
 .mobile-menu .hover-nav{width:100%;gap:4px}
 .mobile-menu .hover-nav a{font-size:22px;line-height:1.2;padding:12px 0;min-height:48px}
 .mobile-menu .nav-marker{display:none}
 .mobile-menu-contact{margin-top:24px;display:flex;flex-direction:column;gap:12px}
 .mobile-menu-contact>a{display:flex;align-items:center;min-height:44px}
 .mobile-socials{display:flex;flex-wrap:wrap;gap:16px}
 .mobile-socials a{padding:12px 0}
}
@media(max-width:360px){
 .home-page .family-card h2{font-size:28px}
 .home-page .family-card h2 em{font-size:31px}
 .home-page .visit .pill{font-size:14px;padding-left:16px}
 .home-page .footer-bottom{grid-template-columns:minmax(0,1fr) 100px;column-gap:12px}
 .home-page .footer-tree{width:100px}
}

/* Fixed mobile navigation and the full-screen menu, Figma 200:1667 / 193:982. */
.mobile-header-slot{display:none}
@media(max-width:600px){
 .mobile-header-slot{display:block;height:70px}
 .home-page .mobile-header{position:fixed;inset:0 0 auto;z-index:40;height:calc(70px - 9px * var(--header-progress,0));padding:0 16px;border-bottom:1px solid transparent;transition:border-color .3s}
 .home-page .mobile-header.is-scrolled{border-color:#f4f4f4}
 .mobile-logo{position:relative;display:grid;place-items:center;width:75.0167px;height:58px;flex:none}
 .mobile-logo img{position:absolute;transform:scale(calc(1 - .3103448276 * var(--header-progress,0)));transform-origin:center;will-change:transform}
 .mobile-burger{position:relative;display:block;width:28px;height:28px;flex:none}
 .mobile-burger i{position:absolute;left:4px;top:13px;width:20px;height:2px;background:#000;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .2s}
 .mobile-burger i:first-child{transform:translateY(-7px)}
 .mobile-burger i:last-child{transform:translateY(7px)}
 .is-expanded .mobile-burger i:first-child{transform:rotate(45deg)}
 .is-expanded .mobile-burger i:nth-child(2){opacity:0;transform:scaleX(.3)}
 .is-expanded .mobile-burger i:last-child{transform:rotate(-45deg)}
 .home-page .mobile-catalog-overflow{display:none!important}
 .home-page main>section,.home-page #production,.home-page footer{scroll-margin-top:80px}
 .mobile-menu{height:100dvh;max-height:100dvh;padding:0;background:#fff;color:#000;overscroll-behavior:contain;overflow-y:auto;scrollbar-width:none}
 .mobile-menu[open]{display:flex;flex-direction:column}
 .mobile-menu::backdrop{background:#0002;backdrop-filter:none}
 .mobile-menu-header{display:flex;align-items:center;justify-content:space-between;flex:none;height:calc(70px - 9px * var(--header-progress,0));padding:0 16px}
 .mobile-menu-close{display:grid;place-items:center;flex:none;width:64px;height:44px;padding:8px 18px;background:#f1f1f1;border-radius:24px}
 .mobile-menu-close:hover{background:#E7E0D4}
 .mobile-menu-nav{margin:30px 20px}
 .mobile-menu-nav>a{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:7px 0;font-size:20px;line-height:24px;font-weight:500;letter-spacing:-.02em;color:#000}
 .mobile-menu-nav>a img{transform:rotate(-90deg);flex:none}
 .mobile-menu-nav>a:hover{color:#3a613a}
 .mobile-menu-groups{border-top:1px solid #f4f4f4}
 .mobile-menu-group{border-bottom:1px solid #f4f4f4}
 .mobile-menu-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:18px 20px;min-height:56px;font-size:16px;line-height:19px;font-weight:500;cursor:pointer}
 .mobile-menu-group summary::-webkit-details-marker{display:none}
 .mobile-menu-group summary img{transition:transform .3s var(--ease)}
 .mobile-menu-group[open] summary img{transform:rotate(180deg)}
 .mobile-menu-group>div{display:flex;flex-direction:column;padding:0 20px 12px}
 .mobile-menu-group>div>a,.mobile-menu-group>div>button{display:flex;align-items:center;min-height:44px;font-size:16px;text-align:left;padding:10px 12px;border-radius:12px}
 .mobile-menu-group>div>a:hover,.mobile-menu-group>div>button:hover{background:#f4f4f4}
 .mobile-menu-bottom{margin-top:auto;padding:40px 20px max(40px,env(safe-area-inset-bottom));flex:none}
 .home-page .mobile-menu-bottom>.pill{height:62px;padding:15px 15px 15px 24px;font-size:16px;font-weight:600;color:#253125}
 .mobile-menu-legal{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:14px;line-height:17px;letter-spacing:-.02em}
}
@media(prefers-reduced-motion:reduce){.home-page .mobile-header,.mobile-logo img,.mobile-burger i,.mobile-menu-group summary img{transition:none}}

/* Landscape film: preserve the source frame and keep controls in their own row. */
html:has(.film-modal[open]){scrollbar-gutter:auto}
.film-player{grid-template-rows:minmax(0,1fr) auto;isolation:isolate}
.film-modal .film-player video{grid-row:1;object-fit:contain;min-height:0;width:100%;height:100%}
.film-controls{position:relative;inset:auto;grid-row:2;display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:4px 12px;width:100%;padding:4px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#101010}
.film-controls>.film-seek{grid-column:1/-1;grid-row:1;width:100%;height:36px;order:0}
.film-controls>.film-toggle{grid-column:1;grid-row:2}
.film-controls>.film-time{grid-column:2;grid-row:2;font-size:13px;min-width:0}
.film-controls>.film-sound{grid-column:3;grid-row:2;margin:0}
.film-controls>.film-fullscreen{grid-column:4;grid-row:2}
.film-controls button{width:44px;height:44px;background:transparent;border-radius:12px}
.film-controls button:hover{background:#ffffff20}
.film-controls button svg{display:block;width:24px;height:24px}
@media(max-width:600px){.film-controls{gap:0 8px}.film-exit.icon-button{top:max(12px,env(safe-area-inset-top));right:12px}}

/* Mobile stories follow the edge-to-edge viewer from the reference. */
@media(max-width:700px){
 .home-page .review-dialog,.home-page .review-dialog::backdrop{background:#000;color:#fff}
 .home-page .review-dialog{top:var(--review-visible-top,0px);bottom:auto;height:var(--review-visible-height,100dvh);max-height:var(--review-visible-height,100dvh)}
 .home-page .review-layout{min-height:0;overflow:hidden;--story-w:var(--review-viewport-width,100vw);--story-h:calc(100dvh - 80px - env(safe-area-inset-bottom));display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0}
 .home-page .review-screen{position:relative;inset:auto;min-height:0;width:100%;height:100%;grid-column:1;grid-row:1;border-radius:0 0 16px 16px;touch-action:none}
 .home-page .review-top{padding:max(12px,env(safe-area-inset-top)) 12px 20px}
 .home-page .review-progress{margin-bottom:10px}
 .home-page .review-head{gap:6px;padding-right:40px;align-items:flex-start}
 .home-page .review-head>img{width:32px;height:32px;margin-top:2px}
 .home-page .review-head h2{font-size:14px;line-height:1.2;letter-spacing:-.02em;display:block;max-height:none;white-space:normal}
 .home-page .review-head small{font-size:11px;margin-top:4px}
 .home-page .review-head .review-icon{width:28px;height:36px}
 .home-page .review-head .review-icon svg{width:20px;height:20px}
 .home-page .review-close.icon-button{top:calc(max(12px,env(safe-area-inset-top)) + 16px);right:8px;width:36px;height:40px;padding:8px 6px;background:transparent;color:#fff;border-radius:12px}
 .home-page .review-close.icon-button:before{display:none}
 .home-page .review-close img{filter:invert(1)}
 .home-page .review-discuss{position:relative;inset:auto;translate:none;grid-column:1;grid-row:2;margin:12px 12px max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:none;min-height:56px;font-size:15px}
 .home-page .review-bottom{bottom:12px;left:12px;right:12px;gap:10px}
 .home-page .review-time{font-size:11px}
 .home-page .review-hit{top:110px;bottom:64px}
}

/* Mobile media and compact, animated navigation. */
.mobile-photo-indicator{display:none}
@media(max-width:700px){.home-page .review-screen video{object-fit:cover}}
@media(max-width:600px){
 .mobile-menu-toggle,.mobile-menu-toggle:is(:hover,:active,:focus-visible),.mobile-menu-close,.mobile-menu-close:is(:hover,:active,:focus-visible){background:#f1f1f1;transition:none}
 .mobile-menu-group{overflow:hidden}
 .mobile-menu-group>div{padding:0 20px 10px;gap:0}
 .mobile-menu-group>div>a,.mobile-menu-group>div>button{min-height:36px;padding:7px 12px;line-height:22px}
 .mobile-menu-group.is-expanded summary img{transform:rotate(180deg)}
 .mobile-menu-group:not(.is-expanded) summary img{transform:none}
 .home-page .mobile-photo-indicator{display:flex;justify-content:center;align-items:center;gap:4px;height:4px;margin:6px auto;width:max-content;pointer-events:none}
 .mobile-photo-indicator i{display:block;width:4px;height:4px;border-radius:19px;background:#000;opacity:.2;transition:opacity .2s}
 .mobile-photo-indicator i.is-current{opacity:1}
 .home-page .works .caption,.home-page .catalog-card>.project-tags{margin-top:0}
 .home-page .work-image,.home-page .catalog-visual{touch-action:pan-y;user-select:none;-webkit-user-select:none}
 .home-page .work-image img,.home-page .catalog-visual img{-webkit-user-drag:none}
 .home-page .family-gallery.is-looping{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none}
}

/* Let Safari own swipe inertia and snap; animate only the family track's transform. */
@media(max-width:600px){
 .home-page .has-mobile-slider>img{visibility:hidden}
 .home-page .mobile-card-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
 .home-page .mobile-card-track::-webkit-scrollbar{display:none}
 .home-page .mobile-card-track>img{position:relative;inset:auto;display:block;flex:0 0 100%;width:100%;height:100%;min-width:0;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;transition:none;opacity:1;visibility:visible}
 .home-page .work-image:has(.mobile-card-track),.home-page .catalog-visual:has(.mobile-card-track){touch-action:pan-x pan-y pinch-zoom}
 .home-page .mobile-card-track.is-dragging{scroll-snap-type:none;cursor:grabbing}
 .home-page .family-gallery.is-looping{display:block;overflow:hidden;touch-action:pan-y pinch-zoom}
 .family-loop-track{display:flex;gap:8px;width:max-content;will-change:transform;backface-visibility:hidden}
 .family-loop-track img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
}
