.landing-hero { padding-block: clamp(32px,5.5vw,72px) clamp(55px,8vw,105px); }
.landing-hero .crumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:clamp(28px,4.4vw,64px); font-size:14px; }
.landing-hero .crumb span { width:4px; height:4px; border-radius:50%; background:var(--line); }
.landing-hero .crumb a { text-decoration:none; }
.landing-hero h1 { display:grid; gap:8px; font-size:clamp(41px,7.1vw,96px); font-weight:700; letter-spacing:-.047em; line-height:.99; max-width:1180px; }
.landing-hero h1 .serif { font-size:clamp(33px,5.5vw,76px); font-weight:300; letter-spacing:-.015em; }
.landing-hero .landing-description { font-size:clamp(18px,1.6vw,21px); line-height:1.45; max-width:54ch; margin:24px 0 0; color:var(--ink); }
.landing-hero .sub-actions { margin:24px 0 0; gap:12px; }
.landing-prose { font-size:17px; line-height:1.65; display:grid; gap:16px; max-width:68ch; }
.tool-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-bottom:60px; }
.tool-card { padding:clamp(22px,3vw,40px); display:grid; justify-items:start; align-content:start; gap:15px; }
.tool-card h2 { font-size:clamp(25px,3vw,38px); line-height:1.05; letter-spacing:-.04em; }
.tool-card p { color:var(--muted); line-height:1.5; }
.business-calc { display:grid; gap:18px; padding:clamp(20px,4vw,50px); max-width:980px; }
.business-calc p { color:var(--muted); line-height:1.5; }
.business-calc fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:0; border:1px solid var(--line); border-radius:15px; padding:14px; }
.business-calc legend { font-weight:600; font-size:16px; padding-inline:7px; }
.business-calc .field { display:grid; align-content:start; gap:7px; font-size:14px; }
.business-calc input { min-width:0; width:100%; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:11px; padding:10px; font-size:16px; }
.business-calc button { justify-self:start; }
.calc-result { display:grid; gap:6px; padding:16px; background:var(--bg); border-radius:13px; }
.calc-result p { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
.calc-result strong { color:var(--ink); font-variant-numeric:tabular-nums; }
.footer-grid { grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)); }
.footer-grid ul { list-style:none; padding:0; margin:0; }
.footer-grid > div:first-child ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:15px; }
.footer-grid li a { display:block; padding:5px 0; color:var(--dark-text); }
.footer-grid h3 { color:var(--dark-muted); font-weight:500; }
.footer-contact { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; border-top:1px solid var(--dark-line); padding-top:22px; margin-top:25px; font-size:14px; }
.footer-contact a { color:var(--dark-text); }
@media(max-width:900px){ .footer-grid { grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); } .footer-grid > div:first-child ul { grid-template-columns:1fr; } }
@media(max-width:690px){ .tool-list,.footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-grid > div:first-child { grid-column:1/-1; } .footer-grid > div:first-child ul { grid-template-columns:repeat(2,minmax(0,1fr)); } .business-calc fieldset { grid-template-columns:1fr; } }
@media(max-width:500px){ .tool-list { grid-template-columns:1fr; } .footer-sign strong { font-size:clamp(66px,24vw,125px); } }

.intro-phone {
  container-type:inline-size; display:flex; flex-direction:column; isolation:isolate; aspect-ratio:10/20;
  background:#f8f7f0; color:#181814; padding:8% 4% 5%; padding:21px 13px 14px;
}
.intro-phone .phone-camera { position:absolute; top:2.1%; left:35%; width:30%; height:4.2%; margin:0; z-index:3; }
.phone-status { display:flex; justify-content:space-between; align-items:center; font-size:5.1cqw; font-weight:750; line-height:1; padding:0 2% 5%; min-height:7%; }
.phone-status i { background:currentColor; width:15px; height:8px; border-radius:2px; }
#introScreen.mock-screen { display:flex; flex:1; flex-direction:column; position:static; min-height:0; width:100%; height:auto; overflow:hidden; object-fit:initial; font-size:4.55cqw; border-radius:10px; }
.mock-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4% 2%; font-weight:750; line-height:1.16; }
.mock-head i { width:9%; aspect-ratio:1; background:#1b1a15; border-radius:50%; }
.mock-head small { font-size:.67em; color:#69665c; }
.mock-panel { padding:6%; background:#fff; border:1px solid #e4e1d7; border-radius:12px; margin-top:5%; }
.mock-panel h3,.mock-screen h3 { font-size:1.3em; line-height:1.05; letter-spacing:-.06em; }
.mock-rows { display:grid; gap:0; margin-top:6%; }
.mock-rows p { display:flex; justify-content:space-between; gap:5px; padding-block:4%; border-top:1px solid #e9e5db; font-size:.82em; }
.mock-rows p strong { font-weight:750; }
.mock-time { font-size:.64em; color:#77736a; text-align:right; margin-top:5%; }
.mock-loyalty { background:#1b1a17; color:#fff; border-radius:12px; padding:6%; margin:5% 0 4%; }
.mock-loyalty strong { display:block; font-size:2.25em; line-height:1.15; margin-block:2%; }
.mock-loyalty small { color:#bfbcb2; }
.mock-actions { display:grid; grid-template-columns:1fr 1fr; gap:5%; margin:6% 0; }
.mock-actions span,.mock-button { display:grid; place-items:center; border-radius:9px; padding:10%; background:#ebe8dd; font-size:.78em; font-weight:650; text-align:center; line-height:1.1; }
.mock-actions span:first-child,.mock-button { color:white; background:#2d3bff; }
.mock-browser { background:#eae7dc; border-radius:9px; text-align:center; padding:4%; color:#69665d; font-size:.85em; }
.mock-calculator h3 { margin:10% 2%; font-size:1.65em; }
.mock-calculator .mock-panel { margin-top:auto; }
.mock-slider { display:block; height:5px; position:relative; background:#dddacf; border-radius:9px; margin:9% 0 8%; }
.mock-slider i { display:block; width:42%; height:100%; background:#171713; border-radius:9px; }
.mock-slider i::after { content:''; float:right; width:15px; height:15px; margin-top:-5px; background:#2d3bff; border-radius:50%; }
.mock-price { display:flex; justify-content:space-between; align-items:center; margin:6% 0; }
.mock-price strong { font-size:1.45em; }
.mock-button { padding:5%; border-radius:99px; }
.intro[data-frame="3"] .intro-phone { background:#171716; color:#f7f3e8; }
.mock-call { align-items:center; text-align:center; padding:10% 6% 2%; }
.mock-call h3 { font-size:1.47em; }
.mock-call p { color:#bbb7ad; font-size:.75em; margin:7% 0; }
.mock-wave { display:flex; gap:5px; height:20%; align-items:center; justify-content:center; margin-top:12%; }
.mock-wave i { background:#878dff; height:24%; width:5px; border-radius:9px; animation:mock-wave .48s ease-in-out infinite alternate; }
.mock-wave i:nth-child(2n) { animation-delay:.17s; }
.mock-wave i:nth-child(3n) { animation-delay:.28s; }
@keyframes mock-wave { to { height:72%; } }
.mock-hangup { display:grid; place-items:center; background:#d9283f; color:white; width:17%; aspect-ratio:1; border-radius:50%; margin-top:auto; align-self:end; }
.mock-chat .mock-head { border-bottom:1px solid #e6e2d8; }
.mock-chat .mock-bubble { max-width:88%; margin-top:6%; border-radius:12px; padding:4% 5%; line-height:1.27; font-size:.87em; background:#e9e6db; }
.mock-chat .mock-bubble:nth-child(even) { align-self:end; background:#e2e4ff; }
.mock-compose { margin-top:auto; background:#eae7dd; padding:4%; border-radius:99px; font-size:.73em; color:#6c685d; }
.intro[data-frame="2"] { background:var(--bg); color:var(--ink); }
.intro[data-frame="2"] #introNote { color:var(--muted); }
.intro[data-frame="2"] #introPhone { box-shadow:0 26px 65px #20181045; }
.intro[data-frame="2"] .intro-skip { background:var(--bg); border-color:var(--line); }
.intro[data-frame="4"] { background:var(--dark); color:var(--dark-text); }
.intro[data-frame="4"] #introNote { color:var(--dark-muted); }
.intro[data-frame="4"] .intro-skip { background:#1c1b17; border-color:#55504b; }
.intro[data-frame="4"] #introPhone { box-shadow:0 22px 90px #8b75ff26; }
.intro-digit { display:inline-block; transform-origin:50% 70%; }
#introTitle { max-width:16ch; }
.logo-final .logo-assembly { width:min(40vw,340px,45dvh); }
@media(max-width:690px){ .intro-phone { width:auto; padding:12px 9px 8px; } .logo-final .logo-assembly { width:min(62vw,42dvh); } }
.demo-chat-label { border-top:1px solid var(--dark-line); padding-top:18px; font-size:16px; font-weight:600; }
.demo-chat-label + .conversation { border:0; padding-top:0; }
.demo-call strong { white-space:nowrap; }
.demo-call:hover strong { color:#fff; }
@media(max-width:365px){ .demo-call { gap:10px; } .demo-call strong { font-size:20px; } }

.hero-note { align-items: center; }
.intro-quick { display: none; }
.intro-replay { justify-self: start; min-height: 42px; padding: 9px 15px; font-size: 13px; }
.intro-replay .play { border-block-width: 4px; border-left-width: 6px; }
.steps .step-graphic { display: block; position: relative; width: 134px; height: 68px; margin: 0 0 11px; }
.step-graphic i { position: absolute; display: block; border-radius: 999px; background: var(--ink); }
.step-graphic--points i { top: 27px; left: 7px; width: 15px; height: 15px; background: var(--wine); }
.step-graphic--points i:nth-child(2) { left: 38px; background: var(--ink); }
.step-graphic--points i:nth-child(3) { left: 69px; background: #bb8d36; }
.step-graphic--points.in-view i { animation: gather-point 3.6s var(--ease) infinite; }
.step-graphic--points.in-view i:nth-child(2) { animation-delay: .14s; }
.step-graphic--points.in-view i:nth-child(3) { animation-delay: .28s; }
@keyframes gather-point {
  0%, 100% { transform: none; }
  15% { transform: translateY(-21px) scale(.86,1.13); }
  25% { transform: translateY(4px) scale(1.28,.67); }
  36% { transform: translateY(-5px) scale(.93,1.06); }
  51%, 78% { transform: none; }
  88% { transform: translateX(8px) scale(.8); }
}
.step-graphic--flight .logo-assembly { display: block; width: 74px; }
.step-graphic--flight .ink, .step-graphic--flight .gold { opacity: .4; }
.step-graphic--flight.in-view :is(.ink, .gold) { animation: flight-mark 2.4s var(--ease) both; }
.step-graphic--flight .dot-top { --launch: translate(-31px,24px); --hover: translate(-8px,-10px); }
.step-graphic--flight .dot-mid { --launch: translate(4px,-8px); --hover: translate(10px,-24px); }
.step-graphic--flight .dot-base { --launch: translate(37px,-30px); --hover: translate(30px,-21px); }
.step-graphic--flight.in-view :is(.dot-top, .dot-mid, .dot-base) { animation: flight-dot 2.4s var(--ease) both, hover-dot 1.65s 2.4s ease-in-out infinite; }
@keyframes flight-mark { 0%, 40% { opacity: 0; transform: translateY(8px); } 100% { opacity: .62; transform: none; } }
@keyframes flight-dot {
  0% { transform: var(--launch); }
  17% { transform: var(--launch) translateY(-20px); }
  30% { transform: var(--launch) scale(1.16,.83); }
  47% { transform: var(--launch) translateY(-15px); }
  60% { transform: var(--launch); }
  81% { transform: var(--hover) translateY(-14px); }
  100% { transform: var(--hover); }
}
@keyframes hover-dot { 0%, 100% { transform: var(--hover); } 50% { transform: var(--hover) translateY(-8px); } }
.step-graphic--logo .logo-assembly { display: block; width: 74px; }
@media (max-width: 690px) {
  .intro-quick { display: block; margin-top: 18px; }
  .hero-note .intro-replay { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .step-graphic.in-view :is(i, .logo-layer, .logo-glint) { animation: none; }
  .intro.is-manual .mock-wave i { animation-duration: .48s !important; animation-iteration-count: infinite !important; }
  .intro.is-manual[open] .progress { animation-duration: var(--intro-length) !important; }
}

.type-grid { display: grid; }
.type-grid > span { grid-area: 1 / 1; min-width: 0; }
.type-grid > .type-full { opacity: 0; }
.type-grid > .type-visible { pointer-events: none; }
.type-caret {
  display: inline-block;
  position: relative;
  width: 0;
  height: .76em;
  color: var(--wine);
}
.type-caret::after {
  content: '';
  position: absolute;
  left: .045em;
  inset-block: 0;
  width: max(2px, .04em);
  border-radius: 1px;
  background: currentColor;
  animation: type-caret-blink .76s step-end infinite;
}
@keyframes type-caret-blink { 50% { opacity: .16; } }
.intro[data-frame="4"] .type-caret, .conversation .type-caret { color: #9ba5ff; }
@media (prefers-reduced-motion: reduce) {
  .intro.is-manual .type-caret::after {
    animation-duration: .76s !important;
    animation-iteration-count: infinite !important;
  }
}
.type-caret[hidden] { visibility: hidden; }

.footer-sign { width: 100%; border: 0; background: none; color: inherit; cursor: pointer; font: inherit; }
.footer-word.type-grid { display: inline-grid; }
#caseResult.type-grid { display: inline-grid; max-width: 100%; }
.motion-dot { position: relative; overflow: visible; color: transparent; background: var(--wine); text-indent: 1em; vertical-align: .02em; }
.dark .motion-dot { background: #858dff; }
.motion-dot.dot-landing { background: transparent; }
.landing-dots { position: absolute; inset: 0; }
.landing-dots i { position: absolute; inset: 0; background: var(--wine); border-radius: 50%; transform-origin: center bottom; }
.dark .landing-dots i { background: #858dff; }
.type-leader::after { display: none; }
.type-leader i { position: absolute; bottom: 0; width: .14em; height: .14em; border-radius: 50%; background: var(--wine); animation: typing-hop .8s ease-in-out infinite; }
.type-leader i:nth-child(2) { left: .18em; animation-delay: .12s; }
.type-leader i:nth-child(3) { left: .36em; animation-delay: .24s; }
.solution-top .badge { display: inline-flex; }
.badge > span { order: 0; }
.badge i:nth-of-type(n+2) { display: none; }
.badge:is([data-status="working"],[data-status="listening"]) { color: var(--ink); background: var(--warm); }
.badge:is([data-status="working"],[data-status="listening"]) i { display: block; animation: typing-hop .8s ease-in-out infinite; }
.badge i:nth-of-type(2), .answer-wait i:nth-child(2) { animation-delay: .12s; }
.badge i:nth-of-type(3), .answer-wait i:nth-child(3) { animation-delay: .24s; }
.answer-wait { display: none; align-items: center; gap: 8px; min-height: 90px; border-block: 1px solid var(--line); padding: 24px 0; }
.answer-wait i { width: 11px; height: 11px; border-radius: 50%; background: var(--wine); animation: typing-hop .8s ease-in-out infinite; }
.is-thinking .answer-wait { display: flex; }
.is-thinking .answer, .is-thinking .case-meta, .is-thinking .case-contact { display: none; }
@keyframes typing-hop {
  0%, 60%, 100% { transform: none; opacity: .7; }
  30% { transform: translateY(-.32em) scale(1.08); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .type-leader i, .badge i, .answer-wait i { animation: none; }
}

[hidden].floating-actions, .lead-card[hidden], .callback-form[hidden], .whatsapp-ready[hidden] { display: none; }
.floating-actions {
  position: fixed; z-index: 6; right: clamp(14px,3vw,42px); bottom: max(16px, env(safe-area-inset-bottom));
  display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px;
  opacity: 0; visibility: hidden; transform: translateY(16px);
  transition: opacity .28s var(--ease), transform .32s var(--ease), visibility .28s;
}
.floating-actions.is-visible { opacity: 1; visibility: visible; transform: none; }
.floating-actions.at-demo .float-demo { display: none; }
.floating-actions .button { min-height: 46px; padding: 10px 15px; }
.lead-panel .lead-card { box-shadow: none; }
.whatsapp-ready { padding: clamp(22px, 3.4vw, 44px); display: grid; justify-items: start; gap: 16px; }
.whatsapp-ready .logo-assembly { width: 94px; }
.whatsapp-ready p { font-size: clamp(20px, 2.4vw, 29px); font-weight: 600; max-width: 34ch; }
.callback-panel { border-top: 1px solid var(--dark-line); margin: 20px 0 24px; padding-top: 20px; }
.callback-heading { font-size: 16px; font-weight: 600; margin-bottom: 13px; }
.callback-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.callback-form .field { display: grid; gap: 6px; min-width: 0; }
.callback-form .field label { font-size: 13px; font-weight: 500; }
.callback-form input { width: 100%; min-width: 0; border: 1px solid #55504b; border-radius: 12px; padding: 10px 12px; background: var(--paper); color: var(--ink); font-size: 16px; }
.callback-form .button { grid-column: 1/-1; justify-self: start; }
.callback-panel .whatsapp-ready { padding: 0; }
.callback-panel .whatsapp-ready .ink { filter: invert(1); }
.callback-panel .whatsapp-ready p { font-size: 18px; }
.service-task { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px; background: var(--warm); border-radius: 20px; margin-top: 28px; padding: 20px 24px; }
.service-task p { font-size: clamp(18px,2vw,24px); max-width: 29ch; }
@media (max-width: 460px) {
  .floating-actions { left: 12px; right: 12px; }
  .floating-actions .button { min-height: 44px; padding-inline: 12px; font-size: 13px; }
}
