
/* Bishuli v12 — mobile-first responsive refinement, safely scoped to <=960px. */
@media (max-width: 960px) {
 :root{--bishuli-mob-blue:#0d4f98;--bishuli-mob-sea:#0aa2dd;--bishuli-mob-pale:#eaf8ff}
 html{width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
 body{width:100%;min-width:0;overflow-x:clip;background:#eaf8ff;color:#163f75}
 *,*::before,*::after{box-sizing:border-box}
 img,svg,video,iframe,object,embed{max-width:100%}
 .site,.home-page .site{width:100%;min-width:0;overflow:clip}
 main{min-width:0}
 .wrap{width:min(100% - 32px,720px);max-width:100%;margin-inline:auto}
 /* consistent sticky header across all HTML documents */
 .header{position:sticky;top:0;z-index:100;background:rgba(239,250,255,.98);box-shadow:0 4px 16px rgba(5,73,130,.12);border-bottom:1px solid #c3e6f8;backdrop-filter:blur(12px)}
 .header::before{display:none!important}
 .header .nav{display:flex!important;position:relative!important;width:min(100% - 28px,720px)!important;max-width:100%!important;min-height:70px!important;height:70px!important;padding:0!important;margin:auto!important;align-items:center!important;justify-content:space-between!important;grid-template-columns:none!important;gap:10px!important}
 .header .nav >.brand-type{position:static!important;transform:none!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;max-width:calc(100% - 68px)!important;min-width:0!important;margin:0!important;white-space:nowrap!important;line-height:1!important}
 .header .brand-type .brand-name{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,7vw,38px)!important;line-height:1.05!important;letter-spacing:-.035em;color:#124783;text-shadow:0 2px 0 #b0dfff}
 .header .brand-type .brand-subtitle{font:800 clamp(8px,2.05vw,10px)/1.1 Arial,sans-serif!important;letter-spacing:.01em!important;color:#c52737;text-transform:uppercase;white-space:nowrap}
 .header .menu-toggle{display:flex!important;flex:0 0 46px!important;flex-direction:column;justify-content:center;align-items:center;width:46px;height:44px;margin:0!important;padding:8px;border:1px solid #b6dff5;border-radius:13px;background:linear-gradient(#fff,#e2f5ff);box-shadow:0 3px 10px rgba(17,95,150,.09);cursor:pointer}
 .header .menu-toggle span{width:22px;height:2.5px;margin:2.6px 0;border-radius:99px;background:#0a559b;transition:.2s}
 .header .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7.7px) rotate(45deg)}
 .header .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .header .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7.7px) rotate(-45deg)}
 .header #nav-links{position:absolute!important;top:calc(100% + 1px)!important;left:-14px!important;right:-14px!important;width:auto!important;max-width:none!important;height:auto!important;z-index:101!important;transform:none!important;margin:0!important;padding:12px 14px 20px!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;flex-wrap:nowrap!important;background:rgba(246,252,255,.99)!important;border:0!important;border-bottom:1px solid #afd9ee!important;border-radius:0 0 20px 20px;box-shadow:0 18px 28px rgba(6,68,130,.15)}
 .header #nav-links.open{display:flex!important}
 .header #nav-links a{display:block!important;position:static!important;transform:none!important;float:none!important;width:100%!important;margin:0!important;padding:13px 16px!important;font:700 15px/1.25 Arial,sans-serif!important;border-radius:13px!important;white-space:normal!important;color:#174679!important;background:transparent!important;box-shadow:none!important}
 .header #nav-links a:hover,.header #nav-links a:focus-visible,.header #nav-links a[aria-current=page]{background:linear-gradient(90deg,#119de0,#0b62b4)!important;color:#fff!important}
 /* no more giant desktop poster at mobile widths */
 .home-page .artwork{display:none!important}
 .home-page .mobile-site{display:block!important;width:100%;background:linear-gradient(180deg,#d9f2ff 0%,#effaff 44%,#e5f6ff 100%)}
 .home-page .mobile-site *{max-width:100%}
 .home-page .mobile-hero{position:relative;overflow:hidden;padding:27px 16px 37px;text-align:left;background:radial-gradient(circle at 88% 23%,rgba(0,182,247,.18),transparent 45%),linear-gradient(180deg,#d8f2ff 0%,#ebfaff 100%)}
 .home-page .mobile-hero::after{content:"";position:absolute;left:-9%;bottom:-43px;width:118%;height:85px;border-radius:50% 50% 0 0 / 38% 48% 0 0;background:linear-gradient(180deg,#51caff,#098cce);opacity:.45;pointer-events:none}
 .home-page .mobile-hero>.mobile-inner,.home-page .mobile-section>.mobile-inner{width:min(100%,660px);margin:auto;position:relative;z-index:1}
 .home-page .mobile-label{display:inline-flex;align-items:center;gap:6px;color:#0873b3;font:800 11px/1.25 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
 .home-page .mobile-hero h1{font:italic 700 clamp(30px,8.5vw,48px)/1.09 Georgia,serif;color:#103e7d;margin:0 0 14px;letter-spacing:-.025em;text-wrap:balance}
 .home-page .mobile-hero .mobile-intro{font:400 15px/1.55 Arial,sans-serif;color:#2a5479;max-width:43ch;margin:0 0 18px}
 .home-page .mobile-map-shell{position:relative;overflow:hidden;border-radius:24px;background:#b9ecff;padding:6px;margin:24px 0 20px;border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 26px rgba(0,93,169,.17)}
 .home-page .mobile-map-shell img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover;object-position:center;border-radius:19px;margin:0}
 .home-page .mobile-map-caption{position:absolute;bottom:13px;left:13px;right:13px;display:flex;justify-content:center;pointer-events:none}
 .home-page .mobile-map-caption span{display:inline-block;padding:7px 14px;color:#fff;font-size:12px;font-weight:800;border-radius:99px;background:rgba(4,91,159,.9);box-shadow:0 3px 8px #0b477055}
 .home-page .mobile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
 .home-page .mobile-cta,.home-page .mobile-ion{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;min-height:48px;padding:12px 17px;margin:0;border-radius:14px;font:800 14px/1.2 Arial,sans-serif;box-shadow:0 8px 18px rgba(5,95,171,.17)}
 .home-page .mobile-cta{background:linear-gradient(180deg,#19a8ee,#0066b6);color:white;border:1px solid #0b84c8}
 .home-page .mobile-ion{background:#fff;color:#0d5a9c;border:1px solid #b8e1f7}
 .home-page .mobile-section{position:relative;padding:36px 16px;background:transparent}
 .home-page .mobile-section + .mobile-section{padding-top:12px}
 .home-page .mobile-section h2{margin:0 0 18px;font:italic 700 clamp(27px,7vw,35px)/1.12 Georgia,serif;letter-spacing:-.02em;color:#0e3e7f}
 .home-page .mobile-section h2::after{content:"";display:block;width:72px;height:4px;background:linear-gradient(90deg,#0b74c5,#6ed9f5);border-radius:9px;margin-top:11px}
 .home-page .mobile-cards{display:grid;grid-template-columns:1fr;gap:14px}
 .home-page .mobile-card{display:block;min-width:0;overflow:hidden;background:linear-gradient(145deg,#fff,#eaf7ff);border:1px solid #bee1f5;border-radius:19px;box-shadow:0 7px 16px rgba(4,95,158,.09);text-decoration:none}
 .home-page .mobile-card img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:600 / 390;object-fit:contain!important;object-position:center!important;border:0;background:#dcf2ff}
 .home-page .mobile-card strong{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:#0c4480;font-size:14px;line-height:1.35}
 .home-page .mobile-card strong::after{content:'→';display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#d9effd;color:#0066b0;font-size:18px}
 .home-page .mobile-doc-links{display:grid;grid-template-columns:1fr;gap:10px}
 .home-page .mobile-doc-links a{display:flex;align-items:center;gap:12px;min-height:60px;padding:15px 16px;border-radius:16px;background:linear-gradient(145deg,#fff,#edf9ff);border:1px solid #c1e2f5;box-shadow:0 5px 12px rgba(9,83,143,.06);color:#0a4c90;text-decoration:none;font-weight:700;line-height:1.35}
 .home-page .mobile-doc-links a::before{content:'▤';display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#dcf1ff;color:#0876bf;border-radius:10px;font-size:23px}
 .home-page .mobile-doc-links a::after{content:'›';margin-left:auto;color:#0b73b5;font-size:23px}
 .home-page .mobile-footer{padding:34px 20px 42px;text-align:center;color:#fff;background:linear-gradient(180deg,#0787c8,#063b80);line-height:1.75}
 .home-page .mobile-footer strong{font:italic 700 30px Georgia,serif}
 .home-page .mobile-footer a{color:#fff;overflow-wrap:anywhere}
 .page-head{padding:28px 0 39px!important;min-width:0;background:radial-gradient(circle at 85% 12%,rgba(44,184,242,.16),transparent 50%),linear-gradient(#d7f2ff,#ebfaff)!important}
 .page-head::before{background-size:auto!important}
 .page-head::after{height:30px!important}
 .page-head .wrap{min-width:0}
 .page-head h1{font:italic 700 clamp(28px,7vw,44px)/1.08 Georgia,serif!important;overflow-wrap:anywhere;max-width:100%;margin:6px 0 12px}
 .page-head .lead,.page-head p{font-size:15px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
 .page-head .eyebrow{font-size:11px;line-height:1.3;letter-spacing:.1em}
 .section{padding:24px 0 44px!important}
 .section .wrap{min-width:0}
 .article,.contact-card,.document-paper,.doc-card,.product-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .article{padding:20px 17px!important;border-radius:20px!important;box-shadow:0 6px 18px rgba(14,93,155,.08)}
 .article h2{font-size:clamp(23px,5.7vw,32px);line-height:1.12}
 .article h3{font-size:21px}
 .article p,.article li{font-size:15px;line-height:1.65}
 .article table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
 .article table th,.article table td{font-size:13px;min-width:100px}
 .stats-line{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .stat{padding:12px 6px;border-radius:15px}
 .stat strong{font-size:18px}
 .stat span{font-size:12px}
 .cards3,.product-bottles,.doc-grid,.contact-grid,.grid-2,.feature-list,.doc-cats{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;min-width:0}
 .product-bottles .product-card{width:100%;border-radius:20px!important;overflow:hidden!important;min-height:0!important}
 .product-bottles .product-card .bottle-visual{display:block!important;position:relative!important;width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:600 / 390!important;overflow:hidden!important;mask-image:none!important;-webkit-mask-image:none!important}
 .product-bottles .product-card .bottle-visual img{position:static!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:600 / 390!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important}
 .product-bottles .product-card .body{display:none!important}
 .doc-grid{gap:10px!important}
 .doc-card{padding:14px 15px;min-height:72px!important;gap:12px;border-radius:16px!important;align-items:center}
 .doc-card .doc-icon{flex:0 0 40px!important;width:40px!important;height:40px!important;font-size:20px;border-radius:12px}
 .doc-card strong{font-size:14px;line-height:1.32;overflow-wrap:anywhere}
 .doc-card .doc-arrow{margin-left:auto;flex:0 0 auto}
 .contact-card{padding:22px 18px;border-radius:20px}
 .contact-card a{overflow-wrap:anywhere}
 .doc-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 12px;line-height:1.5}
 .doc-breadcrumb a,.doc-breadcrumb span{font-size:12px!important;max-width:100%;overflow-wrap:anywhere}
 .doc-header-row{align-items:start!important;gap:10px!important}
 .doc-header-row h1{flex:1 1 190px!important;min-width:0!important}
 .doc-file-icon{width:46px!important;flex:0 0 46px!important;height:56px!important;padding:5px!important}
 .doc-file-icon img{width:36px!important;height:46px!important}
 .doc-compact-section .article{padding:12px!important}
 .document-paper{padding:12px!important;border-radius:16px!important}
 .original-preview{max-width:100%;overflow:hidden}
 .pdf-viewer{display:block;width:100%!important;max-width:100%!important;height:min(60vh,600px)!important;min-height:310px!important;border-radius:10px}
 .pdf-text{font-size:13px!important;line-height:1.55!important;overflow-wrap:anywhere!important;white-space:pre-wrap!important}
 .pdf-text p{white-space:pre-wrap!important;overflow-wrap:anywhere!important;font-size:13px!important}
 .document-paper img{height:auto!important;max-width:100%!important}
 .document-toolbar{padding:12px;display:flex;flex-wrap:wrap}
 .btn{min-height:44px;padding:10px 18px;font-size:14px}
 .footer{padding:54px 0 26px!important;margin-top:20px!important}
 .footer::before{height:38px!important;top:-32px!important}
 .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:15px!important}
 .footer-grid nav{display:flex!important;position:static!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:4px 12px!important;background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}
 .footer-grid nav a{font-size:13px;white-space:nowrap;padding:7px 3px;color:#fff!important}
 .footer-grid p{font-size:14px}
 .footer-grid .brand-name{color:#fff;font-size:28px!important}
}
@media(max-width:390px){
 .wrap{width:calc(100% - 24px)}
 .home-page .mobile-hero,.home-page .mobile-section{padding-left:12px;padding-right:12px}
 .home-page .mobile-actions{flex-direction:column}
 .home-page .mobile-actions a{width:100%}
 .page-head h1{font-size:28px!important}
 .doc-header-row h1{font-size:25px!important}
}
@media(min-width:650px) and (max-width:960px){
 .home-page .mobile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .mobile-doc-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .product-bottles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
