/* ═══════════════════════════════════════════════════════════
   TICTEL — Main Stylesheet
   Design Responsivo: Desktop · Tablet · Telemóvel
═══════════════════════════════════════════════════════════ */

:root{
  --gold:#A07808;--gold-l:#C09010;--gold-d:#6A5005;
  --cream:#FDFCF8;--warm1:#F5F0E5;--warm2:#EDE5D4;--warm3:#E2D8C6;
  --surface:#F7F4EE;--surface2:#EEE9DF;
  --text:#1A1710;--text-mid:#4A4435;--text-muted:#7A7060;
  --border:rgba(160,120,8,0.13);--border-s:rgba(160,120,8,0.32);
  --green:#4a7c3f;
  --nav-h:76px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);}
body{background:var(--cream);color:var(--text);font-family:'Barlow',sans-serif;font-weight:300;cursor:none;overflow-x:hidden;font-size:17px;}

/* ── CURSOR ── */
#cur{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .2s;}
#cur img{width:36px;height:36px;display:block;}
#cdot{position:fixed;width:5px;height:5px;background:var(--gold);border-radius:50%;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
body.loading #cur{animation:cspin 1.1s linear infinite;}
@keyframes cspin{to{transform:translate(-50%,-50%) rotate(360deg);}}
/* Hide cursor on touch devices */
@media(hover:none){
  #cur,#cdot{display:none !important;}
  body{cursor:auto !important;}
  a,button{cursor:pointer !important;}
}

/* ── LOADER ── */
#loader{position:fixed;inset:0;background:var(--cream);z-index:5000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s;}
#loader.off{opacity:0;visibility:hidden;}
#loader img{width:72px;opacity:0;animation:fadeUp .6s .2s forwards;}
#loader p{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--text-muted);margin-top:18px;opacity:0;animation:fadeUp .4s .6s forwards;}
#lbar{width:160px;height:1px;background:var(--border);margin-top:16px;overflow:hidden;opacity:0;animation:fadeUp .3s .8s forwards;}
#lbar::after{content:'';display:block;height:100%;background:var(--gold);width:0;animation:lp 1.8s .9s ease forwards;}
@keyframes lp{to{width:100%;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ── NAV ── */
nav{position:fixed;top:0;width:100%;z-index:200;padding:0 56px;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;background:rgba(253,252,248,.97);border-bottom:.5px solid transparent;transition:border-color .3s,box-shadow .3s;}
nav.sc{border-bottom-color:var(--border);box-shadow:0 2px 20px rgba(160,120,8,.06);}
.nl{display:flex;align-items:center;gap:44px;}
.nav-logo img{height:40px;display:block;}
.nlinks{display:flex;gap:28px;list-style:none;}
.nlinks a{font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.17em;text-transform:uppercase;text-decoration:none;color:var(--text-muted);transition:color .2s;}
.nlinks a:hover{color:var(--gold);}
.nr{display:flex;align-items:center;gap:18px;}
.lsw{display:flex;align-items:center;gap:3px;}
.lb{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;color:var(--text-muted);cursor:none;padding:4px 7px;transition:color .2s;font-weight:500;border-bottom:1px solid transparent;}
.lb:hover,.lb.on{color:var(--gold);}
.lb.on{border-bottom-color:var(--gold);}
.lsep{color:var(--border-s);font-size:10px;}
.ncta{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold);border:.5px solid var(--border-s);padding:8px 18px;transition:background .2s,color .2s;white-space:nowrap;}
.ncta:hover{background:var(--gold);color:#fff;}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 56px 80px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--cream) 0%,var(--warm1) 55%,var(--warm2) 100%);}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(160,120,8,.07) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse 65% 65% at 55% 45%,black,transparent);}
.hero-panel{position:absolute;right:0;top:0;bottom:0;width:40%;background:linear-gradient(to bottom,var(--warm2),var(--warm3));clip-path:polygon(14% 0,100% 0,100% 100%,0% 100%);}
.hero-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;opacity:0;animation:fadeUp .7s 2.3s forwards;position:relative;z-index:2;}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(56px,7vw,108px);font-weight:300;line-height:.92;letter-spacing:-.02em;max-width:720px;opacity:0;animation:fadeUp .9s 2.5s forwards;position:relative;z-index:2;}
.hero-h1 em{font-style:italic;color:var(--gold);}
.hero-sub{margin-top:34px;font-size:17px;font-weight:300;color:var(--text-mid);max-width:460px;line-height:1.78;opacity:0;animation:fadeUp .7s 2.7s forwards;position:relative;z-index:2;}
.hero-acts{margin-top:48px;display:flex;gap:18px;align-items:center;opacity:0;animation:fadeUp .7s 2.9s forwards;position:relative;z-index:2;}
.bp{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;background:var(--gold);color:#fff;padding:13px 32px;transition:background .2s,transform .2s;font-weight:600;}
.bp:hover{background:var(--gold-l);transform:translateY(-2px);}
.bg{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--text-muted);display:flex;align-items:center;gap:8px;transition:color .2s;}
.bg:hover{color:var(--gold);}
.bg::after{content:"→";}
.hero-icon{position:absolute;right:3%;top:50%;transform:translateY(-50%);opacity:0;animation:fadeUp .9s 3.1s forwards;z-index:3;}
.hero-icon img{height:340px;width:auto;}

/* ── 1986 EXPERIENCE ── */
.hero-1986{position:absolute;bottom:56px;right:56px;text-align:right;opacity:0;animation:fadeUp .6s 3.3s forwards;z-index:2;}
.hero-1986 span{font-family:'Cormorant Garamond',serif;font-size:68px;font-weight:300;color:rgba(160,120,8,.11);line-height:1;letter-spacing:-.04em;display:block;}
.hero-1986 p{font-family:'Barlow Condensed',sans-serif;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);}

/* ── MARQUEE ── */
.mq-wrap{border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);overflow:hidden;padding:13px 0;background:var(--surface);}
.mq-track{display:flex;animation:mq 32s linear infinite;width:max-content;}
.mq-track span{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);padding:0 32px;display:flex;align-items:center;gap:32px;}
.mq-track span::after{content:"◆";font-size:6px;color:var(--gold);}
@keyframes mq{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.mq-track{animation:none;}}

/* ── SECTIONS ── */
section{padding:108px 56px;}
.lbl{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.lbl::before{content:'';display:block;width:26px;height:.5px;background:var(--gold);}
.stitle{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,58px);font-weight:300;line-height:1.1;letter-spacing:-.01em;margin-bottom:18px;}
.stitle em{font-style:italic;color:var(--gold);}

/* ── ABOUT ── */
#about{background:#fff;border-top:.5px solid var(--border);}
.ag{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.at{font-size:16px;font-weight:300;color:var(--text-mid);line-height:1.82;}
.at p+p{margin-top:16px;}
.at strong{color:var(--text);font-weight:400;}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);}
.st{background:var(--surface);padding:30px 26px;}
.sn{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;color:var(--gold);line-height:1;letter-spacing:-.02em;}
.sl{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:5px;}
.made{display:inline-flex;align-items:center;gap:10px;border:.5px solid var(--border-s);padding:9px 16px;margin-top:26px;}
.made p{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);}

/* ── GALLERY ── */
#gallery{background:var(--surface);border-top:.5px solid var(--border);padding:0;}
.gg{display:grid;grid-template-columns:repeat(4,1fr);height:380px;}
.gi{overflow:hidden;position:relative;background:var(--warm2);}
.gi img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s;}
.gi:hover img{transform:scale(1.06);}
.glbl{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;background:linear-gradient(to top,rgba(26,23,16,.65),transparent);font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.9);}

/* ── SERVICES ── */
#services{background:var(--surface);border-top:.5px solid var(--border);}
.sh{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;}
.svgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);}
.sc-card{background:#fff;padding:40px 30px;position:relative;overflow:hidden;transition:background .3s;}
.sc-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.sc-card:hover{background:var(--surface2);}
.sc-card:hover::before{transform:scaleX(1);}
.scn{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;color:rgba(160,120,8,.14);margin-bottom:22px;}
.scname{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--text);margin-bottom:12px;}
.scdesc{font-size:15px;font-weight:300;color:var(--text-muted);line-height:1.72;}

/* ── SUSTAINABILITY ── */
#sus{background:#fff;border-top:.5px solid var(--border);}
.susgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:88px;align-items:center;margin-top:60px;}
.susvis{overflow:hidden;border:.5px solid var(--border);}
.susvis img{width:100%;height:420px;object-fit:cover;}
.susitems{display:flex;flex-direction:column;}
.susitem{padding:26px 0;border-bottom:.5px solid var(--border);display:flex;gap:22px;align-items:flex-start;}
.susitem:first-child{border-top:.5px solid var(--border);}
.susico{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:.5px solid var(--border-s);color:var(--gold);}
.susico svg{width:17px;height:17px;}
.susitem h4{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:6px;}
.susitem p{font-size:15px;font-weight:300;color:var(--text-muted);line-height:1.65;}

/* ── CERTIFICATIONS ── */
#certs{background:var(--surface);border-top:.5px solid var(--border);}
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:50px;position:relative;}
.cc{background:#fff;padding:28px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;transition:transform .35s cubic-bezier(.22,.68,0,1.2),box-shadow .35s ease;cursor:pointer;position:relative;z-index:1;}
.cc:hover{transform:scale(1.12);box-shadow:0 12px 48px rgba(160,120,8,.18),0 2px 8px rgba(0,0,0,.08);z-index:10;background:#fff;}

/* ── Logo certificados — preenchem a área atribuída ── */
.clogo{width:140px;height:140px;display:flex;align-items:center;justify-content:center;background:#fff;border:.5px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0;transition:transform .35s ease;}
.clogo img{width:100%;height:100%;object-fit:contain;padding:14px;}

.cname{font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);font-weight:600;}
.cdesc{font-size:13px;color:var(--text-muted);line-height:1.55;}
.cbody{font-size:13px;font-weight:300;color:var(--text-muted);line-height:1.65;text-align:left;margin-top:4px;padding-top:10px;border-top:.5px solid var(--border);}

/* ── PROCESS ── */
#proc{background:#fff;border-top:.5px solid var(--border);}
.psteps{display:grid;grid-template-columns:repeat(5,1fr);margin-top:62px;position:relative;}
.psteps::before{content:'';position:absolute;top:26px;left:10%;right:10%;height:.5px;background:var(--border-s);}
.ps{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 10px;position:relative;}
.pcirc{width:52px;height:52px;border:.5px solid var(--border-s);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:300;color:var(--gold);margin-bottom:20px;transition:all .3s;position:relative;z-index:1;}
.ps:hover .pcirc{background:var(--gold);color:#fff;border-color:var(--gold);}
.pname{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text);margin-bottom:8px;}
.pdesc{font-size:14px;font-weight:300;color:var(--text-muted);line-height:1.6;}

/* ── MARKETS ── */
#mkt{background:var(--surface);border-top:.5px solid var(--border);}
.mg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:50px;}
.mc{background:#fff;padding:40px 30px;transition:background .3s;position:relative;overflow:hidden;}
.mc:hover{background:var(--surface2);}
.mbg{position:absolute;right:-6px;bottom:-16px;font-family:'Cormorant Garamond',serif;font-size:86px;font-weight:300;color:rgba(160,120,8,.05);pointer-events:none;}
.mtitle{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;color:var(--text);margin-bottom:12px;}
.mdesc{font-size:15px;font-weight:300;color:var(--text-muted);line-height:1.72;}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.tag{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-d);border:.5px solid var(--border);padding:4px 10px;background:var(--surface);}

/* ── CONTACT ── */
#con{background:#fff;border-top:.5px solid var(--border);}
.con-top{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:62px;margin-bottom:1px;}
.con-info{background:var(--surface);padding:40px 36px;display:flex;flex-direction:column;gap:0;}
.con-map{background:var(--surface);}
.con-map iframe{display:block;width:100%;height:100%;min-height:280px;border:none;filter:sepia(12%)saturate(.85);}
.coni h4{font-family:'Barlow Condensed',sans-serif;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:9px;}
.coni{margin-bottom:28px;}
.coni p,.coni a{font-size:16px;font-weight:300;color:var(--text-mid);text-decoration:none;display:block;line-height:1.78;transition:color .2s;}
.coni a:hover{color:var(--gold);}
.cform{background:var(--surface);padding:36px;border-top:1px solid var(--border);}
.cform .frow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;}
.cform .frow:last-of-type{margin-bottom:0;}
.fg{display:flex;flex-direction:column;gap:6px;}
.fg label{font-family:'Barlow Condensed',sans-serif;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);}
.fg input,.fg textarea,.fg select{background:var(--surface);border:.5px solid var(--border);color:var(--text);padding:11px 14px;font-family:'Barlow',sans-serif;font-size:14px;font-weight:300;outline:none;transition:border-color .2s;-webkit-appearance:none;border-radius:0;width:100%;}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--gold);}
.fg textarea{height:100px;resize:vertical;}
.fsub{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;background:var(--gold);color:#fff;border:none;padding:14px 32px;cursor:pointer;font-weight:600;transition:background .2s,transform .2s;align-self:flex-start;margin-top:4px;min-height:44px;}
.fsub:hover{background:var(--gold-l);transform:translateY(-1px);}

/* ── FOOTER ── */
footer{border-top:.5px solid var(--border);padding:44px 56px;background:var(--surface);display:grid;grid-template-columns:auto 1fr auto;gap:56px;align-items:center;}
.fl img{height:40px;}
.fc{font-size:11px;font-weight:300;color:var(--text-muted);text-align:center;line-height:1.8;}
.flinks{display:flex;gap:24px;}
.flinks a{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--text-muted);transition:color .2s;}
.flinks a:hover{color:var(--gold);}
.fbot{border-top:.5px solid var(--border);padding:16px 56px;background:var(--surface2);display:flex;justify-content:space-between;align-items:center;}
.fbot p{font-size:10px;color:var(--text-muted);}
.fbot a{font-size:10px;color:var(--gold);text-decoration:none;}

/* ── REVEAL ANIMATIONS ── */
.rv{opacity:0;transform:translateY(26px);transition:opacity .72s,transform .72s;}
.rv.on{opacity:1;transform:none;}
.rd1{transition-delay:.1s;}
.rd2{transition-delay:.2s;}
.rd3{transition-delay:.3s;}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  .hero-eyebrow,.hero-h1,.hero-sub,.hero-acts,.hero-icon,.hero-1986{opacity:1;animation:none;}
}


/* ════════════════════════════════════════════════════════════
   DESIGN RESPONSIVO
   Breakpoints: 1400+ · 1024 · 768 · 480
════════════════════════════════════════════════════════════ */

/* ── WIDE DESKTOP (≥1400px) ── */
@media(min-width:1400px){
  :root{--nav-h:80px;}
  nav{padding:0 80px;}
  section{padding:120px 80px;}
  footer,.fbot{padding-left:80px;padding-right:80px;}
  #hero{padding:140px 80px 100px;}
  .gg{height:420px;}
}

/* ── TABLET (≤1024px) ── */
@media(max-width:1024px){
  :root{--nav-h:68px;}
  nav{padding:0 32px;height:var(--nav-h);}
  .nl{gap:28px;}
  .nlinks{gap:16px;}
  .nlinks a{font-size:12px;letter-spacing:.12em;}
  .ncta{padding:7px 14px;font-size:10px;}

  section{padding:80px 36px;}
  footer{padding:40px 36px;gap:36px;}
  .fbot{padding:14px 36px;}

  #hero{padding:100px 36px 80px;}
  .hero-h1{font-size:clamp(48px,6vw,80px);}
  .hero-icon img{height:240px;}
  .hero-panel{width:36%;}
  .hero-1986{bottom:40px;right:40px;}
  .hero-1986 span{font-size:66px;}

  .ag{gap:48px;}
  .susgrid{gap:52px;}
  .gg{height:300px;}
  .psteps::before{left:6%;right:6%;}

  /* Certifications: 3 cols on tablet */
  .cg{grid-template-columns:repeat(3,1fr);}
  .clogo{width:120px;height:120px;}
}

/* ── TABLET / LARGE MOBILE (≤768px) ── */
@media(max-width:768px){
  :root{--nav-h:62px;}

  /* NAV — hamburger */
  nav{padding:0 20px;height:var(--nav-h);}
  .nlinks{display:none;}
  .nl{gap:0;}
  .nr{gap:10px;}
  .lsw{gap:2px;}
  .lb{padding:3px 5px;font-size:10px;}
  .ncta{display:none;}

  /* Hamburger */
  #ham{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
  #ham span{display:block;width:22px;height:1.5px;background:var(--gold);transition:transform .3s,opacity .3s;}
  #ham.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  #ham.open span:nth-child(2){opacity:0;}
  #ham.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  /* Mobile menu drawer */
  #mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(253,252,248,.98);border-bottom:.5px solid var(--border);padding:20px;z-index:190;backdrop-filter:blur(12px);flex-direction:column;gap:0;}
  #mobile-menu.open{display:flex;}
  #mobile-menu a{font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--text-mid);padding:14px 0;border-bottom:.5px solid var(--border);display:block;transition:color .2s;min-height:44px;display:flex;align-items:center;}
  #mobile-menu a:hover{color:var(--gold);}
  #mobile-menu .m-cta{margin-top:16px;background:var(--gold);color:#fff;text-align:center;padding:14px;border:none;font-weight:600;border-bottom:none;justify-content:center;}

  section{padding:60px 20px;}
  footer{grid-template-columns:1fr;gap:24px;padding:36px 20px;text-align:center;}
  .fl{justify-content:center;display:flex;}
  .flinks{justify-content:center;flex-wrap:wrap;gap:16px;}
  .fbot{padding:14px 20px;flex-direction:column;gap:8px;text-align:center;}

  /* HERO */
  #hero{padding:90px 20px 60px;min-height:95vh;}
  .hero-panel{display:none;}
  .hero-dots{opacity:.5;}
  .hero-h1{font-size:clamp(38px,10vw,60px);}
  .hero-sub{font-size:15px;max-width:100%;}
  .hero-acts{flex-direction:column;align-items:flex-start;gap:14px;}
  .hero-icon{display:none;}
  .hero-1986{display:none;}

  /* ABOUT */
  .ag{grid-template-columns:1fr;gap:40px;}
  .sg{grid-template-columns:1fr 1fr;}

  /* GALLERY */
  .gg{grid-template-columns:1fr 1fr;height:auto;}
  .gi{height:200px;}
  .glbl{font-size:11px;letter-spacing:.16em;padding:14px 16px;}

  /* SERVICES */
  .sh{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:40px;}
  .svgrid{grid-template-columns:1fr 1fr;}

  /* SUSTAINABILITY */
  .susgrid{grid-template-columns:1fr;gap:36px;}
  .susvis img{height:240px;}

  /* CERTIFICATIONS — 2 colunas em mobile */
  .cg{grid-template-columns:repeat(2,1fr);}
  .cc{padding:20px 14px;gap:10px;}
  .clogo{width:100px;height:100px;}
  .clogo img{padding:10px;}
  .cname{font-size:12px;letter-spacing:.08em;}
  .cdesc{font-size:11px;}
  .cbody{display:none;}

  /* PROCESS */
  .psteps{grid-template-columns:1fr 1fr;gap:36px 16px;margin-top:40px;}
  .psteps::before{display:none;}
  .ps:last-child{grid-column:1/3;}

  /* MARKETS */
  .mg{grid-template-columns:1fr;}

  /* CONTACT */
  .con-top{grid-template-columns:1fr;}
  .con-map{min-height:220px;}
  .cform{padding:28px 20px;}
  .cform .frow{grid-template-columns:1fr;}
  .cform .fg[style*="span 2"]{grid-column:span 1 !important;}

  /* MARQUEE */
  .mq-track span{padding:0 20px;gap:20px;}

  /* TOUCH TARGETS */
  .bp,.bg,.ncta,.fsub{min-height:44px;display:inline-flex;align-items:center;}
}

/* ── MOBILE (≤480px) ── */
@media(max-width:480px){
  section{padding:48px 16px;}
  nav{padding:0 16px;}
  footer{padding:28px 16px;}
  .fbot{padding:12px 16px;}

  .hero-h1{font-size:clamp(32px,11vw,50px);}
  .hero-eyebrow{font-size:10px;letter-spacing:.2em;}
  .bp{padding:12px 22px;font-size:10px;}
  .stitle{font-size:clamp(26px,8vw,38px);}

  .sg{grid-template-columns:1fr 1fr;gap:1px;}
  .sn{font-size:36px;}

  /* GALLERY — 1 col em ecrãs muito pequenos */
  .gg{grid-template-columns:1fr;}
  .gi{height:210px;}

  /* SERVICES — 1 col */
  .svgrid{grid-template-columns:1fr;}
  .sc-card{padding:30px 20px;}

  /* CERTIFICATIONS — 2 cols mantidas, mais compactas */
  .cg{grid-template-columns:repeat(2,1fr);}
  .cc{padding:16px 10px;gap:8px;}
  .clogo{width:80px;height:80px;}
  .clogo img{padding:8px;}
  .cname{font-size:11px;letter-spacing:.05em;}
  .cdesc{font-size:10px;display:none;}

  /* PROCESS — 1 col */
  .psteps{grid-template-columns:1fr;gap:24px;}
  .ps:last-child{grid-column:auto;}
  .pcirc{margin-bottom:14px;}

  .mg{grid-template-columns:1fr;}

  .cform .frow{grid-template-columns:1fr;}

  .lbl{font-size:9px;}
  .nav-logo img{height:32px;}

  /* FOOTER */
  .flinks{gap:12px;}
  .flinks a{font-size:9px;}

  .con-info{padding:24px 16px;}
  .cform{padding:20px 16px;}
}
