@layer prime {
 /* Keep the faded van below the CTA in normal flow, clear of the hero copy. */
 .hero-van { position:relative; pointer-events:none; width:min(320px,80%); margin:18px auto 0; transform:translateX(-24px); opacity:.24; filter:grayscale(1) sepia(1) saturate(2) hue-rotate(168deg); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 70%,transparent); }
 .hero-van svg { display:block; width:100%; height:auto; }
 /* Bring the following section up to the van without overlapping either one. */
 .hero-grid { padding-bottom:18px; }
 .services { padding-top:16px; }
 @media(max-width:620px) { .hero-grid { padding-bottom:12px; }.services { padding-top:14px; } }
 .gallery-open[data-gallery="equipment"] .gallery-image { background:radial-gradient(ellipse at 50% 65%,#24496b,#091b2b 75%); }
 .gallery-open[data-gallery="equipment"] .gallery-image img { object-fit:contain; padding:14px; }
 .gallery-van { display:block; width:100%; height:100%; padding:14px; }
 .gallery-dialog .gallery-van { height:auto; max-height:58dvh; background:radial-gradient(ellipse at center,#183957,#071420 75%); border-radius:4px; }
 /* A compact, aligned comparison: the original photo geometry stays unchanged. */
 .wash-frame { max-width:960px; margin-inline:auto; }
 /* The SVG follows the photographed glass faces; frames and white surroundings
    remain untouched. Screen blending preserves the bright fine cell grid, too. */
 .wash-dirty img { filter:none; }
 .wash-dirty::after { content:''; position:absolute; inset:0; pointer-events:none;
  background:url('/assets/solar-glass-dust.svg') center / 100% 100% no-repeat;
  mix-blend-mode:screen; opacity:.28; }
 /* Preserve the pointer glow (::before) and the corner rings (::after). */
 .service-photo { position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(90deg,#071522ee 0%,#081a2bc9 48%,#0b2548b8 100%),url('/assets/equipment-rotary-brush-1600.webp') center/cover; }
 .service-card:has(.service-photo) { overflow:hidden; }
 @media(max-width:620px) { .hero-van { width:min(220px,74%); margin-top:14px; transform:translateX(-12px); opacity:.22; }.gallery-open[data-gallery="equipment"] .gallery-image img { padding:4px; } }
 @media(max-width:620px) {
  .hero h1 .hero-word.chrome-text { font-size:clamp(2.85rem,14vw,3.75rem); }
  .hero h1 .hero-subline { margin-top:24px; }
  .hero .liquid-stage { display:block; position:absolute; width:clamp(90px,28vw,112px); height:auto; aspect-ratio:1; max-width:none; top:3px; right:8px; left:auto; bottom:auto; margin:0; opacity:1; z-index:4; }
  .hero .liquid-stage .liquid-float { inset:14px; animation:none; }
  .hero .liquid-stage .liquid-drop { transform:none; filter:drop-shadow(0 5px 9px #0006); }
  .hero .logo-orbit { inset:6px; }
  .hero .orbit-track-outer { left:-4px; top:calc(25% - 3px); width:calc(100% + 8px); height:calc(50% + 6px); }
  .hero .orbit-ball-blue { width:12px; height:12px; }
  .hero .orbit-ball-gold { width:10px; height:10px; }
  .hero .orbit-ball-spark { width:6px; height:6px; }
  .hero .logo-glint { inset:12px; }
 }
 .site-header { transform:translate3d(0,var(--header-offset,0px),0); transition:transform .65s cubic-bezier(.22,.65,.2,1); }
 .site-header:has(:focus-visible) { transform:translate3d(0,0,0); transition-duration:.18s; }
 @media(prefers-reduced-motion:reduce) { .site-header { transform:none; transition:none; } }
 .hero-copy { width:fit-content; text-align:center; }
 .hero h1 .hero-word { margin-inline:auto; }
 .hero-invitation { width:100%; max-width:100%; }
 .hero-invitation>p { margin-top:24px; margin-inline:auto; }
 .hero-invitation .hero-actions { justify-content:center; align-items:center; }
 @media(max-width:620px) {
  .hero-copy { width:100%; }
  .hero h1 .hero-word { margin-inline:0; }
 }
 .email-logo-second>g { animation-name:email-letter-flip-left; }
 @keyframes email-letter-flip-left { 0%,3% { transform:rotate(0deg); } 26%,100% { transform:rotate(-360deg); } }
 .service-area-value { display:inline-block; color:#efc65b; background:linear-gradient(105deg,#79b4ff 5%,#a9d5ff 35%,#f8e4a4 60%,#efc65b 90%); background-clip:text; -webkit-text-fill-color:transparent; }
 .footer-top .brand { width:390px; max-width:calc(100% - 110px); }
 .footer-top .brand .wordmark-lines { font-size:8cqi; }

 /* A disclosure, rather than dead social links while handles are pending. */
 .socials-menu { position:relative; }
 .socials-menu summary { display:flex; cursor:pointer; list-style:none; }
 .socials-menu summary::-webkit-details-marker { display:none; }
 .socials-menu summary:hover,.socials-menu[open] summary { color:#fff0c6; }
 .socials-menu summary:focus-visible,.gallery-open:focus-visible,.dialog-close:focus-visible { outline:2px solid #efc65b; outline-offset:5px; }
 .socials-panel { position:absolute; right:0; top:calc(100% + 12px); width:240px; padding:0; background:transparent; border:0; box-shadow:none; }
 .socials-panel .social-tile { display:flex; gap:12px; align-items:center; text-align:left; white-space:normal; width:100%; padding:14px; border:1px solid var(--social-color,#afbfce); border-radius:8px; background:radial-gradient(ellipse at top left,#29476280,transparent 70%),linear-gradient(125deg,#152638,#07121f); color:#e4edff; animation:none; }
 .social-tile+.social-tile { margin-top:10px; }
 .social-instagram { --social-color:#df6ab2; }
 .social-facebook { --social-color:#6aa7ff; }
 .social-facebook svg { color:var(--social-color); }
 .social-youtube { --social-color:#f15b61; }
 .social-tile svg { width:28px; height:28px; flex:none; fill:none; stroke:var(--social-color,#afbfce); stroke-width:1.7; }
 .social-tile small { display:block; margin-top:3px; font-size:.75rem; color:#acbbce; font-weight:400; }
 @media(min-width:801px) { .header-inner { width:min(1420px,calc(100% - 48px)); grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:28px; }.nav-group { gap:18px; } }
 @media(min-width:801px) and (max-width:1100px) { .header-inner { gap:16px; }.nav-group { gap:10px; }.nav-group a,.socials-menu summary { font-size:.875rem; padding-inline:8px; }.site-header .brand { width:250px; } }
 @media(max-width:800px) { .socials-menu summary { min-height:50px; padding:12px; font-size:1rem; }.socials-panel { position:static; width:100%; margin-top:10px; }.socials-panel .social-tile { padding:10px; gap:8px; font-size:.875rem; }.social-tile svg { width:24px; height:24px; } }

 .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
 .gallery-open[data-gallery="finished"] .gallery-image img { object-position:center 58%; }
 .gallery-open[data-gallery="finished"] .category-caption>strong,[data-gallery-panel="finished"] h2,[data-gallery-panel="finished"] figcaption { color:#e4c67e; background:linear-gradient(110deg,#79b4ff 10%,#b7d8ff 38%,#f6df9e 65%,#d9ac4b 95%); background-clip:text; -webkit-text-fill-color:transparent; }
 .gallery-category:first-child { grid-column:auto; }
 .gallery-open { display:block; width:100%; height:100%; text-align:left; color:inherit; background:#091b2b; padding:0; border:1px solid #34516a; border-radius:8px; overflow:hidden; cursor:pointer; transition:border-color .25s,box-shadow .25s; }
 .gallery-open:hover { border-color:#d3ad5c; box-shadow:0 12px 32px #0003; }
 .gallery-category .gallery-image,.gallery-category:first-child .gallery-image { display:block; position:relative; height:auto; aspect-ratio:16/9; overflow:hidden; }
 .gallery-video { min-width:0; overflow:hidden; border:1px solid #34516a; border-radius:8px; background:#091b2b; }
 .gallery-video .work-video-toggle { display:block; width:100%; height:100%; padding:0; border:0; border-radius:0; background:#06111d; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transform:none; transition:none; box-shadow:none; }
 .gallery-video .work-video-toggle:hover,.gallery-video .work-video-toggle:active { background:#06111d; transform:none; box-shadow:none; filter:none; }
 .gallery-video video { display:block; width:100%; height:100%; object-fit:contain; background:#06111d; pointer-events:none; }
 .gallery-video .work-video-toggle { position:relative; }
 .gallery-video .work-video-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; }
 .gallery-video video { position:relative; }
 .gallery-video .is-restoring video { opacity:0; }
 .gallery-video .work-video-toggle:focus-visible { outline:2px solid #efc65b; outline-offset:-3px; }
 .gallery-video .category-caption>strong { color:#e4c67e; background:linear-gradient(110deg,#79b4ff 10%,#b7d8ff 38%,#f6df9e 65%,#d9ac4b 95%); background-clip:text; -webkit-text-fill-color:transparent; }
 .category-art { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; gap:22px; background:radial-gradient(ellipse at 25% 20%,#27486c85,transparent 65%),linear-gradient(145deg,#10283e,#091521); }
 .category-art-equipment { background:radial-gradient(ellipse at 80% 20%,#ad8b3428,transparent 65%),linear-gradient(145deg,#142739,#091521); }
 .category-art-before-after { background:linear-gradient(115deg,#132638 49.7%,#d4b66366 50%,#163855 50.3%,#0c2136); }
 .category-art svg { width:64px; height:64px; stroke:#87b6e6; stroke-width:1; fill:none; }
 .category-art-equipment svg { stroke:#dfc17d; }
 .category-art>span { color:#9fb5cb; font-size:.6875rem; letter-spacing:.14em; }
 .category-caption { display:flex; flex-direction:column; padding:16px 20px; text-align:center; }
 .category-caption>strong { color:#edf4ff; font-size:1.3rem; font-weight:600; }
 .category-caption>span { font-size:.9375rem; line-height:1.5; margin-top:6px; color:#acbfd1; }
 .category-caption .category-action { display:flex; justify-content:space-between; align-items:center; margin-top:10px; color:#e5c781; font-size:.875rem; }
 .gallery-open .category-caption .category-action { justify-content:center; position:relative; font-size:.9375rem; line-height:1.5; color:#acbfd1; }
 .gallery-open .category-action>span { position:absolute; right:0; color:#e5c781; }
 .category-action>span { font-size:1.5rem; line-height:1; }
 body:has(.gallery-dialog[open]) { overflow:hidden; }
 .gallery-dialog { width:min(1440px,calc(100% - 32px)); max-width:1440px; max-height:85dvh; margin:auto; padding:44px; border:1px solid #45617a; border-radius:14px; background:radial-gradient(ellipse at top right,#1d3d58,#0a1828 70%); color:#e8f1ff; box-shadow:0 30px 100px #0008; }
 .gallery-dialog[open] { animation:gallery-open .25s ease-out; }
 .gallery-dialog::backdrop { background:#020b15bf; backdrop-filter:blur(7px); animation:gallery-dim .3s ease-out; }
 .gallery-dialog .dialog-close { position:sticky; float:right; top:0; right:0; margin:-30px -30px 0 0; z-index:2; width:44px; height:44px; background:#132c41; color:#e5edf6; border:1px solid #52687b; }
 .gallery-panel[hidden] { display:none; }
 .gallery-panel h2 { font-size:clamp(1.7rem,4vw,2.7rem); padding-inline:38px; text-align:center; }
 .gallery-dialog p { padding:0; }
 .gallery-panel-intro { margin:14px 0 30px; color:#b4c6d8; line-height:1.6; text-align:center; }
 .gallery-empty { display:flex; flex-direction:column; align-items:center; text-align:center; border:1px dashed #506b81; padding:44px 24px; border-radius:8px; background:#07142066; }
 .gallery-empty svg { width:64px; height:64px; margin-bottom:24px; stroke:#c4aa6d; stroke-width:1; fill:none; }
 .gallery-empty p { font-size:1.125rem; color:#e0eafa; line-height:1.5; }
 .gallery-empty>span { color:#9eafc2; font-size:.875rem; margin-top:12px; }
 .gallery-photo-grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,calc((100% - 54px)/4)); gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; padding:10px 0 18px; touch-action:pan-x pan-y; }
 .gallery-photo-grid:focus-visible { outline:2px solid #e6c579; outline-offset:5px; }
 @media(min-width:621px) { .gallery-photo-grid:has(>figure:nth-child(2):last-child),.gallery-photo-grid:has(>figure:nth-child(3):last-child) { justify-content:center; } }
 .gallery-photo-grid::-webkit-scrollbar { display:none; }
 .gallery-photo-grid.is-draggable { cursor:grab; }
 .gallery-photo-grid.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
 .gallery-photo-grid.is-gliding { scroll-snap-type:none; }
 .gallery-photo-grid figure { min-width:0; margin:0; scroll-snap-align:start; }
 .gallery-dialog .gallery-photo-grid img,.gallery-dialog .gallery-photo-grid .gallery-van { width:100%; height:clamp(140px,24vh,220px); max-height:none; object-fit:contain; background:#071420; border-radius:6px; user-select:none; -webkit-user-drag:none; }
 .gallery-photo-grid figcaption { padding:16px 6px 4px; color:#b4c6d8; text-align:center; font-size:1rem; line-height:1.5; }
 [data-gallery-panel="equipment"] h2,[data-gallery-panel="equipment"] figcaption,.gallery-open[data-gallery="equipment"] .category-caption>strong { color:#e4c67e; background:linear-gradient(110deg,#79b4ff 10%,#b7d8ff 38%,#f6df9e 65%,#d9ac4b 95%); background-clip:text; -webkit-text-fill-color:transparent; }
 @media(max-width:620px) { .gallery-photo-grid { grid-auto-columns:82%; gap:16px; }.gallery-dialog .gallery-photo-grid img,.gallery-dialog .gallery-photo-grid .gallery-van { height:170px; }.gallery-photo-grid figcaption { font-size:.9375rem; } }
 .gallery-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
 .gallery-photo-pair span { display:block; padding-top:10px; color:#efc65b; }
 @keyframes gallery-open { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
 @keyframes gallery-dim { from { opacity:0; } to { opacity:1; } }
 @media(max-width:900px) { .category-caption { padding:14px 16px; }.category-caption>strong { font-size:1.125rem; } }
 @media(min-width:621px) and (max-width:1000px) {
  .gallery-grid { grid-template-columns:1fr; max-width:540px; margin-inline:auto; }
  .gallery-open { display:grid; grid-template-columns:145px minmax(0,1fr); }
  .gallery-category .gallery-open .gallery-image { height:100%; min-height:150px; aspect-ratio:auto; width:100%; min-width:0; }
 }
 @media(max-width:620px) {
  .gallery-grid { grid-template-columns:1fr; gap:14px; }
  .gallery-open { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:stretch; }
  .gallery-category .gallery-image,.gallery-category:first-child .gallery-image { height:100%; min-height:120px; }
  .gallery-video.gallery-category .gallery-image { height:auto; min-height:0; aspect-ratio:16/9; }
  .gallery-category .gallery-open .gallery-image { aspect-ratio:auto; width:100%; min-width:0; }
  .category-art { gap:12px; padding:12px; }.category-art svg { width:42px; height:42px; }.category-art>span { font-size:.55rem; letter-spacing:.04em; text-align:center; }
  .category-caption { padding:14px; }.category-caption>span { font-size:.8125rem; margin-top:6px; }.category-caption .category-action { margin-top:8px; }
  .gallery-open .category-caption .category-action { font-size:.8125rem; padding-inline:16px; }
  .gallery-dialog { padding:28px 20px; }.gallery-dialog .dialog-close { margin:-14px -6px 0 0; }.gallery-empty { padding:28px 16px; }.gallery-empty p { font-size:1rem; }
  .footer-top .brand { width:260px; max-width:100%; }
  .hero-invitation>p { margin-top:14px; }
 }
 @media(prefers-reduced-motion:reduce) { .email-logo-second>g { animation:none; }.gallery-dialog[open],.gallery-dialog::backdrop { animation:none; }.gallery-open { transition:none; } }
}

@layer prime {
 /* Keep the photograph subdued, with light restricted to the two real lamp lenses. */
 .hero-van { opacity:1; filter:none; }
 .hero-van-photo { opacity:.24; filter:grayscale(1) sepia(1) saturate(2) hue-rotate(168deg); }
 .van-headlights { fill:#bceaff; opacity:0; filter:drop-shadow(0 0 4px #6ecaff) drop-shadow(0 0 9px #168fff); animation:van-double-flash 18s ease-in-out 4s infinite; }
 @keyframes van-double-flash { 0%,4%,9%,14%,100% { opacity:0; } 2%,11% { opacity:.95; } }
 .about-grid { grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:24px 56px; align-items:center; }
 .about-heading { grid-column:1/-1; max-width:none; }
 .sam-portrait { width:100%; max-width:310px; justify-self:center; align-self:end; }
 .sam-portrait img { display:block; width:100%; height:auto; max-height:400px; object-fit:contain; object-position:center bottom; mask-image:linear-gradient(#000 90%,transparent); }
 .about-copy { text-align:left; max-width:620px; }
 .about-copy>p:not(.large-copy) { font-size:1.0625rem; line-height:1.85; }
 @media(max-width:700px) {
  .about-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .sam-portrait { max-width:220px; }
  .sam-portrait img { max-height:280px; }
  .about-copy { text-align:center; }
  .about-copy>p:not(.large-copy) { font-size:.9375rem; line-height:1.75; }
 }
 @media(prefers-reduced-motion:reduce) { .van-headlights { animation:none; opacity:0; } }
}
