/* Phone composition only. The approved desktop rules remain untouched. */
@media(max-width:359px){.services-page .final-cta .services-closing{width:calc(100% - 48px);padding:16px}.services-page .final-cta .services-closing .button{padding-inline:10px}}
@media (max-width:1100px) {
  /* These canvases already use a 1:1 viewBox. Keep gradient strokes in the same
     coordinate space as their paths in Safari. No line widths are changed. */
  :is(.route-field,.services-circuit-environment,.contact-circuit-environment) .circuit-rest path{vector-effect:none}
  .home-phase-one .system-board{width:100%;max-width:650px;margin-top:104px}
  .home-phase-one .system-board:before{content:'';position:absolute;left:50%;top:-78px;width:100vw;height:52px;transform:translateX(-50%);background:linear-gradient(transparent,#010309b3 48%,transparent);pointer-events:none}
  main > :is(.home-section,.proof-section,.final-cta,.service-detail):before{background:linear-gradient(transparent,#010309a6 50%,transparent)}
  .home-phase-one .system-label{width:88%;height:72px;padding:0 15px 23px;border:0;border-radius:0;background:none;font-size:clamp(9px,2.2vw,14px);letter-spacing:.22em;isolation:isolate;overflow:visible}
  .home-phase-one .system-label:before{content:'';position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='b'%3E%3Cstop stop-color='%237a92d7'/%3E%3Cstop offset='.45' stop-color='%2374c4e9'/%3E%3Cstop offset='1' stop-color='%23877cbe'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x2='.3' y2='1'%3E%3Cstop stop-color='%230b1825'/%3E%3Cstop offset='1' stop-color='%23020810'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 1H388Q399 1 399 12V44Q399 54 389 54H269L248 75H152L131 54H11Q1 54 1 44V12Q1 1 12 1Z' fill='url(%23f)' stroke='url(%23b)' stroke-width='1.2'/%3E%3Cpath d='M13 4H387M133 55L152 74H248L267 55' fill='none' stroke='%237bb7ef' opacity='.18'/%3E%3C/svg%3E") center/100% 100% no-repeat}
  .home-phase-one .core-hub{margin:-8px auto 15px;width:72px;height:72px;box-shadow:0 0 0 4px #030810,0 0 0 5px #467098,0 0 17px #315fa83d}
  .home-phase-one .core-hub img{width:45px}
  .home-phase-one .system-grid{gap:14px;grid-auto-rows:1fr}
  .home-phase-one .system-panel,.home-phase-one .system-status{overflow:visible;background:linear-gradient(125deg,#07131f,#030810 70%);border-color:#526889;box-shadow:inset 0 1px 0 #a3bbdc22,inset 0 -1px 0 #555ab82b,0 0 8px #1b54ac24;border-radius:11px}
  .home-phase-one .system-panel{min-height:76px;padding:13px 15px}
  .home-phase-one .system-panel>.panel-head{gap:12px}
  .home-phase-one .panel-head strong{font-size:15px;line-height:1.3}
  .home-phase-one .panel-head small,.home-phase-one .system-panel:nth-child(3) small:after{font-size:12px;line-height:1.45;color:#b7bdc9}
  .home-phase-one .system-panel:nth-child(3) small{font-size:0}
  .home-phase-one .system-status{margin-top:14px;min-height:76px;padding:13px 15px;font-size:15px}
  .home-phase-one .system-panel:before,.home-phase-one .system-status:before{content:none}
  .home-phase-one .system-panel:first-child:before{content:none}
  .home-phase-one .system-panel:after,.home-phase-one .system-status:after{content:'';display:block;position:absolute;left:-1px;top:12px;bottom:12px;right:auto;width:1px;height:auto;transform:none;background:linear-gradient(transparent,#6dadff 45%,#6c68c7 70%,transparent);box-shadow:none;pointer-events:none}
}

@media (max-width:600px) {
  /* A consistent reading gutter and comfortable phone-sized hierarchy. */
  :is(.home-phase-one,.services-page,.contact-page) :is(.wrap,.narrow){width:calc(100% - 40px)}
  :is(.home-phase-one,.services-page,.contact-page) .site-header>.wrap{width:92%}
  :is(.home-phase-one,.services-page,.contact-page) .site-header>.wrap{height:82px;gap:10px}
  .site-header .brand-link{max-width:244px}
  .site-header .header-actions{gap:9px}
  .site-header .lang-switcher summary{position:relative;min-height:30px;height:30px;padding:4px 6px;gap:3px;font-size:11px;border-radius:8px}
  .site-header .lang-switcher .line-icon{width:15px;height:15px}
  .site-header .nav-toggle{position:relative;width:30px;height:30px;gap:4px;border-radius:8px;padding:5px}
  .site-header .nav-toggle span{width:15px;height:1.5px}
  /* Keep a comfortable touch area around the smaller visible controls. */
  .site-header :is(.lang-switcher summary,.nav-toggle):after{content:'';position:absolute;inset:-7px 0}
  .site-header .nav-toggle:after{inset:-7px}
  .home-phase-one .home-hero{padding-top:42px;padding-bottom:78px}
  .home-phase-one .hero-copy .eyebrow{margin-bottom:28px;line-height:1.6}
  .home-phase-one .hero-copy .display{line-height:1.24}
  .home-phase-one .hero-copy .lead{margin-top:28px;line-height:1.8;max-width:100%}
  .home-phase-one .hero-copy .btn-row{display:flex;flex-direction:column;align-items:center;width:100%;gap:14px;margin-top:32px}
  .home-phase-one .hero-copy .button{width:max-content;max-width:100%;min-width:0;min-height:44px;padding:9px 18px;gap:18px;font-size:15px;line-height:1.5;justify-content:center}
  .home-phase-one .hero-copy .button .arrow{font-size:23px;line-height:1;width:22px}
  .home-phase-one .supporting-line{max-width:290px;margin:24px auto 0;text-align:center;line-height:1.65}
  .home-phase-one .home-section{padding:68px 0}
  .home-phase-one .proof-section{padding:68px 0}
  .home-phase-one .guide-grid{gap:26px}
  .home-phase-one .clarity-map{padding:22px 20px}
  .home-phase-one .map-status{font-size:14px;line-height:1.45}
  .home-phase-one .map-steps{gap:14px;margin-top:24px}
  .home-phase-one .map-step{grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 16px;min-height:78px;padding:4px 0 4px 18px}
  .home-phase-one .map-step strong{align-self:end;font-size:28px;line-height:1.1}
  .home-phase-one .map-step>span:last-child{align-self:start;font-size:15px;line-height:1.4}
  .home-phase-one .map-icon{width:58px;height:58px;align-self:center}
  .home-phase-one .map-step:before{left:7px}
  .home-phase-one .map-steps:before{left:8px;top:14%;bottom:14%}
  .home-phase-one .proof-grid{gap:12px;margin-top:24px}
  .home-phase-one .proof-item{display:flex;align-items:center;justify-content:flex-start;padding:12px;gap:10px;min-height:125px;font-size:14px;line-height:1.45}
  .home-phase-one .proof-icon{width:33px;height:37px;flex-basis:33px}
  .home-phase-one .proof-heading p{font-size:16px}
  .home-phase-one .final-cta{padding:68px 0}
  .home-phase-one .final-panel{gap:28px}
  .home-phase-one .final-panel .btn-row{width:min(100%,300px);gap:12px}
  .home-phase-one .final-panel .button{min-height:50px;font-size:15px}

  /* A compact cardinal arrangement makes the Q the common connection. */
  .home-phase-one .home-ecosystem{height:360px;background:radial-gradient(ellipse at center,#0b244233,transparent 62%),#030a12;border-color:#607995}
  .home-phase-one .ecosystem-routes{display:none}
  .home-phase-one .home-ecosystem:before{content:'';position:absolute;inset:0;background:url('/img/mobile-ecosystem.svg') center/100% 100% no-repeat;pointer-events:none}
  .home-phase-one .ecosystem-core{top:50%;width:54px;height:54px;box-shadow:0 0 0 5px #030a12,0 0 0 6px #30577a,0 0 18px #14578c55}
  .home-phase-one .ecosystem-core img{width:35px}
  .home-phase-one .ecosystem-module{min-height:0;height:80px;padding:10px;border-color:#496480;background:linear-gradient(135deg,#091725,#020810);gap:6px;justify-content:center}
  .home-phase-one .ecosystem-module>span{font-size:12px;line-height:1.35;gap:6px}
  .home-phase-one .ecosystem-module small{font-size:11px;line-height:1.4;padding:0;color:#b3c0d1}
  .home-phase-one .ecosystem-icon{width:18px;height:18px;flex-basis:18px;filter:none}
  .home-phase-one .module-0{left:24%;right:auto;top:16px;bottom:auto;width:52%}
  .home-phase-one .module-1{left:10px;right:auto;top:135px;bottom:auto;width:32%;height:90px}
  .home-phase-one .module-2{left:auto;right:10px;top:135px;bottom:auto;width:32%;height:90px}
  .home-phase-one .module-3{left:24%;right:auto;top:auto;bottom:20px;width:52%}
  .home-phase-one :is(.module-1,.module-2)>span{display:block}
  .home-phase-one :is(.module-1,.module-2) .ecosystem-icon{display:inline-block;width:16px;height:16px;margin-right:5px;vertical-align:-3px}
  .home-phase-one .ecosystem-caption{bottom:4px;font-size:9px;letter-spacing:.2px}

  /* The overview is for choosing; the full interfaces remain in the details. */
  .services-page .services-heading{margin-bottom:26px}
  .services-page .services-heading .display{font-size:33px}
  .services-page .service-grid{gap:16px}
  .services-page .service-card{display:grid;grid-template-columns:minmax(0,1fr) 34%;grid-template-rows:auto 1fr auto;gap:12px 16px;padding:20px;min-height:226px;align-items:start}
  .services-page .service-card-copy{display:contents}
  .services-page .service-card :is(h2,.title-line){grid-column:1/-1;grid-row:1}
  .services-page .service-card h2{font-size:21px;line-height:1.2;margin:0;letter-spacing:-.025em}
  .services-page .service-card p{grid-column:1;grid-row:2;font-size:14px;line-height:1.5;margin:0;align-self:start}
  .services-page .service-card .card-arrow{grid-column:1;grid-row:3;position:static;justify-self:start;width:34px;height:34px;font-size:24px}
  .services-page .service-card .service-visual{grid-column:2;grid-row:2/4;align-self:center;width:100%;height:128px;min-height:0;aspect-ratio:auto;margin:0;padding:0;overflow:visible}
  .services-page .compact-preview{width:100%;height:100%;position:relative;display:grid;align-content:center;color:#84b8f4}
  .compact-preview svg{display:block;width:100%;height:auto;overflow:visible}
  .compact-preview .preview-browser{border:1px solid #536b86;border-radius:7px;background:#081320;overflow:hidden;box-shadow:0 8px 16px #0005}
  .compact-preview .browser-dots{height:15px}
  .compact-preview .browser-dots i{width:3px;height:3px}
  .compact-preview .preview-browser img{display:block;width:100%;height:86px;object-fit:cover}
  .compact-preview .preview-care{position:absolute;right:-4px;bottom:3px;width:28px;height:28px;border-radius:50%;background:#062d27;border:1px solid #378d78;display:grid;place-items:center;color:#95e9cb;font-size:17px}
  .compact-preview.preview-review img{width:120%;max-width:none;height:128px;object-fit:contain;margin-left:-10%}
  .services-page .services-overview{padding-bottom:64px}
  .services-page .service-detail{padding:68px 0}
  .services-page .service-detail-grid{gap:24px}
  .services-page .service-kicker{padding:7px 12px;font-size:12px;line-height:1.45;margin-bottom:18px;max-width:100%}
  .services-page .detail-copy h2{font-size:31px;line-height:1.15}
  .services-page .detail-copy>p{font-size:16px;line-height:1.6;margin:18px 0 0}
  .services-page .include-list{margin-top:22px;padding:16px;gap:12px 14px;font-size:13px;line-height:1.5;border-color:#394e66}
  .services-page .include-list li{gap:6px}
  .services-page .detail-demo{padding:16px}
  .services-page .builder-browser{padding:12px;min-height:0;padding-bottom:22px}
  .services-page .builder-browser nav{gap:7px;font-size:7px;margin-bottom:14px}
  .services-page .builder-layout{grid-template-columns:1fr 1.1fr;gap:10px}
  .services-page .builder-layout h3{font-size:21px;line-height:1.08;margin:12px 0}
  .services-page .builder-layout p{font-size:11px;line-height:1.5}
  .services-page .builder-layout img{height:188px}
  .services-page .builder-layout .demo-button{font-size:9px;padding:7px}
  .services-page .builder-services{padding-right:80px;flex-wrap:wrap;gap:6px}
  .services-page .builder-services span{padding:7px;font-size:10px}
  .services-page .builder-phone{width:94px;right:9px;bottom:14px;padding:9px 7px;box-shadow:0 8px 18px #0008}
  .services-page .builder-phone h3{font-size:13px}
  .services-page .builder-phone i{padding:5px}
  .services-page .website-care-strip{padding:14px;gap:12px;font-size:12px}
  .services-page .order-layout{margin-top:14px}
  .services-page .order-line{font-size:13px}
  .services-page .ordering-demo .confirm-banner{font-size:13px}
  .services-page .ordering-demo .confirm-banner small,.services-page .order-foot{font-size:12px;line-height:1.45}
  .services-page .reservation-demo{grid-template-columns:1fr;gap:16px}
  .services-page :is(.calendar-panel,.reservation-chat){padding:18px;min-height:0}
  .services-page :is(.calendar-panel,.reservation-chat) h3{font-size:16px;margin-bottom:16px}
  .services-page .calendar-head{font-size:14px}
  .services-page .calendar-days{font-size:13px;gap:7px}
  .services-page .calendar-days small{font-size:9px}
  .services-page .time-list{grid-template-columns:1fr 1fr;margin-top:16px}
  .services-page .time-list :is(span,b){font-size:12px;padding:9px}
  .services-page .reservation-chat .chat-bubble{font-size:13px;padding:11px;max-width:90%;line-height:1.45}
  .services-page .reservation-chat .confirm-banner{font-size:13px;padding:12px;line-height:1.45}
  .services-page .front-desk-grid{grid-template-columns:1fr;gap:12px}
  .services-page .front-desk-demo .call-panel{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;min-height:0;padding:14px;align-items:center}
  .services-page .call-panel>span{font-size:12px;grid-column:1/-1}
  .services-page .call-panel .voice-wave{grid-column:2;grid-row:2/4;height:34px;filter:none}
  .services-page .call-panel b{font-size:13px;margin-top:6px}
  .services-page .call-panel small{font-size:12px;margin:0}
  .services-page .front-desk-demo .call-context{grid-column:1/-1;font-size:12px;margin:7px 0 0;line-height:1.5}
  .services-page .front-desk-demo .message-panel{min-height:0;padding:14px}
  .services-page .front-desk-demo .message-panel .chat-bubble{font-size:13px;padding:10px 12px;max-width:88%;margin-bottom:8px;line-height:1.45}
  .services-page .front-desk-demo .message-panel .chat-bubble.out{margin-left:auto}
  .services-page .front-desk-demo .intent-summary{font-size:12px}
  .services-page .front-desk-demo .next-panel{display:grid;grid-template-columns:auto 1fr;grid-column:auto;min-height:0;padding:14px;gap:8px 12px;font-size:13px}
  .services-page .next-panel>span:first-child{grid-column:1/-1}
  .services-page .next-panel>b{grid-row:2;font-size:25px}
  .services-page .next-panel>strong{grid-column:2;grid-row:2;line-height:1.5}
  .services-page .next-panel>.demo-button{grid-column:1/-1;text-align:center;font-size:12px;padding:10px}
  .services-page .front-desk-demo .next-panel>small{grid-column:1/-1;font-size:12px}
  .services-page .handoff{padding:14px;gap:10px;font-size:13px}
  .services-page .handoff>div{min-width:0}
  .services-page .handoff small{font-size:12px;margin-top:5px}
  .services-page .handoff>.demo-button{width:100%;text-align:center;font-size:12px;padding:10px}
  .services-page .google-demo{display:grid;grid-template-columns:1fr;gap:16px}
  .services-page .google-main .g-head h3{font-size:16px}
  .services-page .google-main .g-head small{font-size:12px}
  .services-page .google-main .g-avatar{width:36px;height:36px}
  .services-page .google-main .g-tabs>*{font-size:10px;padding:12px 3px}
  .services-page .google-main .g-actions i{width:34px;height:34px;font-size:20px}
  .services-page .google-main .g-actions :is(b,small){font-size:11px}
  .services-page .google-main .g-rows>div{font-size:12px;grid-template-columns:18px 1fr 1fr 8px;gap:5px;padding:14px 2px}
  .services-page .google-insights{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .services-page .google-insights>div{padding:12px}
  .services-page .google-insights>div:last-child{grid-column:1/-1}
  .services-page .google-insights h4{font-size:13px}
  .services-page .google-insights :is(span,p){font-size:12px;line-height:1.45}
  .services-page .google-insights .stars{font-size:16px}
  .services-page .google-insights svg{height:40px}
  .services-page .review-hardware{min-height:0;aspect-ratio:4/3}
  .services-page .services-closing{width:calc(100% - 68px);margin-left:20px;margin-right:auto;padding:20px}
  .services-page .services-closing .button{width:max-content;max-width:100%;min-height:44px;font-size:14px;line-height:1.5;padding:9px 14px;gap:14px}
  .services-page .services-closing .button .arrow{width:22px;flex-shrink:0;font-size:23px;line-height:1}
  .services-page .final-cta{padding:68px 0}

  /* Fixed square markers are independent of each step's text height. */
  .contact-page .contact-layout{gap:44px}
  .contact-page .contact-intro>.lead{margin-bottom:46px}
  .contact-page .contact-steps,.contact-page .contact-card{padding:22px 18px}
  .contact-page .contact-steps h2{font-size:25px;line-height:1.2}
  .contact-page .contact-steps .steps-intro{font-size:15px;line-height:1.55;margin-bottom:24px}
  .contact-page .contact-step{grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;margin-top:18px}
  .contact-page .contact-step>strong{width:52px;height:52px;min-height:52px;margin:0;font-size:25px;align-self:center}
  .contact-page .contact-step>div{padding:14px 12px;min-height:104px}
  .contact-page .contact-step b{font-size:15px;line-height:1.35;align-items:flex-start;gap:8px}
  .contact-page .contact-step b:before{margin-top:7px;flex-basis:5px}
  .contact-page .contact-step span{font-size:13px;line-height:1.55;margin-top:8px}
  .contact-page .contact-step:not(:nth-last-child(2)):after{left:26px;top:calc(50% + 27px);height:calc(100% - 34px);opacity:.75}
  .contact-page .contact-ready{font-size:15px;font-weight:500;padding:16px;margin-top:22px}
  .contact-page .form-title{font-size:13px;letter-spacing:.15em;margin-bottom:24px}
  .contact-page .form-grid{gap:20px}
  .contact-page .form-row label{font-size:15px;margin-bottom:8px}
  .contact-page .form-row :is(input,select){height:48px}
  .contact-page .form-row textarea{height:136px;min-height:136px}
  .contact-page .form-guidance{margin-top:9px;line-height:1.5}

  /* Keep the utility page consistent without altering its desktop version. */
  body:has(.not-found) .not-found{min-height:660px;padding:48px 0}
  body:has(.not-found) .site-footer{padding:22px 0 18px}
  body:has(.not-found) .footer-grid{grid-template-columns:1fr;gap:17px;text-align:left}
  body:has(.not-found) .footer-logo{width:210px;margin:0}
  body:has(.not-found) .footer-nav{display:flex;gap:25px;justify-content:flex-start}
  body:has(.not-found) .footer-nav a{font-size:14px;padding:0;border:0}
  body:has(.not-found) .footer-nav a:after{display:none}
  body:has(.not-found) .footer-signoff{font-size:11px;text-align:left}
  body:has(.not-found) .footer-signoff p{margin:3px 0}
  body:has(.not-found) .footer-bottom{align-items:flex-start;margin-top:15px;padding-top:12px;gap:10px}
  body:has(.not-found) .footer-bottom>div{display:flex;flex-wrap:wrap;gap:10px 20px}
}
@media (max-width:359px) {
  .home-phase-one .system-label{width:96%;font-size:9px;letter-spacing:.14em}
  .home-phase-one .system-panel,.home-phase-one .system-status{padding:12px}
  .home-phase-one .panel-head strong{font-size:14px}
  .home-phase-one .panel-head small,.home-phase-one .system-panel:nth-child(3) small:after{font-size:11px}
  .home-phase-one .system-panel>.panel-head{gap:9px}
  .home-phase-one .mobile-status-icon{width:25px;height:25px;flex-basis:25px}
  .home-phase-one .proof-grid{grid-template-columns:1fr}
  .home-phase-one .proof-item{flex-direction:row;align-items:center;min-height:78px;padding:15px;gap:18px}
  .home-phase-one .ecosystem-module{padding:8px}
  .home-phase-one .ecosystem-module>span{font-size:11px}
  .home-phase-one .ecosystem-module small{font-size:10px}
  .home-phase-one .ecosystem-core{width:46px;height:46px}
  .services-page .service-card{padding:16px;gap:12px;grid-template-columns:minmax(0,1fr) 31%}
  .services-page .service-card h2{font-size:20px}
  .services-page .service-card p{font-size:13px}
  .services-page .detail-copy h2{font-size:29px}
  .services-page .include-list{grid-template-columns:1fr;font-size:14px}
  .services-page .google-insights{grid-template-columns:1fr}
  .services-page .website-care-strip{font-size:11px}
  .contact-page .contact-step{grid-template-columns:46px minmax(0,1fr);gap:8px}
  .contact-page .contact-step>strong{width:46px;height:46px;min-height:46px;font-size:23px}
  .contact-page .contact-step:not(:nth-last-child(2)):after{left:23px;top:calc(50% + 24px);height:calc(100% - 28px)}
  .contact-page .contact-step>div{padding:12px 10px}
  .contact-page .contact-step b{font-size:14px}
}
