:root {
  --ink: #172229;
  --petrol: #374a52;
  --petrol-deep: #263840;
  --cream: #edefe1;
  --paper: #f7f7f1;
  --mist: #dbe1dd;
  --sand: #c9bda4;
  --line: rgba(23, 34, 41, .14);
  --light-line: rgba(237, 239, 225, .18);
  --radius: 28px;
  --shadow: 0 30px 80px rgba(10, 18, 22, .18);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { color: var(--cream); background: var(--petrol); }

.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.section-dark { color: var(--cream); background: var(--petrol); }
.section-soft { background: #e9ece6; }

.preloader {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  background: var(--petrol); transition: opacity .7s ease, visibility .7s ease;
}
.preloader.is-hidden { opacity: 0; visibility: hidden; }
.preloader img { width: 188px; }
.preloader span { position: absolute; bottom: 14vh; width: 120px; height: 1px; background: rgba(237,239,225,.25); overflow: hidden; }
.preloader span::after { content:""; display:block; width:42%; height:100%; background:var(--cream); animation: loading 1.2s ease-in-out infinite; }
@keyframes loading { from { transform: translateX(-120%); } to { transform: translateX(300%); } }

.scroll-progress { position: fixed; top:0; left:0; z-index:999; height:2px; width:0; background:var(--cream); mix-blend-mode:difference; }
.cursor-glow { position: fixed; z-index: 2; width: 360px; height: 360px; pointer-events:none; border-radius:50%; background: radial-gradient(circle, rgba(237,239,225,.08), transparent 68%); transform: translate(-50%,-50%); opacity:.6; }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 22px 0; transition: padding .35s ease, background .35s ease, backdrop-filter .35s ease;
}
.site-header.is-scrolled { padding: 12px 0; background: rgba(38,56,64,.88); backdrop-filter: blur(18px); border-bottom:1px solid var(--light-line); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand img { width: 176px; }
.main-nav { display:flex; align-items:center; gap:32px; color:var(--cream); font-size:13px; font-weight:600; letter-spacing:.04em; }
.main-nav > a:not(.nav-cta) { position:relative; padding:8px 0; }
.main-nav > a:not(.nav-cta)::after { content:""; position:absolute; left:0; right:100%; bottom:2px; height:1px; background:var(--cream); transition:right .3s ease; }
.main-nav > a:not(.nav-cta):hover::after { right:0; }
.nav-cta { padding:12px 18px; border:1px solid rgba(237,239,225,.55); border-radius:999px; transition:.3s ease; }
.nav-cta:hover { color:var(--petrol); background:var(--cream); }
.menu-toggle { display:none; width:44px; height:44px; border:0; background:transparent; position:relative; }
.menu-toggle span { position:absolute; left:10px; width:24px; height:1px; background:var(--cream); transition:.3s ease; }
.menu-toggle span:first-child { top:17px; }
.menu-toggle span:last-child { top:26px; }
.menu-toggle[aria-expanded="true"] span:first-child { top:22px; transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { top:22px; transform:rotate(-45deg); }

.hero { min-height: 100svh; position:relative; display:flex; align-items:center; overflow:hidden; padding:140px 0 90px; }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(var(--cream) 1px, transparent 1px), linear-gradient(90deg,var(--cream) 1px,transparent 1px); background-size:90px 90px; mask-image:linear-gradient(to bottom,black,transparent 86%); }
.hero-orb { position:absolute; border-radius:50%; filter:blur(4px); opacity:.48; }
.orb-one { width:440px; height:440px; right:-120px; top:18%; background:radial-gradient(circle at 30% 30%,rgba(237,239,225,.2),transparent 70%); }
.orb-two { width:320px; height:320px; left:-120px; bottom:-100px; background:radial-gradient(circle,rgba(201,189,164,.18),transparent 70%); }
.hero-layout { position:relative; z-index:3; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:72px; }
.eyebrow, .section-kicker { margin:0 0 20px; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; }
.eyebrow { display:flex; align-items:center; gap:12px; color:rgba(237,239,225,.72); }
.eyebrow span { width:32px; height:1px; background:var(--cream); }
.hero h1 { max-width:720px; margin:0; font-family:var(--serif); font-size:clamp(54px,6.25vw,94px); line-height:.92; font-weight:600; letter-spacing:-.045em; }
.hero h1 em, .manifesto h2 em { font-weight:500; color:var(--sand); }
.hero-lead { max-width:610px; margin:30px 0 0; color:rgba(237,239,225,.74); font-size:17px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:36px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:0 24px; border:1px solid transparent; border-radius:999px; font-size:13px; font-weight:700; transition:transform .3s ease, background .3s ease, color .3s ease, border-color .3s ease; }
.button svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.button-primary { color:var(--petrol); background:var(--cream); }
.button-primary:hover { background:#fff; transform:translateY(-3px); }
.button-outline { color:var(--cream); border-color:rgba(237,239,225,.45); }
.button-outline:hover { color:var(--petrol); background:var(--cream); }
.button-dark { color:var(--cream); background:var(--petrol); }
.button-dark:hover { background:var(--ink); transform:translateY(-3px); }
.text-link { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; border-bottom:1px solid rgba(237,239,225,.35); padding:9px 0; }
.text-link span { transition:transform .3s ease; }
.text-link:hover span { transform:translate(4px,-3px); }
.dark-link { border-color:rgba(23,34,41,.35); }
.hero-trust { display:flex; flex-wrap:wrap; gap:8px; margin-top:42px; }
.hero-trust span { padding:8px 12px; border:1px solid var(--light-line); border-radius:999px; color:rgba(237,239,225,.66); font-size:11px; }
.hero-visual { position:relative; min-height:570px; }
.visual-card { position:absolute; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }
.visual-card img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.visual-card:hover img { transform:scale(1.05); }
.visual-main { width:88%; height:500px; right:0; top:0; }
.visual-main::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,18,22,.72),transparent 50%); }
.visual-caption { position:absolute; left:24px; right:24px; bottom:22px; z-index:2; display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.visual-caption span { font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.visual-caption strong { font-family:var(--serif); font-size:24px; font-weight:500; }
.visual-floating { width:48%; height:220px; left:-3%; bottom:10px; border:8px solid var(--petrol); }
.floating-label { position:absolute; left:14px; bottom:14px; padding:8px 10px; color:var(--ink); background:var(--cream); border-radius:999px; font-size:10px; font-weight:700; }
.hero-seal { position:absolute; right:-30px; bottom:-6px; width:128px; height:128px; display:grid; place-items:center; border-radius:50%; background:var(--cream); color:var(--petrol); }
.hero-seal svg { position:absolute; inset:10px; width:108px; height:108px; animation:spin 18s linear infinite; }
.hero-seal text { font:700 9px var(--sans); letter-spacing:2px; fill:var(--petrol); }
.hero-seal > span { font-family:var(--serif); font-size:23px; font-weight:700; }
@keyframes spin { to { transform:rotate(360deg); } }
.scroll-cue { position:absolute; left:50%; bottom:26px; z-index:4; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(237,239,225,.55); font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.scroll-cue span { width:1px; height:28px; background:linear-gradient(var(--cream),transparent); animation:cue 1.8s ease-in-out infinite; }
@keyframes cue { 50% { transform:scaleY(.55); transform-origin:bottom; } }

.manifesto { padding:130px 0 70px; background:var(--paper); overflow:hidden; }
.manifesto-grid { display:grid; grid-template-columns:.42fr 1.58fr; gap:80px; align-items:start; }
.section-kicker { color:#627278; }
.manifesto h2 { margin:0; font-family:var(--serif); font-size:clamp(43px,5.2vw,74px); line-height:1.02; font-weight:600; letter-spacing:-.035em; }
.manifesto-copy > p { max-width:650px; margin:30px 0 0 auto; font-size:17px; color:#536167; }
.marquee { margin-top:100px; padding:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
.marquee-track { display:flex; align-items:center; width:max-content; animation:marquee 28s linear infinite; }
.marquee span { padding:0 28px; font-family:var(--serif); font-size:28px; white-space:nowrap; }
.marquee i { font-style:normal; color:var(--sand); }
@keyframes marquee { to { transform:translateX(-50%); } }

.solutions { padding:120px 0; }
.section-heading { display:grid; grid-template-columns:1.4fr .6fr; gap:70px; align-items:end; margin-bottom:56px; }
.section-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(44px,5vw,68px); line-height:1; letter-spacing:-.035em; font-weight:600; }
.section-heading > p { margin:0 0 6px; color:#5e6b70; }
.section-heading.light > p, .section-heading.light .section-kicker { color:rgba(237,239,225,.62); }
.bento-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:minmax(230px,auto); gap:18px; }
.service-card { grid-column:span 4; position:relative; padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; transition:transform .35s ease, box-shadow .35s ease; }
.service-card:hover { transform:translateY(-7px); box-shadow:0 26px 60px rgba(23,34,41,.1); }
.service-card-large { grid-column:span 8; display:grid; grid-template-columns:auto 1fr; gap:30px; align-items:end; background:var(--petrol); color:var(--cream); }
.service-index { position:absolute; right:24px; top:22px; font-family:var(--serif); font-size:22px; opacity:.42; }
.service-icon { width:70px; height:70px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; opacity:.82; }
.service-icon svg { width:36px; fill:none; stroke:currentColor; stroke-width:1.35; }
.service-card h3 { margin:40px 0 12px; font-family:var(--serif); font-size:31px; line-height:1.02; font-weight:600; }
.service-card-large h3 { margin:0 0 14px; font-size:43px; }
.service-card p { margin:0; color:#667378; }
.service-card-large p { color:rgba(237,239,225,.7); }
.service-card ul { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:22px 0 0; list-style:none; }
.service-card li { padding:7px 10px; border:1px solid var(--light-line); border-radius:999px; font-size:10px; color:rgba(237,239,225,.72); }
.service-card-image { padding:0; }
.service-card-image img { width:100%; height:100%; min-height:280px; object-fit:cover; }
.image-overlay { position:absolute; inset:0; display:flex; align-items:flex-end; padding:22px; background:linear-gradient(to top,rgba(23,34,41,.75),transparent 55%); color:var(--cream); font-size:12px; font-weight:700; }
.service-card-accent { grid-column:span 8; display:flex; flex-direction:column; justify-content:space-between; background:var(--sand); border:0; }
.service-card-accent blockquote { max-width:720px; margin:28px 0; font-family:var(--serif); font-size:clamp(34px,4vw,54px); line-height:1; }

.projects { padding:120px 0; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.project-card { position:relative; height:440px; border-radius:var(--radius); overflow:hidden; transform-style:preserve-3d; }
.project-card.project-wide { height:540px; }
.project-card img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.project-card:hover img { transform:scale(1.06); }
.project-overlay { position:absolute; inset:0; padding:26px; display:flex; align-items:flex-end; justify-content:space-between; background:linear-gradient(to top,rgba(11,20,24,.82),transparent 55%); }
.project-overlay span { color:rgba(237,239,225,.62); font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.project-overlay h3 { margin:5px 0 0; font-family:var(--serif); font-size:34px; font-weight:500; }
.project-arrow { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(237,239,225,.4); border-radius:50%; font-size:18px!important; transition:.3s ease; }
.project-card:hover .project-arrow { color:var(--petrol); background:var(--cream); transform:rotate(45deg); }
.projects-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:45px; padding-top:38px; border-top:1px solid var(--light-line); }
.projects-cta p { margin:0; color:rgba(237,239,225,.68); }

.process { padding:130px 0; }
.process-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; align-items:start; }
.process-intro { position:sticky; top:140px; }
.process-intro h2 { margin:0; font-family:var(--serif); font-size:clamp(44px,4.7vw,66px); line-height:1; letter-spacing:-.035em; }
.process-intro > p:not(.section-kicker) { margin:25px 0 32px; color:#5e6b70; }
.process-steps { border-top:1px solid var(--line); }
.process-step { display:grid; grid-template-columns:80px 1fr; gap:30px; padding:38px 0; border-bottom:1px solid var(--line); }
.process-step > span { font-family:var(--serif); font-size:28px; color:#738287; }
.process-step h3 { margin:0 0 10px; font-family:var(--serif); font-size:34px; font-weight:600; }
.process-step p { margin:0; color:#627075; }

.about { padding:40px 0 130px; }
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.about-image { position:relative; }
.about-image img { width:100%; height:650px; object-fit:cover; border-radius:var(--radius); }
.about-tag { position:absolute; right:-26px; bottom:40px; padding:14px 18px; border-radius:999px; background:var(--petrol); color:var(--cream); font-size:10px; letter-spacing:.14em; text-transform:uppercase; transform:rotate(-90deg) translateX(100%); transform-origin:right bottom; }
.about-copy h2 { margin:0; font-family:var(--serif); font-size:clamp(44px,4.5vw,64px); line-height:1; letter-spacing:-.035em; }
.about-copy > p:not(.section-kicker) { color:#5b686e; }
.principles { margin-top:34px; border-top:1px solid var(--line); }
.principles div { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.principles strong { font-size:13px; }
.principles span { color:#6d7a7f; font-size:13px; }

.testimonials { padding:120px 0; }
.testimonial-slider { position:relative; min-height:420px; padding:54px 64px; border-radius:var(--radius); color:var(--cream); background:var(--petrol); overflow:hidden; }
.testimonial-slider::before { content:""; position:absolute; width:360px; height:360px; right:-120px; top:-160px; border-radius:50%; border:1px solid rgba(237,239,225,.12); box-shadow:0 0 0 48px rgba(237,239,225,.025),0 0 0 96px rgba(237,239,225,.018); }
.testimonial { display:none; position:relative; z-index:2; }
.testimonial.active { display:block; animation:testimonialIn .55s ease both; }
@keyframes testimonialIn { from { opacity:0; transform:translateY(12px); } }
.quote-mark { display:block; height:60px; font-family:var(--serif); font-size:100px; line-height:.7; color:var(--sand); }
.testimonial blockquote { max-width:900px; margin:18px 0 36px; font-family:var(--serif); font-size:clamp(31px,4vw,48px); line-height:1.1; }
.testimonial strong { display:block; font-size:13px; }
.testimonial div span { color:rgba(237,239,225,.58); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.slider-controls { position:absolute; right:44px; bottom:40px; z-index:3; display:flex; align-items:center; gap:15px; }
.slider-controls button { width:42px; height:42px; border:1px solid var(--light-line); border-radius:50%; color:var(--cream); background:transparent; transition:.3s ease; }
.slider-controls button:hover { color:var(--petrol); background:var(--cream); }
.slider-dots { display:flex; gap:7px; }
.slider-dots button { width:7px; height:7px; padding:0; border:0; background:rgba(237,239,225,.3); }
.slider-dots button.active { background:var(--cream); }

.faq { padding:120px 0; }
.faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; }
.faq-intro h2 { margin:0; font-family:var(--serif); font-size:clamp(45px,5vw,68px); line-height:1; }
.faq-intro > p:not(.section-kicker) { color:#647176; }
.accordion { border-top:1px solid var(--line); }
.accordion-item { border-bottom:1px solid var(--line); }
.accordion-item > button { width:100%; display:flex; justify-content:space-between; gap:20px; padding:25px 0; border:0; text-align:left; color:var(--ink); background:transparent; font-weight:600; }
.accordion-item button i { font-style:normal; font-size:24px; font-weight:400; transition:transform .3s ease; }
.accordion-item button[aria-expanded="true"] i { transform:rotate(45deg); }
.accordion-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.accordion-panel > p { overflow:hidden; margin:0; color:#637176; }
.accordion-item.open .accordion-panel { grid-template-rows:1fr; }
.accordion-item.open .accordion-panel > p { padding:0 48px 25px 0; }

.contact { position:relative; padding:130px 0; overflow:hidden; }
.contact-orb { position:absolute; width:650px; height:650px; left:-300px; top:-200px; border-radius:50%; border:1px solid var(--light-line); box-shadow:0 0 0 80px rgba(237,239,225,.018),0 0 0 160px rgba(237,239,225,.012); }
.contact-layout { position:relative; z-index:2; display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.contact-copy h2 { margin:0; font-family:var(--serif); font-size:clamp(50px,5.5vw,76px); line-height:.95; letter-spacing:-.04em; }
.contact-copy > p:not(.section-kicker) { max-width:520px; color:rgba(237,239,225,.68); }
.contact-direct { margin-top:40px; display:grid; gap:10px; }
.contact-direct a { display:flex; align-items:center; gap:15px; padding:14px 0; border-bottom:1px solid var(--light-line); }
.contact-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--light-line); border-radius:50%; }
.contact-direct small { display:block; color:rgba(237,239,225,.5); font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.contact-direct strong { font-size:13px; font-weight:600; }
.lead-form { padding:38px; border:1px solid var(--light-line); border-radius:var(--radius); background:rgba(237,239,225,.06); backdrop-filter:blur(18px); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.lead-form label { display:grid; gap:8px; }
.lead-form label > span { font-size:11px; color:rgba(237,239,225,.7); }
.lead-form .full { grid-column:1 / -1; }
.lead-form input, .lead-form select, .lead-form textarea { width:100%; border:0; border-bottom:1px solid rgba(237,239,225,.28); border-radius:0; outline:0; color:var(--cream); background:transparent; padding:10px 0 13px; transition:border-color .25s ease; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color:var(--cream); }
.lead-form input::placeholder, .lead-form textarea::placeholder { color:rgba(237,239,225,.36); }
.lead-form select option { color:var(--ink); }
.lead-form textarea { resize:vertical; }
.lead-form .field-error { border-color:#f2a7a0; }
.consent { display:flex!important; grid-template-columns:auto 1fr; align-items:start; margin:22px 0; }
.consent input { width:auto; margin-top:4px; accent-color:var(--cream); }
.consent span { font-size:10px!important; }
.form-submit { width:100%; }
.form-status { min-height:22px; margin:12px 0 0; font-size:11px; color:var(--cream); }

.site-footer { color:var(--cream); background:var(--ink); }
.footer-top { display:grid; grid-template-columns:1fr 1fr auto; gap:45px; align-items:center; padding:64px 0 42px; }
.footer-top img { width:180px; }
.footer-top p { max-width:410px; margin:0; color:rgba(237,239,225,.55); font-size:13px; }
.back-top { font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; padding:24px 0; border-top:1px solid rgba(237,239,225,.1); color:rgba(237,239,225,.46); font-size:10px; }
.footer-bottom div { display:flex; gap:22px; }

.whatsapp-float { position:fixed; right:24px; bottom:24px; z-index:80; display:flex; align-items:center; gap:10px; min-height:52px; padding:0 17px; border-radius:999px; color:var(--cream); background:#1f8f5f; box-shadow:0 14px 38px rgba(12,44,31,.28); font-size:11px; font-weight:700; }
.whatsapp-float svg { width:24px; fill:currentColor; }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.75,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.12s; }

@media (max-width: 1024px) {
  .hero-layout { grid-template-columns:1fr; gap:50px; }
  .hero-copy { max-width:800px; }
  .hero-visual { width:min(700px,100%); margin-left:auto; }
  .manifesto-grid, .process-layout, .faq-layout, .contact-layout { gap:55px; }
  .service-card { grid-column:span 6; }
  .service-card-large, .service-card-accent { grid-column:span 12; }
  .about-layout { gap:55px; }
}

@media (max-width: 820px) {
  .container { width:min(100% - 32px,1180px); }
  .menu-toggle { display:block; z-index:102; }
  .main-nav { position:fixed; inset:0; z-index:101; flex-direction:column; justify-content:center; gap:20px; font-size:20px; background:rgba(38,56,64,.98); opacity:0; visibility:hidden; transform:translateY(-12px); transition:.35s ease; }
  .main-nav.open { opacity:1; visibility:visible; transform:none; }
  .nav-cta { margin-top:12px; }
  .hero { padding-top:130px; }
  .hero-visual { min-height:500px; }
  .visual-main { height:420px; }
  .visual-floating { width:52%; height:190px; }
  .hero-seal { right:0; }
  .manifesto-grid, .section-heading, .process-layout, .about-layout, .faq-layout, .contact-layout { grid-template-columns:1fr; }
  .manifesto-grid { gap:30px; }
  .manifesto-copy > p { margin-left:0; }
  .section-heading { gap:20px; }
  .project-card, .project-card.project-wide { height:440px; }
  .process-intro { position:relative; top:auto; }
  .about-image { order:2; }
  .about-image img { height:500px; }
  .testimonial-slider { padding:44px 34px 96px; }
  .slider-controls { right:28px; bottom:28px; }
  .contact-layout { gap:55px; }
  .footer-top { grid-template-columns:1fr; gap:25px; }
}

@media (max-width: 620px) {
  .brand img { width:152px; }
  .hero h1 { font-size:54px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }
  .button { width:100%; }
  .hero-trust { display:none; }
  .hero-visual { min-height:430px; }
  .visual-main { width:92%; height:360px; }
  .visual-floating { width:58%; height:160px; left:0; border-width:5px; }
  .hero-seal { width:102px; height:102px; }
  .hero-seal svg { width:84px; height:84px; inset:9px; }
  .manifesto, .solutions, .projects, .process, .testimonials, .faq, .contact { padding:90px 0; }
  .bento-grid { display:block; }
  .service-card { margin-bottom:14px; min-height:auto; }
  .service-card-large { display:block; }
  .service-card-large .service-icon { margin-bottom:35px; }
  .service-card-large h3 { font-size:36px; }
  .project-grid { grid-template-columns:1fr; }
  .project-card, .project-card.project-wide { height:410px; }
  .projects-cta { align-items:flex-start; flex-direction:column; }
  .process-step { grid-template-columns:50px 1fr; gap:15px; }
  .about { padding-bottom:90px; }
  .about-image img { height:420px; }
  .about-tag { display:none; }
  .principles div { grid-template-columns:1fr; gap:4px; }
  .testimonial-slider { min-height:510px; padding:38px 24px 96px; }
  .testimonial blockquote { font-size:31px; }
  .form-grid { grid-template-columns:1fr; }
  .lead-form .full { grid-column:auto; }
  .lead-form { padding:28px 22px; }
  .footer-bottom { flex-direction:column; }
  .whatsapp-float { width:52px; padding:0; justify-content:center; }
  .whatsapp-float span { display:none; }
  .cursor-glow { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .cursor-glow { display:none; }
}
