  :root{
    --ink:#1c1b18; --ink-soft:#726b60;
    --paper:#f7f5f0; --paper-2:#ffffff;
    --walnut:#1c1b18; --walnut-dark:#141310;
    --oak:#c9a479; --copper:#8a5a3d; --copper-dark:#6b4530;
    --gold:#c9a45f; --gold-soft:#e8d4a8; --gold-line:linear-gradient(90deg, transparent, rgba(201,164,95,.55) 50%, transparent);
    --btn-gradient:linear-gradient(135deg, #a3703f, #8a5a3d 55%, #6b4530);
    --moss:#4f7a52; --line:#e7e1d4; --line-soft:#f0ebe0;
    --shadow-sm:0 1px 2px rgba(20,19,16,.05), 0 1px 1px rgba(20,19,16,.03);
    --shadow-md:0 8px 24px rgba(20,19,16,.07), 0 2px 6px rgba(20,19,16,.04);
    --shadow-lg:0 20px 48px rgba(15,14,11,.14), 0 6px 16px rgba(15,14,11,.07);
    --shadow-gold:0 10px 28px rgba(138,90,61,.22);
    --radius:2px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter', sans-serif; color:var(--ink); background:var(--paper-2); line-height:1.6; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:500; letter-spacing:-0.01em; color:var(--walnut-dark);}
  .mono{font-family:'Inter', sans-serif; letter-spacing:0.08em; font-weight:500; text-transform:uppercase; font-size:11.5px;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  .dim{display:flex; align-items:center; gap:8px; font-family:'Inter', sans-serif; font-weight:600; font-size:11.5px; color:var(--copper-dark); text-transform:uppercase; letter-spacing:0.14em;}
  .dim::before, .dim::after{content:""; height:1px; width:22px; background:var(--copper);}
  .dim.solo::after{display:none;}
  .grid-bg{background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); background-size:38px 38px;}

  /* header */
  header{position:sticky; top:0; z-index:100; background:rgba(246,243,237,0.92); backdrop-filter:blur(8px); box-shadow:0 1px 0 var(--line), var(--shadow-sm);}
  .topline{background:var(--walnut-dark); color:#e7dcc6; font-family:'Inter',sans-serif; font-size:12px; border-bottom:1px solid rgba(201,164,95,.3);}
  .topline .wrap{display:flex; justify-content:space-between; align-items:center; padding:6px 28px; flex-wrap:wrap; gap:6px;}
  .topline a{color:#d9bd97;}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:1180px; margin:0 auto;}
  .logo{display:flex; align-items:center; gap:2px;}
  .logo img{height:38px; width:auto; display:block;}
  .logo span{color:var(--copper);}
  nav ul{display:flex; gap:26px; list-style:none;}
  nav a{position:relative; font-size:14px; font-weight:500; color:var(--ink-soft); padding-bottom:3px;}
  nav a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px; background:var(--copper); transition:right .28s ease;}
  nav a:hover{color:var(--walnut-dark);}
  nav a:hover::after{right:0;}
  .header-actions{display:flex; align-items:center; gap:16px;}
  .btn{position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px; padding:13px 26px; background:var(--btn-gradient); color:#fbf6ec; font-weight:600; font-size:14px; letter-spacing:.01em; border:none; border-radius:var(--radius); cursor:pointer; box-shadow:var(--shadow-gold); transition:transform .22s ease, box-shadow .22s ease;}
  .btn::before{content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(115deg, transparent, rgba(255,255,255,.32), transparent); transform:skewX(-20deg); transition:left .55s ease;}
  .btn:hover{transform:translateY(-2px); box-shadow:0 16px 34px rgba(138,90,61,.32), var(--shadow-md);}
  .btn:hover::before{left:130%;}
  .btn.ghost{background:transparent; color:var(--walnut-dark); border:1px solid var(--walnut-dark); box-shadow:none;}
  .btn.ghost::before{display:none;}
  .btn.ghost:hover{background:var(--walnut-dark); color:#fbf6ec; box-shadow:var(--shadow-md);}
  .btn.small{padding:9px 16px; font-size:13px;}
  .burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer;}
  .burger span{width:24px; height:2px; background:var(--walnut-dark);}

  /* hero - cozinhas.pt style: full banner + single CTA */
  .hero{position:relative; padding:0;}
  .hero-banner{
    position:relative; min-height:600px; display:flex; align-items:flex-end; overflow:hidden;
  }
  .hero-banner .slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.06); transition:opacity 1.8s ease, transform 7s ease;}
  .hero-banner .slide.active{opacity:1; transform:scale(1);}
  .hero-banner .scrim{position:absolute; inset:0; background:
      radial-gradient(120% 90% at 15% 100%, rgba(20,18,16,.15), transparent 55%),
      linear-gradient(180deg, rgba(20,18,16,.4), rgba(14,13,11,.9)); z-index:1;}
  .hero-banner-inner{position:relative; z-index:2;}
  .hero-banner::after{content:""; position:absolute; right:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--gold-soft),var(--copper) 55%,transparent); box-shadow:0 0 18px rgba(201,164,95,.55);}
  .hero-banner-inner{padding:56px 28px 46px; max-width:1180px; margin:0 auto; width:100%;}
  .hero-banner .dim{color:var(--gold-soft);}
  .hero-banner .dim::before,.hero-banner .dim::after{background:var(--gold-soft);}
  .hero-banner h1{color:#fdfaf3; font-size:clamp(32px,5.2vw,56px); line-height:1.06; max-width:16ch; margin:18px 0 20px; text-shadow:0 2px 24px rgba(0,0,0,.35);}
  .hero-banner p{color:#e6dcc7; font-size:16.5px; max-width:48ch; margin-bottom:28px;}
  .hero-banner-cta{display:flex; gap:14px; flex-wrap:wrap;}

  /* quick links - santos.es style feature blocks */
  .quicklinks{background:var(--paper-2); border-bottom:1px solid var(--line);}
  .quicklinks .wrap{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:-1px;}
  .qlink{background:var(--paper-2); padding:28px 26px; display:flex; gap:16px; align-items:flex-start; transition:box-shadow .2s ease;}
  .qlink:hover{box-shadow:var(--shadow-sm); position:relative; z-index:1;}
  .qlink svg{flex:none; margin-top:2px;}
  .qlink h3{font-size:16px; margin-bottom:6px;}
  .qlink p{font-size:13.5px; color:var(--ink-soft); margin-bottom:10px;}
  .qlink a.txt-link{font-size:13px; font-weight:600; color:var(--copper-dark);}

  section{padding:80px 0;}
  .section-head{max-width:640px; margin-bottom:44px;}
  .section-head h2{font-size:clamp(25px,3.2vw,34px); margin:10px 0 12px;}
  .section-head p{color:var(--ink-soft); font-size:15.5px;}

  /* "produzimos X" showcase - cozinhas.pt style paired image gallery */
  .showcase{background:var(--paper);}
  .showcase-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
  .sc-item{position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:box-shadow .3s ease, transform .3s ease;}
  .sc-item:hover{box-shadow:0 18px 40px rgba(20,19,16,.18), var(--shadow-gold); transform:translateY(-4px);}
  .sc-item img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .sc-item:hover img{transform:scale(1.06);}
  .sc-item .g-label{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(180deg, transparent, rgba(15,13,10,.82)); font-family:'Inter', sans-serif; font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#f4f0e5;}
  .g1{background:repeating-linear-gradient(115deg,#8a5a3d,#8a5a3d 4px,#6b4530 4px,#6b4530 22px);}
  .g2{background:repeating-linear-gradient(70deg,#403e3a,#403e3a 3px,#1c1b18 3px,#1c1b18 20px);}
  .g3{background:repeating-linear-gradient(100deg,#c9c5be,#c9c5be 5px,#b3aea4 5px,#b3aea4 24px);}
  .g4{background:repeating-linear-gradient(60deg,#c9a479,#c9a479 3px,#8a5a3d 3px,#8a5a3d 18px);}
  /* categorias em destaque - inspirado na grelha de categorias da Evanyrouse */
  .cat-strip{padding:64px 0; background:var(--paper-2);}
  .cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:0;}
  .cat-tile{position:relative; aspect-ratio:3/4; overflow:hidden; display:block; border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:box-shadow .3s ease;}
  .cat-tile:hover{box-shadow:0 18px 40px rgba(20,19,16,.18), var(--shadow-gold);}
  .cat-tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .cat-tile:hover img{transform:scale(1.05);}
  .cat-tile-label{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:22px; background:linear-gradient(180deg, transparent 40%, rgba(18,13,9,.78));}
  .cat-tile-label span{font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:#fbf6ec;}
  .cat-tile-label em{font-style:normal; font-family:'Inter',sans-serif; font-size:11.5px; color:#d9bd97; margin-top:4px; letter-spacing:.04em;}

  /* etiquetas de origem da foto - projeto real vs. imagem de referência */

  .showcase-note{margin-top:22px; font-size:13px; color:var(--ink-soft); font-family:'Inter', sans-serif;}

  /* inspiração - imagens de referência (stock), claramente distintas do portfólio real */

  /* trust / about - cozinhas.pt "somos o seu parceiro" */
  .trust{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .trust p{color:var(--ink-soft); font-size:16px; margin-bottom:18px;}
  .trust-stats{display:flex; gap:36px; margin-top:26px; flex-wrap:wrap;}
  .trust-stats .stat{position:relative; padding-top:2px;}
  .trust-stats .stat b{display:block; font-family:'Fraunces',serif; font-size:32px; color:var(--walnut-dark); background:linear-gradient(90deg,var(--walnut-dark),var(--copper)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
  .trust-stats .stat span{font-size:12px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em;}
  .trust-stats .stat::before{content:''; position:absolute; top:-2px; left:0; width:26px; height:2px; background:var(--gold-line-solid, var(--gold));}
  .trust-visual{aspect-ratio:1/1; border-radius:var(--radius); box-shadow:var(--shadow-md); position:relative; background:repeating-linear-gradient(95deg,#403e3a,#403e3a 4px,#1c1b18 4px,#1c1b18 26px); overflow:hidden;}
  .trust-visual .corner-note{position:absolute; top:16px; right:16px; font-family:'Inter',sans-serif; font-weight:500; font-size:10.5px; letter-spacing:.08em; color:#fdfaf3; background:rgba(20,16,10,.55); backdrop-filter:blur(6px); border:1px solid rgba(201,164,95,.4); padding:6px 12px;}

  /* marquee - faixa de texto em movimento contínuo */
  .marquee{overflow:hidden; background:var(--walnut-dark); padding:14px 0; white-space:nowrap; border-top:1px solid rgba(201,164,95,.25); border-bottom:1px solid rgba(201,164,95,.25);}
  .marquee-track{display:inline-flex; animation:marquee-scroll 28s linear infinite;}
  .marquee-track span{font-family:'Inter',sans-serif; font-weight:500; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:#f4f0e5; padding:0 6px;}
  .marquee-track span.sep{color:var(--oak); padding:0 18px;}
  @keyframes marquee-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* editorial - blocos alternados de texto/imagem, inspirados na Evanyrouse */
  .editorial{display:grid; grid-template-columns:1.1fr 1fr; min-height:520px;}
  .editorial.reverse{grid-template-columns:1fr 1.1fr;}
  .editorial.reverse .editorial-media{order:2;}
  .editorial.reverse .editorial-copy{order:1;}
  .editorial-media{background-size:cover; background-position:center; min-height:340px;}
  .editorial-copy{display:flex; flex-direction:column; justify-content:center; gap:16px; padding:60px 64px;}
  .editorial-copy h2{font-size:clamp(26px,3vw,36px); line-height:1.18;}
  .editorial-copy p{color:var(--ink-soft); font-size:15.5px; max-width:42ch;}
  .editorial-copy .btn{align-self:flex-start; margin-top:6px;}

  /* reveal - animação de entrada ao scroll */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
  .reveal.in-view{opacity:1; transform:translateY(0);}
  .reveal-stagger > *{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;}
  .reveal-stagger.in-view > *{opacity:1; transform:translateY(0);}
  .reveal-stagger.in-view > *:nth-child(1){transition-delay:.02s;} .reveal-stagger.in-view > *:nth-child(2){transition-delay:.08s;}
  .reveal-stagger.in-view > *:nth-child(3){transition-delay:.14s;} .reveal-stagger.in-view > *:nth-child(4){transition-delay:.2s;}
  .reveal-stagger.in-view > *:nth-child(5){transition-delay:.26s;} .reveal-stagger.in-view > *:nth-child(6){transition-delay:.32s;}
  .reveal-stagger.in-view > *:nth-child(7){transition-delay:.38s;} .reveal-stagger.in-view > *:nth-child(8){transition-delay:.44s;}
  .reveal-stagger.in-view > *:nth-child(9){transition-delay:.5s;}

  /* valores - faixa de ícones inspirada na Evanyrouse */
  .values-strip{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:56px 0;}
  .values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:36px;}
  .value-item svg{margin-bottom:14px; filter:drop-shadow(0 2px 6px rgba(138,90,61,.25));}
  .value-item h3{font-size:16px; margin-bottom:6px;}
  .value-item p{font-size:13.5px; color:var(--ink-soft);}

  /* design + producao - two-col alternating like cozinhas.pt */
  .split{background:var(--paper);}
  .split-row{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .split-row + .split-row{margin-top:80px;}
  .split-row.reverse .visual{order:2;}
  .split-row.reverse .copy{order:1;}
  .split .visual{aspect-ratio:4/3; border-radius:var(--radius); box-shadow:var(--shadow-md); position:relative; background-color:var(--line-soft); overflow:hidden;}
  .split .copy h2{font-size:clamp(24px,3vw,30px); margin:10px 0 14px;}
  .split .copy p{color:var(--ink-soft); font-size:15.5px; margin-bottom:18px;}

  /* processo - inspirado nas etapas da Luxor Kitchen */
  .process{background:var(--walnut-dark); color:#f4f0e5;}
  .process .dim{color:#d2a878;}
  .process .dim::before,.process .dim::after{background:#d2a878;}
  .process .section-head h2{color:#f4f0e5;}
  .process .section-head p{color:#d8cdb8;}
  .process-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(244,240,229,.14); border:1px solid rgba(244,240,229,.14);}
  .process-card{background:var(--walnut-dark); padding:28px 22px; transition:background .3s ease;}
  .process-card:hover{background:#1c1a15;}
  .process-num{font-family:'Fraunces',serif; font-size:15px; color:var(--gold-soft); display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(201,164,95,.45); border-radius:50%; margin-bottom:14px;}
  .process-card h3{color:#f4f0e5; font-size:15.5px; margin-bottom:8px;}
  .process-card p{color:#c9c2b5; font-size:13.5px;}

  /* services strip */
  .services-strip{background:var(--paper-2);}
  .service-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .service-card{background:var(--paper-2); padding:30px 24px; display:flex; flex-direction:column; gap:12px; transition:box-shadow .2s ease;}
  .service-card:hover{box-shadow:var(--shadow-sm); position:relative; z-index:1;}
  .service-num{font-family:'Inter', sans-serif; font-weight:600; font-size:12px; letter-spacing:.08em; color:var(--copper);}
  .service-card h3{font-size:18px;}
  .service-card p{font-size:14px; color:var(--ink-soft);}

  /* lead form - cozinhas.pt "quer ser contactado?" */
  .area-strip{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .area-list{display:flex; flex-wrap:wrap; gap:12px; list-style:none;}
  .area-list li{font-family:'Inter',sans-serif; font-size:13.5px; font-weight:500; color:var(--walnut-dark); background:var(--paper); border:1px solid var(--line); padding:9px 18px; border-radius:999px;}
  .lead{background:var(--paper);}
  .lead-box{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .lead-box h2{font-size:clamp(24px,3vw,32px); margin:10px 0 14px;}
  .lead-box p{color:var(--ink-soft); font-size:15.5px; margin-bottom:20px;}
  .lead-box .contact-lines{display:flex; flex-direction:column; gap:14px; margin-top:22px;}
  .contact-lines .dt{font-family:'Inter',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--copper-dark);}
  .contact-lines .dd{font-size:15px;}
  .placeholder{color:#6b4530; font-style:italic; font-size:13px;}
  form{display:flex; flex-direction:column; gap:14px; background:var(--paper-2); padding:34px; border-radius:var(--radius); box-shadow:var(--shadow-md);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  label{font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); margin-bottom:5px; display:block;}
  input, select, textarea{width:100%; padding:11px 13px; border:1px solid var(--line); background:#fdfbf5; font-family:'Inter', sans-serif; font-size:14px; color:var(--ink); border-radius:var(--radius);}
  input:focus, select:focus, textarea:focus{outline:2px solid var(--copper); outline-offset:1px;}
  textarea{resize:vertical; min-height:96px;}
  .form-msg{font-size:13px; color:var(--moss); display:none;}
  .form-msg-error{color:#a83e3e;}
  #submitBtn[disabled]{opacity:.6; cursor:default;}
  .consent-row{font-size:12.5px; color:var(--ink-soft); line-height:1.5;}
  .checkbox-label{display:flex; align-items:flex-start; gap:9px; cursor:pointer;}
  .checkbox-label input{width:auto; flex:0 0 auto; margin-top:3px;}
  .checkbox-label a{color:var(--copper-dark); text-decoration:underline;}

  /* placeholders para embeds bloqueados por cookies de terceiros (mapa, vídeo) */
  .embed-placeholder{border:1px dashed var(--line); border-radius:var(--radius); padding:22px; text-align:center; background:var(--paper); margin-top:22px;}
  .embed-placeholder p{font-size:13px; color:var(--ink-soft); margin-bottom:12px;}

  /* banner de cookies */
  #cookieBanner{position:fixed; left:0; right:0; bottom:0; z-index:999; background:var(--walnut-dark); color:#f4f0e5; padding:18px 22px; display:none; box-shadow:0 -6px 20px rgba(0,0,0,.18);}
  #cookieBanner .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  #cookieBanner p{font-size:13.5px; max-width:64ch; color:#e7e1d4;}
  #cookieBanner a{color:var(--oak); text-decoration:underline;}
  #cookieBanner .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  #cookieBanner .btn.ghost{border-color:#e7e1d4; color:#e7e1d4;}

  /* modal política de privacidade */
  #privacyOverlay{position:fixed; inset:0; z-index:1000; background:rgba(20,19,16,.6); display:none; align-items:center; justify-content:center; padding:24px;}
  #privacyModal{background:var(--paper-2); max-width:720px; width:100%; max-height:85vh; overflow-y:auto; border-radius:var(--radius); padding:36px; position:relative; box-shadow:var(--shadow-lg);}
  #privacyModal h2{font-size:24px; margin-bottom:6px;}
  #privacyModal h3{font-size:16px; margin:22px 0 8px; font-family:'Inter',sans-serif; font-weight:600;}
  #privacyModal p, #privacyModal li{font-size:14px; color:var(--ink-soft); margin-bottom:8px; line-height:1.6;}
  #privacyModal ul{padding-left:20px; margin-bottom:8px;}
  #privacyCloseBtn{position:absolute; top:18px; right:18px; background:none; border:none; font-size:22px; line-height:1; cursor:pointer; color:var(--ink-soft);}
  .form-msg.show{display:block;}

  footer{background:var(--walnut-dark); color:#cfc9bf; padding:44px 0 26px; font-size:13.5px;}
  .footer-inner{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px;}
  footer .cols{display:flex; gap:56px; flex-wrap:wrap;}
  footer h4{color:#f4f0e5; font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px;}
  footer ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
  footer a:hover{color:#c9a479;}
  .social-row{display:flex; gap:10px; margin-top:14px;}
  .social-row a{width:36px; height:36px; border:1px solid rgba(244,240,229,.28); display:flex; align-items:center; justify-content:center; border-radius:50%; color:#f4f0e5;}
  .social-row a:hover{background:var(--copper); border-color:var(--copper); color:#fff;}
  .footer-bottom{margin-top:36px; padding-top:18px; border-top:1px solid rgba(244,240,229,0.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:#8f8a80;}

  @media (max-width: 980px){
    .quicklinks .wrap{grid-template-columns:1fr;}
    .trust, .split-row, .lead-box{grid-template-columns:1fr; gap:32px;}
    .split-row.reverse .visual{order:1;} .split-row.reverse .copy{order:2;}
    .showcase-grid{grid-template-columns:repeat(2,1fr);}
    .cat-grid{grid-template-columns:repeat(2,1fr);}
    .values-grid{grid-template-columns:repeat(2,1fr); gap:28px;}
    
    .service-grid{grid-template-columns:repeat(2,1fr);}
    .process-grid{grid-template-columns:repeat(2,1fr);}
    .editorial, .editorial.reverse{grid-template-columns:1fr;}
    .editorial.reverse .editorial-media{order:1;} .editorial.reverse .editorial-copy{order:2;}
    .editorial-media{min-height:280px;}
    .editorial-copy{padding:40px 28px;}
    nav ul{display:none;}
    .burger{display:flex;}
    .topline .wrap{justify-content:center; text-align:center;}
  }
  @media (max-width:560px){
    .showcase-grid, .service-grid, .process-grid{grid-template-columns:1fr;}
    .cat-grid{grid-template-columns:1fr;}
    .values-grid{grid-template-columns:1fr; gap:24px;}
    .form-row{grid-template-columns:1fr;}
    section{padding:56px 0;}
    .hero-banner{min-height:460px;}
    .marquee-track{animation-duration:18s;}
  }
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;} *{transition:none !important;} .marquee-track{animation:none !important;} .reveal, .reveal-stagger > *{opacity:1 !important; transform:none !important;}}

  /* ===== páginas internas (cozinhas, roupeiros, móveis, projetos, sobre, contactos) ===== */
  .page-hero{position:relative; min-height:340px; display:flex; align-items:flex-end; background-size:cover; background-position:center; overflow:hidden;}
  .page-hero .scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,18,16,.35), rgba(14,13,11,.86));}
  .page-hero-inner{position:relative; z-index:2; padding:56px 28px 40px; max-width:1180px; margin:0 auto; width:100%;}
  .page-hero-inner h1{color:#fdfaf3; font-size:clamp(28px,4.4vw,44px); line-height:1.1; max-width:20ch; margin:14px 0 12px; text-shadow:0 2px 20px rgba(0,0,0,.3);}
  .page-hero-inner p{color:#e7dcc6; font-size:15px; max-width:56ch;}
  .page-hero .dim::before,.page-hero .dim::after{background:#e3bb86;}

  .breadcrumb{padding:16px 28px 0; max-width:1180px; margin:0 auto; font-size:12.5px; color:var(--ink-soft); display:flex; align-items:center; gap:8px;}
  .breadcrumb a{color:var(--copper-dark); text-decoration:none;}
  .breadcrumb a:hover{text-decoration:underline;}
  .breadcrumb span{color:var(--line);}

  .intro-lead{font-family:'Fraunces',serif; font-size:clamp(19px,2.2vw,24px); line-height:1.55; color:var(--walnut-dark); font-weight:400;}

  .two-col-text{display:grid; grid-template-columns:1fr 1fr; gap:48px;}

  .faq{display:flex; flex-direction:column; gap:2px; max-width:820px;}
  .faq-item{background:var(--paper-2); border:1px solid var(--line); padding:6px 22px;}
  .faq-item summary{cursor:pointer; padding:16px 0; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary h3{font-size:15.5px; font-family:'Inter',sans-serif; font-weight:600; color:var(--walnut-dark);}
  .faq-item summary::after{content:'+'; font-family:'Inter',sans-serif; font-size:20px; color:var(--copper); flex-shrink:0; transition:transform .25s ease;}
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{color:var(--ink-soft); font-size:14px; padding-bottom:18px; max-width:64ch;}

  @media (max-width:980px){
    .page-hero{min-height:280px;}
    .two-col-text{grid-template-columns:1fr; gap:28px;}
  }
