/* =========================================================
   Airbrush Some Stuff V66 — Mobile UX refinement
   Built on the V65 site. This file loads last and only
   changes public-site behavior at phone/tablet widths.
   ========================================================= */

html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:150px}
body.theme-v38{--mobile-edge:12px;--mobile-header-h:64px;--mobile-dock-h:68px}
body.theme-v38 .mobile-bottom-nav{display:none}
body.theme-v38 :is(section,article,div,form,nav){min-width:0}
body.theme-v38 :is(h1,h2,h3,h4,p,a,strong,span,label,li){word-break:normal;overflow-wrap:break-word}
body.theme-v38 [id]{scroll-margin-top:150px}

@media(max-width:1050px){
  body.theme-v38 .site-header{padding-left:14px!important;padding-right:14px!important}
  body.theme-v38 .menu-toggle{gap:8px;font-weight:900;letter-spacing:.01em}
  body.theme-v38 .menu-toggle-icon{display:grid;gap:3px;width:17px}
  body.theme-v38 .menu-toggle-icon i{display:block;width:17px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  body.theme-v38.mobile-nav-open .menu-toggle-icon i:nth-child(1){transform:translateY(5px) rotate(45deg)}
  body.theme-v38.mobile-nav-open .menu-toggle-icon i:nth-child(2){opacity:0}
  body.theme-v38.mobile-nav-open .menu-toggle-icon i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
}


@media(min-width:761px) and (max-width:1050px){
  body.theme-v38 .mobile-menu.open{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;top:78px!important;padding:18px!important}
  body.theme-v38 .mobile-menu-top{grid-column:1/-1;display:grid;grid-template-columns:1.3fr .7fr;gap:10px}
  body.theme-v38 .mobile-menu-project{display:grid!important;padding:14px 16px!important;border:0!important;border-radius:16px;background:var(--lime);color:#071016!important}
  body.theme-v38 .mobile-menu-project strong{font-size:18px}.mobile-menu-project span{font-size:12px}
  body.theme-v38 .mobile-menu-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.theme-v38 .mobile-menu-tools a,body.theme-v38 .mobile-menu-grid a{font-size:14px!important;padding:11px!important;border:0!important;border-radius:12px;background:rgba(255,255,255,.05)}
  body.theme-v38 .mobile-menu-section{padding:8px}
  body.theme-v38 .mobile-menu-label{display:block;margin-bottom:8px;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
  body.theme-v38 .mobile-menu-grid{display:grid;gap:4px}
}
@media(max-width:760px){
  html{scroll-padding-top:calc(132px + env(safe-area-inset-top))}
  body.theme-v38{padding-bottom:calc(var(--mobile-dock-h) + env(safe-area-inset-bottom));font-size:16px}
  body.theme-v38 [id]{scroll-margin-top:calc(132px + env(safe-area-inset-top))}

  /* Header: logo + cart + menu always visible, without crowding. */
  body.theme-v38 .site-header{
    top:max(8px,env(safe-area-inset-top))!important;
    left:var(--mobile-edge)!important;right:var(--mobile-edge)!important;
    height:64px!important;min-height:64px!important;
    padding:0 10px 0 12px!important;
    border-radius:20px!important;
    background:rgba(5,14,20,.96)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.28)!important;
  }
  body.theme-v38 .site-header .brand-v32{width:92px!important;min-width:92px!important;height:50px!important}
  body.theme-v38 .site-logo-v32{width:92px!important;height:48px!important;object-fit:contain!important}
  body.theme-v38 .nav-actions{gap:6px!important}
  body.theme-v38 .nav-actions>.btn,body.theme-v38 .search-link{display:none!important}
  body.theme-v38 .mobile-cart-link{display:inline-flex!important;align-items:center;justify-content:center;gap:4px;min-height:42px;padding:0 7px;font-size:12px;font-weight:900;color:#fff}
  body.theme-v38 .mobile-cart-link span{width:20px;height:20px;margin-left:0;font-size:11px}
  body.theme-v38 .menu-toggle{display:inline-flex!important;gap:7px;min-width:76px!important;min-height:42px!important;padding:0 11px!important;border-color:rgba(255,255,255,.24)!important;background:rgba(255,255,255,.04)!important;font-size:12px!important}

  /* Mobile menu is a clear, grouped sheet rather than one long list. */
  body.theme-v38 .mobile-menu{
    display:block!important;
    top:calc(max(8px,env(safe-area-inset-top)) + 72px)!important;
    left:var(--mobile-edge)!important;right:var(--mobile-edge)!important;bottom:calc(var(--mobile-dock-h) + env(safe-area-inset-bottom) + 8px)!important;
    width:auto!important;max-height:none!important;
    padding:12px!important;
    border-radius:24px!important;
    background:rgba(5,14,20,.985)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.5)!important;
    overflow-y:auto!important;overscroll-behavior:contain;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.985);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  body.theme-v38 .mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  body.theme-v38 .mobile-menu-top{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}
  body.theme-v38 .mobile-menu-project{display:grid!important;gap:2px!important;padding:15px 16px!important;border:0!important;border-radius:17px!important;background:var(--lime)!important;color:#071016!important}
  body.theme-v38 .mobile-menu-project strong{font-size:19px;line-height:1.05}
  body.theme-v38 .mobile-menu-project span{font-size:12px;font-weight:800;opacity:.75}
  body.theme-v38 .mobile-menu-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.theme-v38 .mobile-menu-tools a{display:flex!important;align-items:center;justify-content:space-between;min-height:44px;padding:0 13px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;font-size:13px!important;font-weight:900;background:rgba(255,255,255,.045)}
  body.theme-v38 .mobile-menu-tools b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:#071016;font-size:11px}
  body.theme-v38 .mobile-menu-section{padding:14px 2px 4px}
  body.theme-v38 .mobile-menu-label{display:block;margin:0 8px 8px;color:var(--cyan);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
  body.theme-v38 .mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  body.theme-v38 .mobile-menu-grid a{display:flex!important;align-items:center;min-height:46px;padding:10px 11px!important;border:0!important;border-radius:13px!important;background:rgba(255,255,255,.045);font-size:14px!important;line-height:1.15!important;font-weight:800;color:#f6fbfd}
  body.theme-v38 .mobile-menu-grid a[aria-current="page"]{background:rgba(34,215,232,.14);box-shadow:inset 0 0 0 1px rgba(34,215,232,.36);color:#fff}
  body.theme-v38.mobile-nav-open::before{content:"";position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.48);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  body.theme-v38.mobile-nav-open .site-header,body.theme-v38.mobile-nav-open .mobile-menu{z-index:120}

  /* Promotion: one concise message on a phone. Full deal list remains in Deals. */
  body.theme-v38 .promo-bar{top:calc(max(8px,env(safe-area-inset-top)) + 72px)!important;height:44px!important;z-index:70}
  body.theme-v38 .promo-track{overflow:hidden!important}
  body.theme-v38 .promo-track>a{display:none!important}
  body.theme-v38 .promo-track>a:first-child{display:flex!important;min-height:44px!important;flex:1 0 100%;padding:6px 12px!important}
  body.theme-v38 .promo-track a b{font-size:10px!important;line-height:1.1!important;text-align:center}

  /* More natural mobile rhythm. */
  body.theme-v38 main{overflow:hidden}
  body.theme-v38 :is(.v38-home-hero,.page-hero,.services-atelier-hero,.event-poster-hero,.studio-story-hero,.local-proof-hero,.contact-router-hero,.shop-rack-hero,.video-theater-hero,.editorial-blog-hero,.commerce-step-hero,.pc-hero,.group-hero,.fundraiser-hero,.school-hero,.event-guide-hero,.design-hero,.file-prep-hero,.production-hero,.pricing-center-hero,.deadline-hero,.learn-hero){padding-top:calc(138px + env(safe-area-inset-top))!important}
  body.theme-v38 :is(.statement,.project-grid-section,.shop-preview,.process,.content-showcase,.event-options,.contact-reassurance,.blog-preview,.related-posts,.service-detail-grid,.use-case-grid,.blog-grid,.site-ad-grid,.event-opportunity-section,.fundraiser-section,.seasonal-calendar,.show-opportunities,.gallery-browser,.gallery-tools,.shop-controls,.gallery-wall,.store-grid,.video-library,.form-stage,.product-detail,.cart-layout,.checkout-grid,.find-us-section,.case-story-grid,.case-detail-section,.local-service-intro,.service-detail,.case-proof-section,.bundle-section,.article-wrap){width:calc(100% - 24px)!important}
  body.theme-v38 :is(.statement,.project-grid-section,.shop-preview,.process,.content-showcase,.event-options,.contact-reassurance,.blog-preview,.related-posts,.event-opportunity-section,.fundraiser-section,.seasonal-calendar,.show-opportunities){padding-top:46px!important;padding-bottom:46px!important}
  body.theme-v38 .section-head{gap:9px!important;margin-bottom:20px!important}
  body.theme-v38 .eyebrow{font-size:10px!important;letter-spacing:.14em!important;margin-bottom:8px!important}
  body.theme-v38 main h1:not(.m32-glitch-title){font-size:clamp(40px,11.7vw,54px)!important;line-height:.94!important;letter-spacing:-.045em!important}
  body.theme-v38 :is(.statement h2,.section-head h2,.content-showcase h2,.contact-reassurance h2,.process h2,.mural-cta h2,.final-cta h2){font-size:clamp(32px,9.4vw,44px)!important;line-height:1!important;letter-spacing:-.035em!important}
  body.theme-v38 h3{line-height:1.08}
  body.theme-v38 p,body.theme-v38 li{font-size:16px!important;line-height:1.65!important}
  body.theme-v38 p{max-width:64ch}

  /* V65 apparel sample page: keep its personality but make it phone-first. */
  body.theme-v38.page-apparel-samples .apparel-sample-hero{padding:calc(138px + env(safe-area-inset-top)) 12px 42px!important;gap:18px!important}
  body.theme-v38.page-apparel-samples .apparel-sample-hero h1{font-size:clamp(44px,13vw,58px)!important;line-height:.9!important;max-width:100%!important}
  body.theme-v38.page-apparel-samples .apparel-sample-hero-copy>p{font-size:16px!important}
  body.theme-v38.page-apparel-samples .apparel-sample-hero-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:8px!important;border-radius:20px!important}
  body.theme-v38.page-apparel-samples .sample-hero-card{border-width:2px!important;border-radius:16px!important;transform:none!important}
  body.theme-v38.page-apparel-samples .apparel-price-guide,body.theme-v38.page-apparel-samples .apparel-sample-browser{padding:44px 12px!important}
  body.theme-v38.page-apparel-samples .price-guide-cards{gap:10px!important}
  body.theme-v38.page-apparel-samples .price-guide-cards article{min-height:0!important;padding:20px!important;border-radius:20px!important}
  body.theme-v38.page-apparel-samples .price-guide-cards strong{font-size:52px!important;margin:12px 0 8px!important}
  body.theme-v38.page-apparel-samples .apparel-sample-heading{gap:10px!important;margin-bottom:18px!important}
  body.theme-v38.page-apparel-samples .apparel-filter-tools{display:flex!important;overflow-x:auto!important;gap:7px!important;padding:12px 0 22px!important;scroll-snap-type:x proximity;scrollbar-width:none}
  body.theme-v38.page-apparel-samples .apparel-filter-tools::-webkit-scrollbar{display:none}
  body.theme-v38.page-apparel-samples .apparel-filter-tools .filter{flex:0 0 auto;min-height:44px;padding-left:14px;padding-right:14px;scroll-snap-align:start}
  body.theme-v38.page-apparel-samples .apparel-sample-grid{gap:12px!important}
  body.theme-v38.page-apparel-samples .apparel-sample-card{border-radius:20px!important}
  body.theme-v38.page-apparel-samples .apparel-sample-info{padding:18px 16px!important}
  body.theme-v38.page-apparel-samples .sample-card-bottom{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
  body.theme-v38.page-apparel-samples .apparel-custom-cta{margin:0 12px 54px!important;padding:28px 20px!important;border-radius:24px!important;gap:22px!important}
  body.theme-v38.page-apparel-samples .apparel-cta-price strong{font-size:50px!important}

  /* No sideways card browsing: make primary content follow one clear vertical path. */
  body.theme-v38 .v46-entertainment-gallery{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:12px!important;padding:0!important;scroll-snap-type:none!important}
  body.theme-v38 .v46-entertainment-gallery .gallery-item{width:100%!important;max-width:none!important;flex:none!important;scroll-snap-align:none!important}
  body.theme-v38 .v46-entertainment-gallery .gallery-visual{aspect-ratio:4/3!important;min-height:0!important}
  body.theme-v38 :is(.home-linked-gallery,.real-work-grid.rich-gallery,.project-grid.rich-gallery,.gallery-wall,.store-grid,.product-grid,.project-grid,.rich-gallery){grid-template-columns:1fr!important;gap:12px!important}
  body.theme-v38 :is(.gallery-item,.project-card,.product-card,.service-panel,.content-columns article,.service-detail-grid article,.use-case-grid article){border-radius:20px!important}
  body.theme-v38 .gallery-caption{padding:16px!important}
  body.theme-v38 .gallery-caption h3{font-size:25px!important}

  /* Home hero: show the message before decorative extras. */
  body.theme-v38 .v46-gallery-hero{min-height:auto!important;height:auto!important;padding-top:calc(136px + env(safe-area-inset-top))!important;padding-bottom:24px!important;overflow:visible!important}
  body.theme-v38 .v46-gallery-hero .v38-hero-shell{min-height:0!important;height:auto!important;padding:12px!important}
  body.theme-v38 .v46-gallery-hero .v38-hero-copy{padding:20px 15px!important}
  body.theme-v38 .v46-gallery-hero .v38-home-title{font-size:clamp(44px,13.4vw,60px)!important;line-height:.88!important}
  body.theme-v38 .v46-gallery-hero .v38-hero-stats{display:none!important}
  body.theme-v38 .hero-slide-callout{max-width:none!important;margin-top:8px!important;padding:14px!important}
  body.theme-v38 .hero-slide-callout strong{font-size:23px!important}
  body.theme-v38 .hero-slide-callout small{min-height:0!important;font-size:13px!important;line-height:1.45!important}
  body.theme-v38 .hero-slide-indicators{margin-top:10px!important}

  /* Buttons and forms: larger targets, less guessing, no iOS zoom. */
  body.theme-v38 .btn,body.theme-v38 button[type="submit"]{min-height:50px!important;font-size:14px!important}
  body.theme-v38 :is(.hero-actions,.footer-cta-row,.wizard-actions,.contact-radiance-actions){gap:8px!important}
  body.theme-v38 label{line-height:1.4}
  body.theme-v38 :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%!important;min-height:50px!important;font-size:16px!important;border-radius:14px!important;padding-left:14px!important;padding-right:14px!important}
  body.theme-v38 textarea{min-height:130px!important;padding-top:13px!important}
  body.theme-v38 input[type="checkbox"],body.theme-v38 input[type="radio"]{width:22px!important;height:22px!important;min-height:22px!important;flex:0 0 22px}
  body.theme-v38 :is(.project-form,.estimate-contact,.estimate-controls){gap:14px!important;padding:18px!important}
  body.theme-v38 .project-form label,body.theme-v38 .estimate-contact label,body.theme-v38 .estimate-controls label{display:grid;gap:7px}
  body.theme-v38 .email-signup-form{grid-template-columns:1fr!important;gap:9px!important}
  body.theme-v38 .email-signup-form button{width:100%!important}
  body.theme-v38 .email-signup-consent{align-items:start!important}

  /* Tables remain usable without breaking the page width. */
  body.theme-v38 :is(.comparison-table,.production-file-table,.table-wrap){margin-left:0;margin-right:0;border-radius:16px;scrollbar-width:thin;overscroll-behavior-x:contain}
  body.theme-v38 :is(.comparison-table,.production-file-table,.table-wrap) table{min-width:620px}

  /* Footer is shorter and easier to scan. */
  body.theme-v38 .site-ad-grid{grid-template-columns:1fr!important;gap:8px!important;padding-top:28px!important;padding-bottom:28px!important}
  body.theme-v38 .email-signup-strip{grid-template-columns:1fr!important;gap:18px!important;padding:34px 16px!important}
  body.theme-v38 .email-signup-strip h2{font-size:clamp(30px,9vw,40px)!important}
  body.theme-v38 .site-footer{grid-template-columns:1fr!important;padding:42px 16px 28px!important;gap:26px!important}
  body.theme-v38 .site-footer h2{font-size:clamp(32px,9vw,44px)!important}
  body.theme-v38 .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
  body.theme-v38 .footer-links strong{grid-column:1/-1;margin-bottom:7px}
  body.theme-v38 .footer-links a{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}
  body.theme-v38 .footer-meta{padding-bottom:10px!important}

  /* One persistent mobile action system instead of two overlapping widgets. */
  body.theme-v38 .floating-project{display:none!important}
  body.theme-v38 .mobile-bottom-nav{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:150;display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(5,14,20,.96);box-shadow:0 16px 45px rgba(0,0,0,.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  body.theme-v38 .mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:4px 6px;border-radius:15px;color:#dce8ec;font-size:11px;font-weight:900;text-align:center;line-height:1.05}
  body.theme-v38 .mobile-bottom-nav a[aria-current="page"]{background:rgba(255,255,255,.08);color:#fff}
  body.theme-v38 .mobile-bottom-nav .mobile-bottom-primary{background:var(--lime);color:#071016!important;font-size:11px}
  body.theme-v38.mobile-keyboard-open .mobile-bottom-nav{display:none!important}

  /* Modals/lightboxes should fit inside iPhone/Android safe areas. */
  body.theme-v38 .lightbox{width:calc(100vw - 16px)!important;max-width:none!important;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;padding:12px!important;border-radius:20px!important}
  body.theme-v38 .lightbox-art{max-height:45dvh!important;min-height:220px!important}
  body.theme-v38 .lightbox-art img{max-height:45dvh!important}

  @media(hover:none){
    body.theme-v38 .btn:hover,body.theme-v38 a:hover,body.theme-v38 button:hover{transform:none!important}
  }
}

@media(max-width:390px){
  body.theme-v38{--mobile-edge:8px}
  body.theme-v38 .site-header .brand-v32{width:82px!important;min-width:82px!important}
  body.theme-v38 .site-logo-v32{width:82px!important}
  body.theme-v38 .mobile-cart-link{padding:0 4px;font-size:11px}
  body.theme-v38 .menu-toggle{min-width:70px!important;padding:0 9px!important}
  body.theme-v38 .mobile-menu-grid{grid-template-columns:1fr}
  body.theme-v38 .mobile-menu-grid a{min-height:43px}
  body.theme-v38 .footer-links{grid-template-columns:1fr}
  body.theme-v38 .mobile-bottom-nav{grid-template-columns:.9fr 1fr 1fr 1.3fr}
  body.theme-v38 .mobile-bottom-nav a{font-size:10px;padding-left:3px;padding-right:3px}
}

@media(prefers-reduced-motion:reduce){
  body.theme-v38 .mobile-menu,body.theme-v38 .menu-toggle-icon i{transition:none!important}
}
