/* ===========================================================
   HELANKA STALL BUILDERS — Homepage Styles
   Dark / black theme, octagon signature motif
   =========================================================== */

:root{
  --bg:#0A0A0B;
  --bg-2:#141416;
  --paper:#F2F1ED;
  --paper-dim:#9C9A94;
  --accent:#CF2534;
  --line: rgba(242,241,237,0.12);
  --fb:#1877F2;
  --li:#0A66C2;
  --wa:#25D366;
  --gm:#4285F4;
  --mail:#EA9C2B;
  --yt:#FF0000;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--paper);
  font-family:'Inter',sans-serif;
  line-height:1.55;
}
h1,h2,h3{font-family:'Archivo Black',sans-serif; text-transform:uppercase; letter-spacing:-0.01em;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
ul{list-style:none;}

/* octagon clip - signature shape matching the product itself */
.octagon{
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
}

/* ---------- SCROLL REVEAL ---------- */
.reveal, .reveal-item{
  opacity:0; transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.22,.9,.3,1), transform .8s cubic-bezier(.22,.9,.3,1);
}
.reveal.in-view, .reveal-item.in-view{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-item{opacity:1; transform:none; transition:none;}
}

/* faint rotating octagon watermark — ambient brand mark behind welcome copy */
.oct-watermark{
  position:absolute; top:-40px; right:-60px; width:420px; height:420px;
  pointer-events:none; z-index:0; opacity:0.05;
  animation:oct-spin 90s linear infinite;
}
.oct-watermark svg{width:100%; height:100%;}
.oct-watermark polygon{fill:none; stroke:var(--paper); stroke-width:1;}
@keyframes oct-spin{ to{ transform:rotate(360deg); } }
@media (max-width:760px){ .oct-watermark{width:280px; height:280px; top:-20px; right:-40px;} }
@media (prefers-reduced-motion: reduce){ .oct-watermark{animation:none;} }

/* ---------- HEADER ---------- */
header.site-header{
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 56px;
  background:rgba(10,10,11,0.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex; align-items:center;}
.brand-logo{height:56px; width:auto; object-fit:contain;}
.foot-logo{height:46px; width:auto; object-fit:contain; margin-bottom:16px;}

nav.main-menu{display:flex; gap:26px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.03em;}
nav.main-menu a{position:relative; padding:4px 0; color:var(--paper-dim); transition:color .2s;}
nav.main-menu a:hover{color:var(--paper);}
nav.main-menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .25s;}
nav.main-menu a:hover::after{width:100%;}
nav.main-menu a.current{color:var(--paper);}
nav.main-menu a.current::after{width:100%;}

.social-icons{display:flex; gap:14px; align-items:center;}
.social-icons a{
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); background:rgba(242,241,237,0.04);
  transition:border-color .2s, background .2s, transform .2s;
}
.social-icons a:hover{transform:translateY(-2px);}
.social-icons svg{width:15px; height:15px; fill:var(--paper-dim); transition:fill .2s;}

/* brand colours — icon tinted at rest, solid fill on hover */
.social-icons a.ic-fb svg{fill:var(--fb);}
.social-icons a.ic-fb:hover{background:var(--fb); border-color:var(--fb);}
.social-icons a.ic-li svg{fill:var(--li);}
.social-icons a.ic-li:hover{background:var(--li); border-color:var(--li);}
.social-icons a.ic-wa svg{fill:var(--wa);}
.social-icons a.ic-wa:hover{background:var(--wa); border-color:var(--wa);}
.social-icons a.ic-gm svg{fill:var(--gm);}
.social-icons a.ic-gm:hover{background:var(--gm); border-color:var(--gm);}
.social-icons a.ic-yt svg{fill:var(--yt);}
.social-icons a.ic-yt:hover{background:var(--yt); border-color:var(--yt);}
.social-icons a.ic-mail svg{fill:var(--mail);}
.social-icons a.ic-mail:hover{background:var(--mail); border-color:var(--mail);}
.social-icons a:hover svg{fill:#0A0A0B;}

.menu-toggle{display:none; background:none; border:none; color:var(--paper); font-size:22px; cursor:pointer;}

/* ---------- SLIDER ---------- */
.hero-slider{position:relative; height:82vh; min-height:540px; overflow:hidden;}
.slide{position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease; overflow:hidden;}
.slide.active{opacity:1;}
.slide img{width:100%; height:100%; object-fit:cover; filter:grayscale(20%) contrast(1.08); transform:scale(1);}
.slide.active img{animation:ken-burns 6.5s ease-out forwards;}
@keyframes ken-burns{
  from{transform:scale(1);}
  to{transform:scale(1.09);}
}
@media (prefers-reduced-motion: reduce){ .slide.active img{animation:none;} }
.slide::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(10,10,11,0.95) 0%, rgba(10,10,11,0.3) 50%, rgba(10,10,11,0.55) 100%);
}
.slider-content{position:absolute; left:56px; bottom:70px; z-index:5; max-width:620px; will-change:transform,opacity; transition:opacity .6s ease, transform .6s ease;}
.slider-content.hero-in{animation:hero-rise 1s cubic-bezier(.22,.9,.3,1) .25s both;}
.slider-content.slide-text-hidden{opacity:0; pointer-events:none; transform:translateY(14px);}
@keyframes hero-rise{
  from{opacity:0; transform:translateY(30px);}
  to{opacity:1; transform:translateY(0);}
}
@media (prefers-reduced-motion: reduce){ .slider-content.hero-in{animation:none;} }
.slider-content .eyebrow{
  font-family:'IBM Plex Mono'; font-size:12px; letter-spacing:0.14em; color:var(--accent);
  display:flex; align-items:center; gap:10px; margin-bottom:16px; text-transform:uppercase;
}
.slider-content .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);}
.slider-content h1{font-size:clamp(32px,5vw,58px); line-height:1.0; margin-bottom:16px;}
.slider-content h1 span{color:var(--accent);}
.slider-content p{color:var(--paper-dim); font-size:15.5px; max-width:480px; margin-bottom:26px;}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--accent); color:#0A0A0B;
  padding:15px 28px; font-family:'IBM Plex Mono'; font-size:12.5px; letter-spacing:0.04em;
  text-transform:uppercase; font-weight:600; border:none; cursor:pointer;
  transition:background .2s, color .2s;
}
.btn:hover{background:var(--paper);}
.btn::after{content:"→";}
.btn.ghost{background:transparent; border:1px solid var(--paper-dim); color:var(--paper);}
.btn.ghost:hover{border-color:var(--accent); color:var(--accent); background:transparent;}

.slider-dots{position:absolute; right:56px; bottom:70px; z-index:5; display:flex; flex-direction:column; gap:12px; align-items:flex-end;}
.slider-dots button{width:32px; height:2px; background:rgba(242,241,237,0.3); border:none; cursor:pointer; transition:background .2s, width .2s;}
.slider-dots button.active{background:var(--accent); width:44px;}
.slide-index{position:absolute; right:56px; top:24px; z-index:5; font-family:'IBM Plex Mono'; font-size:12px; color:var(--paper-dim);}

/* ---------- SECTION SHARED ---------- */
section{padding:100px 56px; max-width:1440px; margin:0 auto; position:relative;}
.section-head{display:flex; align-items:center; gap:18px; margin-bottom:46px; padding-top:26px; border-top:1px solid var(--line);}
.section-head h2{font-size:clamp(26px,3.2vw,38px);}

/* signature octagon mark — draws itself in when the section enters view,
   standing in for a numbered index since the shape itself is the product */
.section-mark{width:30px; height:30px; flex:none; display:flex;}
.section-mark svg{width:100%; height:100%; overflow:visible;}
.section-mark polygon{
  fill:none; stroke:var(--accent); stroke-width:2;
  stroke-dasharray:132; stroke-dashoffset:132;
  transition:stroke-dashoffset 1s cubic-bezier(.22,.9,.3,1) .1s;
}
.section-head.in-view .section-mark polygon{stroke-dashoffset:0;}

/* ---------- WELCOME NOTE ---------- */
.welcome{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:start;}
.welcome .lead{font-family:'Archivo Black'; text-transform:none; font-size:clamp(20px,2.2vw,27px); line-height:1.35; color:var(--paper);}
.welcome .body p{color:var(--paper-dim); font-size:15.5px; margin-bottom:18px;}
.welcome .body p:last-child{margin-bottom:0;}
.welcome .spec-list{margin-top:24px; border-top:1px solid var(--line);}
.welcome .spec-list .row{display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--line); font-family:'IBM Plex Mono'; font-size:12.5px;}
.welcome .spec-list .row span:first-child{color:var(--paper-dim);}

/* ---------- WELCOME NOTE (full-width, justified) ---------- */
.welcome-full{position:relative; z-index:1;}
.welcome-full p{
  text-align:justify;
  text-justify:inter-word;
  color:var(--paper-dim);
  font-size:16px;
  line-height:1.85;
  max-width:100%;
}
.welcome-full .spec-list{
  margin-top:34px; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.welcome-full .spec-list .row{
  display:flex; flex-direction:column; gap:6px;
  padding:18px 22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  font-family:'IBM Plex Mono'; font-size:12.5px;
  transition:background .25s;
}
.welcome-full .spec-list .row:hover{background:rgba(207,37,52,0.06);}
.welcome-full .spec-list .row:last-child{border-right:none;}
.welcome-full .spec-list .row span:first-child{color:var(--paper-dim); text-transform:uppercase; letter-spacing:.05em; font-size:10.5px;}
.welcome-full .spec-list .row span:last-child{color:var(--paper); font-size:14px;}
@media (max-width:760px){
  .welcome-full .spec-list{grid-template-columns:1fr 1fr;}
}

/* ---------- FEATURED PROJECTS / TABS ---------- */
.filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:44px;}
.filter-row button{
  font-family:'IBM Plex Mono'; font-size:11.5px; text-transform:uppercase;
  background:transparent; border:1px solid var(--line); color:var(--paper-dim);
  padding:10px 16px; cursor:pointer; transition:all .2s; letter-spacing:0.03em;
}
.filter-row button.active, .filter-row button:hover{background:var(--accent); border-color:var(--accent); color:#0A0A0B;}

.gallery{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:28px;}
.g-item{display:block;}
.g-item .frame{aspect-ratio:1/1; overflow:hidden; border:1px solid var(--line); position:relative; background:var(--bg-2);}
.g-item .frame img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.g-item:hover .frame img{transform:scale(1.08);}
.g-item.hide{display:none;}

.g-overlay{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(10,10,11,0.92) 0%, rgba(10,10,11,0.15) 55%, rgba(10,10,11,0.05) 100%);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:18px;
  opacity:0; transition:opacity .3s;
}
.g-item:hover .g-overlay{opacity:1;}
.g-overlay-top h3{font-family:'Inter'; font-weight:700; font-size:14px; text-transform:none; color:var(--paper); margin-bottom:6px;}
.g-overlay-top .g-tag{font-family:'IBM Plex Mono'; font-size:10px; color:var(--accent); letter-spacing:.05em;}

.g-actions{display:flex; gap:10px; justify-content:flex-end;}
.g-actions button, .g-actions a{
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(242,241,237,0.1); border:1px solid var(--line);
  cursor:pointer; transition:background .2s, border-color .2s, transform .2s;
}
.g-actions svg{width:16px; height:16px; fill:var(--paper);}
.g-actions .g-play{background:var(--accent); border-color:var(--accent);}
.g-actions .g-play svg{fill:#0A0A0B;}
.g-actions button:hover, .g-actions a:hover{transform:scale(1.08); border-color:var(--accent);}

/* ---------- LIGHTBOX ---------- */
.lightbox{
  position:fixed; inset:0; z-index:200;
  background:rgba(6,6,7,0.94);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .3s;
  padding:40px;
}
.lightbox.active{opacity:1; visibility:visible;}
.lightbox-inner{max-width:min(1100px, 90vw); max-height:88vh; display:flex; flex-direction:column; gap:16px;}
.lightbox-inner img{max-width:100%; max-height:74vh; object-fit:contain; border:1px solid var(--line); margin:0 auto;}
.lightbox-caption{display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:10px;}
.lightbox-caption h3{font-family:'Inter'; font-weight:700; font-size:16px; text-transform:none; color:var(--paper);}
.lightbox-caption span{color:var(--accent); font-size:11px; letter-spacing:.05em;}
.lightbox-close{
  position:absolute; top:24px; right:32px;
  width:44px; height:44px; border-radius:50%;
  background:transparent; border:1px solid var(--line); color:var(--paper);
  font-size:24px; line-height:1; cursor:pointer; transition:border-color .2s, transform .2s;
}
.lightbox-close:hover{border-color:var(--accent); transform:rotate(90deg);}

/* ---------- GOOGLE LOCATION ---------- */
.loc-wrap{display:grid; grid-template-columns:0.9fr 1.1fr; border:1px solid var(--line);}
.loc-list{padding:34px 32px;}
.loc-list .tag{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--accent); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:10px;}
.loc-list h3{font-size:18px; text-transform:none; font-family:'Inter'; font-weight:700; margin-bottom:14px;}
.loc-list .addr{color:var(--paper-dim); font-size:14px; margin-bottom:18px;}
.loc-list .row{font-family:'IBM Plex Mono'; font-size:12.5px; padding:10px 0; border-top:1px solid var(--line);}
.loc-list .row span:first-child{color:var(--paper-dim); display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px;}
.map-box{min-height:400px; position:relative;}
.map-box iframe{width:100%; height:100%; min-height:400px; border:0; filter:grayscale(65%) invert(90%) contrast(85%);}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line); background:var(--bg-2);}
.foot-top{padding:70px 56px 50px; max-width:1440px; margin:0 auto; display:grid; grid-template-columns:1.25fr 0.75fr 1fr 1.1fr; gap:48px;}
.foot-top .brand{display:block;}
.foot-top .brand p{color:var(--paper-dim); font-size:13.5px; line-height:1.65; margin:0 0 22px; max-width:280px;}
.foot-col h4{font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); margin-bottom:20px;}
.foot-col a, .foot-col span{display:block; color:var(--paper-dim); font-size:13.5px; margin-bottom:14px;}
.foot-col a:hover{color:var(--paper);}
.foot-col a:last-child{margin-bottom:0;}

/* Contact column — plain address line, then icon + text rows,
   matched row-for-row to the reference footer's rhythm */
.foot-addr{color:var(--paper-dim); font-size:13.5px; line-height:1.65; margin:0 0 20px;}
.fc-simple{display:flex; flex-direction:column; gap:14px;}
.fc-line{display:flex; align-items:center; gap:11px;}
.fc-ico{flex:none; width:26px; height:26px; border-radius:50%; background:rgba(207,37,52,0.12); display:flex; align-items:center; justify-content:center;}
.fc-ico svg{width:12px; height:12px; fill:var(--accent);}
.fc-line a, .fc-line span{margin:0; font-size:13.5px; color:var(--paper-dim); transition:color .2s;}
.fc-line a:hover{color:var(--paper);}

.foot-social{gap:12px; margin-top:2px;}
.foot-social a{width:38px; height:38px;}
.foot-social svg{width:16px; height:16px;}

/* Newsletter column — pill-shaped input + button, same visual family as .btn */
.foot-news-col p{color:var(--paper-dim); font-size:13.5px; line-height:1.65; margin:0 0 20px;}
.news-form{display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:rgba(242,241,237,0.03);}
.news-form input{
  flex:1; min-width:0; background:none; border:none; outline:none;
  padding:13px 18px; color:var(--paper); font-family:'Inter'; font-size:13px;
}
.news-form input::placeholder{color:var(--paper-dim);}
.news-form button{
  flex:none; background:var(--accent); color:#0A0A0B; border:none; cursor:pointer;
  padding:13px 22px; font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:.04em;
  text-transform:uppercase; font-weight:600; transition:background .2s;
}
.news-form button:hover{background:var(--paper);}
.news-form:focus-within{border-color:var(--accent);}
.news-msg{margin-top:12px; font-size:12.5px; color:var(--accent); font-family:'IBM Plex Mono';}

.foot-bottom{border-top:1px solid var(--line); padding:22px 56px; display:flex; justify-content:space-between; max-width:1440px; margin:0 auto; font-family:'IBM Plex Mono'; font-size:11px; color:var(--paper-dim);}

/* ---------- PAGE HERO (About / FAQ / Articles banner) ---------- */
.page-hero{position:relative; height:44vh; min-height:300px; overflow:hidden;}
.page-hero img{width:100%; height:100%; object-fit:cover; filter:grayscale(35%) contrast(1.05); opacity:0.5;}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(10,10,11,0.97) 0%, rgba(10,10,11,0.55) 55%, rgba(10,10,11,0.7) 100%);}
.page-hero-inner{position:absolute; left:56px; bottom:52px; z-index:2; max-width:680px;}
.page-hero .crumb{font-family:'IBM Plex Mono'; font-size:12px; color:var(--paper-dim); margin-bottom:16px; letter-spacing:.03em;}
.page-hero .crumb a{color:var(--paper-dim); transition:color .2s;}
.page-hero .crumb a:hover{color:var(--paper);}
.page-hero .crumb .sep{margin:0 8px; opacity:.5;}
.page-hero .crumb .here{color:var(--accent);}
.page-hero h1{font-size:clamp(30px,4.5vw,50px); line-height:1.05;}
@media (max-width:760px){
  .page-hero{height:38vh; min-height:260px;}
  .page-hero-inner{left:20px; right:20px; bottom:32px;}
}

/* ---------- TABS (Our History / Vision / Mission) ---------- */
.tab-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px;}
.tab-row button{
  font-family:'IBM Plex Mono'; font-size:12px; text-transform:uppercase;
  background:transparent; border:1px solid var(--line); color:var(--paper-dim);
  padding:12px 22px; cursor:pointer; transition:all .2s; letter-spacing:0.03em;
}
.tab-row button.active, .tab-row button:hover{background:var(--accent); border-color:var(--accent); color:#0A0A0B;}
.tab-panel{display:none;}
.tab-panel.active{display:block; animation:tab-fade .4s ease;}
@keyframes tab-fade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
.tab-panel p{text-align:justify; text-justify:inter-word; color:var(--paper-dim); font-size:16px; line-height:1.85; max-width:100%;}
.tab-panel p + p{margin-top:18px;}

/* ---------- ACCORDION (shared by FAQ and Articles) ---------- */
.acc-list{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-q{
  width:100%; display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
  background:none; border:none; text-align:left; padding:28px 0; cursor:pointer;
}
.acc-q-text{flex:1; display:flex; align-items:baseline; gap:16px;}
.acc-num{font-family:'IBM Plex Mono'; color:var(--accent); font-size:12px; flex:none;}
.acc-q-text-col{flex:1;}
.acc-eyebrow{font-family:'IBM Plex Mono'; font-size:11px; color:var(--accent); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;}
.acc-q h3{font-family:'Inter'; font-weight:700; font-size:16px; text-transform:none; color:var(--paper); line-height:1.4;}
.acc-icon{
  flex:none; width:24px; height:24px; border:1px solid var(--line); border-radius:50%;
  position:relative; transition:transform .3s ease, border-color .2s; margin-top:2px;
}
.acc-icon::before, .acc-icon::after{content:""; position:absolute; top:50%; left:50%; background:var(--paper-dim); transition:transform .25s, opacity .25s, background .2s;}
.acc-icon::before{width:10px; height:1px; transform:translate(-50%,-50%);}
.acc-icon::after{width:1px; height:10px; transform:translate(-50%,-50%);}
.acc-item.open .acc-icon{border-color:var(--accent); transform:rotate(180deg);}
.acc-item.open .acc-icon::after{opacity:0;}
.acc-item.open .acc-icon::before, .acc-item.open .acc-icon::after{background:var(--accent);}
.acc-a{max-height:0; overflow:hidden; transition:max-height .4s ease;}
.acc-a-inner{padding-bottom:28px;}
/* body copy reads full-width and justified, matching the home "Welcome" section */
.acc-a p{color:var(--paper-dim); font-size:15px; line-height:1.85; max-width:100%; text-align:justify; text-justify:inter-word;}
.acc-a p + p{margin-top:14px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .welcome{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .loc-wrap{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr 1fr; row-gap:40px;}
}
@media (max-width:760px){
  header.site-header{padding:14px 20px; flex-wrap:wrap;}
  .brand-logo{height:42px;}
  .menu-toggle{display:block; order:3;}
  nav.main-menu{
    display:none; order:5; width:100%; flex-direction:column; gap:0;
    margin-top:16px; padding-top:16px; border-top:1px solid var(--line);
  }
  nav.main-menu.open{display:flex;}
  nav.main-menu a{padding:10px 0;}
  nav.main-menu a::after{display:none;}
  section{padding:60px 20px;}
  .hero-slider{height:72vh; min-height:460px;}
  .slider-content{left:20px; right:20px; bottom:36px;}
  .slider-content h1{font-size:clamp(26px,7vw,40px);}
  .slider-dots{display:none;}
  .slide-index{right:20px;}
  .filter-row{gap:8px;}
  .filter-row button{padding:8px 12px; font-size:10.5px;}
  .gallery{grid-template-columns:1fr 1fr; gap:14px;}
  .g-overlay{opacity:1; background:linear-gradient(0deg, rgba(10,10,11,0.95) 0%, rgba(10,10,11,0.05) 65%);}
  .g-overlay-top h3{font-size:12px;}
  .g-actions button, .g-actions a{width:32px; height:32px;}
  .welcome-full .spec-list{grid-template-columns:1fr 1fr;}
  .foot-top{padding:50px 20px 36px; grid-template-columns:1fr; gap:34px;}
  .foot-bottom{padding:18px 20px; flex-direction:column; gap:8px; text-align:center;}
  .lightbox{padding:20px;}
  .lightbox-close{top:14px; right:16px; width:38px; height:38px;}
}
@media (max-width:480px){
  .gallery{grid-template-columns:1fr;}
  .social-icons a{width:30px; height:30px;}
}
@media (prefers-reduced-motion: reduce){ *{transition:none !important;} }
