@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');


:root {
  --wine: #581d38;
  --wine-deep: #2d1021;
  --wine-soft: #7d3451;
  --rose: #c98084;
  --rose-light: #e7b8b3;
  --cream: #f7f1eb;
  --paper: #fffaf5;
  --ink: #241c20;
  --muted: #6f6267;
  --sage: #879889;
  --line: rgba(65, 31, 43, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--rose-light); color: var(--wine-deep); }

.nav {
  position: sticky; top: 0; z-index: 40; height: 82px; padding: 0 5.5vw;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255, 250, 245, .86); border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.brand { font: 500 1.68rem "Playfair Display", serif; letter-spacing: -.06em; white-space: nowrap; }
.brand span { color: var(--rose); }
.nav-links { display: flex; align-items: center; gap: 2rem; font-size: .82rem; }
.nav-links a { position: relative; color: #51444a; }
.nav-links a::after { content: ""; position: absolute; height: 1px; width: 0; left: 0; bottom: -7px; background: var(--wine); transition: width .25s ease; }
.nav-links a:hover::after { width: 100%; }
.nav-cta, .button, .inline-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: .75rem;
  font-weight: 600; transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.nav-cta { padding: .82rem 1.15rem; border-radius: 999px; background: var(--wine); color: #fff; font-size: .78rem; box-shadow: 0 9px 25px rgba(88,29,56,.12); }
.nav-cta span, .button span, .inline-cta > span, .text-link span { color: var(--rose-light); font-size: 1.05rem; }
.nav-cta:hover, .button:hover, .inline-cta:hover { transform: translateY(-2px); }
.nav-cta:focus-visible, .button:focus-visible, .inline-cta:focus-visible, .nav-links a:focus-visible, .text-link:focus-visible, .whatsapp-float:focus-visible { outline: 3px solid var(--rose); outline-offset: 3px; }

.hero {
  position: relative; isolation: isolate; min-height: 760px; padding: clamp(5.5rem, 9vw, 8.5rem) 5.5vw 6rem;
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr); gap: clamp(3rem, 6vw, 7rem); align-items: center; overflow: hidden;
}
.hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: linear-gradient(120deg, #fffaf5 0%, #f8f0ea 57%, #f1dfdc 100%); }
.hero::after { content: ""; position: absolute; z-index: -2; width: 720px; height: 720px; right: -390px; top: -340px; border: 1px solid rgba(88,29,56,.14); border-radius: 50%; box-shadow: 0 0 0 65px rgba(88,29,56,.025), 0 0 0 130px rgba(88,29,56,.02); }
.hero-glow { position: absolute; z-index: -2; border-radius: 50%; filter: blur(3px); pointer-events: none; }
.hero-glow-one { width: 340px; height: 340px; left: -170px; bottom: -190px; background: radial-gradient(circle, rgba(201,128,132,.22), transparent 70%); }
.hero-glow-two { width: 460px; height: 460px; right: 5%; top: 15%; background: radial-gradient(circle, rgba(255,255,255,.75), transparent 68%); }
.eyebrow { margin: 0; display: flex; align-items: center; gap: .65rem; color: var(--wine-soft); font: 500 .68rem "DM Mono", monospace; letter-spacing: .15em; }
.eyebrow > span { width: 28px; height: 1px; background: currentColor; }
.hero h1, .section h2, .contact h2 { margin: 1.15rem 0 1.65rem; font: 500 clamp(3.8rem, 6.25vw, 6.8rem)/.94 "Playfair Display", serif; letter-spacing: -.068em; }
.hero h1 { max-width: 850px; text-wrap: balance; }
.hero h1 em { color: var(--wine); font-weight: 500; }
.hero-text { max-width: 665px; margin: 0; color: #5d5055; font-size: 1.1rem; line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { min-height: 52px; padding: .95rem 1.35rem; border: 1px solid var(--wine); border-radius: 999px; font-size: .82rem; }
.button.primary { background: var(--wine); color: #fff; box-shadow: 0 15px 30px rgba(88,29,56,.16); }
.button.primary:hover { box-shadow: 0 18px 36px rgba(88,29,56,.23); }
.button.ghost { color: var(--wine); background: rgba(255,255,255,.3); }
.button.ghost span { color: var(--wine-soft); }
.hero-note { margin: 1.2rem 0 0; color: #84747b; font-size: .76rem; }

.hero-visual { position: relative; min-height: 490px; display: grid; place-items: center; }
.visual-shell { position: relative; z-index: 2; width: 100%; max-width: 570px; background: rgba(255,250,245,.78); border: 1px solid rgba(88,29,56,.18); box-shadow: 0 34px 80px rgba(63,30,43,.16); backdrop-filter: blur(12px); }
.visual-header { height: 52px; padding: 0 1.2rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font: 500 .58rem "DM Mono",monospace; letter-spacing: .1em; }
.visual-header > span { color: var(--wine); }
.visual-header > i { display: flex; align-items: center; gap: .45rem; color: #72666a; font-style: normal; }
.visual-header b { display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px rgba(135,152,137,.12); }
.visual-flow { min-height: 260px; padding: 2.4rem 1.4rem; display: grid; grid-template-columns: 1fr auto 116px auto 1fr; align-items: center; gap: .75rem; background: linear-gradient(140deg, rgba(255,255,255,.6), rgba(231,184,179,.18)); }
.flow-stage { min-width: 0; }
.flow-stage small, .flow-core small { display: block; color: #85757a; font: 500 .56rem "DM Mono",monospace; letter-spacing: .12em; }
.flow-stage strong { display: block; margin-top: .55rem; font: 500 1.32rem/1.07 "Playfair Display",serif; letter-spacing: -.03em; }
.flow-arrow { color: var(--rose); }
.flow-core { width: 116px; height: 116px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: var(--wine); color: #fff; box-shadow: 0 0 0 12px rgba(201,128,132,.12), 0 0 0 24px rgba(201,128,132,.06); }
.flow-core span { font: 500 2.2rem "Playfair Display",serif; }
.flow-core small { color: var(--rose-light); }
.stage-lines { display: grid; gap: 5px; margin-top: 1rem; }
.stage-lines i { height: 3px; width: 82%; background: rgba(88,29,56,.13); }
.stage-lines i:nth-child(2) { width: 60%; }
.stage-lines i:nth-child(3) { width: 72%; }
.result-signal { height: 30px; margin-top: .8rem; display: flex; gap: 5px; align-items: end; }
.result-signal i { display: block; width: 8px; background: var(--rose-light); }
.result-signal i:nth-child(1) { height: 30%; }.result-signal i:nth-child(2) { height: 48%; }.result-signal i:nth-child(3) { height: 72%; }.result-signal i:nth-child(4) { height: 100%; background: var(--wine); }
.visual-footer { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.visual-footer div { padding: 1rem 1.1rem; border-right: 1px solid var(--line); }
.visual-footer div:last-child { border: 0; }
.visual-footer small { display: block; color: #948389; font: .53rem "DM Mono",monospace; letter-spacing: .1em; }
.visual-footer strong { display: block; margin-top: .25rem; font: 500 .95rem "Playfair Display",serif; }
.floating-tag { position: absolute; z-index: 3; padding: .78rem 1rem; background: var(--wine-deep); color: #fff; font-size: .68rem; box-shadow: 0 14px 35px rgba(45,16,33,.2); }
.floating-tag span { color: var(--rose-light); margin-right: .5rem; }
.tag-one { top: 28px; right: -18px; }
.tag-two { left: -24px; bottom: 28px; }

.trust-strip { min-height: 66px; padding: 1rem 5.5vw; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; background: var(--wine-deep); color: #f6e8e5; font: 500 .64rem "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.trust-strip i { color: var(--rose); font-style: normal; }
.section { padding: clamp(6rem, 9vw, 9rem) 5.5vw; scroll-margin-top: 82px; }
.section h2 { font-size: clamp(2.9rem, 4.6vw, 5rem); }

.problem { display: grid; grid-template-columns: .95fr 1.05fr; gap: 2rem 8vw; }
.problem-intro h2 { max-width: 660px; }
.problem-copy { padding-top: 2rem; max-width: 620px; }
.problem-copy p { color: var(--muted); line-height: 1.72; }
.problem-copy .lead { color: var(--ink); font: 500 1.32rem/1.55 "Playfair Display",serif; }
.outcome-grid { grid-column: 1 / -1; margin-top: 3rem; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.outcome-card { position: relative; min-height: 280px; padding: 1.7rem 1.6rem 2rem; border-right: 1px solid var(--line); transition: background .3s ease, transform .3s ease; }
.outcome-card:last-child { border: 0; }
.outcome-card:hover { background: var(--cream); transform: translateY(-5px); }
.outcome-marker { color: var(--rose); font: 500 .62rem "DM Mono",monospace; }
.outcome-card h3 { margin: 4.3rem 0 .8rem; font: 500 1.45rem/1.05 "Playfair Display",serif; letter-spacing: -.025em; }
.outcome-card p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.62; }

.solutions { background: var(--wine); color: #fff9f6; }
.light-eyebrow { color: var(--rose-light); }
.section-top { display: grid; grid-template-columns: 1.3fr .7fr; gap: 5rem; align-items: end; }
.section-top h2 { max-width: 780px; }
.section-top > p { max-width: 390px; margin: 0 0 1.7rem; color: #dac7cc; line-height: 1.65; }
.solution-grid { margin-top: 4.5rem; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.solution-card { padding: 2rem 2rem 2.2rem; border-right: 1px solid rgba(255,255,255,.2); transition: background .3s ease; }
.solution-card:last-child { border: 0; }
.solution-card:hover { background: rgba(255,255,255,.055); }
.solution-meta { display: flex; align-items: center; justify-content: space-between; }
.solution-meta span { color: var(--rose-light); font: .65rem "DM Mono",monospace; }
.solution-meta small { color: #d8c1c7; font: .58rem "DM Mono",monospace; letter-spacing: .13em; }
.solution-card h3 { margin: 4.5rem 0 1rem; max-width: 290px; font: 500 1.8rem/1.08 "Playfair Display",serif; letter-spacing: -.03em; }
.solution-card > p { min-height: 125px; color: #dacdd1; font-size: .88rem; line-height: 1.7; }
.solution-card ul { margin: 2rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid rgba(255,255,255,.14); list-style: none; }
.solution-card li { position: relative; padding: .4rem 0 .4rem 1rem; color: #f5e8e8; font-size: .75rem; }
.solution-card li::before { content: "·"; position: absolute; left: 0; color: var(--rose-light); }

.method { display: grid; grid-template-columns: .95fr 1.05fr; gap: 8vw; align-items: start; }
.method-heading { position: sticky; top: 130px; }
.method-heading h2 { max-width: 640px; }
.method-heading > p:last-child { max-width: 500px; color: var(--muted); line-height: 1.7; }
.method-list { border-top: 1px solid var(--line); }
.method-step { min-height: 180px; padding: 2rem 0; display: grid; grid-template-columns: 65px 1fr; gap: 1rem; border-bottom: 1px solid var(--line); }
.method-step > span { color: var(--rose); font: 500 .66rem "DM Mono",monospace; }
.method-step h3 { margin: 0 0 .7rem; font: 500 2.05rem "Playfair Display",serif; letter-spacing: -.04em; }
.method-step p { max-width: 470px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.65; }

.case { padding-top: 0; }
.case-panel { position: relative; overflow: hidden; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,7vw,7rem); align-items: center; padding: clamp(3rem,6vw,6rem); background: var(--wine-deep); color: #fff8f5; }
.case-panel::before { content: ""; position: absolute; width: 520px; height: 520px; left: -360px; bottom: -340px; border: 1px solid rgba(231,184,179,.25); border-radius: 50%; box-shadow: 0 0 0 70px rgba(231,184,179,.025), 0 0 0 140px rgba(231,184,179,.018); }
.case-copy { position: relative; z-index: 2; }
.case-copy h2 { margin-bottom: .75rem; }
.case-lead { max-width: 510px; color: #ead9dd; font: 500 1.25rem/1.55 "Playfair Display",serif; }
.case-copy > p:not(.eyebrow):not(.case-lead) { max-width: 500px; color: #cbbbc0; font-size: .86rem; line-height: 1.7; }
.case-facts { margin: 1.8rem 0; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.case-facts div { padding: 1rem .7rem; border-right: 1px solid rgba(255,255,255,.15); }
.case-facts div:first-child { padding-left: 0; }
.case-facts div:last-child { border: 0; }
.case-facts small { display: block; color: var(--rose-light); font: .52rem "DM Mono",monospace; letter-spacing: .1em; }
.case-facts strong { display: block; margin-top: .35rem; color: #f6e9eb; font-size: .72rem; font-weight: 500; }
.text-link { display: inline-block; margin-top: 1.2rem; padding-bottom: .35rem; border-bottom: 1px solid var(--rose); font-size: .78rem; }
.case-visual { position: relative; z-index: 2; padding: 2rem 0; }
.browser-card { position: relative; z-index: 2; overflow: hidden; background: #f7f3ed; color: var(--ink); transform: rotate(2.2deg); box-shadow: 22px 25px 0 rgba(201,128,132,.38), 0 35px 70px rgba(0,0,0,.24); }
.browser-top { height: 38px; padding: 0 12px; display: flex; align-items: center; gap: 5px; border-bottom: 1px solid #d8cdc7; }
.browser-top i { width: 7px; height: 7px; border-radius: 50%; background: var(--rose); }
.browser-top i:nth-child(2) { background: var(--sage); }.browser-top i:nth-child(3) { background: #c9bbb4; }
.browser-top span { margin-left: .55rem; color: #897c80; font: .55rem "DM Mono",monospace; }
.browser-body { min-height: 330px; padding: 1.6rem 2rem 2.4rem; background: linear-gradient(140deg,#fffaf5 20%,#eadeda); }
.browser-nav { display: flex; align-items: center; gap: .8rem; }
.browser-logo { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--wine); color: #fff; font: 500 1.1rem "Playfair Display",serif; margin-right: auto; }
.browser-nav > span { width: 34px; height: 3px; background: rgba(88,29,56,.15); }
.browser-content { max-width: 330px; padding-top: 4.2rem; }
.browser-content small { color: var(--wine-soft); font: 500 .54rem "DM Mono",monospace; letter-spacing: .1em; }
.browser-content strong { display: block; margin-top: .7rem; color: var(--wine-deep); font: 500 clamp(2.1rem,3.3vw,3.8rem)/.88 "Playfair Display",serif; letter-spacing: -.06em; }
.browser-content p { color: #77686d; font-size: .72rem; }
.browser-content > i { display: block; width: 95px; height: 27px; margin-top: 1.2rem; border-radius: 999px; background: var(--wine); }
.case-stamp { position: absolute; z-index: 3; right: -28px; bottom: -2px; width: 115px; height: 115px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: var(--rose); color: var(--wine-deep); font: 500 .57rem/1.5 "DM Mono",monospace; letter-spacing: .08em; transform: rotate(-8deg); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.case-stamp b { font-size: 1.15rem; }

.fit { padding-top: 0; }
.fit-card { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8vw; padding: clamp(3rem,6vw,6rem); background: var(--cream); border: 1px solid var(--line); }
.fit-copy h2 { max-width: 700px; }
.fit-copy > p:last-child { max-width: 560px; color: var(--muted); line-height: 1.7; }
.fit-list { align-self: center; border-top: 1px solid var(--line); }
.fit-list > p { margin: 0; padding: 1.05rem 0; display: flex; gap: 1rem; align-items: flex-start; border-bottom: 1px solid var(--line); color: #53464b; font-size: .87rem; line-height: 1.5; }
.fit-list > p span { flex: 0 0 auto; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: var(--wine); color: #fff; font-size: .64rem; }
.inline-cta { margin-top: 1.8rem; padding-bottom: .45rem; border-bottom: 1px solid var(--wine); color: var(--wine); font-size: .8rem; }
.inline-cta > span { color: var(--rose); }

.about { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; align-items: center; }
.portrait-wrap { position: relative; width: min(100%, 440px); aspect-ratio: 4/5; }
.portrait-accent { position: absolute; width: 77%; height: 83%; left: -20px; bottom: -18px; border: 1px solid var(--rose); }
.portrait { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: 55% 58%; filter: saturate(.87) contrast(1.02); }
.portrait-label { position: absolute; z-index: 2; right: -23px; bottom: 28px; padding: .75rem .9rem; background: var(--wine-deep); color: #fff; font: 500 .57rem/1.55 "DM Mono",monospace; letter-spacing: .11em; }
.portrait-badge { position: absolute; z-index: 2; top: -25px; right: -28px; width: 88px; height: 88px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: var(--rose); color: var(--wine-deep); font: 500 .55rem/1.5 "DM Mono",monospace; letter-spacing: .08em; }
.about-copy h2 { max-width: 800px; }
.about-copy p { max-width: 680px; color: var(--muted); line-height: 1.74; }
.about-copy .about-lead { color: var(--ink); font: 500 1.25rem/1.55 "Playfair Display",serif; }
.about-tags { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .55rem; }
.about-tags span { padding: .55rem .85rem; border: 1px solid var(--line); border-radius: 999px; color: var(--wine-soft); font: .6rem "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }

.contact { position: relative; isolation: isolate; overflow: hidden; padding: clamp(6rem,10vw,10rem) 5.5vw; background: var(--wine); color: #fff9f6; }
.contact-orbit { position: absolute; z-index: -1; width: 650px; height: 650px; right: -220px; top: -230px; border: 1px solid rgba(231,184,179,.35); border-radius: 50%; box-shadow: 0 0 0 70px rgba(231,184,179,.035), 0 0 0 140px rgba(231,184,179,.02); }
.contact h2 { max-width: 1100px; font-size: clamp(3.2rem,5.6vw,6.15rem); }
.contact > p:not(.eyebrow) { max-width: 620px; color: #e1ced3; line-height: 1.7; }
.button.light { margin-top: 1.4rem; background: #fff9f6; border-color: #fff9f6; color: var(--wine); box-shadow: 0 15px 35px rgba(34,12,25,.2); }
.button.light span { color: var(--rose); }
.contact > small { display: block; margin-top: 1rem; color: #cfb9c0; font-size: .65rem; }

footer { min-height: 88px; padding: 1.5rem 5.5vw; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; background: var(--wine-deep); color: #cdbbc1; font-size: .68rem; }
footer .brand { color: #fff; }
.whatsapp-float { position: fixed; z-index: 50; right: 24px; bottom: 24px; display: inline-flex; align-items: center; gap: .6rem; padding: .78rem 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: #176b47; color: #fff; box-shadow: 0 12px 32px rgba(36,28,32,.24); font-size: .72rem; font-weight: 600; transition: transform .25s ease, background .25s ease; }
.whatsapp-float:hover { transform: translateY(-3px); background: #115639; }
.whatsapp-float svg { width: 20px; height: 20px; fill: currentColor; }

@media (max-width: 1050px) {
  .nav-links { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { max-width: 860px; }
  .hero-visual { width: min(100%, 650px); margin: 0 auto; }
  .outcome-grid { grid-template-columns: repeat(2,1fr); }
  .outcome-card:nth-child(2) { border-right: 0; }
  .outcome-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-top { grid-template-columns: 1fr; gap: 0; }
  .section-top > p { margin-top: 0; }
  .solution-grid { grid-template-columns: 1fr; }
  .solution-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .solution-card:last-child { border: 0; }
  .solution-card h3 { margin-top: 2.5rem; }
  .solution-card > p { min-height: 0; max-width: 690px; }
  .case-panel, .fit-card { grid-template-columns: 1fr; }
  .case-visual { width: min(100%, 690px); margin: 0 auto; }
}

@media (max-width: 780px) {
  .nav { height: 72px; padding: 0 6vw; }
  .nav-cta { padding: .7rem .9rem; font-size: .68rem; }
  .hero { min-height: 0; padding: 5rem 6vw 4rem; grid-template-columns: minmax(0,1fr); gap: 3rem; }
  .hero h1 { font-size: clamp(3.35rem, 13vw, 5rem); }
  .hero-text { font-size: 1rem; }
  .hero-visual { min-height: 410px; }
  .visual-flow { grid-template-columns: 1fr auto 94px auto 1fr; padding-left: .9rem; padding-right: .9rem; gap: .4rem; }
  .flow-core { width: 94px; height: 94px; }
  .flow-core span { font-size: 1.8rem; }
  .flow-stage strong { font-size: 1.05rem; }
  .tag-one { right: -8px; }.tag-two { left: -8px; }
  .trust-strip { padding-left: 6vw; padding-right: 6vw; overflow-x: auto; justify-content: flex-start; }
  .trust-strip span { white-space: nowrap; }
  .section { padding: 5.5rem 6vw; }
  .problem, .method, .about { grid-template-columns: 1fr; }
  .problem-copy { padding-top: 0; }
  .method-heading { position: static; }
  .method-list { margin-top: 1rem; }
  .case { padding-top: 0; }
  .fit { padding-top: 0; }
  .case-panel, .fit-card { padding: 2.2rem; }
  .about { gap: 4.5rem; }
  .portrait-wrap { width: min(80vw, 420px); }
  .contact { padding-left: 6vw; padding-right: 6vw; }
  footer { padding-left: 6vw; padding-right: 6vw; }
  footer > span:nth-child(2) { display: none; }
}

@media (max-width: 520px) {
  .brand { font-size: 1.45rem; }
  .nav-cta { max-width: 132px; text-align: center; line-height: 1.2; }
  .nav-cta span { display: none; }
  .hero { padding-top: 4rem; }
  .hero h1 { font-size: 3.25rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-visual { min-height: 380px; margin-top: .5rem; }
  .visual-shell { width: 108%; }
  .visual-header { padding: 0 .85rem; }
  .visual-header > i { display: none; }
  .visual-flow { min-height: 240px; grid-template-columns: 1fr 74px 1fr; }
  .flow-arrow { display: none; }
  .flow-core { width: 74px; height: 74px; }
  .flow-core span { font-size: 1.45rem; }
  .flow-core small { font-size: .46rem; }
  .flow-stage strong { font-size: .9rem; }
  .result-signal { height: 23px; }
  .visual-footer div { padding: .8rem .65rem; }
  .visual-footer strong { font-size: .8rem; }
  .floating-tag { font-size: .58rem; }
  .tag-one { top: 5px; }.tag-two { bottom: 3px; }
  .section h2, .contact h2 { font-size: 2.8rem; }
  .outcome-grid { grid-template-columns: 1fr; }
  .outcome-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .outcome-card h3 { margin-top: 2.4rem; }
  .case-facts { grid-template-columns: 1fr; }
  .case-facts div, .case-facts div:first-child { padding: .8rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .case-facts div:last-child { border: 0; }
  .browser-body { min-height: 260px; padding: 1.2rem; }
  .browser-content { padding-top: 3rem; }
  .browser-content strong { font-size: 2.2rem; }
  .case-stamp { right: -16px; width: 90px; height: 90px; }
  .portrait-badge { right: -10px; }
  footer > span { display: none; }
  .whatsapp-float { right: 16px; bottom: 16px; padding: .78rem; }
  .whatsapp-float > span { display: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .visual-shell { animation: float 6s ease-in-out infinite; }
  .floating-tag { animation: drift 5s ease-in-out infinite; }
  .tag-two { animation-delay: -2.2s; }
  @keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
  @keyframes drift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
}
