/* Mobile companion layout. Desktop styling remains in style.css. */
.mobile-dock{display:none}
@media(max-width:760px){
 html{scroll-padding-top:90px}
 body{padding-bottom:calc(74px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
 .topline{padding:9px 20px;font-size:8px;letter-spacing:.8px}.topline>span:last-child{display:none}
 header{position:sticky;top:0;z-index:10;min-height:72px;padding:14px 20px;background:#f9f8f4f5;backdrop-filter:blur(16px);border-bottom:1px solid #dcded880}
 .brand{font-size:13px;letter-spacing:1.1px}.brand small{font-size:8px;letter-spacing:5px}.brandmark{width:38px;height:38px;flex-shrink:0}
 .menubtn{width:44px;height:44px;display:grid;place-items:center;font-size:25px;border:1px solid var(--line);border-radius:50%;line-height:1}
 #primary-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:10px 20px 20px;background:var(--paper);box-shadow:0 15px 22px #1b303a16;border-bottom:1px solid var(--line)}
 #primary-nav a{padding:17px 0;font-size:16px;border-bottom:1px solid var(--line)}
 #primary-nav a:after{content:'↗';float:right;color:var(--red)}
 .mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#f9f8f4f7;backdrop-filter:blur(18px);border-top:1px solid var(--line);box-shadow:0 -5px 24px #1b303a06}
 .mobile-dock a,.mobile-dock button{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#68766f;background:none;font-size:10px;letter-spacing:.2px}
 .mobile-dock svg{width:21px;height:21px}.mobile-dock .selected{color:var(--red)}.mobile-dock button{color:var(--red)}
 .hero{padding:27px 20px 30px;gap:26px}.hero .eyebrow{font-size:7px;letter-spacing:.9px;margin-bottom:19px}.hero .redline{width:16px;margin-right:5px}
 .hero h1{font-size:clamp(34px,10.9vw,48px);letter-spacing:-1.8px;line-height:1.12;margin-bottom:20px}.hero h1 em{font-size:clamp(33px,10.6vw,47px);letter-spacing:-1.8px;white-space:nowrap}
 .hero .lead{font-size:14px;line-height:1.8;margin-bottom:22px}.hero-actions{gap:18px}.hero-actions .btn{padding:15px 15px;min-height:50px;font-size:12px;gap:17px}.hero-actions .textlink{font-size:12px;gap:10px}
 .hero-note{font-size:10px;margin-top:22px;line-height:1.7}.hero-image{height:235px}.hero-stamp{width:73px;height:73px;top:13px;right:13px;font-size:6px}.hero-stamp b{font-size:8px}.hero-stamp span{font-size:8px;margin-top:5px}
 .route{font-size:21px;gap:13px;bottom:42px;left:20px;right:20px}.route small{font-size:7px;letter-spacing:1.5px}.photo-caption{font-size:6px;letter-spacing:.8px;left:20px;bottom:18px}
 .valuebar{padding:20px;gap:15px 8px;font-size:9px}.valuebar b{margin-right:7px}
 .section{padding:36px 20px}.section-head h2{font-size:30px;line-height:1.18}.section-head>p{font-size:13px;line-height:1.7}.section-head .eyebrow{font-size:9px}
 .catalog-toolbar{display:flex;flex-direction:column-reverse;align-items:stretch;gap:16px;overflow:hidden;padding-bottom:15px}.search{margin-top:0;min-height:48px;padding:10px 13px;background:#fff}.search input{font-size:16px;min-width:0}.search>span{font-size:26px}
 .filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;width:100%;padding:1px 0 6px;scrollbar-width:thin;scrollbar-color:#bfc7bd transparent}.filter{flex:0 0 auto;min-height:44px;font-size:12px;padding:10px 14px;border:1px solid var(--line);border-radius:3px}.filter small{display:none}
 .catalog-meta{font-size:11px;margin:12px 0 20px}.catalog-meta label{font-size:11px}.catalog-meta select{font-size:12px;min-height:40px;max-width:146px}
 .product-grid{gap:26px 14px}.product-visual{aspect-ratio:1/1.05;border-radius:4px}.product-visual>img{width:118%;max-width:none;margin-left:-9%}.product-badge{font-size:7px;letter-spacing:.3px;padding:4px 6px}.video-badge{font-size:8px;padding:4px 5px}.card-category{font-size:8px;letter-spacing:.6px;margin-top:14px}.card-name{font-size:15px;line-height:1.35;min-height:40px;margin-bottom:8px}.card-description{font-size:11px;line-height:1.65;min-height:54px;margin-bottom:12px}.card-price{padding-top:12px;align-items:center}.card-price strong{font-size:17px}.card-price small{font-size:9px}.card-price .arrow{width:26px;height:26px;flex-shrink:0}.catalog-foot{display:block;margin-top:24px}.catalog-foot>span{display:block;max-width:none;font-size:10px;margin-bottom:12px}.catalog-foot .textlink{font-size:13px;min-height:44px}
 .story-feature{min-height:290px;border-radius:4px}.story-label{font-size:8px;left:20px}.story-bottom{left:20px;right:20px}.story-bottom strong{font-size:26px}.story-bottom>span{font-size:11px}.story-side>p:not(.eyebrow){font-size:14px;max-width:none}.story-side .textlink{font-size:13px;min-height:44px}.story-side .tiny{font-size:11px}.play{width:48px;height:48px}
 .about h2{font-size:39px}.about-copy>p{font-size:14px}.about-copy .intro{font-size:21px}.about-copy .textlink{font-size:13px;min-height:44px}.about-facts{gap:18px;justify-content:space-between}.about-facts small{font-size:8px}.about-facts strong{font-size:11px}.about-copy p.tiny{font-size:11px;line-height:1.75}.about-seal span{font-size:9px}
 .contact .eyebrow{font-size:8px;line-height:1.8}.contact h2{font-size:31px}.contact p:not(.eyebrow){font-size:13px}.contact .btn{min-height:50px;font-size:13px}
 footer{padding:30px 20px 20px;gap:20px}footer>p{font-size:11px}footer>div:not(.footer-bottom){font-size:11px;flex-wrap:wrap;gap:8px 18px}footer a,footer button{min-height:40px;display:inline-flex;align-items:center}.footer-bottom{font-size:9px;gap:6px}.footer-bottom button{font-size:10px}
 dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:76px 22px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:65px}
 dialog .close{position:sticky;top:0;float:right;width:44px;height:44px;margin:-59px -6px 0 0;display:grid;place-items:center;font-size:27px;border:1px solid var(--line);border-radius:50%;background:var(--paper);z-index:6}
 dialog h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin-bottom:14px}dialog .muted{font-size:13px;line-height:1.7}dialog .tiny{font-size:11px;line-height:1.75}dialog .eyebrow{font-size:9px}
 .product-dialog{padding:0 0 env(safe-area-inset-bottom)}.product-dialog>.close{position:sticky;top:15px;margin:15px 15px -59px 0}.detail-visual{min-height:242px;height:242px;padding:18px 20px 12px}.detail-visual img{height:180px}.detail-visual .textlink{min-height:38px;font-size:12px}.detail-visual .tiny{margin:0;font-size:11px}
 .detail-copy{padding:23px 22px 25px}.detail-copy .eyebrow{margin-bottom:10px}.detail-copy h2{font-size:29px;letter-spacing:-1.3px}.detail-copy>p{font-size:13px;line-height:1.75}.detail-price{margin:19px 0;padding:14px 0}.detail-price small{font-size:10px;line-height:1.65}.detail-price strong{font-size:30px}.detail-price>small:last-child{margin-top:7px}.detail-copy .btn{width:100%;min-height:52px;font-size:13px}.detail-copy p.tiny{font-size:10px;margin-top:12px}
 label:not(.checkbox,.search){font-size:12px}input:not([type=checkbox]),textarea,form select{font-size:16px;padding:12px;min-height:48px;border-radius:3px}form label{margin-bottom:17px}.checkbox{font-size:12px;align-items:flex-start;line-height:1.7;gap:10px}.checkbox input{width:20px;height:20px;flex-shrink:0;margin:1px 0}.form-row{gap:0}form .btn{min-height:52px;width:100%;font-size:13px}.form-actions{flex-wrap:wrap}.form-actions .btn{width:auto;flex:1}.form-actions .secondary{min-height:48px}#inquiry-dialog .eyebrow{margin-top:0}#inquiry-form{margin-top:25px}#inquiry-form .btn{margin-top:8px}#inquiry-result .btn{min-height:52px}
 #video-dialog{height:auto;min-height:420px;margin:auto 0;padding:76px 20px 26px;border-radius:16px 16px 0 0}#video-dialog h2{font-size:26px}#player{margin:12px 0 8px;border-radius:5px}
 .admin-dialog{padding:76px 20px 25px}.admin-heading{display:block}.admin-heading h2{font-size:29px}.admin-heading .btn{width:100%;min-height:50px;margin:10px 0 17px;font-size:13px}.admin-heading .muted{font-size:12px}#admin-stats{font-size:12px;line-height:1.8;margin:2px 0 18px}
 .admin-table-wrap{overflow:visible}table{display:block;margin:0}thead{display:none}tbody{display:block}#admin-rows tr{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin-bottom:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:5px}td{display:block;border:0;padding:0;white-space:normal;font-size:12px;line-height:1.65}td:first-child{grid-column:1;grid-row:1;display:flex;align-items:center;font-size:13px;line-height:1.4;overflow-wrap:anywhere}td img{width:44px;height:44px;flex-shrink:0;margin-right:10px;border-radius:3px}td:nth-child(2),td:nth-child(3){grid-column:1/-1;color:var(--muted);display:flex;justify-content:space-between;gap:8px}td[data-label]:before{content:attr(data-label);color:#819087;font-size:11px}td:nth-child(3){font-weight:600;color:var(--ink)}td:nth-child(4){grid-column:2;grid-row:1;align-self:center}.status{font-size:9px;padding:5px 8px}td:last-child{grid-column:1/-1;display:flex;gap:8px;margin-top:6px}td button{min-height:44px;margin:0;font-size:11px;flex:1;border-radius:3px}
 #product-form{margin:0;padding:18px;border-radius:5px}#product-form h3{font-size:24px;line-height:1.3;letter-spacing:-.7px;margin-bottom:25px}#product-form input,#product-form textarea{min-width:0;width:100%}.admin-dialog.editing .admin-heading,.admin-dialog.editing #admin-stats,.admin-dialog.editing .admin-table-wrap{display:none}.admin-dialog.editing>.eyebrow{margin-bottom:25px}.admin-dialog.editing #product-form{border:0;padding:0;background:transparent}.admin-dialog>.tiny{font-size:11px;margin-top:20px}
 #toast{bottom:calc(84px + env(safe-area-inset-bottom));font-size:12px}dialog[open]~.mobile-dock{visibility:hidden}
}
@media(max-width:359px){.hero-actions{gap:12px}.hero-actions .btn{font-size:11px;gap:9px;padding:14px 10px}.hero-actions .textlink{font-size:11px;gap:6px}.hero .eyebrow{font-size:6px}.section h2{font-size:27px}.card-name{font-size:13px}.card-price strong{font-size:15px}.route{font-size:18px}}
@media(max-width:760px){dialog>.eyebrow{margin-bottom:30px}}
@media(max-width:760px){.admin-actions{display:flex;flex-direction:column;gap:0;align-items:stretch}.admin-actions .secondary{margin-bottom:18px;font-size:12px}.media-uploads input{font-size:13px}.admin-dialog.editing #product-form{scroll-margin-top:75px}#login-form button{width:100%;min-height:52px}}
