/* Gammavideo's supplied shopfront identity stays light: paper, charcoal, sign red.
   Sharp surfaces and 3px button corners. Layers: header 2, contacts 20, skip 30.
   DESIGN_VARIANCE 4 / MOTION_INTENSITY 2 / VISUAL_DENSITY 4: a readable local shop. */
:root{color-scheme:light;--paper:#f3eee4;--paper-light:#fbf8f0;--ink:#25323a;--red:#b33b38;--red-dark:#8f2e2b;--blue:#334b55;--muted:#59615d;--line:#d6cfc1;--content:1240px;--gutter:clamp(20px,5vw,72px)}
body{font-size:16px;line-height:1.65;padding-bottom:0}
::selection{background:#ead1c9;color:var(--ink)}
html{scroll-padding-top:24px;scrollbar-color:#9caaa2 var(--paper)}
img{max-width:100%}
a{text-underline-offset:.25em}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:12px;z-index:30;padding:12px 20px;background:var(--ink);color:var(--paper-light);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.paper-edge{height:5px;border-bottom-width:1px}
.eyebrow,.card-no{display:none}
.topbar{height:80px;min-height:80px;padding:10px var(--gutter);gap:24px}
.brand{min-width:0}
.brand-image{display:block;width:245px;max-width:100%;height:auto;filter:brightness(1.08);mix-blend-mode:multiply}
.topbar nav{gap:32px;color:var(--ink);font-size:14px}
.topbar nav a{padding:12px 0}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;white-space:nowrap;border-color:var(--red)}
.button{min-height:48px;padding:14px 20px;gap:14px;font-size:14px;line-height:1.3;white-space:nowrap}
.button:active{transform:translateY(1px)}
.text-link,.service-card>a,.story-copy>a{font-size:14px;line-height:1.5;font-weight:700;padding:12px 0;color:var(--red)}
.text-link:hover,.service-card>a:hover,.story-copy>a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,5vw,72px);padding:58px max(var(--gutter),calc((100vw - var(--content))/2)) 54px;background:var(--paper)}
.hero .hero-bottomline{display:block;margin:0;max-width:none}
.hero h1{font-size:clamp(46px,4.4vw,64px);line-height:1.06;letter-spacing:-.02em}
.hero h1 em,.section h2 em,.heritage h2 em,.visit h2 em{font-family:var(--display);font-weight:600;font-style:normal;color:var(--red);letter-spacing:inherit}
.hero .hero-description{max-width:510px;margin-top:24px;padding:0}
.hero .hero-description>p{font-size:16px;line-height:1.75;color:var(--muted)}
.hero-contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-directions{border:1px solid var(--blue);background:transparent;color:var(--blue)}
.hero-directions:hover{background:var(--blue);color:var(--paper-light)}
.hero .hero-location{margin:24px 0 0;font-size:14px;line-height:1.7;color:var(--ink)}
.hero .hero-location span{font-size:13px;color:var(--muted)}
.hero-product{margin:0;min-width:0;background:var(--paper-light)}
.hero-product img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:65% center}
.hero-product figcaption{padding:18px 0 0;display:grid;gap:4px;background:var(--paper)}
.hero-product figcaption>span{display:none}
.hero-product figcaption>b{font:600 24px/1.2 var(--display);color:var(--ink)}
.hero-product figcaption>small{font-size:13px;line-height:1.6;color:var(--muted)}
/* The requested single logo marquee pauses on hover and through its control. */
.brand-showcase{position:relative;padding:22px 0;border-block:1px solid var(--line);background:var(--paper-light);overflow:hidden}
.brand-pause{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper-light);color:var(--ink);cursor:pointer}
.brand-pause[hidden]{display:none}
.brand-pause:hover{background:var(--paper)}
.brand-marquee{margin-right:76px;overflow-x:auto;scrollbar-width:thin;mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.brand-track{display:flex;width:max-content}
.brand-group{display:flex;flex-shrink:0;align-items:center;gap:32px;padding:0 32px 0 0;margin:0;list-style:none}
.brand-item{flex:0 0 166px;width:166px}
.brand-logo{height:54px;display:flex;align-items:center;justify-content:center}
.brand-logo img{display:block;width:140px;height:40px;object-fit:contain}
.brand-item--metz img{width:140px;height:44px}
.brand-item--thomson img,.brand-item--brionvega img{width:158px}
.brand-item--strong img{width:112px}
.brand-item--telesystem img{width:112px;height:48px}
.brand-item--lg img{width:92px}
.brand-showcase.is-ready .brand-marquee{overflow:hidden}
.brand-showcase.is-ready .brand-track{animation:brand-scroll 60s linear infinite}
.brand-showcase[data-paused] .brand-track{animation-play-state:paused}
@media(hover:hover){.brand-marquee:hover .brand-track{animation-play-state:paused}}
@keyframes brand-scroll{to{transform:translate3d(-50%,0,0)}}
.section{padding:88px max(var(--gutter),calc((100vw - var(--content))/2))}
.section-heading{display:block;margin-bottom:36px}
.section h2,.heritage h2,.visit h2{font-size:clamp(38px,3.8vw,52px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.section-aside{max-width:64ch;margin:20px 0 0;font-size:16px;line-height:1.75;color:var(--muted)}
.services{background:var(--paper-light)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border:0}
.service-card{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:24px;min-height:0;padding:30px 0;border:0;border-top:1px solid var(--line);background:transparent}
.service-card:hover{background:transparent}
.service-icon{grid-column:1;grid-row:1/4;height:auto;display:flex;align-items:flex-start;padding-top:4px;color:var(--blue)}
.service-icon svg{display:block;width:68px;height:68px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{grid-column:2;margin:0 0 10px;font:600 28px/1.2 var(--display)}
.service-card p{grid-column:2;margin:0;font-size:15px;line-height:1.75;color:var(--muted)}
.service-card>a{grid-column:2;justify-self:start;margin-top:8px}
.faq{background:var(--paper);display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.faq .section-heading{margin:0}
.faq .section-aside{max-width:36ch}
.faq-list{width:100%;margin:0;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;padding:23px 40px 23px 0;font:600 23px/1.25 var(--display);list-style:none;color:var(--ink);cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;top:22px;right:4px;font:400 24px/1 var(--body);color:var(--red)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{max-width:62ch;margin:0;padding:0 32px 24px 0;font-size:15px;line-height:1.75;color:var(--muted)}
.heritage{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;padding:70px max(var(--gutter),calc((100vw - var(--content))/2));background:#e8e7dd}
.heritage-art{min-height:0;background:transparent;display:grid;align-content:center;justify-items:center}
.heritage-emblem{width:min(260px,85%);padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.heritage-emblem img{width:100%;height:auto;display:block;filter:brightness(1.08);mix-blend-mode:multiply}
.heritage-emblem p{font:500 21px/1.5 var(--display);text-align:center;color:var(--blue);margin:18px 0 0}
.art-caption{display:none}
.heritage-copy{padding:0;align-self:center}
.heritage-copy>p:not(.eyebrow){max-width:62ch;margin:22px 0;font-size:16px;line-height:1.8;color:var(--muted)}
.journal{background:var(--paper-light)}
.article-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:40px}
.story{background:transparent;border:0;display:flex;flex-direction:column}
.story-meta{padding:0 0 14px;font:600 13px/1.4 var(--body);letter-spacing:0;color:var(--muted);border:0}
.story-meta>span:first-child{display:none}
.story-photo{margin:0;background:var(--paper)}
.story-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.story-photo figcaption{padding:12px 0;font-size:12px;line-height:1.6;color:var(--muted);background:var(--paper-light)}
.story-copy{padding:12px 0 0;flex:1}
.story-copy h3{margin:0 0 14px;font:600 32px/1.15 var(--display);letter-spacing:-.01em;text-wrap:balance}
.story-copy p{margin:0;font-size:15px;line-height:1.8;color:var(--muted)}
.story-copy>a{display:inline-block;margin-top:12px}
.google-trust{background:var(--paper)}
.google-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:36px}
.google-trust article{border-top:1px solid var(--line);padding-top:24px}
.google-trust h3{margin:0 0 12px;font:600 28px/1.2 var(--display)}
.google-trust p:not(.eyebrow){max-width:52ch;font-size:16px;line-height:1.8;color:var(--muted)}
.google-trust a{margin-top:0}
.visit{display:block;padding:84px max(var(--gutter),calc((100vw - var(--content))/2));background:var(--paper-light)}
.visit-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}
.visit h2{grid-column:1;grid-row:1/4;align-self:start}
.visit-copy>p:not(.eyebrow){grid-column:2;max-width:55ch;margin:0 0 20px;font-size:16px;line-height:1.8;color:var(--muted)}
.visit address{grid-column:2;margin:0 0 20px;padding:0;border:0;font-size:16px;line-height:1.7}
.visit-actions{grid-column:2;gap:16px}
.button-blue{background:var(--red)}
.button-blue:hover{background:var(--red-dark)}
.dark-link{margin:0}
.visit-visuals{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.shopfront{margin:0;overflow:hidden;background:transparent;border:0}
.shopfront img{display:block;width:100%;height:320px;object-fit:cover;object-position:center}
.shopfront figcaption{padding:18px 0 0}
.shopfront figcaption>span{display:none}
.shopfront figcaption strong{font:600 24px/1.25 var(--display)}
.shopfront figcaption p{margin:6px 0 0;font-size:14px;color:var(--muted)}
.google-panel{display:flex;flex-direction:column;background:transparent;border:0;box-shadow:none;padding:0}
.google-panel iframe{order:0;width:100%;height:320px;border:0;filter:none}
.google-panel-head{order:1;padding:18px 0 0;align-items:center;flex-wrap:wrap;gap:10px}
.google-title{font:600 14px/1.5 var(--body);letter-spacing:0;color:var(--ink)}
.google-title b{font-size:18px}
.google-panel-head>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--red)}
.google-panel>p{order:2;margin:8px 0 0;font-size:13px;line-height:1.65;color:var(--muted)}
.footer{min-height:0;padding:36px var(--gutter) 88px;grid-template-columns:1fr 1fr auto;gap:32px;background:var(--paper);border-color:var(--line)}
.footer .brand-image{width:230px}
.footer p,.footer-end{font-size:13px;line-height:1.7;color:var(--muted)}
.footer-end>a{color:var(--ink)}
.footer-end>span{font-size:12px;color:var(--muted)}
.contact-floats{position:fixed;z-index:20;inset:auto 22px calc(22px + env(safe-area-inset-bottom,0px)) 22px;display:flex;justify-content:space-between;pointer-events:none}
.contact-float{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;color:#fff;border:2px solid #fff9;box-shadow:0 5px 18px #24231f30;pointer-events:auto;transition:transform .18s ease}
.contact-float:hover{transform:translateY(-3px)}
.contact-float svg{width:26px;height:26px;fill:currentColor}
.contact-call{background:#526b58}
.contact-whatsapp{background:#168b55}
@media(max-width:1024px){
 .topbar{gap:18px}.brand-image{width:220px}.topbar nav{gap:20px}
 .hero{gap:30px}.hero h1{font-size:48px}.hero-contact-actions{gap:10px}.hero .button{font-size:13px;padding-inline:14px}
 .section{padding-block:72px}.service-grid{gap:0 30px}.service-card{column-gap:18px;grid-template-columns:60px minmax(0,1fr)}.service-icon svg{width:56px;height:56px}
 .faq{gap:36px}.heritage{gap:36px}.visit-copy{column-gap:36px}.visit-visuals{gap:30px}
}
@media(max-width:767px){
 .topbar{height:auto;min-height:0;padding:12px 20px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}
 .topbar .brand-image{width:min(245px,53vw)}.topbar nav{grid-column:1/-1;grid-row:2;padding:0;border-top:1px solid var(--line);justify-content:space-between;font-size:13px}
 .topbar nav a{padding:12px 0}.nav-cta{padding:10px 13px;font-size:12px}
 .hero{grid-template-columns:1fr;padding:36px 20px 32px;gap:28px}.hero h1{font-size:clamp(40px,10vw,58px)}
 .hero .hero-description{margin-top:20px;max-width:65ch}.hero .hero-description>p{font-size:16px}.hero .button{font-size:13px;padding-inline:16px}
 .hero-contact-actions{margin-top:20px;gap:10px}.hero .hero-location{margin-top:20px}
 .hero-contact-actions .button{width:100%}
 .hero-product img{aspect-ratio:16/10;object-position:65% center}.hero-product figcaption{padding-top:14px}.hero-product figcaption>b{font-size:23px}
 .brand-group{gap:22px;padding-right:22px}.brand-item{width:150px;flex-basis:150px}.brand-logo img{max-width:140px}.brand-showcase{padding-block:17px}
 .section{padding:56px 20px}.section-heading{margin-bottom:28px}.section h2,.heritage h2,.visit h2{font-size:clamp(36px,9vw,46px)}
 .section-aside{margin-top:18px;font-size:16px}.service-grid{grid-template-columns:1fr;gap:0}
 .service-card{grid-template-columns:54px minmax(0,1fr);column-gap:18px;padding:25px 0}.service-card h3{font-size:26px}.service-icon svg{width:50px;height:50px}.service-card p{font-size:15px}
 .faq{grid-template-columns:1fr;gap:28px}.faq .section-aside{max-width:65ch}.faq-list summary{font-size:22px;padding-block:20px}.faq-list summary::after{top:20px}
 .heritage{grid-template-columns:1fr;gap:28px;padding:48px 20px 56px}.heritage-art{order:2}.heritage-emblem{width:190px}.heritage-emblem p{font-size:19px}.heritage-copy>p:not(.eyebrow){font-size:16px;margin-block:20px}
 .article-grid{grid-template-columns:1fr;gap:36px}.story-copy h3{font-size:29px}.story-photo figcaption{font-size:12px}
 .google-trust-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}
 .visit{padding:56px 20px}.visit-copy{display:block}.visit-copy>p:not(.eyebrow){margin-top:22px}.visit address{margin-block:20px}
 .visit-visuals{grid-template-columns:1fr;gap:32px;margin-top:32px}.shopfront img{height:auto}.google-panel iframe{height:280px}.google-panel-head{flex-direction:row;align-items:center}
 .footer{grid-template-columns:1fr;gap:20px;padding:32px 20px 88px}.footer-brand,.footer p,.footer-end{grid-column:1;grid-row:auto}.footer-end{align-items:flex-start}
 .contact-floats{inset-inline:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.contact-float{width:52px;height:52px}
}
@media(prefers-reduced-motion:reduce){
 .brand-showcase.is-ready .brand-marquee{overflow-x:auto}.brand-marquee{margin-right:0}
 .brand-showcase.is-ready .brand-track{animation:none;transform:none}.brand-group[aria-hidden="true"],.brand-pause{display:none}.contact-float{transition:none}
}
