/* Approved homepage layout. Form rules stay inside the onboarding panel. */
.bar{position:relative;top:auto;padding-top:12px}
.bar .card{height:64px;background:#ffffffe0}
#onboarding{--muted:#625c73;--line:#ded8eb;width:100%;max-width:1248px;min-height:calc(100svh - 76px);padding:12px 24px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:12px;overflow:visible;overflow-anchor:none}
#onboarding .hero-intro{width:100%;margin:0}
#onboarding .where{font:500 14px/1.5 var(--body);letter-spacing:normal;max-width:100%;padding:7px 13px;gap:7px}
#onboarding .where svg{width:19px}
#onboarding .hero-title{font:700 clamp(30px,4.3vw,58px)/1.08 var(--display);letter-spacing:-.045em;white-space:normal;text-wrap:balance;max-width:none;margin:12px 0 11px}
#onboarding .job{font:700 clamp(20px,2.2vw,29px)/1.14 var(--display);letter-spacing:-.03em;margin:0}
#onboarding .job em{font-style:italic;color:inherit}
#onboarding .hero-services{max-width:70ch;margin:10px auto 0;font-size:clamp(14px,1.35vw,18px);line-height:1.4;color:var(--muted);text-wrap:balance}
#onboarding .flow-card{width:min(920px,100%);min-width:0;flex:none;margin:0;padding:22px 30px 20px;text-align:left;border:1px solid #fff;border-radius:24px;background:#fffffff0;box-shadow:0 24px 70px #3b1c6420,inset 0 1px 0 #fff}
#onboarding .hero-trust{display:grid;justify-items:center;gap:9px;width:100%;margin:0;padding:0 0 3px}
#onboarding .hero-trust .place{font-size:14px}
#onboarding .hero-trust .proof{font-size:14px;gap:6px 10px}
#onboarding .hero-trust .stars svg,#onboarding .hero-trust .place svg{width:18px;height:18px}
#flow{font-size:16px;line-height:1.5}
#flow p{margin-top:0}
#flow button,#flow input,#flow select{font:inherit;touch-action:manipulation}
#flow button{color:inherit;cursor:pointer}
#flow button:disabled{cursor:wait;opacity:.65}
#flow button:focus-visible,#flow a:focus-visible,#flow input:focus-visible,#flow select:focus-visible{outline:3px solid #805dff;outline-offset:4px}
#flow [hidden]{display:none!important}
#flow svg{display:block}
#flow [tabindex="-1"]:focus{outline:none}
#flow .step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px}
#flow .step-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:var(--violet)}
#flow .steps{display:flex;align-items:center;gap:6px}
#flow .steps span{height:4px;width:24px;border-radius:5px;background:#e9e2f4}
#flow .steps span.active{background:var(--violet)}
#flow .step-header:has(.steps){display:grid;grid-template-columns:1fr auto;grid-template-rows:4px auto;gap:6px 12px}
#flow .step-header .steps{grid-column:2;grid-row:1;justify-self:center}
#flow .step-header:has(.steps)>.step-label{grid-column:2;grid-row:2;text-align:center}
#flow .step-header:has(.steps)>.text-button{grid-column:1;grid-row:1 / span 2;justify-self:start}
#flow h2{font:700 27px/1.2 var(--display);letter-spacing:-.035em;margin:0 0 5px}
#flow .flow-description{color:var(--muted);font-size:14px;margin:0 0 17px}
#flow .step-header:has(.steps)+h2,#flow .step-header:has(.steps)+h2+.flow-description{text-align:center}
#flow .fields{display:grid;grid-template-columns:1.1fr .85fr 1.1fr;gap:15px}
#flow .field{display:grid;gap:7px;align-content:start;min-width:0}
#flow .field label{font-size:13px;font-weight:600}
#flow .field label span{font-weight:400;color:var(--muted)}
#flow .field input,#flow .field select{width:100%;height:50px;border:1px solid #dcd5e8;border-radius:11px;padding:12px 14px;background:#fff;color:var(--ink);font-size:16px;min-width:0;box-shadow:inset 0 1px 2px #2d144505}
#flow .field input::placeholder{color:#91889f}
#flow .field input:focus,#flow .field select:focus{border-color:var(--violet)}
#flow .field small{font-size:11px;color:var(--muted)}
#flow .primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border:1px solid #3c14cf;border-radius:12px;background:var(--deep);color:#fff;font-weight:500;padding:13px 23px;box-shadow:0 9px 21px #3c14cf30;transition:background .2s,transform .2s;text-decoration:none}
#flow .primary:hover{background:#5128dd}
#flow .primary:active{transform:translateY(1px)}
#flow .primary svg{width:19px;height:19px}
#flow .search-submit{width:100%;margin:16px 0 10px}
#flow .text-button{padding:4px 0;border:0;background:transparent;color:var(--deep);font-size:14px;line-height:1.5;text-align:left;text-decoration:none}
#flow .text-button:hover{text-decoration:underline}
#flow .skip-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
#flow .tiny{font-size:11px;color:#7c718c}
#flow .search-results{border-top:1px solid #ece6f2;margin:19px 0 3px;padding-top:18px}
#flow .result-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
#flow .result-heading h3{font-size:16px;margin:0}
#flow .result-card{display:flex;width:100%;text-align:left;align-items:center;justify-content:space-between;gap:15px;border:1px solid #e1d9ed;border-radius:13px;padding:15px 17px;margin-top:9px;background:white;transition:border-color .15s,background .15s}
#flow .result-card:hover{border-color:#8e6ef0;background:#fbf9ff}
#flow .result-identity{display:flex;gap:12px;min-width:0}
#flow .result-icon{width:37px;height:37px;flex:none;background:#f0ebfc;color:var(--violet);display:grid;place-items:center;border-radius:10px}
#flow .result-icon svg{width:19px;height:19px}
#flow .result-card strong{display:block;font-size:15px;overflow-wrap:anywhere}
#flow .result-card p{color:var(--muted);font-size:12px;margin:3px 0 0}
#flow .result-arrow{color:var(--violet);font-size:22px}
#flow .rating-star{color:#bd810f}
#flow .notice{display:flex;gap:12px;align-items:flex-start;border:1px solid #e0d6ed;background:#f8f5fc;padding:15px;border-radius:12px;font-size:14px;color:#574669;margin:14px 0}
#flow .notice.error{background:#fff8f6;border-color:#e8c7bb;color:#854b39}
#flow .notice .text-button{font-size:13px;margin-top:5px}
#flow .notice p{margin:0}
#flow .notice strong{font-weight:600}
#flow .notice.loading{align-items:center}
#flow .spinner{display:inline-block;flex:none;width:19px;height:19px;border:2px solid #cdbdf2;border-top-color:var(--deep);border-radius:50%;animation:onboarding-spin .7s linear infinite}
@keyframes onboarding-spin{to{transform:rotate(360deg)}}
#flow .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
#flow .contact-grid .wide{grid-column:1/-1}
#flow .business-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f6f2fc;border:1px solid #e6def4;border-radius:12px;padding:10px 14px;margin:0 0 15px}
#flow .business-summary strong{font-size:14px;display:block}
#flow .business-summary p{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:0}
#flow .maps-status{font-size:11px;color:#514375;border:1px solid #dcd1ef;background:#fff;padding:5px 8px;border-radius:6px;white-space:nowrap}
#flow .permission{display:flex;align-items:flex-start;gap:10px;margin:14px 0;color:#655773;font-size:12px;line-height:1.5}
#flow .permission input{margin:2px 0 0;accent-color:var(--deep);width:16px;height:16px;flex:none}
#flow .contact-submit{width:100%}
#flow .center-state{text-align:center;padding:12px 14px 9px}
#flow .center-state .flow-description{max-width:530px;margin:12px auto 24px}
#flow .state-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(140deg,#f4f0ff,#e5dcfb);box-shadow:inset 0 1px 0 white;display:grid;place-items:center;margin:0 auto 22px;color:var(--deep)}
#flow .state-icon svg{width:29px;height:29px}
#flow .email-address{font-weight:500;color:var(--ink);overflow-wrap:anywhere}
#flow .center-state .sub-actions{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;margin-top:15px}
#flow .preview-note,#flow .privacy-note{font-size:12px;color:#7c6a92;margin:12px 0 0}
#flow .flow-error:empty,#onboarding-security:empty{display:none}
#flow .flow-error{font-size:14px;color:#854b39;overflow-wrap:anywhere}
#flow #onboarding-security{margin:12px 0;max-width:100%}
#flow .noscript{font-size:13px;margin:12px 0 0;color:var(--muted)}
@media(min-width:761px) and (max-height:800px){
  .bar{padding-top:8px}.bar .card{height:58px}.bar .card .btn--bar{min-height:40px}
  #onboarding{min-height:calc(100svh - 66px);padding-block:12px;gap:12px}
  #onboarding .where{font-size:12px;padding:5px 11px}#onboarding .where svg{width:17px}
  #onboarding .hero-title{font-size:clamp(30px,4.1vw,51px);margin:10px 0 9px}
  #onboarding .job{font-size:24px;line-height:1.12}
  #onboarding .flow-card{padding:19px 26px 17px}
  #flow h2{font-size:25px}#flow .flow-description{margin-bottom:14px}
  #flow .field input,#flow .field select{height:47px}#flow .search-submit{min-height:47px;margin-top:14px}
  #onboarding .hero-trust{gap:7px}#onboarding .hero-trust .proof,#onboarding .hero-trust .place{font-size:13px}
  body[data-flow-stage="contact"] #onboarding .hero-title,body[data-flow-stage="email"] #onboarding .hero-title{font-size:36px;margin:8px 0}
  body[data-flow-stage="contact"] #onboarding .job,body[data-flow-stage="email"] #onboarding .job{font-size:20px}
}
@media(min-width:761px) and (max-height:680px){
  #onboarding .hero-title{font-size:38px;margin:8px 0}#onboarding .job{font-size:21px}
  #onboarding .flow-card{padding:16px 24px}#flow .step-header{margin-bottom:7px}
  #flow h2{font-size:23px}#flow .flow-description{margin-bottom:12px}
}
@media(max-width:760px){
  .bar{padding:10px 16px 0}.bar .card{height:58px;padding:0 13px;border-radius:18px;gap:10px}
  .bar .logo{width:122px;padding-block:10px}.bar .logo .full{display:block}.bar .logo .mark{display:none}.bar .reach{gap:9px}.bar .card .btn--bar{min-height:38px;padding:0 10px;font-size:12px}
  .bar .tel{font-size:12px}.bar .explore summary svg{width:14px;height:14px}
  #onboarding{min-height:0;padding:23px 16px 29px;gap:23px}
  #onboarding .where{font-size:10px;padding:6px 10px;gap:5px;white-space:normal}
  #onboarding .where svg{width:15px;flex:none}
  #onboarding .hero-title{font-size:clamp(28px,7.8vw,46px);line-height:1.08;max-width:600px;margin:14px auto 12px}
  #onboarding .job{font-size:clamp(17px,4.4vw,23px);line-height:1.2;max-width:580px;margin:auto}
  #onboarding .flow-card{padding:22px;border-radius:23px}
  #flow h2{font-size:25px;line-height:1.15;margin-bottom:9px}
  #flow .flow-description{font-size:14px;line-height:1.45;margin-bottom:19px}
  #flow .step-header{margin-bottom:15px}#flow .field input,#flow .field select{height:52px;font-size:16px}
  #flow .fields,#flow .contact-grid{grid-template-columns:1fr;gap:15px}#flow .contact-grid .wide{grid-column:auto}
  #flow .field label{font-size:12px}#flow .search-submit{min-height:52px;margin:19px 0 12px}
  #flow .skip-row{flex-direction:column;align-items:flex-start;gap:8px}#flow .text-button{font-size:13px}
  #flow .business-summary{align-items:flex-start;flex-direction:column;gap:8px}
  #flow .center-state{padding:5px 0}#flow .center-state .sub-actions{gap:15px}
  #flow .result-card{padding:13px 12px}#flow .result-icon{display:none}
  #onboarding .hero-trust{gap:11px;max-width:380px}#onboarding .hero-trust .place{font-size:12px;text-align:center;align-items:flex-start;gap:5px}
  #onboarding .hero-trust .proof{font-size:12px;gap:6px 8px}#onboarding .hero-trust .stars svg{width:16px;height:16px}
}
@media(max-width:400px){.bar .tel{display:none}#onboarding .flow-card{padding:20px}#flow h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){#flow *,#flow *::before,#flow *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
