/* SAGUI touch layouts: deliberate spacing, stable product browsing, accessible controls. */
.responsive-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.responsive-hero-actions a,.responsive-hero-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border:1px solid #d5ad45; border-radius:14px; font-family:inherit; font-size:13px; font-weight:700; line-height:1.2; cursor:pointer; }
.responsive-hero-actions a { color:#151208; background:#e2bf64; }
.responsive-hero-actions button { color:#f5f1e7; background:transparent; }
.premium-site :is(a,button,input,textarea):focus-visible { outline:3px solid #d5ad45; outline-offset:4px; }
@media (max-width:1100px) {
  .premium-site { min-width:0; scroll-padding-top:100px; }
  .premium-site .snap-section { scroll-margin-top:100px; }
  .premium-site .site-header { top:12px; width:calc(100% - 32px); margin:12px auto -80px; border:1px solid rgba(213,173,69,.28); border-radius:20px; gap:12px; padding:9px 12px; }
  .premium-site .hero { grid-template-columns:minmax(0,1fr); min-height:0; padding:110px 24px 0; }
  .premium-site .hero-visual { position:relative; inset:auto; order:1; width:100%; height:420px; min-height:0; margin:0; border-radius:24px; }
  .premium-site .hero-copy { order:2; width:100%; max-width:820px; margin:0 auto; padding:40px 8px 48px; background:transparent; }
  .premium-site .hero h1 { font-size:clamp(48px,7vw,72px); line-height:1.02; letter-spacing:-.055em; }
  .premium-site .hero-text { max-width:600px; font-size:17px; line-height:1.65; }
  .premium-site .hero-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:600px; padding-top:22px; margin-top:30px; }
  .premium-site .hero-metrics span { display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; padding:0; font-size:10px; line-height:1.4; letter-spacing:.08em; }
  .premium-site .hero-metrics strong { margin:0; font-size:13px; line-height:1.3; }
  .premium-site .section,.premium-site .contact { padding:64px 32px; }
  .premium-site .section-heading h2,.premium-site .contact-copy > h2 { font-size:clamp(32px,4.8vw,48px); line-height:1.08; letter-spacing:-.045em; }
  .premium-site .product-command-bar { border-radius:20px; padding:16px; gap:14px; }
  .premium-site .product-search input { min-height:50px; font-size:16px; border-radius:12px; }
  .premium-site .product-view-switch { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:6px; }
  .premium-site .product-view-btn { min-width:0; min-height:48px; padding:10px; white-space:normal; font-size:11px; line-height:1.4; }
  .premium-site .product-view-btn:not(.is-active) { color:#514323; border-color:#b9a36e; background:#fffdf7; }
  .premium-site .product-search input { background:#fffdf7; color:#211c12; border-color:#c7b889; }
  .premium-site .product-search input::placeholder { color:#756b55; opacity:1; }
  .premium-site .product-carousel-window { overflow-x:auto; padding:8px 2px 26px; mask-image:none; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scrollbar-width:thin; scrollbar-color:#b5913e transparent; overscroll-behavior-x:contain; }
  .premium-site .product-carousel-track,.premium-site .product-carousel-track.is-static { width:max-content; gap:18px; padding:0; animation:none; transform:none; will-change:auto; }
  .premium-site .product-carousel-track .product-card[aria-hidden="true"] { display:none; }
  .premium-site .product-carousel-track .product-card { width:320px; flex:0 0 320px; scroll-snap-align:start; }
  .premium-site .product-card { border-radius:22px; }
  .premium-site .product-body { padding:22px; gap:14px; }
  .premium-site .product-card h3 { font-size:22px; line-height:1.15; letter-spacing:-.025em; }
  .premium-site .product-card p { font-size:14px; line-height:1.6; }
  .premium-site .product-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .premium-site .product-actions button,.premium-site .product-actions a { min-height:46px; padding:10px 8px; border-radius:12px; font-size:11px; letter-spacing:.03em; }
  .premium-site .manual-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .premium-site .manual-product-grid .product-card { min-width:0; }
  .premium-site .all-products-panel { padding:0; border:0; background:transparent; box-shadow:none; }
  .premium-site .product-filter-row { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; padding:4px 0 16px; margin-bottom:12px; scrollbar-width:thin; scrollbar-color:#b5913e transparent; }
  .premium-site .product-filter-row .filter-btn { flex:0 0 auto; min-height:44px; color:#514323; background:#fffdf7; border-color:#b9a36e; font-size:12px; }
  .premium-site .product-filter-row .filter-btn.is-active { color:#211c12; background:#e2bf64; }
  .premium-site .visual-stories { padding:64px 32px; }
  .premium-site .project-gallery,.premium-site .visual-stories .video-grid { width:100%; }
  .premium-site .project-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:16px; margin-top:32px; }
  .premium-site .project-shot,.premium-site .project-shot-wide { grid-area:auto; aspect-ratio:4/3; }
  .premium-site .project-shot-lead { grid-column:1/-1; aspect-ratio:16/9; }
  .premium-site .contact-location,.premium-site .testimonial-panel,.premium-site .review-form { border-radius:22px; }
  .premium-site .testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .premium-site .testimonial-card { border-radius:16px; }
  .premium-site .tachon-chat-panel { max-width:calc(100vw - 32px); border-radius:24px; }
  .premium-site .modal { z-index:110; }
  .premium-site .modal-card { border-radius:22px; }
}
@media (max-width:620px) {
  .premium-site .site-header { top:8px; width:calc(100% - 24px); margin:8px auto -70px; grid-template-columns:minmax(0,1fr) 44px 44px; gap:8px; padding:8px 10px; border-radius:18px; }
  .premium-site .brand { min-width:0; gap:8px; padding:0; }
  .premium-site .brand-logo { width:42px; height:42px; }
  .premium-site .brand strong { font-size:10px; letter-spacing:.07em; white-space:nowrap; }
  .premium-site .brand small { font-size:9px; letter-spacing:.2em; }
  .premium-site .menu-toggle { width:44px; height:44px; min-height:44px; }
  .premium-site .tachon-header-trigger { width:44px; min-width:44px; min-height:44px; padding:2px; }
  .premium-site .tachon-header-trigger img { width:38px; height:38px; }
  .premium-site .nav { top:calc(100% + 10px); left:0; right:0; padding:12px; border-radius:18px; background:rgba(10,10,8,.98); box-shadow:0 20px 50px #0006; }
  .premium-site .nav a { min-height:48px; display:flex; align-items:center; padding:12px 16px; border-radius:12px; font-size:12px; }
  .premium-site .hero { padding:94px 20px 0; }
  .premium-site .hero-visual { height:clamp(220px,62vw,340px); border-radius:22px; }
  .premium-site .hero-copy { padding:30px 0 40px; }
  .premium-site .hero .eyebrow { font-size:9px; line-height:1.7; letter-spacing:.17em; margin-bottom:16px; }
  .premium-site .hero h1 { font-size:clamp(36px,10.7vw,58px); line-height:1.04; text-wrap:balance; }
  .premium-site .hero-text { margin-top:20px; font-size:15px; line-height:1.65; }
  .responsive-hero-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:24px; }
  .responsive-hero-actions a,.responsive-hero-actions button { width:100%; font-size:13px; }
  .premium-site .hero-metrics { gap:10px; margin-top:26px; padding-top:20px; }
  .premium-site .hero-metrics span { font-size:8px; letter-spacing:.055em; }
  .premium-site .hero-metrics strong { font-size:11px; }
  .premium-site .section,.premium-site .contact,.premium-site .visual-stories { padding:52px 20px; }
  .premium-site .section-heading h2,.premium-site .visual-stories .section-heading h2,.premium-site .contact-copy > h2 { font-size:34px; line-height:1.1; }
  .premium-site .section-heading p,.premium-site .contact-copy > p { font-size:15px; line-height:1.65; }
  .premium-site .product-command-bar { padding:12px; border-radius:18px; }
  .premium-site .product-search span { padding-left:4px; font-size:9px; letter-spacing:.14em; }
  .premium-site .product-view-switch { padding:0; }
  .premium-site .product-view-btn { font-size:10px; letter-spacing:.02em; }
  .premium-site .product-carousel-track .product-card { width:calc(100vw - 68px); flex-basis:calc(100vw - 68px); max-width:360px; }
  .premium-site .product-media { height:230px; }
  .premium-site .product-body { padding:20px; }
  .premium-site .manual-product-grid { grid-template-columns:1fr; }
  .premium-site .export-strip { padding:40px 20px; gap:24px; }
  .premium-site .project-gallery { gap:12px; }
  .premium-site .project-shot { border-radius:18px; }
  .premium-site .project-shot figcaption { left:12px; right:12px; bottom:14px; }
  .premium-site .project-shot figcaption strong { font-size:16px; }
  .premium-site .project-shot-lead { aspect-ratio:16/11; }
  .premium-site .contact-channel { min-height:64px; border-radius:16px; padding:16px; }
  .premium-site .contact-chat-card { grid-template-columns:100px minmax(0,1fr); border-radius:22px; }
  .premium-site .contact-chat-copy { padding:26px 18px 26px 0; }
  .premium-site .contact-chat-copy h3 { font-size:25px; }
  .premium-site .testimonial-panel { padding:20px 16px; }
  .premium-site .testimonial-grid { grid-template-columns:1fr; }
  .premium-site .review-form input,.premium-site .review-form textarea { font-size:16px; }
  .premium-site .footer { padding:28px 20px 100px; gap:20px; }
  .premium-site .tachon-chat-launcher { min-width:58px; min-height:58px; }
  .premium-site .tachon-chat-launcher > img { width:52px; height:52px; }
  .premium-site .tachon-chat-panel { left:8px; right:8px; bottom:max(8px,env(safe-area-inset-bottom)); max-width:none; width:auto; height:min(720px,calc(100dvh - 24px)); border-radius:22px; }
  .premium-site .tachon-chat-form textarea { font-size:16px; }
  .premium-site .tachon-message { max-width:94%; font-size:14px; line-height:1.55; overflow-wrap:anywhere; }
  .premium-site .modal { padding:12px; }
  .premium-site .modal-card { width:100%; max-height:calc(100dvh - 24px); }
  .premium-site .modal-card > img { min-height:0; height:240px; object-fit:contain; background:#fff; }
  .premium-site .modal-content { padding:24px; gap:16px; }
  .premium-site .modal-content h2 { font-size:28px; line-height:1.1; }
  .premium-site .modal-actions { display:grid; grid-template-columns:1fr; }
  .premium-site .modal-actions a { min-height:48px; }
}
