/* Mobile layout and legibility. No zoom, scaling or desktop-sized page canvas. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.icon { stroke-width:2; }
.inline-icon { width:1em; height:1em; vertical-align:-.12em; margin-left:.25em; }
.brand .icon { margin-left:0; }
.menu-toggle .menu-open-icon { display:block; }
.menu-toggle .menu-close-icon { display:none; }
.menu-toggle[aria-expanded=true] .menu-open-icon { display:none; }
.menu-toggle[aria-expanded=true] .menu-close-icon { display:block; }
.ticker b { display:inline-flex; align-items:center; vertical-align:middle; }
.ticker b .icon { width:24px; height:24px; margin:0; }
.inline-star .icon { width:32px; height:32px; margin:0; }
.dash-side b .icon { width:20px; height:20px; margin:0; }
.mini-web-content>b .icon,.mini-store em .icon,.mini-flow .flow-last .icon { width:9px; height:9px; }
.browser-bar>span:first-child { display:flex; gap:3px; }
.browser-bar>span:first-child i { display:block; width:4px; height:4px; border-radius:50%; background:#c9c9ce; }
.browser-bar .icon { width:9px; height:9px; }
.rail-foot>span { display:inline-flex; align-items:center; gap:7px; }
.step-number>span .icon { width:23px; height:23px; margin:0; }
.intelligence:after { display:none; }
.chat-choices button { display:inline-flex; gap:5px; align-items:center; }
.dialog-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; }
.dialog-close .icon { width:22px; height:22px; }

@media (max-width:900px) {
  .header { min-height:86px; }
  .header-cta { display:flex; margin-left:auto; margin-right:18px; font-size:13px; min-height:44px; padding:10px 16px; gap:10px; }
  .menu-toggle { display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; background:transparent; padding:10px; width:44px; height:44px; z-index:13; }
  .menu-toggle span { width:23px; height:2px; background:#fff; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .nav { display:none; position:absolute; left:var(--gutter); right:var(--gutter); top:78px; flex-direction:column; align-items:stretch; gap:0; background:#1e08aa; border:1px solid #ffffff40; border-radius:13px; padding:8px 20px; box-shadow:0 18px 30px #11005855; }
  .nav.open { display:flex; }
  .nav a { font-size:16px; letter-spacing:0; padding-block:18px; border-bottom:1px solid #fff2; }
  .nav a:last-child { border:0; }
  .explore-link { display:none; }
  .hero-description p { font-size:15.5px; max-width:290px; }
  .hero-description .button { font-size:14px; min-height:54px; padding:15px 20px; gap:16px; }
  .eyebrow,.section-heading .eyebrow,.ai-copy .eyebrow,.faq .eyebrow { font-size:11px; letter-spacing:1px; }
  .heading-aside>p,.ai-copy>p:not(.eyebrow),.care-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow) { font-size:15px; line-height:1.65; }
  .service-card>p,.process-grid p,.faq-list details>p { font-size:14px; line-height:1.65; }
  .service-card { min-width:310px; }
  .card-top span { font-size:10px; line-height:1.5; }
  .card-link { font-size:13px; min-height:48px; }
  .rail-nav>span,.rail-foot,.client-line>p,.manifesto-foot>span { font-size:10px; }
  .project-meta span { font-size:11px; line-height:1.5; }
  .filter { font-size:13px; min-height:44px; padding:10px 17px; }
  .ai-features>span { font-size:14px; line-height:1.5; }
  .ai-copy>.button,.care-plan>.button,.submit-button { font-size:14px; min-height:50px; }
  .chat-head b { font-size:15px; }
  .chat-head small { font-size:12px; }
  .message { font-size:14px; line-height:1.6; }
  .chat-messages { height:265px; }
  .chat-choices button { min-height:44px; font-size:11px; }
  .chat-form input { font-size:16px; }
  .demo-label { font-size:11px; line-height:1.5; }
  .demo-disclaimer { font-size:12px; }
  .care-copy .eyebrow { font-size:10px; line-height:1.6; }
  .care-copy .text-link,.faq-intro>a { font-size:13px; line-height:1.6; }
  .plan-top>span,.from-price { font-size:11px; line-height:1.5; }
  .plan-includes>span { font-size:13px; line-height:1.5; align-items:flex-start; }
  .plan-includes .icon { margin-top:2px; }
  .plan-note { font-size:12px; }
  .faq-list summary { font-size:15px; line-height:1.5; }
  .faq-intro { font-size:14px; }
  .project-form input,.project-form textarea { font-size:16px; line-height:1.6; }
  .project-form legend,.project-form label { font-size:14px; line-height:1.5; }
  .form-kicker,.contact-copy .eyebrow { font-size:11px; line-height:1.6; letter-spacing:.8px; }
  .project-option { font-size:12px; line-height:1.3; min-height:44px; }
  .form-privacy { font-size:12px; max-width:none; }
  .direct-wa>span { font-size:12px; line-height:1.5; }
  .direct-wa b { font-size:19px; }
}

@media (max-width:600px) {
  :root { --gutter:20px; }
  body { font-size:16px; }
  h1,h2,h3 { font-kerning:normal; }
  h2 { font-size:clamp(32px,9.1vw,44px); line-height:1.12; letter-spacing:-.035em; }
  .section { padding-block:56px; }
  .header { height:82px; min-height:82px; }
  .brand { gap:7px; }
  .brand>span { font-size:33px; letter-spacing:-2px; }
  .brand .brand-symbol { width:24px; height:24px; stroke-width:2; }
  .brand small { font-size:8px; letter-spacing:1px; }
  .header-cta { font-size:12px; padding:10px 12px; margin-right:8px; gap:8px; }
  .header-cta .icon { width:17px; height:17px; }
  .menu-toggle { flex-shrink:0; }
  .nav { top:76px; left:16px; right:16px; }
  .hero-main { padding-top:22px; padding-bottom:44px; min-height:0; }
  .hero-eyebrow { font-size:10px; line-height:1.6; letter-spacing:.75px; max-width:340px; margin-bottom:25px; gap:10px; align-items:flex-start; }
  .hero-eyebrow .tiny-dot { width:6px; height:6px; margin-top:5px; flex-shrink:0; }
  .hero h1 { font-size:clamp(39px,12.2vw,72px); line-height:1.07; letter-spacing:-.025em; z-index:4; }
  .hero h1>span { white-space:nowrap; }
  .hero-art { top:170px; right:-6%; width:54%; max-width:none; z-index:3; }
  .chrome { animation:none; transform:rotate(-6deg); }
  .hero-sticker { top:-1%; right:12%; padding:13px 19px; font-size:clamp(11px,3vw,16px); line-height:1.05; letter-spacing:-.4px; box-shadow:0 3px 0 #151515; }
  .hero-sticker:after { inset:5px; }
  .hero-sticker .icon { width:13px; height:13px; right:9px; bottom:9px; }
  .art-caption { display:none; }
  .hero-bottom { margin-top:24px; display:block; }
  .hero-description { width:100%; }
  .hero-description p { font-size:15.5px; line-height:1.6; max-width:48%; min-height:0; margin-bottom:28px; color:#eeeaff; }
  .hero-description .button { width:100%; min-height:56px; justify-content:space-between; font-size:14px; line-height:1.4; padding:15px 20px; gap:16px; box-shadow:0 4px 0 #151515; }
  .hero-description .button .icon { width:21px; height:21px; }
  .hero { padding-bottom:31px; }
  .ticker { height:49px; transform:rotate(-2deg); box-shadow:0 6px 0 #b1cf00; }
  .ticker span { font-size:18px; letter-spacing:-.5px; }
  .ticker b { margin-inline:18px; }
  .ticker b .icon { width:19px; height:19px; }
  .section-heading { display:block; margin-bottom:30px; }
  .section-heading .eyebrow { font-size:10.5px; line-height:1.6; letter-spacing:.8px; margin-bottom:19px; gap:8px; }
  .section-num { margin-right:2px; }
  .solutions h2 { font-size:clamp(32px,9.2vw,46px); }
  .word-pill { font-size:.82em; padding:4px 14px 7px; vertical-align:3px; }
  .mobile-break { display:block; }
  .heading-aside { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-top:22px; }
  .heading-aside>p { font-size:15px; line-height:1.6; max-width:none; margin:0; }
  .heading-aside .rail-nav { gap:6px; flex-shrink:0; }
  .heading-aside .rail-nav>span,.heading-aside .text-link { display:none; }
  .circle-button { width:44px; height:44px; }
  .circle-button .icon { width:19px; height:19px; }
  .drag-rail { gap:16px; padding-bottom:8px; }
  .service-card { flex-basis:86vw; min-width:0; max-width:430px; padding:25px 24px 18px; border-radius:14px; }
  .card-top { margin-bottom:29px; gap:14px; }
  .card-top span { font-size:10.5px; letter-spacing:.5px; line-height:1.5; max-width:80%; }
  .card-top>.icon { width:28px; height:28px; }
  .service-card h3 { font-size:clamp(25px,7vw,34px); line-height:1.15; letter-spacing:-.025em; margin-bottom:17px; }
  .service-card>p { font-size:15px; line-height:1.6; min-height:96px; max-width:none; color:#62625f; }
  .lime-card>p { color:#414900; }
  .dark-card>p { color:#c1c1ca; }
  .mini-web,.mini-store,.mini-flow,.mini-dashboard { height:170px; margin-top:24px; }
  .card-link { font-size:13px; line-height:1.5; min-height:52px; margin-top:24px; padding-top:17px; }
  .card-link .icon { width:20px; height:20px; }
  .rail-foot { font-size:10px; line-height:1.6; letter-spacing:.5px; gap:18px; margin-top:20px; align-items:flex-start; }
  .rail-foot>span { max-width:55%; align-items:flex-start; }
  .rail-foot>span:last-child { text-align:right; justify-content:flex-end; }
  .rail-foot .icon { width:15px; height:15px; margin-top:1px; }
  .desktop-label { display:none; }
  .mobile-label { display:inline; }
  .manifesto { padding-block:37px 43px; }
  .client-line>p { font-size:10px; line-height:1.7; letter-spacing:.8px; }
  .client-names { display:grid; grid-template-columns:1fr 1fr; gap:30px 15px; text-align:center; justify-items:center; padding:30px 0 37px; }
  .client-names>span { font-size:24px; }
  .client-plansul span { font-size:8px; }
  .client-demo span,.client-bella span { font-size:7px; }
  .manifesto-text { font-size:clamp(25px,7.2vw,39px); line-height:1.5; letter-spacing:-.035em; margin-top:12px; }
  .inline-star { width:42px; height:30px; vertical-align:2px; margin-inline:1px; }
  .inline-star .icon { width:25px; height:25px; }
  .underline-lime { text-underline-offset:6px; text-decoration-thickness:1px; }
  .manifesto-foot { align-items:flex-end; margin-top:29px; gap:18px; }
  .manifesto-foot>span { font-size:10px; line-height:1.65; letter-spacing:.5px; max-width:50%; }
  .manifesto-foot a { font-size:13px; gap:9px; }
  .manifesto-foot .icon { width:18px; height:18px; }
  .title-spark { width:27px; height:27px; margin-left:13px; vertical-align:3px; }
  .project-toolbar { margin-bottom:23px; }
  .filters { gap:8px; margin-right:calc(var(--gutter)*-1); padding-right:var(--gutter); padding-bottom:4px; max-width:calc(100vw - var(--gutter)); }
  .filter { font-size:13px; min-height:44px; padding:11px 18px; }
  .project-toolbar>.rail-nav { display:none; }
  .project-card { flex-basis:88vw; min-width:0; }
  .project-image { height:290px; padding:31px 20px 0; border-radius:12px; }
  .project-browser { border-radius:7px 7px 0 0; }
  .browser-bar { height:21px; padding-inline:8px; }
  .browser-bar small { font-size:7px; }
  .project-browser img { height:calc(100% - 21px); }
  .visit-project { width:44px; height:44px; right:14px; bottom:14px; }
  .visit-project .icon { width:22px; height:22px; }
  .project-meta { padding-top:18px; gap:15px; }
  .project-meta span { font-size:10.5px; letter-spacing:.6px; line-height:1.5; }
  .project-meta h3 { font-size:25px; letter-spacing:-.035em; margin-top:7px; }
  .project-meta>a { display:flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:8px; }
  .project-meta>a .icon { width:23px; height:23px; }
  .ai-grid { grid-template-columns:1fr; gap:39px; }
  .ai-copy .eyebrow { font-size:10.5px; line-height:1.6; letter-spacing:.7px; margin-bottom:21px; }
  .ai-copy h2 { font-size:clamp(32px,9.2vw,46px); line-height:1.12; letter-spacing:-.04em; }
  .ai-copy>p:not(.eyebrow) { font-size:15.5px; line-height:1.65; max-width:none; margin-top:25px; color:#c0bfc9; }
  .ai-features { margin-block:25px 29px; gap:15px; }
  .ai-features>span { font-size:14px; line-height:1.6; align-items:flex-start; }
  .ai-features .icon { width:18px; height:18px; margin-top:2px; }
  .ai-copy>.button { width:100%; font-size:14px; padding:16px 18px; min-height:54px; gap:15px; }
  .ai-demo { max-width:460px; width:100%; margin-inline:auto; padding-inline:0; }
  .demo-label { font-size:10.5px; letter-spacing:.8px; margin-bottom:17px; }
  .chat-window { border-radius:14px; transform:none; }
  .chat-head { padding:19px 17px; gap:12px; }
  .chat-head b { font-size:15px; }
  .chat-head small { font-size:12px; }
  .bot-avatar { width:42px; height:42px; }
  .chat-messages { height:270px; padding:19px 17px; }
  .message { font-size:14px; line-height:1.65; max-width:95%; padding:14px; }
  .chat-choices { padding:0 15px 17px; gap:7px; }
  .chat-choices button { font-size:12px; padding:9px 12px; min-height:44px; }
  .chat-form { padding:13px 15px; gap:8px; }
  .chat-form input { font-size:16px; min-height:44px; }
  .chat-form button { width:44px; height:44px; }
  .chat-form button .icon { width:19px; height:19px; }
  .demo-disclaimer { font-size:12px; line-height:1.65; max-width:none; margin-top:17px; color:#b8b7c0; }
  .process-grid { grid-template-columns:1fr 1fr; gap:32px 22px; }
  .process-grid article { padding-top:18px; }
  .step-number { font-size:39px; letter-spacing:-2px; }
  .step-number>span .icon { width:22px; height:22px; }
  .process-grid h3 { font-size:clamp(20px,5.4vw,28px); letter-spacing:-.04em; margin-top:25px; margin-bottom:13px; }
  .process-grid p { font-size:14px; line-height:1.65; max-width:none; }
  .care-section { padding-block:47px; }
  .care-grid { grid-template-columns:1fr; gap:30px; }
  .care-copy .eyebrow { font-size:10px; line-height:1.6; letter-spacing:.6px; margin-bottom:21px; }
  .care-copy .eyebrow .icon { width:19px; height:19px; }
  .care-copy h2 { font-size:clamp(35px,10vw,53px); line-height:1.12; letter-spacing:-.045em; }
  .care-copy>p:not(.eyebrow) { font-size:15.5px; line-height:1.65; max-width:none; margin-top:23px; margin-bottom:19px; }
  .care-copy .text-link { font-size:14px; gap:17px; line-height:1.6; }
  .care-plan { padding:25px 22px; margin-right:5px; border-radius:13px; box-shadow:5px 5px 0 #151515; }
  .plan-top { gap:15px; margin-bottom:24px; }
  .plan-top>span { font-size:10.5px; line-height:1.5; letter-spacing:.6px; }
  .plan-top>.icon { width:23px; height:23px; }
  .from-price { font-size:11px; line-height:1.5; }
  .price { font-size:98px; line-height:1.2; }
  .price>span:first-child { font-size:22px; margin-top:25px; }
  .price .price-cents { font-size:39px; margin-top:15px; }
  .price-cents small { font-size:14px; margin-top:5px; }
  .plan-includes { grid-template-columns:1fr 1fr; gap:15px 12px; margin:17px 0 25px; }
  .plan-includes>span { font-size:13px; line-height:1.6; gap:7px; align-items:flex-start; }
  .plan-includes .icon { width:16px; height:16px; margin-top:3px; }
  .plan-note { font-size:12.5px; line-height:1.7; margin-bottom:21px; color:#5a5e42; }
  .care-plan>.button { font-size:14px; line-height:1.5; min-height:54px; padding:15px 18px; }
  .faq-grid { grid-template-columns:1fr; gap:29px; }
  .faq .eyebrow { font-size:10.5px; margin-bottom:20px; letter-spacing:.8px; }
  .faq-intro { font-size:15px; line-height:1.7; margin-top:22px; }
  .faq-intro>a { font-size:13.5px; line-height:1.7; display:inline-flex; align-items:center; gap:5px; }
  .faq-list summary { font-size:16px; line-height:1.5; padding-block:23px; gap:18px; }
  .faq-list summary>.icon { width:20px; height:20px; }
  .faq-list details>p { font-size:15px; line-height:1.75; padding-bottom:23px; }
  .contact-grid { grid-template-columns:1fr; gap:33px; }
  .contact-copy .eyebrow { font-size:10.5px; line-height:1.7; letter-spacing:.7px; margin-bottom:23px; }
  .contact-copy h2 { font-size:clamp(34px,10vw,53px); line-height:1.15; letter-spacing:-.045em; }
  .contact-copy h2>.icon { width:28px; height:28px; margin-left:5px; }
  .contact-copy>p:not(.eyebrow) { font-size:16px; line-height:1.65; margin-top:23px; }
  .direct-wa { margin-top:27px; gap:13px; }
  .direct-wa>.icon { width:28px; height:28px; }
  .direct-wa>span { font-size:12px; line-height:1.6; }
  .direct-wa b { font-size:20px; }
  .project-form { padding:25px 21px; border-radius:14px; }
  .form-kicker { font-size:11px; line-height:1.6; letter-spacing:.7px; margin-bottom:25px; }
  .project-form legend,.project-form label { font-size:14px; line-height:1.6; }
  .project-options { gap:8px; }
  .project-option { font-size:12px; line-height:1.4; padding:10px 13px; min-height:44px; }
  .form-fields { grid-template-columns:1fr; gap:25px; margin-bottom:26px; }
  .project-form input,.project-form textarea { font-size:16px; line-height:1.6; padding-block:12px; }
  .project-form textarea { min-height:130px; }
  .submit-button { font-size:14px; line-height:1.5; min-height:56px; padding:15px 17px; gap:14px; margin-top:24px; }
  .form-privacy { font-size:12px; line-height:1.7; max-width:none; margin-top:17px; }
  .footer { padding-block:35px 90px; }
  .footer-top { display:grid; grid-template-columns:1fr auto; gap:25px 18px; padding-bottom:28px; }
  .footer-top>.brand { grid-row:1; }
  .footer-top>p { grid-column:1; grid-row:2; font-size:10px; line-height:1.75; letter-spacing:.6px; }
  .back-top { grid-column:2; grid-row:1 / span 2; align-self:start; font-size:9px; letter-spacing:.5px; gap:10px; }
  .back-top>span { width:40px; height:40px; }
  .back-top>span .icon { width:20px; height:20px; }
  .footer-bottom { flex-wrap:wrap; gap:15px 20px; font-size:11px; padding-top:23px; }
  .footer-bottom>span:nth-child(2) { order:3; width:100%; font-size:10px; }
  .privacy-button { font-size:11px; margin-left:auto; min-height:44px; }
  .floating-wa { right:16px; bottom:18px; width:54px; height:54px; padding:13px; justify-content:center; }
  .floating-wa>span { display:none; }
  .floating-wa>.icon { width:27px; height:27px; }
  dialog { padding:31px 24px; }
  dialog h2 { font-size:31px; }
  dialog>p:not(.eyebrow) { font-size:15px; line-height:1.7; }
}

@media (max-width:360px) {
  :root { --gutter:18px; }
  .brand>span { font-size:30px; }
  .brand small { display:none; }
  .header-cta { margin-right:4px; font-size:12px; }
  .hero h1 { font-size:39px; letter-spacing:-.025em; }
  .hero-art { top:183px; right:-7%; width:54%; }
  .hero-description p { font-size:15px; max-width:48%; }
  .hero-description .button { font-size:13px; }
  .solutions h2 { font-size:31px; }
  .heading-aside { display:block; }
  .heading-aside .rail-nav { margin-top:18px; justify-content:flex-end; }
  .service-card { padding-inline:21px; }
  .service-card h3 { font-size:25px; }
  .service-card>p { min-height:120px; }
  .process-grid { gap:28px 17px; }
  .process-grid h3 { font-size:19px; }
  .process-grid p { font-size:14px; }
  .plan-includes { grid-template-columns:1fr; gap:12px; }
  .plan-includes>span { font-size:14px; }
  .contact-copy h2 { font-size:34px; }
  .contact-copy h2>.icon { width:22px; height:22px; }
  .care-plan>.button,.submit-button { font-size:13px; }
  .client-names>span { font-size:21px; }
}
