@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');

:root {
  --ink: #193f42;
  --ink-deep: #0f3032;
  --rose: #e9a4ad;
  --rose-pale: #f5d8d5;
  --ivory: #fbf8f1;
  --sand: #e9dfd0;
  --sage: #9bac99;
  --white: #fffdf8;
  --text: #294244;
  --muted: #657676;
  --line: rgba(25, 63, 66, .16);
  --shadow: 0 24px 70px rgba(15, 48, 50, .11);
  --radius: 26px;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'DM Sans', 'Segoe UI', sans-serif;
  --container: min(1160px, calc(100% - 40px));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
#sobre,#depoimentos,#localizacao { scroll-margin-top:110px; }
body {
  margin: 0;
  color: var(--text);
  background: var(--ivory);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  z-index: 20;
  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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--rose); outline-offset: 4px; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; background: var(--white); padding: .8rem 1rem; }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid transparent; transition: .3s; }
.site-header.is-scrolled { background: rgba(251,248,241,.94); border-color: var(--line); backdrop-filter: blur(16px); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { width: 150px; height: 75px; object-fit: contain; }
.menu-toggle { border: 1px solid var(--line); color: var(--ink); background: var(--white); border-radius: 999px; padding: .65rem .95rem; }
.main-nav { display: none; position: absolute; top: 76px; left: 20px; right: 20px; padding: 1rem; background: var(--white); box-shadow: var(--shadow); border-radius: 18px; }
.main-nav.is-open { display: grid; }
.main-nav a { padding: .65rem; text-decoration: none; font-weight: 600; }
.site-header .header-cta { display: none; }

.eyebrow { margin: 0 0 .7rem; color: var(--rose); font-size: .75rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3 { color: var(--ink-deep); font-family: var(--serif); font-weight: 500; line-height: 1.08; text-wrap: balance; }
h1 { margin: 0; font-size: clamp(2.75rem, 9vw, 6.4rem); letter-spacing: -.045em; }
h2 { margin: 0 0 1.25rem; font-size: clamp(2rem, 5vw, 3.7rem); letter-spacing: -.035em; }
h3 { margin: 0 0 .55rem; font-size: 1.45rem; }
p { margin: 0 0 1rem; }
.lede { max-width: 650px; color: var(--ink); font-size: clamp(1.05rem, 2vw, 1.3rem); }

.hero { position: relative; overflow: clip; padding: 3.5rem 0 5rem; min-height: 76svh; display: grid; align-items: center; }
.hero::after { content:''; position:absolute; width:360px; height:360px; right:-180px; top:50px; border:1px solid var(--rose); border-radius:52% 48% 65% 35%; transform:rotate(20deg); opacity:.45; }
.hero-grid { display: grid; gap: 2.4rem; align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-title em { color: var(--rose); font-style: italic; font-weight: 400; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin:1.7rem 0; }
.microproof { display:flex; align-items:center; gap:.7rem; color:var(--muted); font-size:.92rem; }
.microproof::before { content:''; width:36px; border-top:1px solid var(--rose); }
.hero-media { position:relative; width:min(86%, 520px); margin-inline:auto; }
.hero-media img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:48% 48% 22px 22px; box-shadow:var(--shadow); }
.hero-media::before { content:'SPAZIO · BROOKLIN'; position:absolute; left:-20px; bottom:34px; z-index:2; padding:.6rem .85rem; color:var(--white); background:var(--ink); font-size:.68rem; letter-spacing:.17em; writing-mode:vertical-rl; }

.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.75rem 1.15rem; border:1px solid var(--ink); border-radius:999px; text-decoration:none; font-weight:600; transition:transform .2s, background .2s, color .2s; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { color:var(--white); background:var(--ink); }
.btn-primary:hover { background:var(--ink-deep); }
.btn-ghost { color:var(--ink); background:transparent; }
.btn-light { color:var(--ink); background:var(--white); border-color:var(--white); }

.breadcrumb { padding:1rem 0; color:var(--muted); font-size:.84rem; }
.breadcrumb ol { display:flex; flex-wrap:wrap; gap:.45rem; margin:0; padding:0; list-style:none; }
.breadcrumb li:not(:last-child)::after { content:' /'; color:var(--rose); }

.section { padding:4.5rem 0; }
.section-soft { background:var(--white); }
.section-dark { color:var(--white); background:var(--ink-deep); }
.section-dark h2,.section-dark h3 { color:var(--white); }
.section-intro { max-width:760px; margin-bottom:2rem; }
.answer-block { position:relative; padding:2rem; border:1px solid var(--line); background:var(--white); box-shadow:var(--shadow); border-radius:var(--radius); }
.answer-block::before { content:'RESPOSTA DIRETA'; position:absolute; top:-.75rem; left:1.5rem; padding:.15rem .65rem; color:var(--white); background:var(--rose); font-size:.65rem; font-weight:600; letter-spacing:.14em; }
.answer-block p { margin:0; font-family:var(--serif); font-size:clamp(1.2rem,3vw,1.6rem); line-height:1.5; }

.cards { display:grid; gap:1rem; }
.card { position:relative; padding:1.4rem; border:1px solid var(--line); background:rgba(255,253,248,.72); border-radius:20px; transition:transform .25s, box-shadow .25s; }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.card-number { display:block; margin-bottom:1.5rem; color:var(--rose); font-family:var(--serif); font-size:2rem; }
.card-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; text-decoration:none; }
.card-link::after { content:'↗'; color:var(--rose); font-size:1.35rem; }

.category-grid { display:grid; gap:1rem; }
.category-card { min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; overflow:hidden; color:var(--white); background:var(--ink); border-radius:var(--radius); text-decoration:none; }
.category-card:nth-child(even) { background:#315d5e; }
.category-card h3 { color:var(--white); font-size:2rem; }
.category-card span { color:var(--rose-pale); font-size:.85rem; text-transform:uppercase; letter-spacing:.12em; }
.category-grid-premium .category-card:focus-visible { outline:3px solid var(--rose); outline-offset:4px; }

.steps { counter-reset:steps; display:grid; gap:0; border-top:1px solid var(--line); }
.step { counter-increment:steps; display:grid; grid-template-columns:56px 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.step::before { content:'0' counter(steps); color:var(--rose); font-family:var(--serif); font-size:1.4rem; }

.facts-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:20px; }
.facts { width:100%; border-collapse:collapse; background:var(--white); }
.facts th,.facts td { padding:1rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.facts th { width:34%; color:var(--ink); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.facts tr:last-child th,.facts tr:last-child td { border-bottom:0; }

.quote { margin:0; padding:2rem; background:var(--rose-pale); border-radius:var(--radius); }
.quote p { margin:0 0 1rem; color:var(--ink-deep); font-family:var(--serif); font-size:clamp(1.35rem,3vw,2.1rem); line-height:1.42; }
.quote cite { font-style:normal; font-weight:600; }

.home-testimonials { display:grid; gap:1.5rem; margin-top:2rem; }
.home-testimonials .quote { min-width:0; padding:clamp(1.75rem,4vw,3rem); border-left:3px solid var(--rose); box-shadow:0 18px 50px rgba(24,62,63,.08); }
.home-testimonials .quote p { overflow-wrap:normal; word-break:normal; font-size:clamp(1.35rem,2.2vw,1.85rem); line-height:1.5; }
.home-testimonials .quote footer { margin-top:auto; padding-top:1rem; }

.faq-list { display:grid; gap:.75rem; }
.faq { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; padding:1.1rem 2.4rem 1.1rem 0; color:var(--ink-deep); font-weight:600; list-style:none; position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; position:absolute; right:.3rem; top:1rem; color:var(--rose); font-size:1.4rem; transition:transform .2s; }
.faq[open] summary::after { transform:rotate(45deg); }
.faq p { padding:0 2rem 1rem 0; color:var(--muted); }

.split { display:grid; gap:2rem; align-items:center; }
.split-media img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--radius); }
.local-grid { display:grid; gap:1.5rem; }
.local-card { padding:1.5rem; background:var(--white); border-radius:var(--radius); }
.map-placeholder { min-height:320px; display:grid; place-items:center; padding:2rem; text-align:center; background:linear-gradient(135deg,#e8e1d4,#d9e1d8); border-radius:var(--radius); }
.map-frame { width:100%; min-height:360px; border:0; border-radius:var(--radius); }
.hours { margin:0; padding:0; list-style:none; }
.hours li { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; border-bottom:1px solid var(--line); }

.final-cta { position:relative; overflow:hidden; padding:4rem 0; color:var(--white); background:var(--ink); }
.final-cta h2 { color:var(--white); max-width:780px; }
.final-cta::after { content:'SEU MOMENTO'; position:absolute; right:-1rem; bottom:-2.5rem; color:rgba(255,255,255,.05); font-family:var(--serif); font-size:clamp(5rem,15vw,13rem); white-space:nowrap; }

.site-footer { padding:3.5rem 0 6rem; color:#d9e2df; background:#0a2729; }
.footer-grid { display:grid; gap:2rem; }
.site-footer h3 { color:var(--white); font-family:var(--sans); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; }
.site-footer a { color:#d9e2df; text-decoration:none; }
.footer-links { display:grid; gap:.35rem; }
.footer-bottom { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.12); font-size:.8rem; }

.whatsapp-float { position:fixed; right:16px; bottom:16px; z-index:90; display:flex; align-items:center; gap:.5rem; padding:.8rem 1rem; color:#fff; background:#1f7a62; border-radius:999px; box-shadow:0 12px 32px rgba(0,0,0,.22); text-decoration:none; font-weight:600; }
.whatsapp-float svg { width:22px; height:22px; fill:currentColor; }

.consent { position:fixed; left:14px; right:14px; bottom:14px; z-index:300; display:none; max-width:680px; margin:auto; padding:1rem; color:var(--text); background:var(--white); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.consent.is-visible { display:block; }
.consent p { margin:0 0 .8rem; font-size:.85rem; }
.consent-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.consent button { cursor:pointer; padding:.55rem .85rem; border:1px solid var(--ink); border-radius:999px; }

.service-note { padding:1rem 1.2rem; color:var(--muted); background:var(--sand); border-left:3px solid var(--rose); }
.related { display:grid; gap:.75rem; }
.related a { padding:1rem; border:1px solid var(--line); border-radius:14px; text-decoration:none; }
.kicker { display:inline-block; margin-bottom:1rem; padding:.3rem .65rem; color:var(--ink); background:var(--rose-pale); border-radius:999px; font-size:.78rem; font-weight:600; }
.legal { max-width:800px; }
.legal h2 { margin-top:2.8rem; font-size:2rem; }

/* Central de serviços */
.services-hero { padding:3.5rem 0 5rem; }
.services-hero-grid,.jato-hero-grid { display:grid; gap:2.5rem; align-items:center; }
.services-hero h1,.jato-hero h1 { max-width:760px; font-size:clamp(3.2rem,8vw,6.8rem); line-height:.92; }
.services-hero h1 em,.jato-hero h1 em { display:block; color:var(--rose); font-weight:400; }
.services-hero-media img { width:100%; height:clamp(390px,60vw,610px); object-fit:cover; border-radius:48% 48% 24px 24px; box-shadow:var(--shadow); }
.services-catalog { padding:0 0 5rem; }
.services-group { padding:4rem 0; border-top:1px solid var(--line); scroll-margin-top:110px; }
.services-group-head { display:grid; gap:1rem; margin-bottom:2rem; }
.services-group-head h2 { margin-bottom:.8rem; }
.services-group-head p:not(.eyebrow) { max-width:720px; }
.text-link { color:var(--ink); font-size:.82rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; text-underline-offset:5px; }
.services-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.services-catalog-heading { display:grid; gap:1rem; margin-bottom:2rem; }
.services-catalog-heading>p { max-width:650px; color:var(--muted); }
.services-grid-all .services-item { min-height:500px; }
.services-item { display:flex; flex-direction:column; min-width:0; min-height:480px; padding:0; overflow:hidden; color:var(--text); background:var(--white); border:1px solid var(--line); border-radius:22px; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.services-item:hover { transform:translateY(-4px); border-color:var(--rose); box-shadow:0 18px 45px rgba(18,52,54,.1); }
.services-item-media { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--rose-pale); }
.services-item-media picture,.services-item-media img { display:block; width:100%; height:100%; }
.services-item-media img { object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.services-item:hover .services-item-media img { transform:scale(1.035); }
.services-item-kicker { margin:1.35rem 1.45rem 0; color:var(--rose-deep); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.services-item h3 { margin:.65rem 1.45rem .75rem; font-size:clamp(1.55rem,3vw,2.05rem); line-height:1.02; overflow-wrap:anywhere; }
.services-item p { flex:1; margin:0 1.45rem 1.2rem; color:var(--muted); }
.services-item strong { margin:0 1.45rem 1.5rem; color:var(--ink); font-size:.8rem; }
.services-item-featured { color:var(--white); background:var(--ink); border-color:var(--ink); }
.services-item-featured h3,.services-item-featured strong { color:var(--white); }
.services-item-featured p { color:#d9e2df; }
.services-item-featured .services-item-kicker { color:var(--rose); }
.focus-hands img { object-position:50% 44%; }
.focus-gel img { object-position:62% 34%; }
.focus-brows img { object-position:50% 30%; }
.focus-eyes img { object-position:50% 38%; }
.focus-body img { object-position:50% 54%; }
.focus-wax img { object-position:50% 46%; }
.focus-plasma img { object-position:52% 40%; }
.focus-face img { object-position:50% 38%; }
.focus-skin img { object-position:62% 48%; }
.service-guidance { padding:clamp(1.5rem,4vw,2.5rem); background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); }
.service-guidance li { margin:.7rem 0; }

.service-hero-specific { margin-block:0; }
.service-hero-specific picture { display:block; }
.service-hero-specific figcaption,.jato-hero-media figcaption { position:relative; z-index:3; width:max-content; margin:-1rem 1rem 0 auto; padding:.45rem .75rem; color:var(--ink); background:var(--ivory); border:1px solid var(--line); border-radius:999px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 8px 24px rgba(18,52,54,.08); }
.service-photo-break { padding:0 0 clamp(4rem,8vw,7rem); }
.service-photo-grid { display:grid; gap:1rem; align-items:end; }
.service-photo-grid figure { margin:0; overflow:hidden; border-radius:24px; }
.service-photo-grid picture,.service-photo-grid img { display:block; width:100%; height:100%; }
.service-photo-grid img { object-fit:cover; }
.service-photo-primary { aspect-ratio:4/5; }
.service-photo-detail { aspect-ratio:1/1; }
.service-photo-note { padding:1.5rem 0 0; }

/* Página editorial de Jato de Plasma */
.jato-hero { padding:3.5rem 0 5rem; overflow:hidden; }
.jato-hero-media { position:relative; max-width:560px; margin:auto; }
.jato-hero-media::before { content:''; position:absolute; inset:-18px 30px 18px -18px; background:var(--rose-pale); border-radius:48% 48% 20px 20px; }
.jato-hero-media img { position:relative; width:100%; max-height:660px; object-fit:cover; border-radius:48% 48% 20px 20px; box-shadow:var(--shadow); }
.jato-hero-media picture { display:block; position:relative; }
.jato-comparison { padding:clamp(1.5rem,4vw,2.8rem); background:var(--ink); border-radius:var(--radius); box-shadow:var(--shadow); }
.jato-comparison h2,.jato-comparison p { color:var(--white); }
.jato-comparison p { color:#d9e2df; }
.jato-benefits,.jato-safety { display:grid; gap:1rem; margin-top:2rem; }
.jato-benefits article { padding:1.5rem; background:var(--rose-pale); border-radius:22px; }
.jato-benefits article>span { display:inline-grid; place-items:center; width:42px; height:42px; color:var(--white); background:var(--ink); border-radius:50%; font-size:.75rem; }
.jato-benefits h3 { margin:.9rem 0 .5rem; }
.jato-safety article { padding:1.5rem; border:1px solid rgba(255,255,255,.2); border-radius:20px; }
.jato-safety h3 { color:var(--rose-pale); }
.jato-safety p { color:#d9e2df; }
.jato-steps { margin:2rem 0 0; padding:0; list-style:none; counter-reset:jato-step; }
.jato-steps li { counter-increment:jato-step; position:relative; display:grid; gap:.3rem; padding:0 0 1.7rem 4rem; }
.jato-steps li::before { content:counter(jato-step,decimal-leading-zero); position:absolute; left:0; top:0; display:grid; place-items:center; width:42px; height:42px; color:var(--white); background:var(--ink); border-radius:50%; font-size:.7rem; }
.jato-steps strong { color:var(--ink-deep); font-family:var(--serif); font-size:1.35rem; }
.jato-steps span { color:var(--muted); }
.science-note { max-width:960px; }
.science-note>div { padding:clamp(1.5rem,5vw,3.5rem); background:var(--white); border-top:4px solid var(--rose); border-radius:var(--radius); box-shadow:var(--shadow); }
.science-note a { color:var(--ink); font-weight:700; text-underline-offset:4px; }

[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }

/* Home editorial fotográfica — escopo isolado */
.home-hero { min-height:auto; padding:3rem 0 5rem; }
.home-hero-collage { position:relative; min-height:510px; }
.home-hero-main { width:82%; margin-left:auto; }
.home-hero-main img { width:100%; height:500px; object-fit:cover; object-position:center; border-radius:48% 48% 22px 22px; box-shadow:var(--shadow); }
.home-hero-small { position:absolute; left:0; bottom:20px; width:42%; padding:7px; background:var(--ivory); transform:rotate(-3deg); box-shadow:var(--shadow); }
.home-hero-small img { width:100%; aspect-ratio:3/4; object-fit:cover; }
.home-hero-place { position:absolute; right:-5px; bottom:-30px; width:118px; text-decoration:none; }
.home-hero-place img { width:118px; height:118px; object-fit:cover; border-radius:50%; border:5px solid var(--ivory); }
.home-hero-place span { display:block; margin-top:.4rem; color:var(--ink); font-size:.7rem; font-weight:600; text-align:center; }
.home-category-grid { display:grid; gap:1rem; }
.home-category { position:relative; min-height:340px; overflow:hidden; border-radius:var(--radius); color:var(--white); text-decoration:none; }
.home-category img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.home-category:hover img { transform:scale(1.045); }
.home-category::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(9,39,41,.88)); }
.home-category-copy { position:absolute; z-index:2; left:1.25rem; right:1.25rem; bottom:1.15rem; }
.home-category-copy h3 { margin:0; color:var(--white); font-size:1.8rem; }
.home-category-copy span { color:var(--rose-pale); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.home-rituals { display:grid; gap:1rem; }
.home-ritual { position:relative; min-height:380px; overflow:hidden; border-radius:var(--radius); text-decoration:none; }
.home-ritual img { width:100%; height:100%; object-fit:cover; }
.home-ritual::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,36,38,.88),transparent 58%); }
.home-ritual-copy { position:absolute; z-index:2; left:1.4rem; right:1.4rem; bottom:1.3rem; color:var(--white); }
.home-ritual-copy h3 { color:var(--white); font-size:2rem; }
.home-about-visual { position:relative; min-height:560px; }
.home-about-visual>img:first-child { width:74%; height:500px; object-fit:cover; border-radius:var(--radius); }
.home-about-detail { position:absolute; right:0; bottom:0; width:48%; aspect-ratio:1; object-fit:cover; border:8px solid var(--ivory); border-radius:50%; }
.home-experience-seal { position:absolute; right:0; top:24px; display:grid; place-items:center; width:145px; height:145px; padding:1rem; color:var(--white); background:var(--ink); border-radius:50%; font-family:var(--serif); font-size:1.15rem; text-align:center; transform:rotate(6deg); }
.home-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; }
.home-gallery img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:18px; }
.home-gallery img:nth-child(2),.home-gallery img:nth-child(3) { border-radius:50%; }

@media (min-width:680px) {
  .home-category-grid { grid-template-columns:repeat(2,1fr); }
  .home-rituals { grid-template-columns:repeat(3,1fr); }
  .home-gallery { grid-template-columns:repeat(4,1fr); }
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-photo-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,.75fr); }
  .service-photo-note { grid-column:1 / -1; max-width:720px; }
  .services-catalog-heading { grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); align-items:end; gap:3rem; }
  .jato-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:768px) {
  .home-testimonials { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(1.5rem,3vw,2.5rem); align-items:start; }
  .home-testimonials .quote:nth-child(2) { transform:translateY(24px); }
}

@media (min-width: 680px) {
  .cards { grid-template-columns:repeat(2,1fr); }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .category-grid-premium { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
  .local-grid { grid-template-columns:.85fr 1.15fr; }
  .footer-grid { grid-template-columns:1.1fr repeat(2,1fr); }
}

@media (min-width: 980px) {
  .menu-toggle { display:none; }
  .main-nav { display:flex; position:static; padding:0; background:transparent; box-shadow:none; }
  .main-nav a { font-size:.86rem; }
  .site-header .header-cta { display:inline-flex; }
  .hero { padding:4.5rem 0 6rem; }
  .hero-grid { grid-template-columns:1.08fr .92fr; gap:5rem; }
  .cards { grid-template-columns:repeat(4,1fr); }
  .category-grid { grid-template-columns:repeat(5,1fr); }
  .category-card { min-height:380px; }
  .category-card:nth-child(2),.category-card:nth-child(4) { transform:translateY(36px); }
  .category-grid-premium { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
  .category-grid-premium .category-card { transform:none; }
  .split { grid-template-columns:1fr 1fr; gap:5rem; }
  .split.reverse .split-media { order:2; }
  .footer-grid { grid-template-columns:1.3fr repeat(3,1fr); }
  .whatsapp-float { display:none; }
  .home-hero .hero-grid { grid-template-columns:1fr 1fr; }
  .home-hero-collage { min-height:620px; }
  .home-hero-main img { height:590px; }
  .home-category-grid { grid-template-columns:repeat(5,1fr); }
  .home-category { min-height:440px; }
  .home-category:nth-child(even) { transform:translateY(30px); }
  .services-hero-grid,.jato-hero-grid { grid-template-columns:1.05fr .95fr; gap:5rem; }
  .services-group-head { grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:3rem; }
  .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .services-grid-all .services-item:last-child:nth-child(3n+1) { grid-column:2; }
  .service-photo-grid { grid-template-columns:minmax(0,1.08fr) minmax(240px,.64fr) minmax(260px,.7fr); gap:1.4rem; }
  .service-photo-note { grid-column:auto; padding:0 0 2rem 1rem; }
  .jato-safety { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  [data-reveal] { opacity:1; transform:none; }
}
