:root {
  --marrom-espresso: #2C1501;
  --marrom-nogueira: #3B2010;
  --castanho-madeira: #542F16;
  --madeira-quente: #673D18;
  --caramelo: #8F6335;
  --dourado-envelhecido: #BE8946;
  --dourado-claro: #D3A365;
  --champagne: #E9CA9B;
  --fundo-claro: #F7F3ED;
  --fundo-escuro: #24170F;
  --branco: #fffdf9;
  --cinza: #7a716a;
  --border: rgba(44,21,1,.14);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --shadow: 0 26px 70px rgba(44,21,1,.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--marrom-espresso); background: var(--fundo-claro); font-family: var(--sans); line-height: 1.6; overflow-x: hidden; }
body.menu-open, body.lightbox-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--dourado-envelhecido); color: var(--fundo-escuro); }

.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section-pad { padding: 110px 0; }
.skip-link { position: fixed; left: 16px; top: 16px; z-index: 9999; background: var(--branco); padding: 10px 14px; transform: translateY(-160%); transition: .2s; }
.skip-link:focus { transform: none; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; color: var(--branco); transition: background .35s ease, box-shadow .35s ease, transform .35s ease; }
.site-header::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:rgba(255,255,255,.14); }
.site-header.scrolled { background: rgba(36,23,15,.94); backdrop-filter: blur(12px); box-shadow: 0 10px 40px rgba(0,0,0,.14); }
.header-inner { height: 98px; display: grid; grid-template-columns: 230px 1fr auto; gap: 30px; align-items: center; }
.brand { display:flex; align-items:center; min-width:0; }
.brand img { width: 210px; max-height: 72px; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; justify-content: center; gap: 28px; align-items:center; }
.desktop-nav a { font-size: 13px; font-weight: 600; letter-spacing: .025em; position:relative; opacity:.92; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:1px; background:var(--dourado-claro); transition:.25s; }
.desktop-nav a:hover::after { right:0; }

.btn {
  min-height:52px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 27px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:12px;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(44,21,1,.10);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}
.btn::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(110deg, rgba(255,255,255,.20), transparent 35%, transparent 65%, rgba(255,255,255,.10));
  opacity:.55;
  pointer-events:none;
}
.btn::after {
  content:"→";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-left:1px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:13px;
  line-height:1;
  opacity:.76;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .28s ease;
}
.btn:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(44,21,1,.16); }
.btn:hover::after { transform:translateX(3px); opacity:1; }
.btn:active { transform:translateY(-1px); }
.btn:focus-visible { outline:2px solid var(--dourado-claro); outline-offset:4px; }

.btn-header {
  min-height:46px;
  padding-inline:20px 16px;
  border-color:rgba(233,202,155,.52);
  color:var(--branco);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
}
.btn-header:hover {
  border-color:var(--dourado-claro);
  background:rgba(190,137,70,.16);
  color:var(--champagne);
  box-shadow:0 10px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.12);
}

.btn-primary {
  color:#24170F;
  border-color:rgba(84,47,22,.18);
  background:linear-gradient(135deg, #D6AA70 0%, var(--dourado-envelhecido) 50%, #AE7738 100%);
  box-shadow:0 11px 26px rgba(103,61,24,.20), inset 0 1px 0 rgba(255,255,255,.34);
}
.btn-primary:hover {
  color:#1f130c;
  border-color:rgba(84,47,22,.28);
  background:linear-gradient(135deg, #E2BC87 0%, var(--dourado-claro) 50%, #C18C4D 100%);
  box-shadow:0 15px 34px rgba(103,61,24,.26), inset 0 1px 0 rgba(255,255,255,.42);
}

.btn-light {
  color:var(--fundo-escuro);
  border-color:rgba(233,202,155,.72);
  background:rgba(247,243,237,.94);
  box-shadow:0 11px 28px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.72);
}
.btn-light:hover {
  background:var(--champagne);
  border-color:var(--dourado-claro);
  box-shadow:0 15px 34px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.62);
}
.menu-toggle { display:none; width:44px; height:44px; border:0; background:transparent; padding:9px; cursor:pointer; }
.menu-toggle span { display:block; height:1px; background:#fff; margin:6px 0; transition:.25s; }
.mobile-menu { display:none; }

.hero { min-height: 100svh; position:relative; display:grid; align-items:center; color:var(--branco); background: #1b120c url('https://images.pexels.com/photos/8082297/pexels-photo-8082297.jpeg?auto=compress&cs=tinysrgb&w=1920') center/cover no-repeat; overflow:hidden; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(21,12,7,.82) 0%, rgba(27,16,10,.58) 48%, rgba(15,9,5,.28) 100%), linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.18) 45%, rgba(21,13,8,.62)); }
.hero-grain { position:absolute; inset:0; opacity:.13; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E"); }
.hero-content { position:relative; z-index:2; padding-top:110px; padding-bottom:80px; }
.hero-content .eyebrow { max-width:660px; }
.hero h1 { max-width:920px; margin: 20px 0 22px; font-family:var(--serif); font-weight:600; font-size:clamp(50px, 6.2vw, 92px); line-height:.94; letter-spacing:-.035em; }
.hero h1 em { color:var(--dourado-claro); font-weight:500; }
.hero-lead { max-width:690px; margin:0; color:rgba(255,255,255,.82); font-size:17px; }
.hero-actions { margin-top:36px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.text-link { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.03em; }
.text-link span { font-size:18px; transition:transform .2s; }
.text-link:hover span { transform:translate(3px,3px); }
.hero-note { position:absolute; z-index:2; right:5vw; bottom:42px; display:flex; gap:12px; align-items:center; font-size:9px; letter-spacing:.28em; opacity:.66; }
.hero-note .line { width:52px; height:1px; background:rgba(255,255,255,.55); }
.scroll-cue { position:absolute; z-index:3; left:50%; bottom:32px; width:26px; height:42px; border:1px solid rgba(255,255,255,.45); border-radius:18px; display:grid; place-items:start center; padding-top:8px; }
.scroll-cue span { width:3px; height:7px; border-radius:4px; background:var(--dourado-claro); animation:scrollCue 1.7s ease-in-out infinite; }
@keyframes scrollCue { 0%{transform:translateY(0);opacity:0} 25%{opacity:1} 75%{opacity:1} 100%{transform:translateY(14px);opacity:0} }

.eyebrow { margin:0; color:var(--dourado-claro); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.24em; }
.eyebrow.dark { color:var(--caramelo); }
h2 { margin: 14px 0 22px; font-family:var(--serif); font-size:clamp(38px, 4vw, 58px); line-height:1.02; letter-spacing:-.025em; font-weight:600; }
h3 { margin:0 0 8px; font-family:var(--serif); font-size:25px; line-height:1.1; }
p { margin-top:0; }
.lead { font-size:18px; color:#5d5046; max-width:630px; }
.dark-link { color:var(--castanho-madeira); margin-top:8px; }

.intro { background:var(--fundo-claro); }
.intro-grid { display:grid; grid-template-columns: .92fr 1.08fr; gap:90px; align-items:start; }
.section-copy { position:sticky; top:150px; }
.feature-list { border-top:1px solid var(--border); }
.feature-item { display:grid; grid-template-columns:72px 1fr; gap:24px; padding:28px 0; border-bottom:1px solid var(--border); }
.feature-number { color:var(--dourado-envelhecido); font-family:var(--serif); font-size:18px; }
.feature-item h3 { font-size:27px; }
.feature-item p { margin:0; color:#71655d; max-width:520px; }

.about { display:grid; grid-template-columns:1.08fr .92fr; min-height:720px; padding:0; background:var(--fundo-escuro); color:var(--branco); }
.about-image { min-height:720px; background:url('https://images.pexels.com/photos/8146212/pexels-photo-8146212.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat, linear-gradient(135deg,#5b3a25,#26170f); position:relative; }
.about-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 60%,rgba(36,23,15,.46)); }
.about-content { align-self:center; max-width:650px; padding:90px 7vw 90px 70px; }
.about-content p { color:rgba(255,255,255,.72); }
.about-content strong { color:var(--dourado-claro); }
.about-content blockquote { margin:36px 0 0; padding:22px 0 0 24px; border-left:1px solid var(--dourado-envelhecido); font-family:var(--serif); font-size:25px; line-height:1.25; color:var(--champagne); }

.numbers { background:var(--marrom-espresso); color:var(--branco); padding:54px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(190,137,70,.14); }
.numbers-grid { display:grid; grid-template-columns:repeat(4,1fr); align-items:stretch; }
.stat { min-height:142px; padding:18px 32px; border-right:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.stat:first-child { padding-left:0; }
.stat:last-child { border-right:0; }
.stat-value { display:block; font-family:var(--serif); color:var(--dourado-claro); font-size:clamp(52px,4.3vw,68px); line-height:.88; letter-spacing:-.035em; font-weight:600; margin:0; white-space:nowrap; text-shadow:0 1px 18px rgba(190,137,70,.12); }
.stat-value .counter { display:inline; max-width:none; color:inherit; font:inherit; line-height:inherit; letter-spacing:inherit; }
.stat-label { display:block; max-width:230px; margin-top:16px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.5; letter-spacing:.015em; }

.services { background:#fbf8f3; }
.section-heading { max-width:760px; margin-bottom:48px; }
.section-heading.centered { text-align:center; margin-inline:auto; }
.section-heading.centered p:last-child { max-width:620px; margin-inline:auto; color:#71655d; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { min-height:390px; position:relative; overflow:hidden; padding:28px; color:#fff; display:flex; flex-direction:column; justify-content:space-between; background:#3c2517; isolation:isolate; }
.service-card::before { content:""; position:absolute; inset:0; background-image:var(--bg); background-size:cover; background-position:center; transition:transform .6s cubic-bezier(.2,.8,.2,1); z-index:-2; }
.service-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(26,15,8,.12),rgba(31,17,8,.82)); z-index:-1; }
.service-card:hover::before { transform:scale(1.045); }
.service-index { font-family:var(--serif); color:var(--dourado-claro); font-size:17px; }
.service-card h3 { font-size:32px; }
.service-card p { margin:0; color:rgba(255,255,255,.75); font-size:13px; max-width:260px; }
.center-cta { display:flex; justify-content:center; margin-top:42px; }

.portfolio { background:var(--fundo-escuro); color:var(--branco); overflow:hidden; }
.portfolio-head { display:grid; grid-template-columns:1fr; gap:70px; align-items:end; margin-bottom:52px; }
.portfolio-head h2 { max-width:790px; }
.gallery { width:min(1460px,100%); margin-inline:auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:270px; gap:10px; }
.gallery-item { position:relative; border:0; padding:0; overflow:hidden; cursor:zoom-in; background:#2b1b12; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .55s, filter .35s; }
.gallery-item::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(22,13,8,.72)); opacity:.7; transition:.3s; }
.gallery-item span { position:absolute; z-index:2; left:22px; bottom:18px; color:white; font-family:var(--serif); font-size:20px; opacity:.86; }
.gallery-item:hover img { transform:scale(1.035); filter:saturate(.9) contrast(1.03); }
.gallery-wide { grid-column:span 2; }
.gallery-tall { grid-row:span 2; }

.process { background:var(--fundo-claro); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--border); }
.process-step { padding:34px 30px 10px 0; margin-right:30px; border-right:1px solid var(--border); }
.process-step:last-child { border-right:0; margin-right:0; }
.process-step > span { display:block; color:var(--dourado-envelhecido); font-family:var(--serif); margin-bottom:60px; }
.process-step h3 { font-size:28px; }
.process-step p { color:#71655d; font-size:13px; }

.quote-band { padding:120px 0; text-align:center; color:var(--branco); background:linear-gradient(rgba(45,25,13,.86),rgba(36,23,15,.9)), url('https://images.pexels.com/photos/7535008/pexels-photo-7535008.jpeg?auto=compress&cs=tinysrgb&w=2000') center/cover fixed; }
.quote-inner { max-width:880px; }
.quote-inner h2 { font-size:clamp(48px,6vw,78px); }
.quote-inner h2 em { color:var(--dourado-claro); font-weight:500; }
.quote-inner > p:not(.eyebrow) { color:rgba(255,255,255,.72); margin-bottom:30px; }

.contact { background:#fbf8f3; }
.contact-grid { display:grid; grid-template-columns:1fr; max-width:760px; gap:70px; align-items:start; }
.contact-copy h2 { max-width:560px; }
.contact-copy > p { color:#71655d; }
.contact-copy code { font-size:.88em; color:var(--castanho-madeira); }
.contact-form { display:grid; gap:17px; margin-top:34px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form label { display:grid; gap:7px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; border:1px solid rgba(44,21,1,.18); background:transparent; padding:14px 15px; outline:none; color:var(--marrom-espresso); border-radius:0; transition:border .2s, box-shadow .2s; text-transform:none; letter-spacing:normal; font-size:14px; font-weight:400; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--dourado-envelhecido); box-shadow:0 0 0 3px rgba(190,137,70,.12); }
.contact-form textarea { resize:vertical; min-height:120px; }
.contact-form .btn { width:max-content; margin-top:3px; }
.form-feedback { margin:0; min-height:22px; color:var(--castanho-madeira); font-size:12px; }
.contact-badges { display:flex; gap:12px; margin-top:24px; }
.contact-badges > div { border:1px solid var(--border); padding:14px 18px; min-width:190px; }
.contact-badges span, .contact-badges strong { display:block; }
.contact-badges span { font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:#84776d; }
.contact-badges strong { font-family:var(--serif); font-size:20px; }

.site-footer { background:#190f0a; color:rgba(255,255,255,.72); padding:70px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.4fr .6fr 1fr; gap:70px; padding-bottom:54px; }
.footer-brand img { width:320px; max-height:210px; object-fit:contain; object-position:left center; }
.footer-nav, .footer-info { display:grid; align-content:start; gap:9px; }
.footer-nav strong, .footer-info strong { color:var(--dourado-claro); font-family:var(--serif); font-size:20px; margin-bottom:7px; }
.footer-nav a { font-size:12px; }
.footer-info p { font-size:12px; max-width:330px; margin:0; }
.footer-experience { color:var(--champagne); margin-top:10px!important; }
.footer-social { display:inline-flex; align-items:center; gap:8px; margin-top:6px; font-size:13px; color:var(--dourado-claro); width:max-content; }
.footer-social:hover { color:var(--champagne); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; justify-content:space-between; gap:20px; font-size:10px; letter-spacing:.04em; }

.floating-contact {
  position:fixed;
  z-index:900;
  right:24px;
  bottom:24px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  color:#fff;
  background:#25D366;
  box-shadow:0 13px 34px rgba(37,211,102,.30), 0 4px 14px rgba(0,0,0,.16);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, box-shadow .28s ease;
}
.floating-contact::before {
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:inherit;
  pointer-events:none;
}
.floating-contact:hover {
  transform:translateY(-4px) scale(1.035);
  background:#20BD5A;
  box-shadow:0 18px 38px rgba(37,211,102,.36), 0 7px 18px rgba(0,0,0,.18);
}
.floating-contact:active { transform:translateY(-1px) scale(.99); }
.floating-contact:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.floating-contact svg { width:27px; height:27px; fill:currentColor; }
.floating-contact span { display:none; }

.lightbox { position:fixed; inset:0; z-index:3000; display:grid; grid-template-columns:80px 1fr 80px; align-items:center; background:rgba(16,10,7,.96); opacity:0; pointer-events:none; transition:.25s; }
.lightbox.open { opacity:1; pointer-events:auto; }
.lightbox figure { margin:0; max-width:min(1200px,85vw); max-height:88vh; justify-self:center; display:grid; gap:12px; }
.lightbox img { max-width:100%; max-height:80vh; object-fit:contain; }
.lightbox figcaption { color:rgba(255,255,255,.65); font-size:12px; text-align:center; }
.lightbox button { border:0; background:transparent; color:#fff; cursor:pointer; font-family:var(--serif); }
.lightbox-close { position:absolute; right:22px; top:14px; font-size:44px; font-weight:300; }
.lightbox-prev,.lightbox-next { font-size:62px; opacity:.7; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .72s ease, transform .72s cubic-bezier(.2,.8,.2,1); transition-delay:var(--delay,0ms); }
.reveal.in-view { opacity:1; transform:none; }

@media (max-width: 1040px) {
  .header-inner { grid-template-columns:210px 1fr auto; }
  .desktop-nav { gap:18px; }
  .desktop-nav a { font-size:11px; }
  .btn-header { display:none; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .numbers-grid { grid-template-columns:repeat(2,1fr); row-gap:0; }
  .stat { min-height:150px; }
  .stat:nth-child(2) { border-right:0; }
  .stat:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.10); }
  .portfolio-head { grid-template-columns:1fr; gap:18px; }
  .process-grid { grid-template-columns:repeat(2,1fr); gap:35px 0; }
  .process-step:nth-child(2) { border-right:0; }
  .contact-grid { grid-template-columns:1fr; }
}

@media (max-width: 800px) {
  .container { width:min(100% - 34px, 680px); }
  .section-pad { padding:80px 0; }
  .site-header { background:rgba(36,23,15,.86); backdrop-filter:blur(12px); }
  .header-inner { height:78px; grid-template-columns:1fr auto; gap:12px; }
  .brand img { width:180px; max-height:56px; }
  .desktop-nav,.btn-header { display:none; }
  .menu-toggle { display:block; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .mobile-menu { display:block; max-height:0; overflow:hidden; background:rgba(36,23,15,.98); transition:max-height .35s ease; }
  .mobile-menu.open { max-height:520px; }
  .mobile-menu nav { padding:20px 24px 30px; display:grid; gap:18px; }
  .mobile-menu a { font-family:var(--serif); font-size:24px; }
  .mobile-menu .btn { font-family:var(--sans); font-size:12px; width:100%; margin-top:6px; }

  .hero { min-height:820px; }
  .hero-content { padding-top:126px; padding-bottom:100px; }
  .hero h1 { font-size:clamp(46px,13.5vw,70px); }
  .hero-lead { font-size:15px; }
  .hero-note { display:none; }
  .scroll-cue { left:auto; right:24px; }
  .intro-grid { grid-template-columns:1fr; gap:52px; }
  .section-copy { position:static; }
  .feature-item { grid-template-columns:54px 1fr; gap:14px; }
  .about { grid-template-columns:1fr; }
  .about-image { min-height:520px; order:2; }
  .about-content { padding:80px 24px; order:1; }
  .numbers-grid { grid-template-columns:1fr 1fr; }
  .stat { min-height:138px; padding:20px 18px; }
  .stat:first-child { padding-left:18px; }
  .stat-value { font-size:clamp(46px,9vw,58px); }
  .stat-label { margin-top:12px; font-size:12.5px; max-width:200px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { min-height:440px; }
  .gallery { grid-template-columns:1fr 1fr; grid-auto-rows:240px; padding-inline:12px; }
  .gallery-wide { grid-column:span 2; }
  .gallery-tall { grid-row:span 1; }
  .quote-band { background-attachment:scroll; }
  .process-grid { grid-template-columns:1fr; }
  .process-step { border-right:0; margin:0; padding-right:0; border-bottom:1px solid var(--border); padding-bottom:28px; }
  .process-step > span { margin-bottom:26px; }
  .field-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:38px; }
  .footer-brand img { width:260px; }
  .footer-bottom { flex-direction:column; }
  .lightbox { grid-template-columns:44px 1fr 44px; }
}

@media (max-width: 520px) {
  .hero-actions { align-items:stretch; flex-direction:column; }
  .hero-actions .btn { width:100%; }
  .hero-actions .text-link { justify-content:center; }
  .numbers-grid { grid-template-columns:1fr; }
  .stat { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); padding:28px 0; align-items:center; text-align:center; }
  .stat:first-child { padding-left:0; }
  .stat:last-child { border-bottom:0; }
  .stat:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .stat-value { font-size:58px; }
  .stat-label { max-width:280px; margin-top:10px; font-size:13px; }
  .gallery { grid-template-columns:1fr; grid-auto-rows:310px; }
  .gallery-wide { grid-column:span 1; }
  .contact-badges { flex-direction:column; }
  .contact-badges > div { width:100%; }
  .floating-contact { right:18px; bottom:18px; width:56px; height:56px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .hero-video { display:none; }
  .quote-band { background-attachment:scroll; }
  .reveal { opacity:1; transform:none; }
}
