/* Interaction and small-screen fixes from the full-page audit. */
[hidden]{display:none!important}
html{scroll-padding-top:90px;scrollbar-gutter:stable}
body:has(dialog[open]){overflow:hidden}
button:disabled{cursor:default;opacity:.45}
#main:focus{outline:none}
#header .bag{margin-left:auto}
.menu-animating #header,.menu-open #header{background:white!important;color:var(--blue)!important}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(-2px) rotate(45deg);width:21px}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(3px) rotate(-45deg);width:21px}
.menu-toggle[aria-expanded="false"] span{transform:none}
.floating-links{margin-left:auto}
.footer-details{height:auto;min-height:270px;padding-top:15px}
.footer-links a{overflow-wrap:anywhere}
.signature span{white-space:normal;padding-inline:5px}
.cart-access{position:fixed;right:24px;bottom:24px;z-index:40;display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff88;border-radius:50%;padding:12px;background:var(--blue);color:white;box-shadow:0 3px 14px #0003}
.cart-access svg{width:28px;height:28px}
.cart-access .count{background:white;color:var(--blue);right:0;bottom:0}
.cart-access:hover{background:#465a73}
.cart-row-content{flex:1;min-width:0}
.cart-row h3{overflow-wrap:anywhere}
.cart-quantity{display:flex;align-items:center;gap:8px;margin:12px 0}
.cart-quantity button{display:grid;place-items:center;padding:0;background:#eef0f2;border-radius:3px;color:var(--blue);text-decoration:none;width:30px;height:30px;font-size:20px}
.cart-quantity input{width:52px;height:32px;border:1px solid var(--line);text-align:center;padding:3px;color:var(--ink);background:white;border-radius:3px}
.cart-row [data-remove]{min-height:28px}
#cart{overscroll-behavior:contain}
#cart-storage-note{margin-block:10px}
.gallery .dots{bottom:8px;gap:0}
.gallery .dots button{position:relative;display:grid;place-items:center;background:none;width:30px;height:30px;border-radius:50%;min-height:30px}
.gallery .dots button::after{content:'';width:8px;height:8px;border-radius:50%;background:#ffffff70;box-shadow:0 0 2px #0002}
.gallery .dots button.active{background:none}
.gallery .dots button.active::after{background:white}
.gallery .outgoing-image{pointer-events:none}
.carousel-window:focus-visible{outline:2px solid #8b9db4;outline-offset:5px}

.model-page #header{pointer-events:none}
.model-page #header>*{pointer-events:auto}
.model-fallback{pointer-events:none}
.page h1,.product-copy h1{overflow-wrap:break-word}
.contact-form input,.contact-form textarea{font-size:16px}
@media(max-width:809px){
 .footer-details{min-height:200px}
 .cart-access{right:16px;bottom:16px;width:48px;height:48px}
 .hero-navigation>.logo{font-size:27px}
 .hero-nav-links{gap:14px}
 .product-copy h1{font-size:clamp(31px,9vw,38px)}
 .gallery>.prev,.gallery>.next{min-width:44px;min-height:44px}
 .carousel-prev,.carousel-next{width:44px;height:44px}
 dialog{padding:22px}
}
@media(max-width:359px){
 #header.scrolled{padding-inline:12px}
 #header.scrolled .floating-links{gap:10px;font-size:13px}
 #header.scrolled .logo{font-size:25px}
 .hero-navigation{padding-inline:12px}
 .hero-nav-links{gap:10px;font-size:13px}
 .mission h1{font-size:36px}
 .about-copy h2,.about .team-section .about-copy h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Fade the page as a single layer so its fixed footer never flashes through. */
.gallery .dots button{width:44px;height:44px;min-height:44px}.gallery .dots{bottom:0}
@media(max-width:809px){.cart-quantity button,.cart-quantity input{height:44px;min-width:44px}.footer-links{gap:8px 18px}.footer-links a{min-height:40px;display:inline-flex;align-items:center}}
@media(max-width:809px){.cart-row{gap:12px}.cart-row>img{width:60px;height:80px;flex:none}}
html{scroll-behavior:auto}
/* Original Framer slogan: a white raised panel with rounded lower corners. */
.tagline{background:#fff;border-radius:0 0 30px 30px;box-shadow:0 2px 3px 0 rgb(0 0 0 / 25%)}
@media(max-width:809px){.hero-nav-content{padding:6px 14px}.hero-nav-content>.logo{font-size:27px}.tagline{font-size:30px;line-height:.8;padding:100px 20px}}
@media(max-width:359px){.hero-nav-content{padding:6px 12px}.hero-nav-content>.logo{font-size:25px}}
