@font-face{font-family:Heebo;src:url('heebo.woff2?v=87a7c44730ee') format('woff2'),url('heebo.ttf?v=18f930b583fa') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
/* Design 2026-10-07: warm paper, one night call card with the ads' line of light, keys that press down.
   18 px text, 60 px keys; text colours >= 4.5:1 (tests/design.test.mjs). */
:root{--paper:#fbf6ec;--band:#eceedb;--card:#fffdf8;--ink:#182b2a;--night:#0f1f1d;--lime:#d7eeab;--glow:#8cc251;
  --text:#2f4338;--muted:#4a5d52;--green:#27614c;--leaf:#3d6335;--on-dark:#c9d9c0;
  --line:#e6e1d1;--field:#848e80;--edge:#d6d2bf;--wash:#f3f1e3;--hold:#f6e1a3;--hold-ink:#5c4510;
  --shadow:0 1px 2px #182b2a0f,0 18px 40px -24px #182b2a4d;--shadow-lg:0 2px 6px #0f1f1d14,0 46px 90px -42px #0f1f1da6;
  --icon-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='3' y='3' width='26' height='26' rx='8.5' fill='%23182b2a' transform='rotate(-8 16 16)'/%3E%3Cpath d='M3 10v4m4-8v12m5-16v20m5-16v12m4-8v4' transform='translate(7 7) scale(.75)' fill='none' stroke='%23d7eeab' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23182b2a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --light:linear-gradient(90deg,#d7eeab00,#d7eeab99 20%,#f3ffde 50%,#d7eeab99 80%,#d7eeab00)}

/* Base */
*{box-sizing:border-box}
html{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Heebo,Arial,sans-serif;font-size:18px;line-height:1.6;font-weight:450;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.7}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icons{position:absolute;width:0;height:0;overflow:hidden}
.shell{max-width:1320px;padding:0 40px;margin:auto}
.hidden{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
::selection{background:var(--lime);color:var(--ink)}
h2{font-size:30px;letter-spacing:-.02em;line-height:1.25;margin:0 0 10px;font-weight:800}

/* Header */
.header{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand strong{font-size:42px;line-height:1;letter-spacing:-1.6px;font-weight:800}.brand strong span{color:#6f9e3a}
.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:46px;height:46px;border-radius:15px;transform:rotate(-8deg);box-shadow:0 8px 16px -8px #0f1f1d99}
.brand-mark svg{transform:rotate(8deg);width:25px;height:25px;stroke-width:2.1}
.brand-tag{font-size:17px;font-weight:550;color:var(--muted);border-inline-start:1.5px solid var(--edge);padding-inline-start:14px;margin-inline-start:6px}
.nav{display:flex;flex-wrap:wrap;gap:4px;background:var(--wash);border:1px solid var(--line);padding:5px;border-radius:18px}
.nav-item{border:0;background:transparent;min-height:48px;padding:10px 18px;color:var(--text);font-size:17px;font-weight:650;display:flex;align-items:center;gap:8px;border-radius:13px;transition:background-color .2s,box-shadow .2s}
.nav-item svg{width:17px;height:17px}.nav-item:hover{background:#ebe8d8}.nav-item.active{background:var(--card);box-shadow:0 2px 0 var(--edge);color:var(--ink)}
.count{font-size:15px;background:var(--band);min-width:26px;height:26px;border-radius:8px;display:grid;place-items:center}
.login-link,.owner-label{display:flex;align-items:center;gap:8px;font-size:17px;text-decoration:none;font-weight:650}
.login-link{min-height:50px;padding:10px 20px;border-radius:999px;background:var(--card);border:1.5px solid var(--edge);box-shadow:0 3px 0 var(--edge);transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .15s,background-color .2s}
.login-link:hover{background:#fff}.login-link:active{transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}.login-link svg{width:18px;height:18px}
.owner-label{color:var(--text)}
.status-dot{width:9px;height:9px;border-radius:50%;background:#4f8a52;display:inline-block;box-shadow:0 0 0 3px #4f8a5224;flex-shrink:0}.status-dot.muted{background:#a3a99a;box-shadow:none}

/* Keys */
.button{position:relative;border:0;border-radius:16px;padding:14px 24px;min-height:60px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-size:18px;font-weight:700;line-height:1.35;transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .15s ease,background-color .2s}
.button.primary{background:var(--ink);color:#fff;box-shadow:0 4px 0 #091614,0 14px 26px -12px #0f1f1d99}
.button.primary:hover:not(:disabled){background:#21403b;transform:translateY(-1px);box-shadow:0 5px 0 #091614,0 18px 30px -12px #0f1f1d99}
.button.primary:active:not(:disabled){transform:translateY(3px) scale(1.01,.96);box-shadow:0 1px 0 #091614,0 6px 14px -8px #0f1f1d99}
.button.primary>svg{box-sizing:content-box;width:19px;height:19px;padding:7px;border-radius:50%;background:var(--lime);color:var(--ink);stroke-width:2.3}
.button.secondary{background:var(--card);border:1.5px solid var(--edge);color:var(--ink);box-shadow:0 3px 0 var(--edge)}
.button.secondary:hover:not(:disabled){background:#fff}.button.secondary:active:not(:disabled){transform:translateY(2px) scale(1.01,.96);box-shadow:0 1px 0 var(--edge)}
.button.secondary>svg{width:19px;height:19px}
.button.full{justify-content:space-between}.full{width:100%}
.text-button{border:0;background:none;color:var(--green);font-size:17px;font-weight:600;min-height:48px;padding:12px 10px;text-underline-offset:4px}.text-button:hover:not(:disabled){color:var(--ink);text-decoration:underline}
.inline-button{padding:0;border:0;background:none;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* Fields */
fieldset{border:0;margin:0;padding:0;min-width:0}
label:not(.consent){display:flex;justify-content:space-between;gap:10px;font-size:17px;font-weight:700;margin:0 0 8px}
.field-tag{font-size:15px;font-weight:600;color:var(--muted);padding-top:2px}
.input-wrap{position:relative;display:flex;align-items:center;margin-bottom:20px}.input-wrap>svg{position:absolute;right:16px;width:19px;height:19px;color:var(--muted);pointer-events:none}
input:not([type=checkbox]){background:#fff;border:1.5px solid var(--field);border-radius:14px;padding:14px 48px 14px 16px;width:100%;min-height:58px;outline:none;color:var(--ink);font-size:18px;transition:border-color .2s,box-shadow .2s}
input[type=password]{padding-left:52px}input::placeholder{color:#5f6c5c;font-size:17px;opacity:1}
input:focus,select:focus,textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 4px #d7eeabcc}
select,textarea{border:1.5px solid var(--field);border-radius:14px;background:#fff;color:var(--ink);font-size:18px;outline:none}
select{-webkit-appearance:none;appearance:none;min-height:58px;padding:12px 16px 12px 50px;background:#fff var(--chevron) left 18px center/18px 18px no-repeat;cursor:pointer}
.reveal{position:absolute;left:10px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;background:none;color:var(--muted);border-radius:10px}.reveal:hover{background:var(--wash);color:var(--ink)}.reveal svg{height:19px;width:19px}
.optional{font-size:17px;margin:0 0 20px;color:var(--text)}.optional summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;list-style:none;font-weight:600}.optional summary::-webkit-details-marker{display:none}
.optional summary:before{content:"";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:linear-gradient(currentColor,currentColor) center/12px 2.2px no-repeat,linear-gradient(currentColor,currentColor) center/2.2px 12px no-repeat,var(--band)}.optional[open] summary:before{background:linear-gradient(currentColor,currentColor) center/12px 2.2px no-repeat,var(--band)}.optional summary span{margin-inline-start:auto;font-size:16px;font-weight:500;color:var(--muted)}.optional input{margin-top:10px;padding-right:16px}
.consent{display:flex;align-items:flex-start;gap:12px;font-size:17px;line-height:1.75;color:var(--text);border-top:1px solid var(--line);padding:18px 0 20px;cursor:pointer}.consent input{accent-color:var(--green);width:22px;height:22px;flex-shrink:0;margin:3px 0 0}
.consent a,.field-hint a{color:var(--green);font-weight:650;text-underline-offset:3px}
.notice{background:#eff4e2;border:1px solid #d9e4c6;border-radius:16px;padding:14px 18px;font-size:17px;line-height:1.7;color:#344d36}
.form-error{padding:14px 16px;border:1px solid #e6bdb2;background:#fff3ef;color:#8e3b2b;font-size:17px;line-height:1.7;border-radius:14px;margin-bottom:16px}
.field-error{color:#962f26;font-size:16px;line-height:1.6;margin:6px 0 0}input[aria-invalid=true]{border-color:#b74232!important}
.field-hint,.language-hint,.account-hint{font-size:16px;line-height:1.7;color:var(--muted);margin:8px 0 20px}.field-hint.after-input{margin-top:-12px}
/* After the field rule, which would win otherwise. */
input:not([type=checkbox]):disabled,select:disabled,#number-source:disabled{background:#eef0e6;color:#526353;-webkit-text-fill-color:#526353;cursor:not-allowed;opacity:1}

/* Hero, then a band: the steps and the card that starts a line. On wide screens the benefits sit under the call card,
   so that column sets the hero's height and the closed notice (in the other column) moves nothing below it. */
.workspace{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);grid-template-areas:"intro call" "intro feat" "how build";grid-template-rows:auto 1fr auto;column-gap:clamp(40px,5.4vw,80px);align-items:start}
.workspace:before{content:"";grid-row:3;grid-column:1/-1;align-self:stretch;margin:0 -40px;border-radius:48px;background:var(--band)}
.intro{grid-area:intro;display:flex;flex-direction:column;padding:0 0 48px}.call-column{grid-area:call;position:relative;isolation:isolate;padding:56px 0 24px}
.call-column:before{content:"";position:absolute;z-index:-1;left:-28px;right:-28px;top:0;height:80%;background:radial-gradient(closest-side,#d7eeabb3,#d7eeab00);pointer-events:none}
.feature-row{grid-area:feat}.how-it-works{grid-area:how}.builder-column{grid-area:build}
.intro>.eyebrow{align-self:flex-start}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:650;color:var(--green);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 18px 7px 16px;margin-bottom:14px;box-shadow:0 2px 0 var(--line)}
.eyebrow>span{width:15px;height:14px;flex-shrink:0;background:linear-gradient(currentColor,currentColor) 0 50%/3px 6px no-repeat,linear-gradient(currentColor,currentColor) 50% 50%/3px 14px no-repeat,linear-gradient(currentColor,currentColor) 100% 50%/3px 9px no-repeat}
h1{font-size:clamp(54px,min(7.8vw,12vh),116px);line-height:1;letter-spacing:-.04em;font-weight:850;margin:0 0 24px}
/* "קו." stands on a line of light. */
.highlight{position:relative;isolation:isolate;white-space:nowrap}
.highlight:after{content:"";position:absolute;bottom:.04em;right:-.04em;left:-.3em;height:.15em;border-radius:1em;background:linear-gradient(90deg,#d7eeab00,var(--lime) 24%,var(--lime));z-index:-1}
.highlight:before{content:"";position:absolute;left:-.4em;bottom:.02em;width:.2em;height:.2em;border-radius:50%;background:var(--glow);box-shadow:0 0 0 .06em #d7eeabb3,0 0 .35em .05em #b9e27a}
.lead{font-size:clamp(19px,1.5vw,21px);line-height:1.75;color:var(--text);margin:0;max-width:31em}
.price-strip{display:flex;align-items:center;gap:20px;margin-top:22px;max-width:520px;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:12px 14px;padding-inline-end:22px;box-shadow:var(--shadow)}
.price-strip>strong{display:grid;place-items:center;align-content:center;flex-shrink:0;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ecf8d4,var(--lime) 60%);color:var(--ink);font-size:46px;font-weight:850;line-height:.9;letter-spacing:-1px;box-shadow:inset 0 -4px 0 #bcd98d,0 8px 18px -10px #6f9e3a99}
.price-strip strong span{display:block;font-size:16px;font-weight:750;letter-spacing:0;margin-top:3px}
.price-strip>div{font-weight:800;font-size:22px;line-height:1.3;color:var(--ink)}.price-strip>div>span{display:block;font-size:17px;color:var(--muted);font-weight:500;margin-top:4px;line-height:1.55;text-wrap:pretty}
.pay-note{display:flex;align-items:center;gap:8px;margin:14px 6px 0;max-width:520px;font-size:16px;line-height:1.5;color:var(--muted)}.pay-note svg{width:17px;height:17px;color:var(--green)}
/* Until bootstrap, reserved space only. */
.hero-cta{display:flex;width:100%;max-width:520px;margin-top:16px;justify-content:space-between;min-height:64px;font-size:19px}
.hero-cta.hidden.reserve{display:flex!important;visibility:hidden}
/* Closed: under the notice, it scrolls down to the steps. */
.hero-cta.secondary>svg{transform:rotate(-90deg);box-sizing:content-box;width:19px;height:19px;padding:7px;border-radius:50%;background:var(--band)}
/* Closed: the line is on hold (a pause key and an amber light). */
.notice.warn{background:#fff3d6;border-color:#ecd59a;color:#5c4510}
.sales-closed{position:relative;margin:16px 0 0;max-width:520px;font-size:17px;line-height:1.65;border-radius:22px;padding:16px 20px;padding-inline-start:76px;text-wrap:pretty}
.sales-closed:before{content:"";position:absolute;right:20px;top:18px;width:40px;height:40px;border-radius:50%;background:linear-gradient(var(--hold-ink),var(--hold-ink)) 13px 13px/5px 14px no-repeat,linear-gradient(var(--hold-ink),var(--hold-ink)) 22px 13px/5px 14px no-repeat,var(--hold);box-shadow:0 3px 0 #e2c77a}
.sales-closed:after{content:"";position:absolute;right:52px;top:13px;width:11px;height:11px;border-radius:50%;background:#e7a521;box-shadow:0 0 0 3px #fff3d6,0 0 10px 2px #f0b94299;animation:hold 2.4s ease-in-out 2}
.sales-closed strong{display:block;font-size:19px;font-weight:800;margin-bottom:2px}
.sales-closed.hidden.reserve{display:block!important;visibility:hidden}

/* The call card */
.experience{position:relative;overflow:hidden;border-radius:38px;padding:24px 28px 22px;color:#eef5e6;
  background:radial-gradient(130% 80% at 90% -12%,#2f5f50,#2f5f5000 62%),radial-gradient(90% 60% at 10% 110%,#24493f,#24493f00 70%),linear-gradient(165deg,#1b3532,#0f1f1d 78%);
  box-shadow:var(--shadow-lg),inset 0 1px 0 #ffffff1a,inset 0 0 0 1px #ffffff0d}
.experience-top,.experience-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;z-index:1}
.experience-top{min-height:36px}
.tiny-label{font-size:16px;font-weight:650;color:var(--green)}
.experience .tiny-label{color:var(--on-dark);font-weight:550;min-width:0}
.live-pill{display:flex;align-items:center;gap:8px;flex-shrink:0;background:#ffffff12;border:1px solid #d7eeab38;color:#eef8dc;border-radius:999px;padding:6px 14px;font-size:15px;font-weight:650;transition:background-color .3s,border-color .3s}
.live-pill .status-dot{width:8px;height:8px;background:#a6dd62;box-shadow:0 0 0 3px #a6dd622e,0 0 10px #a6dd62}
.soundstage{position:relative;height:220px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding-bottom:6px}
.soundstage:before{content:"";position:absolute;left:-28px;right:-28px;bottom:36px;height:2px;background:linear-gradient(90deg,#d7eeab00,#d7eeab8c 14%,#f3ffde 50%,#d7eeab8c 86%,#d7eeab00);box-shadow:0 0 14px 1px #b9e27a66}
.voice-core{position:relative;z-index:1;width:74px;height:74px;border-radius:24px;background:var(--lime);color:var(--ink);display:grid;place-items:center;transform:rotate(-8deg);margin-bottom:14px;box-shadow:0 0 0 6px #142a27,0 0 34px 2px #b9e27a59;flex-shrink:0}
.voice-core svg{width:38px;height:38px;stroke-width:2.1;transform:rotate(8deg)}
.sound-orbit{position:absolute;inset:-13px;border:1.5px solid #d7eeab47;border-radius:31px;pointer-events:none}.orbit-two{inset:-25px;border-radius:39px;border-color:#d7eeab26}
.caller-name{position:relative;z-index:1;font-size:19px;font-weight:750;color:#fff;line-height:1.2}
.waveform{position:relative;z-index:1;height:60px;display:flex;gap:5px;align-items:center;direction:ltr;padding:0 6px;background:#132724;border-radius:30px;box-shadow:0 0 0 6px #13272466}
.waveform i{width:4px;height:18px;border-radius:4px;background:#c4e48f;box-shadow:0 0 8px #d7eeab4d;animation:breathe 2.4s ease-in-out infinite alternate}
.waveform i:nth-child(3n){height:32px;background:#e2f6bf;animation-delay:-.4s}.waveform i:nth-child(4n){height:44px;animation-delay:-.8s}.waveform i:nth-child(5n){height:52px;animation-delay:-1.5s}.waveform i:nth-child(7n){height:24px;background:#93c25e;animation-delay:-1s}
.experience-bottom{padding-top:16px;border-top:1px solid #ffffff17}
.experience-bottom strong{display:block;font-size:19px;font-weight:750;color:#fff}
.experience-bottom span:not(.round-icon){font-size:16px;color:var(--on-dark)}
.round-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.round-icon svg{height:20px;width:20px}
.experience .round-icon{width:58px;height:58px;background:#2b5446;color:var(--lime);box-shadow:0 0 0 6px #ffffff0a,0 4px 0 #0b1715}
.experience .round-icon svg{width:24px;height:24px;stroke-width:1.9}
.demo-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:18px;padding:0 6px}
.owner-note{margin:0;font-size:17px;color:var(--text)}
.demo-toggle{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto;min-height:48px;padding:8px 18px;border:1.5px solid var(--edge);border-radius:999px;background:var(--card);color:var(--text);font-size:16px;font-weight:650;box-shadow:0 3px 0 var(--edge);transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .15s}
.demo-toggle:hover{background:#fff}.demo-toggle:active{transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}.demo-toggle svg{width:17px;height:17px}
.demo-toggle.hidden.reserve{display:inline-flex!important;visibility:hidden}

/* Live-call demo (call-demo.js); the card contains its per-frame work. */
.experience{contain:layout paint}
.call-demo .waveform i{animation:none;transform-origin:center;transition:background-color .35s ease;will-change:transform}
.call-demo.speaker-caller .waveform i{background:#f2f8e6}.call-demo.speaker-caller .waveform i:nth-child(3n){background:#fff}
.call-demo.speaker-ai .voice-core{animation:demo-core 1.2s ease-in-out infinite}
.call-demo.speaker-ai .sound-orbit,.call-demo.ringing .sound-orbit{animation:demo-orbit 2.6s ease-out infinite}
.call-demo.ringing .sound-orbit{animation-duration:1.6s}.call-demo.speaker-ai .orbit-two{animation-delay:-1.3s}.call-demo.ringing .orbit-two{animation-delay:-.8s}
/* Ringing amber, connected green, saved quiet: never a red hang-up. */
.call-demo.ringing .live-pill{background:#f6e1a31f;border-color:#f6e1a366}.call-demo.ringing .live-pill .status-dot{background:#f0c75e;box-shadow:0 0 0 3px #f0c75e2e,0 0 10px #f0c75e;animation:demo-blink .9s steps(1) infinite}
.call-demo.ended .live-pill{background:#ffffff0a;border-color:#ffffff24}.call-demo.ended .live-pill .status-dot{background:#9aa996;box-shadow:none}
.call-demo .experience-bottom .round-icon{transition:background-color .3s,color .3s}
.call-demo.ringing .experience-bottom .round-icon{background:var(--lime);color:var(--ink);animation:demo-ring 1.15s ease-in-out infinite}
.call-demo.connected .experience-bottom .round-icon{background:#3f7d5d;color:#fff}
.call-demo .experience-bottom div span{display:inline-block;clip-path:inset(0);transition:opacity .25s ease,clip-path .3s ease}.call-demo .experience-bottom div span.demo-swap{opacity:0;clip-path:inset(0 0 0 100%)}
/* The caption under the card changes as the demo goes on. Its width does not follow the words (the round key keeps its
   size), and on a narrow phone two lines are kept for it, so the card never grows or shrinks while it plays. */
.call-demo .experience-bottom>div{flex:1;min-width:0}.call-demo .experience-bottom .round-icon{flex-shrink:0}
@media(max-width:374px){.call-demo .experience-bottom div span{min-height:3.2em;vertical-align:top}}
.demo-transcript{position:relative;z-index:1;height:146px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden;margin:0 0 14px;transition:opacity .4s ease;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24px);mask-image:linear-gradient(to bottom,transparent,#000 24px);contain:layout paint}
.demo-transcript.clearing{opacity:0}
/* Reserved until the script inserts the transcript (no jump). */
.experience:not(.call-demo) .soundstage{margin-bottom:160px}
.demo-bubble{max-width:88%;padding:7px 15px 9px;border-radius:20px;font-size:16px;line-height:1.45;animation:demo-in .35s ease-out both;flex-shrink:0}
.demo-bubble.caller{align-self:flex-start;background:#ffffff17;border:1px solid #ffffff21;border-start-start-radius:6px;color:#f2f7ea}
.demo-bubble.ai{align-self:flex-end;background:var(--lime);color:var(--ink);border-start-end-radius:6px;box-shadow:0 6px 18px -8px #b9e27a8c}
.demo-who{display:block;font-size:14px;font-weight:700;opacity:.85}
.demo-text{display:block;min-height:1.45em}
.demo-bubble.typing .demo-text:after{content:'';display:inline-block;width:2px;height:1em;margin-inline-start:2px;vertical-align:-2px;background:currentColor;opacity:.7;animation:demo-blink .8s steps(1) infinite}
.demo-chip{position:absolute;top:8px;right:0;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:650;color:var(--lime);background:#0f1f1de6;border:1px solid #d7eeab4d;border-radius:20px;padding:5px 12px;opacity:0;transform:translateY(-6px) scale(.92);transition:opacity .25s ease,transform .35s cubic-bezier(.3,1.6,.5,1);white-space:nowrap;z-index:2;pointer-events:none}
.demo-chip.show{opacity:1;transform:none}.demo-chip svg{width:14px;height:14px;stroke-width:2.4}
.demo-spin{width:12px;height:12px;border:2px solid #d7eeab4d;border-left-color:var(--lime);border-radius:50%;animation:spin .9s linear infinite}
.demo-ringing{margin:auto;font-size:18px;color:var(--on-dark);letter-spacing:.3px}
/* Paused means everything in the card, the typing caret (a pseudo-element) too. */
.call-demo.paused,.call-demo.paused *,.call-demo.paused :before,.call-demo.paused :after{animation-play-state:paused!important}
/* One pill width for every label; the caption wraps, never cut (WCAG 1.4.10). */
.demo-pill-text{min-width:6.4em}
@media(max-width:650px){.demo-transcript{height:178px;margin-bottom:12px}.experience:not(.call-demo) .soundstage{margin-bottom:190px}.demo-bubble{max-width:92%}}

/* Benefits */
.feature-row{list-style:none;margin:0 0 72px;padding:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
.feature-row li{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 18px;font-size:19px;font-weight:700;line-height:1.35;color:var(--ink);text-align:start}
.feature-row li+li{border-inline-start:1.5px solid var(--line)}
.feature-row svg{box-sizing:content-box;width:24px;height:24px;padding:10px;border-radius:50%;background:var(--lime);color:var(--ink);stroke-width:1.9}

/* Steps as keypad keys; a thread of light drops to the card. */
.how-it-works{position:relative;display:grid;gap:28px;align-content:start;padding:68px 0 64px;scroll-margin-top:16px}
.how-heading h2{font-size:clamp(34px,3.2vw,46px);letter-spacing:-.03em;line-height:1.15;margin:6px 0 0}
.how-it-works article{position:relative;display:grid;grid-template-columns:66px 1fr;column-gap:22px}
.how-number{grid-row:1/3;display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--card);border:1.5px solid var(--edge);box-shadow:0 4px 0 var(--edge);font-size:24px;font-weight:850;color:var(--ink)}
.how-it-works article:last-of-type .how-number{background:var(--lime);border-color:#bcd98d;box-shadow:0 4px 0 #a9c97a}
.how-it-works article:not(:last-of-type):after{content:"";position:absolute;right:32px;top:80px;bottom:-22px;width:2px;background:repeating-linear-gradient(#9fb08f 0 5px,#9fb08f00 5px 10px)}
.how-it-works h3{grid-column:2;font-size:22px;font-weight:800;margin:6px 0 4px}
.how-it-works p{grid-column:2;font-size:18px;line-height:1.7;color:var(--text);margin:0}
.how-it-works .how-note{grid-column:auto;margin:0;padding-inline-start:88px;font-size:16px;color:var(--muted)}
.builder-column{position:relative;padding:56px 0 64px}
.builder-column:before{content:"";position:absolute;top:0;left:50%;width:2px;height:56px;background:linear-gradient(#8cc25100,#8cc251);box-shadow:0 0 10px #b9e27a99}
.builder-column:after{content:"";position:absolute;top:-6px;left:calc(50% - 5px);width:12px;height:12px;border-radius:50%;background:var(--glow);box-shadow:0 0 0 4px #d7eeab,0 0 14px 2px #b9e27a}

/* The form card */
.form-card{position:relative;padding:32px 34px 28px;background:var(--card);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);min-height:560px}
.form-card:before{content:"";position:absolute;top:-1px;right:44px;left:44px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#d7eeab00,#c2e28d 25%,var(--glow) 50%,#c2e28d 75%,#d7eeab00)}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.step-label{font-size:16px;letter-spacing:.2px;color:var(--muted);font-weight:650}
.card-mark{display:grid;place-items:center;color:#6f9e3a}.card-mark svg{width:26px;height:26px;stroke-width:2.2}
.square-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;color:var(--leaf);background:var(--wash)}.square-icon svg{width:18px;height:18px}
.form-card h2{font-size:32px}
.card-subtitle{margin:0 0 24px;color:var(--muted);font-size:17px;line-height:1.7}
.secure-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;line-height:1.5;color:var(--muted);margin:16px 0 0;text-align:center}.secure-note svg{width:16px;height:16px}
.under-card{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:16px 14px 0;color:var(--muted);font-size:16px;line-height:1.5}#capacity-text{flex:1 1 14em}.under-card .status-dot{align-self:flex-start;margin-top:8px}.time-label{margin-inline-start:auto}
.auth-note{display:flex;gap:12px;background:#f1f6e4;border:1px solid #dde8cc;padding:14px 16px;border-radius:16px;margin:0 0 22px;font-size:17px;color:#3d5a37}.auth-note>svg{width:20px;height:20px;margin-top:4px}.auth-note p{margin:0;line-height:1.7}
#number-source{display:block;width:100%;margin:0 0 8px}
#carrier-start-notice{margin-bottom:20px}#carrier-start-notice.hidden.reserve{display:block!important;visibility:hidden}
#setup-availability{margin-bottom:20px}
.closed-login{margin:6px 0 0;font-size:18px;color:var(--text);text-wrap:pretty}
/* A visitor's closed card: the line on hold. */
.builder-column.closed .form-card{min-height:0}
.builder-column.closed .card-head{position:relative;height:44px;margin-bottom:26px}
.builder-column.closed .card-head>*{display:none}
.builder-column.closed .card-head:after{content:"";position:absolute;inset:0;background:linear-gradient(var(--hold-ink),var(--hold-ink)) calc(50% - 5px) 50%/5px 15px no-repeat,linear-gradient(var(--hold-ink),var(--hold-ink)) calc(50% + 5px) 50%/5px 15px no-repeat,radial-gradient(circle,var(--hold) 21px,#f6e1a300 22px) center/44px 44px no-repeat,linear-gradient(90deg,#cfd3be00,#cfd3be 18%,#cfd3be calc(50% - 30px),#cfd3be00 calc(50% - 30px) calc(50% + 30px),#cfd3be calc(50% + 30px),#cfd3be 82%,#cfd3be00) center/100% 2px no-repeat}

/* Review, payment, progress */
.success-mark{display:grid;place-items:center;background:#e4f0d7;border:1px solid #d4e7c4;color:#456c3a;border-radius:50%;margin-bottom:18px}.success-mark.small{width:50px;height:50px}
.review-phone{font-size:34px;letter-spacing:1px;font-weight:750;background:var(--wash);padding:16px;text-align:center;border-radius:16px;margin-bottom:18px}
.review-facts{display:grid;gap:12px;font-size:17px;padding:0 2px 22px}.review-facts>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-facts span{color:var(--muted)}.review-facts strong,.review-facts b{font-weight:700}.review-facts b{display:flex;align-items:center;gap:6px;color:var(--leaf)}.review-facts svg{width:16px;height:16px}
.purchase-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;background:var(--wash);padding:16px 18px;border-radius:16px;margin-bottom:12px;font-size:17px}.purchase-total strong{font-size:20px}
.payment-amount{font-size:56px;font-weight:850;letter-spacing:-2px;margin:18px 0}.payment-amount small{font-size:18px;font-weight:600;letter-spacing:0}#capture-button{margin-top:10px}
/* checkout.js */
.embedded-checkout{border:1px solid var(--line);border-radius:18px;padding:18px 14px;margin:18px 0;background:#fff}
.embedded-checkout h3{margin:0 0 16px;font-size:19px;font-weight:750}
.checkout-method{min-width:0;margin:8px 0}.checkout-method>div{min-height:48px}
.checkout-status{font-size:16px;line-height:1.8;color:var(--text);margin:12px 0 0}
.checkout-security{font-size:16px;line-height:1.7;color:var(--muted);margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.checkout-loading{display:flex;align-items:center;gap:10px;color:var(--text);font-size:16px;padding:12px 0}
.checkout-loading>span{width:18px;height:18px;border:2px solid #bacaaa;border-left-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}
.checkout-fallback{font-size:17px;color:var(--text);margin:14px 0}.checkout-fallback summary{cursor:pointer;min-height:48px;padding:12px 0}.checkout-fallback .button{margin-top:10px;justify-content:center}
.progress-track{height:8px;background:var(--wash);border-radius:4px;overflow:hidden;margin:24px 0}.progress-track>div{width:0;background:linear-gradient(90deg,var(--glow),#b9e27a);height:100%;transition:width .5s}
.steps{list-style:none;padding:0;margin:0 0 24px}.steps li{display:flex;align-items:center;gap:14px;font-size:17px;position:relative;padding-bottom:22px;color:var(--muted)}.steps li:last-child{padding-bottom:0}
.steps li:not(:last-child):before{content:"";width:2px;height:20px;right:14px;top:32px;background:var(--line);position:absolute}
.step-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--wash);border:1px solid var(--line);border-radius:50%;font-size:14px;font-weight:700;position:relative;z-index:1}.step-icon svg{width:14px;height:14px}
.steps .done{color:var(--leaf)}.steps .done .step-icon{background:#ebf3e2;color:#527440;border-color:#dceaca}.steps .active{color:var(--ink);font-weight:700}.steps .active .step-icon{border-color:#b7cfa1;background:#e2efce}
.steps .active .step-icon:after{content:"";width:10px;height:10px;border:2px solid #6c8f55;border-left-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.steps .failed{color:#8e3b2b}
.ready-box{padding:22px 16px;text-align:center;background:#eef5e2;border:1px solid #dceacb;border-radius:18px;margin:0 0 18px}.ready-box>span{font-size:16px;color:var(--leaf)}
.ready-box a{display:block;font-size:34px;letter-spacing:1px;text-decoration:none;font-weight:800;margin:8px 0}.ready-box p{font-size:16px;line-height:1.7;color:var(--text);margin:0}
.first-call{font-size:17px;line-height:1.75;color:var(--text);margin:0 0 14px}.first-call strong{display:block}
.share-button{margin-bottom:12px}.share-button svg{width:19px;height:19px}
#job-success .line-actions{margin:0 0 12px}
/* language-picker.js */
.language-picker{position:relative;margin-bottom:22px}.language-picker #language-search{padding:14px 16px}
.language-popup{position:absolute;z-index:20;top:92px;right:0;left:0;background:#fff;border:1.5px solid var(--field);border-radius:16px;box-shadow:0 12px 30px #1739292e;overflow:hidden}
#language-options{max-height:320px;overflow-y:auto;overscroll-behavior:contain}
.language-option{padding:12px 16px;cursor:pointer;display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #eeebdf;color:var(--ink)}.language-option:hover,.language-option[aria-selected=true]{background:#e9f2dc}
.language-option strong{font-size:17px}.language-option span,.language-option small{font-size:15px;color:var(--muted);overflow-wrap:anywhere}
.language-results{padding:10px 16px;margin:0;background:var(--wash);font-size:15px;line-height:1.6;color:var(--text)}.line-language{font-size:16px;color:var(--muted);margin:0 0 14px}
/* carrier.js */
.carrier-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.carrier-steps span{padding:6px 14px;border-radius:999px;background:var(--wash);color:var(--muted);font-size:16px;font-weight:600}.carrier-steps .current{background:var(--ink);color:#fff}
.carrier-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}.carrier-field:has(#carrier-address){grid-column:1/-1}
.carrier-field input:not([type=checkbox]){padding:14px 16px}.carrier-field select{width:100%}
.why-id{background:var(--wash);border-radius:14px;padding:12px 16px;margin-bottom:18px}
#carrier-panel .notice{margin-bottom:20px}#carrier-code-form .button{margin-top:18px}
#carrier-code{text-align:center;letter-spacing:.3em;font-size:28px;min-height:66px;padding:12px 16px}
#carrier-challenge{margin-block:18px}#carrier-challenge img{max-width:100%;width:auto;cursor:pointer;border:1px solid var(--line);border-radius:12px}
#carrier-details-form .consent{margin-top:20px}#carrier-details-form .button{justify-content:center}
.carrier-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:16px}

/* Sections start on a flat line of light. */
.info-section{position:relative;padding:96px 0 92px}
.info-section:before{content:"";position:absolute;top:-7px;right:0;left:0;height:14px;background:radial-gradient(circle,var(--glow) 0 4px,#d7eeab 5px 7px,#d7eeab00 8px) 100% 50%/14px 14px no-repeat,linear-gradient(270deg,var(--glow),#c5df9a 35%,#d7eeab00) 0 50%/calc(100% - 7px) 2px no-repeat}
.info-section.ask:before{display:none}
.section-head{margin:0 auto 44px;text-align:center;max-width:760px}
.section-head .tiny-label{display:block;margin-bottom:8px}
.section-head h2,.included h2{font-size:clamp(36px,3.6vw,52px);letter-spacing:-.03em;line-height:1.12;font-weight:850;margin:0}
.ask-grid,.who-grid,.check-list,.know-list{list-style:none;margin:0;padding:0}
/* Questions as speech bubbles */
.ask-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
.ask-grid li{--bubble:#eaf4d2;position:relative;min-width:0;padding:22px 26px 26px;border-radius:30px;border-end-start-radius:8px;background:var(--bubble)}
.ask-grid li:after{content:"";position:absolute;right:0;bottom:-14px;width:26px;height:16px;background:var(--bubble);clip-path:polygon(0 0,100% 0,100% 100%)}
.ask-grid li:nth-child(3n+2){--bubble:#f8ebd0}.ask-grid li:nth-child(3n){--bubble:#dfede4}
.ask-topic{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:750;color:var(--leaf)}
.ask-topic:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ask-q{margin:8px 0 0;font-size:22px;font-weight:700;line-height:1.45;color:var(--ink)}
/* Who: line drawings, no people */
.who-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.who-grid li{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:16px 30px 32px;box-shadow:var(--shadow);overflow:hidden}
.who-art{display:block;aspect-ratio:40/13;margin:0 -30px 18px;background:center/100% 100% no-repeat}
.who-handset .who-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 130' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cdefs%3E%3ClinearGradient id='l' gradientUnits='userSpaceOnUse' x2='400'%3E%3Cstop offset='0' stop-color='%238cc251' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%238cc251'/%3E%3Cstop offset='1' stop-color='%238cc251' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x2='400'%3E%3Cstop offset='0' stop-color='%23d7eeab' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%23d7eeab'/%3E%3Cstop offset='1' stop-color='%23d7eeab' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cg id='a' transform='translate(0 6) rotate(-7 200 50)'%3E%3Cpath d='M132 60c-11 0-17-8-14-19c4-17 21-27 42-31c27-5 56-4 78 3c17 5 28 15 29 30c1 10-5 17-15 17h-12c-6 0-10-4-10-10v-7c-17-6-44-7-68-2v8c0 6-4 11-10 11z'/%3E%3Cpath d='M243 70c0 7 12 7 11 13s-14 5-14 11s13 6 13 12s-14 5-14 11c0 4 4 6 4 7'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M0 124H400' stroke='url(%23g)' stroke-width='8'/%3E%3Cpath d='M0 124H400' stroke='url(%23l)' stroke-width='2'/%3E%3Cuse href='%23a' stroke='%23d7eeab' stroke-width='9'/%3E%3Cuse href='%23a' stroke='%23182b2a' stroke-width='2.4'/%3E%3Ccircle cx='252' cy='124' r='9' fill='%23d7eeab'/%3E%3Ccircle cx='252' cy='124' r='4.5' fill='%236f9e3a'/%3E%3C/svg%3E")}
.who-keypad .who-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 130' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cdefs%3E%3ClinearGradient id='l' gradientUnits='userSpaceOnUse' x2='400'%3E%3Cstop offset='0' stop-color='%238cc251' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%238cc251'/%3E%3Cstop offset='1' stop-color='%238cc251' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x2='400'%3E%3Cstop offset='0' stop-color='%23d7eeab' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%23d7eeab'/%3E%3Cstop offset='1' stop-color='%23d7eeab' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cg id='a'%3E%3Crect x='175' y='6' width='50' height='100' rx='12'/%3E%3Crect x='184' y='19' width='32' height='27' rx='4'/%3E%3Cpath d='M193 12h14M200 106v18'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M0 124H400' stroke='url(%23g)' stroke-width='8'/%3E%3Cpath d='M0 124H400' stroke='url(%23l)' stroke-width='2'/%3E%3Cuse href='%23a' stroke='%23d7eeab' stroke-width='9'/%3E%3Cuse href='%23a' stroke='%23182b2a' stroke-width='2.4'/%3E%3Cg fill='%23182b2a'%3E%3Ccircle cx='190' cy='62' r='2.3'/%3E%3Ccircle cx='200' cy='62' r='2.3'/%3E%3Ccircle cx='210' cy='62' r='2.3'/%3E%3Ccircle cx='190' cy='72' r='2.3'/%3E%3Ccircle cx='200' cy='72' r='2.3'/%3E%3Ccircle cx='210' cy='72' r='2.3'/%3E%3Ccircle cx='190' cy='82' r='2.3'/%3E%3Ccircle cx='200' cy='82' r='2.3'/%3E%3Ccircle cx='210' cy='82' r='2.3'/%3E%3Ccircle cx='190' cy='92' r='2.3'/%3E%3Ccircle cx='200' cy='92' r='2.3'/%3E%3Ccircle cx='210' cy='92' r='2.3'/%3E%3C/g%3E%3Ccircle cx='200' cy='124' r='9' fill='%23d7eeab'/%3E%3Ccircle cx='200' cy='124' r='4.5' fill='%236f9e3a'/%3E%3C/svg%3E")}
.who-wires .who-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 130' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cdefs%3E%3ClinearGradient id='l' gradientUnits='userSpaceOnUse' x2='400'%3E%3Cstop offset='0' stop-color='%238cc251' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%238cc251'/%3E%3Cstop offset='1' stop-color='%238cc251' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x2='400'%3E%3Cstop offset='0' stop-color='%23d7eeab' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%23d7eeab'/%3E%3Cstop offset='1' stop-color='%23d7eeab' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cg id='a'%3E%3Cpath d='M300 124C246 124 232 121 198 118S100 108 30 108'/%3E%3Cpath d='M300 124C246 124 232 118 198 103S100 92 30 92'/%3E%3Cpath d='M300 124C246 124 232 115 198 88S100 76 30 76'/%3E%3Cpath d='M300 124C246 124 232 112 198 73S100 60 30 60'/%3E%3Cpath d='M300 124C246 124 232 109 198 58S100 44 30 44'/%3E%3Cpath d='M300 124C246 124 232 106 198 43S100 28 30 28'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M0 124H400' stroke='url(%23g)' stroke-width='8'/%3E%3Cpath d='M0 124H400' stroke='url(%23l)' stroke-width='2'/%3E%3Cuse href='%23a' stroke='%23d7eeab' stroke-width='9'/%3E%3Cuse href='%23a' stroke='%23182b2a' stroke-width='2.4'/%3E%3Cg fill='%23182b2a'%3E%3Ccircle cx='30' cy='108' r='3.4'/%3E%3Ccircle cx='30' cy='92' r='3.4'/%3E%3Ccircle cx='30' cy='76' r='3.4'/%3E%3Ccircle cx='30' cy='60' r='3.4'/%3E%3Ccircle cx='30' cy='44' r='3.4'/%3E%3Ccircle cx='30' cy='28' r='3.4'/%3E%3C/g%3E%3Ccircle cx='300' cy='124' r='9' fill='%23d7eeab'/%3E%3Ccircle cx='300' cy='124' r='4.5' fill='%236f9e3a'/%3E%3C/svg%3E")}
.who-grid h3{font-size:24px;font-weight:800;margin:0 0 6px}.who-grid p{margin:0;font-size:18px;line-height:1.7;color:var(--text)}
/* Included */
.included{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px;align-items:stretch}
.included>div:first-child{position:relative;overflow:hidden;border-radius:38px;padding:44px 46px 50px;color:#eef5e6;background:radial-gradient(120% 90% at 100% 0%,#2f5f50,#2f5f5000 60%),linear-gradient(165deg,#1b3532,#0f1f1d 80%);box-shadow:var(--shadow-lg)}
.included>div:first-child:after{content:"";position:absolute;left:46px;right:46px;bottom:24px;height:2px;background:var(--light);box-shadow:0 0 12px #b9e27a66}
.included h2{color:#fff;margin-bottom:18px}
.check-list li{display:flex;gap:14px;align-items:flex-start;font-size:19px;line-height:1.6;padding:14px 0;border-top:1px solid #ffffff17}.check-list li:first-child{border-top:0}
.check-list svg{box-sizing:content-box;width:17px;height:17px;padding:5px;border-radius:50%;background:var(--lime);color:var(--ink);stroke-width:2.8;margin-top:1px}
.good-to-know{background:var(--card);border:1px solid var(--line);border-radius:38px;padding:40px 40px 34px;box-shadow:var(--shadow)}
.good-to-know h3{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;margin:0 0 8px}.good-to-know h3 svg{width:28px;height:28px;color:var(--green)}
.know-list li{font-size:18px;line-height:1.7;color:var(--text);padding:14px 0;border-top:1px solid var(--line)}.know-list li:first-child{border-top:0}
/* FAQ: the line answers */
.faq{padding-bottom:72px}.faq details{max-width:900px;margin:0 auto 14px}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:14px 22px;padding-inline-end:16px;font-size:20px;font-weight:700;line-height:1.4;cursor:pointer;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:24px;border-start-start-radius:8px;box-shadow:0 3px 0 var(--line);transition:background-color .2s,box-shadow .2s}
.faq summary:hover{background:#fff;box-shadow:0 3px 0 var(--edge)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";flex-shrink:0;width:36px;height:36px;border-radius:50%;background:linear-gradient(currentColor,currentColor) center/14px 2.4px no-repeat,linear-gradient(currentColor,currentColor) center/2.4px 14px no-repeat,var(--band);color:var(--green);transition:transform .4s cubic-bezier(.3,1.6,.5,1),background-color .2s}
.faq details[open] summary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 3px 0 #091614}
.faq details[open] summary:after{transform:rotate(45deg);background-color:#ffffff1f;color:var(--lime)}
.faq details p{position:relative;width:fit-content;max-width:calc(100% - 58px);margin:14px 0 12px;margin-inline-start:auto;margin-inline-end:58px;padding:16px 22px 17px;font-size:18px;line-height:1.8;color:#2c4034;background:#e8f2d4;border:1px solid #d3e4b8;border-radius:24px;border-end-end-radius:8px;animation:demo-in .3s ease-out both}
.faq details p:after{content:"";position:absolute;left:-56px;bottom:0;width:44px;height:44px;background:var(--icon-ink) center/44px 44px no-repeat}
.faq details a{color:var(--green);font-weight:700;text-underline-offset:3px}

/* Footer: the ads' end card */
footer{position:relative;margin-top:24px;padding:76px 0 40px;display:grid;justify-items:center;gap:52px;text-align:center;font-size:16px;color:var(--on-dark);background:var(--ink);border-image:linear-gradient(var(--ink),var(--ink)) fill 0//0 100vmax}
footer:before{content:"";position:absolute;inset:0;background:radial-gradient(closest-side at 50% 34%,#2f5f50a6,#2f5f5000);pointer-events:none}
.end-card{position:relative;display:grid;justify-items:center;gap:18px;width:100%}
.end-line{margin:0;font-size:24px;font-weight:650;color:#eef5e6}
.footer-brand{position:relative;display:inline-flex;align-items:center;padding-bottom:16px;font-size:68px;line-height:1;font-weight:850;letter-spacing:-2px;color:#fff}
.footer-brand .brand-mark{width:58px;height:58px;margin-inline-end:18px;border-radius:18px;background:var(--lime);color:var(--ink);box-shadow:0 0 30px #b9e27a59}.footer-brand .brand-mark svg{width:31px;height:31px}
.footer-brand .dot{color:#a6dd62;text-shadow:0 0 14px #a6dd6299}
.end-card:after{content:"";justify-self:stretch;height:2px;margin-top:-18px;background:var(--light);box-shadow:0 0 16px 1px #b9e27a73}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 0;line-height:1.5}.footer-links a{display:inline-block;padding:10px 0;color:#eef6e4;text-underline-offset:4px}.footer-links a:hover{color:var(--lime)}.footer-dot{padding:0 10px;color:#86a08c}

/* My lines */
.page-heading{display:flex;align-items:center;justify-content:space-between;padding:52px 0 34px;gap:20px}.page-heading h1{font-size:clamp(44px,4.4vw,60px);margin-bottom:8px}.page-heading .eyebrow{margin-bottom:16px}.page-heading .lead{font-size:19px}
.summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.summary-card{background:var(--card);padding:20px 24px;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:17px;box-shadow:0 3px 0 var(--line)}
.summary-card strong{font-size:34px;font-weight:850;color:var(--ink)}
.lines-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:40px}
.line-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:26px;min-width:0;box-shadow:var(--shadow)}
.line-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.line-card-top .round-icon{border-radius:14px;width:46px;height:46px;background:var(--ink);color:var(--lime);transform:rotate(-8deg)}
.line-card-top .round-icon svg{transform:rotate(8deg)}
.line-badge{display:inline-flex;gap:8px;align-items:center;background:#edf5e2;color:var(--leaf);padding:6px 12px;border-radius:999px;font-size:15px;font-weight:650}.line-badge.off{background:#fbefd2;color:#6b5a1e}.line-badge.off .status-dot{background:#c49a3a;box-shadow:none}
.line-card h3{font-size:21px;font-weight:750;margin:0 0 6px;overflow-wrap:anywhere}.line-number{display:inline-block;font-size:28px;letter-spacing:1px;font-weight:800;margin-bottom:14px;text-decoration:none}
.line-stats{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:16px;padding:14px 0;border-top:1px solid var(--line)}.line-stats strong{color:var(--text);font-weight:700}
.line-card>.notice{margin:4px 0 12px;font-size:16px}.line-card>.notice p{margin:4px 0}.line-card>.notice .line-actions{flex-wrap:wrap}.line-card>.notice .button{flex:1 1 12em}
.line-actions{display:flex;gap:8px;margin-top:8px}.line-actions .button{flex:1;min-height:52px;font-size:16px;padding:10px 14px}.line-actions .toggle-line{flex:0 0 52px;padding:0}.line-actions svg{width:17px;height:17px}
.line-card .share-button{margin:10px 0 0;min-height:52px;padding:10px 16px;font-size:16px}
.line-card.create-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:transparent;border:2px dashed #bfc9ab;color:var(--text);text-align:center;cursor:pointer;min-height:300px;box-shadow:none;font:inherit}
.create-tile:hover{background:#f1f3e3}.create-tile .square-icon{border-radius:50%;height:56px;width:56px;background:var(--lime);border:0;color:var(--ink);margin-bottom:14px}.create-tile .square-icon svg{width:22px;height:22px}.create-tile h3{font-size:21px;margin:0}.create-tile p{font-size:17px;margin:0;color:var(--muted)}
.empty-state{text-align:center;padding:72px 20px;color:var(--text);min-height:400px}.empty-state>svg{width:48px;height:48px;margin-bottom:18px;color:var(--green)}.empty-state h2{font-size:30px;color:var(--ink)}.empty-state p{font-size:18px;margin:10px 0 24px}
.recent-jobs{padding-bottom:36px}.recent-jobs h3{font-size:20px;font-weight:750}
.account-search{display:flex;gap:10px;margin:4px 0 16px}.account-search input:not([type=checkbox]){flex:1;min-width:0;padding-right:16px}
.table-scroll{overflow-x:auto;margin:0 0 16px}
.growth-table{width:100%;border-collapse:collapse;font-size:16px}.growth-table th,.growth-table td{padding:8px 10px;text-align:start;white-space:nowrap;border-bottom:1px solid var(--line)}.growth-table th{font-weight:700;color:var(--ink)}
.job-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 6px;font-size:17px;color:var(--text)}.job-row button{border:0;background:none;font:inherit;font-weight:650;color:var(--green);min-height:44px;text-decoration:underline;text-underline-offset:4px}
/* Admin views, a step smaller */
#billing-view,#inventory-view,#prompts-view{font-size:16px}
.billing-settings{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:26px;margin:26px 0}.billing-settings>summary{font-size:19px;font-weight:700;cursor:pointer;min-height:44px;margin-bottom:12px}
.billing-settings h2{font-size:24px}
.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.billing-grid label:not(.consent),#billing-form>label:not(.consent){font-size:16px;font-weight:650;display:block}
.billing-grid input:not([type=checkbox]),.billing-grid select,#seller-terms,#inventory-view input:not([type=checkbox]),#resource-edit-form input:not([type=checkbox]){display:block;width:100%;margin:8px 0 10px;font-size:16px;min-height:50px;padding:10px 14px}
#seller-terms{resize:vertical;min-height:110px;line-height:1.8}
.billing-row{display:flex;gap:20px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--card);border-radius:18px;padding:20px;margin:10px 0}.billing-row p{font-size:16px;margin:6px 0;color:var(--muted)}.billing-row small{font-size:15px;color:var(--muted)}
.billing-row .button,.billing-settings .button,.page-heading>.button{min-height:50px;font-size:16px;padding:10px 18px}
#billing-form .button{margin:6px 0 10px 10px}
#inventory-view .billing-settings{margin-top:0}#inventory-view form>label:not(.consent){display:block;margin-top:16px}#inventory-list{margin-top:24px}
.prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.prompt-grid textarea{display:block;width:100%;padding:14px;font-size:16px;line-height:1.7;resize:vertical}.prompt-grid small{display:block;margin:8px 0 16px;color:var(--muted)}.prompt-grid .billing-settings{min-width:0}
.prompt-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8;background:#fff;color:var(--ink);padding:20px;border:1px solid var(--line);border-radius:14px;max-height:600px;overflow:auto}

/* Dialogs and toasts */
.account-dialog{border:1px solid var(--line);border-radius:30px;padding:36px;width:min(480px,calc(100% - 28px));max-height:92dvh;overflow:auto;background:var(--card);color:var(--ink);box-shadow:0 30px 100px #0f1f1d59}
.account-dialog::backdrop{background:#0f1f1d8c;backdrop-filter:blur(5px)}
.dialog-close{position:absolute;left:16px;top:16px;width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:30px;line-height:1}.dialog-close:hover{background:var(--wash);color:var(--ink)}
.account-dialog .eyebrow{margin-top:8px}.account-dialog h2{font-size:32px}.account-dialog label:not(.consent){display:block;margin:16px 0 8px}
.account-tabs{display:flex;gap:4px;background:var(--wash);border:1px solid var(--line);padding:4px;border-radius:16px;margin:6px 0 16px}
.account-tabs button{flex:1;background:none;border:0;border-radius:12px;min-height:48px;padding:8px 4px;font-size:17px;color:var(--muted);font-weight:650}.account-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 0 var(--edge);font-weight:750}
.recovery-code{display:block;word-break:break-all;user-select:all;background:var(--wash);border:1px dashed var(--field);padding:18px;border-radius:14px;margin:16px 0;font-size:18px;line-height:1.8}
.password-wrap{margin-bottom:8px}
.toast{position:fixed;bottom:24px;left:16px;right:16px;width:fit-content;margin:0 auto;z-index:10;border-radius:18px;background:var(--ink);color:#eef5e5;border:1px solid #d7eeab59;padding:14px 24px;box-shadow:0 12px 40px #0f1f1d40;max-width:560px;font-size:17px;line-height:1.7}
/* Stays in the accessibility tree, so the next message is announced. */
.toast.hidden{display:block!important;opacity:0;pointer-events:none}
.busy{position:relative;pointer-events:none}.busy svg{animation:spin 1s linear infinite}.busy input{opacity:.7}
.fade-in{animation:fade .35s ease-out}

/* Terms page */
.terms-page{max-width:840px;margin:48px auto;background:var(--card);border:1px solid var(--line);border-radius:38px;padding:46px 56px 50px;line-height:1.85;box-shadow:var(--shadow)}
.terms-page>.brand{display:inline-flex;margin-bottom:26px}.terms-page>.brand strong{font-size:36px}.terms-page>.brand .brand-mark{width:40px;height:40px;border-radius:13px}.terms-page>.brand .brand-mark svg{width:22px;height:22px}
.terms-page h1{font-size:clamp(36px,4vw,46px);letter-spacing:-.03em;line-height:1.15;margin-bottom:18px}
.terms-page h2{display:flex;align-items:center;gap:12px;font-size:24px;margin:36px 0 6px;scroll-margin-top:16px}
.terms-page h2:before{content:"";width:15px;height:14px;flex-shrink:0;background:linear-gradient(var(--glow),var(--glow)) 0 50%/3px 6px no-repeat,linear-gradient(var(--glow),var(--glow)) 50% 50%/3px 14px no-repeat,linear-gradient(var(--glow),var(--glow)) 100% 50%/3px 9px no-repeat}
.terms-page h3{font-size:20px;font-weight:750;line-height:1.4;margin:26px 0 4px}
.terms-page p,.terms-page li{font-size:18px;color:var(--text)}.terms-page #published-terms{white-space:pre-line}
.terms-page>.button{margin-top:22px}
.terms-summary{background:#f1f5e3;border:1px solid #dce6c9;border-radius:26px;padding:22px 28px 20px;margin:20px 0 8px}
.terms-summary h2{margin:0 0 6px;font-size:22px}.terms-summary h2:before{display:none}.terms-summary ul{margin:0;padding:0;list-style:none}
.terms-summary li{position:relative;padding:5px 28px 5px 0}.terms-summary li:before{content:"";position:absolute;right:3px;top:17px;width:9px;height:9px;border-radius:50%;background:var(--glow);box-shadow:0 0 0 3px var(--lime)}

/* Focus */
:focus-visible{outline:3px solid var(--green);outline-offset:3px}
input:not([type=checkbox]):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
footer :focus-visible{outline-color:var(--lime)}
@supports(-webkit-touch-callout:none){input:not([type=checkbox]):not(#carrier-code),select,textarea{font-size:18px!important}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{from{transform:scaleY(.7)}to{transform:scaleY(1)}}@keyframes fade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes hold{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes demo-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes demo-blink{50%{opacity:0}}
@keyframes demo-ring{0%,55%,100%{transform:rotate(0)}8%,24%,40%{transform:rotate(-15deg)}16%,32%,48%{transform:rotate(15deg)}}
@keyframes demo-core{0%,100%{box-shadow:0 0 0 6px #142a27,0 0 34px 2px #b9e27a59}50%{box-shadow:0 0 0 6px #142a27,0 0 0 14px #d7eeab33,0 0 44px 6px #b9e27a80}}
@keyframes demo-orbit{0%{transform:scale(.9);opacity:.2}55%{opacity:1}100%{transform:scale(1.12);opacity:0}}

/* Widths */
/* One layout for everyone: who is signed in is known only after bootstrap, and moving the cards then would jump. */
/* Wide screens: the lead keeps three lines' height (no move when Heebo arrives); the benefits stand as three columns
   under the call card; a short window tightens the hero so the closed notice stays in the first screen. */
@media(min-width:901px){.intro .lead{min-height:5.25em}
  .feature-row li{flex-direction:column;justify-content:flex-start;gap:10px;padding:16px 10px 18px;font-size:18px;text-align:center;text-wrap:balance}
}
/* Narrow wide screens: Heebo takes a line more than the fallback in the lead and in the demo card's caption. */
@media(min-width:901px) and (max-width:979px){.intro .lead{min-height:7em}}
@media(min-width:901px) and (max-width:959px){.experience-top{min-height:52px}}
@media(min-width:901px) and (max-height:820px){
  .header{min-height:72px}.call-column{padding-top:48px}.intro>.eyebrow{margin-bottom:10px}h1{margin-bottom:18px}
  .price-strip{margin-top:16px;padding-block:10px}.price-strip>strong{width:78px;height:78px;font-size:40px}.pay-note{margin-top:10px}
  /* Two lines of small print whichever font draws them, so Heebo's arrival moves nothing. */
  .price-strip>div{min-height:86px;display:flex;flex-direction:column;justify-content:center}
}
/* Tablets, where the call card is in the first screen under the hero: when setups are open, the closed notice's space
   stays (after the button), so its release does not move the card; nor does a hidden button's, for customers. */
@media(min-width:651px) and (max-width:900px){.sales-closed.hidden{display:block!important;visibility:hidden;order:1}.hero-cta.hidden{display:flex!important;visibility:hidden}}
@media(max-width:1150px){.shell{padding:0 32px}.workspace:before{margin:0 -32px}.brand-tag{display:none}.form-card{padding:28px}.feature-row li{font-size:17px;padding:14px 8px 16px;gap:10px}.ask-grid{gap:26px 18px}.ask-q{font-size:20px}}
@media(max-width:900px){
  .workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "call" "feat" "how" "build";grid-template-rows:none}
  .workspace:before{grid-row:4/6}
  h1{font-size:clamp(56px,9vw,80px)}
  .intro{padding:24px 0 40px}.call-column{padding:0 0 28px}.call-column:before{left:0;right:0}
  .feature-row{grid-template-columns:1fr;margin-bottom:56px;padding:6px 16px}.feature-row li{justify-content:flex-start;padding:14px 4px}.feature-row li+li{border-inline-start:0;border-top:1.5px solid var(--line)}
  .how-it-works{padding:56px 8px 8px}
  .ask-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .who-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .included{grid-template-columns:1fr}
  .lines-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{padding:18px}.prompt-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .billing-grid{grid-template-columns:1fr}.billing-row{flex-wrap:wrap}.account-dialog{padding:28px 22px}.billing-settings{padding:20px}
  .header{flex-wrap:wrap;padding:14px 0;gap:12px;min-height:0}.header .nav{order:3;width:100%;justify-content:center}
}
@media(max-width:650px){
  .shell{padding:0 18px}.header{padding:12px 0}
  .brand strong{font-size:34px}.brand-mark{width:40px;height:40px;border-radius:13px}.brand-mark svg{width:22px;height:22px}.brand{gap:10px}
  .nav-item{flex:1;justify-content:center;padding:8px 10px;font-size:16px}.owner-label,.login-link{margin-right:auto}.login-link{min-height:48px;padding:8px 18px}
  .workspace:before{margin:0 -10px;border-radius:32px}
  .intro{padding:4px 0 36px}.eyebrow{padding:6px 14px;margin-bottom:14px;gap:8px}
  h1{font-size:54px;line-height:1.02;margin-bottom:16px}
  .lead{font-size:18.5px;line-height:1.7}
  .price-strip{margin-top:20px;gap:16px;padding:10px 12px;padding-inline-end:16px;border-radius:26px}.price-strip>strong{width:76px;height:76px;font-size:38px}.price-strip strong span{font-size:15px}
  .price-strip>div{font-size:20px}.price-strip>div>span{font-size:16px}
  .pay-note{margin-top:10px}.hero-cta{margin-top:16px}
  .sales-closed{padding:14px 16px;padding-inline-start:66px}.sales-closed:before{right:14px;top:16px}.sales-closed:after{right:45px;top:11px}
  .experience{border-radius:32px;padding:18px 18px 16px}.soundstage{height:204px}
  .voice-core{width:64px;height:64px;border-radius:21px;margin-bottom:12px}.voice-core svg{width:33px;height:33px}.sound-orbit{inset:-11px;border-radius:27px}.orbit-two{inset:-21px;border-radius:34px}
  .soundstage:before{left:-18px;right:-18px}.waveform{gap:4px;height:56px}.waveform i{width:4px}.waveform i:nth-child(n+20){display:none}
  .experience-bottom strong{font-size:18px}.experience .round-icon{width:52px;height:52px}
  .demo-foot{margin-top:14px;padding:0 2px}
  .how-it-works{grid-template-columns:1fr;gap:24px;padding:44px 6px 4px}
  .how-it-works article{grid-template-columns:56px 1fr;column-gap:16px}.how-number{width:56px;height:56px;font-size:21px;border-radius:17px}.how-it-works article:not(:last-of-type):after{right:27px;top:68px}
  .how-it-works h3{font-size:20px;margin-top:2px}.how-it-works .how-note{padding-inline-start:72px}
  .builder-column{padding:44px 0 40px}.builder-column:before{height:44px}
  .form-card{padding:26px 20px 22px;border-radius:28px;min-height:0}.form-card:before{right:30px;left:30px}.form-card h2{font-size:28px}
  .info-section{padding:72px 0 70px}.section-head{margin-bottom:32px}.section-head h2,.included h2{font-size:36px}
  .ask-grid{grid-template-columns:1fr;gap:28px}.ask-grid li{padding:18px 22px 22px}.ask-q{font-size:20px}
  .who-grid{gap:16px}.who-grid li{padding:12px 22px 26px;border-radius:26px}.who-art{margin:0 -22px 14px}.who-grid h3{font-size:22px}
  .included{gap:16px}.included>div:first-child{padding:32px 24px 44px;border-radius:32px}.included>div:first-child:after{left:24px;right:24px;bottom:20px}.check-list li{font-size:18px}
  .good-to-know{padding:28px 22px 22px;border-radius:32px}
  .faq summary{font-size:18px;padding:12px 18px;padding-inline-end:12px}.faq details p{max-width:calc(100% - 46px);margin-inline-end:46px;padding:14px 18px 15px;font-size:17px}.faq details p:after{left:-46px;width:36px;height:36px;background-size:36px 36px}
  footer{padding:60px 0 36px;gap:40px}.end-line{font-size:21px}.footer-brand{font-size:56px}.footer-brand .brand-mark{width:50px;height:50px;border-radius:16px}.footer-links{gap:0 22px}.footer-dot{display:none}
  .page-heading{padding:32px 0 24px;align-items:flex-start}.page-heading h1{font-size:44px}.page-heading .lead{font-size:18px}
  .page-heading>.button{margin-top:36px}#refresh-lines{font-size:0;gap:0;min-width:52px;min-height:52px;padding:0}#refresh-lines svg{width:20px;height:20px}
  .summary-row{gap:10px;margin-bottom:20px}.summary-card{flex-direction:column;gap:4px;padding:14px 6px;text-align:center}.summary-card span{font-size:15px;line-height:1.3}.summary-card strong{font-size:28px}
  .lines-grid{grid-template-columns:1fr;gap:16px;padding-bottom:26px}.line-card{padding:22px 20px}.line-card.create-tile{min-height:200px}.job-row{gap:8px;font-size:16px}.job-row span{max-width:62%}.review-phone{font-size:30px}
  .account-tabs button{font-size:16px;white-space:nowrap}.time-label{display:none}
  .carrier-details-grid{grid-template-columns:1fr}.carrier-field:has(#carrier-address){grid-column:auto}
  .terms-page{padding:26px 20px;margin:20px auto;border-radius:30px}.terms-summary{padding:18px 20px}
}
@media(max-width:380px){
  .shell{padding:0 16px}h1{font-size:50px}.lead{font-size:18px}
  .price-strip>strong{width:72px;height:72px;font-size:36px}.price-strip>div{font-size:19px}
  .feature-row li{font-size:17px}.waveform i:nth-child(n+18){display:none}.embedded-checkout{padding:15px 8px}
  select{padding-left:38px;padding-right:14px;background-position:left 12px center;font-size:17px}
}
/* With less motion there is nothing to pause (call-demo.js removes the key), so no space is kept for it. */
@media(prefers-reduced-motion:reduce){.demo-toggle.hidden.reserve{display:none!important}}
.filter-option{margin-top:6px;border-bottom:0;padding-bottom:4px}.filter-option b{font-weight:750}.filter-hint{margin:0 34px 18px 0;font-size:15px;line-height:1.6;color:var(--muted)}
/* An existing number: its whole system or one extension (radio choices, not the text field rule), and the line it answers. */
#route-target-fields{margin:0 0 8px}#route-target-fields legend{font-size:17px;font-weight:700;margin:0 0 4px;padding:0}
.route-choice{border-top:0;padding:8px 0}.route-choice b{font-weight:750}.route-choice input[type=radio]{min-height:0;padding:0;border:0;border-radius:50%;box-shadow:none;background:none}
#route-extension{padding-right:16px;margin-top:2px}#route-extension-field .field-hint{margin-top:8px}
#caller-phone-error{margin:-12px 0 18px}.line-callers{font-size:16px;color:var(--muted);margin:-8px 0 14px;overflow-wrap:anywhere}
/* Business model stage 2: «פתיחת קו נוסף» beside «רענון» (on phones under the heading), a line's numbers on its card, the
   dialog that adds one (with its own PayPal buttons), and the operator's ledger and journal. Phone numbers read left to right. */
#lines-view .page-heading{flex-wrap:wrap}.heading-actions{display:flex;flex-wrap:wrap;gap:10px}.heading-actions .button{min-height:50px;font-size:16px;padding:10px 18px}
.callers-box{border-top:1px solid var(--line);padding:16px 0 8px}.callers-box h4{font-size:18px;font-weight:750;margin:0 0 12px}
.callers-box>.notice{margin:0 0 12px;font-size:16px}.callers-box ul{list-style:none;margin:0 0 12px;padding:0}
.caller-row{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;margin:0 0 10px}
.caller-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.caller-phone{font-weight:750;unicode-bidi:isolate}.caller-head .caller-phone{font-size:20px;letter-spacing:.5px}
.caller-tag{background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:15px;font-weight:650;color:var(--leaf)}
.caller-state{font-size:16px;line-height:1.6;color:var(--text);margin:6px 0 0}.caller-months{font-size:15px;line-height:1.6;color:var(--muted);margin:4px 0 0}
.caller-row .line-actions{flex-wrap:wrap}.caller-row .line-actions .button{flex:1 1 9em}
.callers-box>.button{width:100%;min-height:56px;font-size:17px;margin:2px 0 6px}.callers-note{font-size:16px;line-height:1.6;color:var(--muted);margin:6px 0 0}
.caller-dialog .notice{margin:14px 0 4px;font-size:16px}.caller-dialog .consent{margin-top:10px}.caller-dialog .form-error{margin-top:4px}
.caller-pay .caller-state{font-size:17px;margin:0 0 4px}.caller-checkout{margin:14px 0}.caller-pay>.button{margin-top:10px;justify-content:center}
.credits-table td:nth-child(5),.journal-table td:nth-child(8){white-space:normal;min-width:16em}.credits-table .button{min-height:44px;font-size:15px;padding:6px 12px}
/* 404: a keypad to play with (notfound.js). Its screen is dark like the call card, and lights up when 404 is dialled. */
.dialer{margin-top:40px;border-top:1px solid var(--line);text-align:center}.dialer h2{justify-content:center}
.dialer-screen{position:relative;max-width:300px;margin:18px auto;padding:12px 16px;border-radius:22px;background:var(--ink)}
.dialer-screen output{display:block;min-height:1.4em;font-size:min(34px,9vw);font-weight:750;letter-spacing:2px;line-height:1.4;color:var(--lime)}.dialer-screen output:empty:before{content:"_ _ _"/"";color:#d7eeab4d}
.dialer-screen p{min-height:3.4em;margin:0;font-size:17px;line-height:1.7;color:var(--on-dark)}
.dialer-screen:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--lime),inset 0 0 24px #d7eeab59;opacity:0;pointer-events:none}.dialer-found:after{opacity:1}
.dialer-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:300px;margin:0 auto;direction:ltr}
.dialer-keys .button{font-size:26px;padding:8px}.dialer-keys .dialer-hit{transform:translateY(2px) scale(1.01,.96);box-shadow:0 1px 0 var(--edge)}
/* Every answer takes two lines from 360px and three down to 280px (a small phone, or a larger text size), so the
   status line keeps that height and the keys stay put; ten digits fit the screen there too (the size above). */
@media(max-width:359px){.dialer-screen p{min-height:5.1em}}
/* Motion, in code only (after the «Claude Motion Design» video): the point of light draws the headline's line once, the
   ads' line of light draws itself as each part scrolls in, and 404 lights the screen. Only without «less motion»;
   motion.js and notfound.js check the same setting themselves. */
@media(prefers-reduced-motion:no-preference){
.highlight:after{animation:draw .9s .3s cubic-bezier(.3,.7,.2,1) backwards}.highlight:before{animation:fly .9s .3s cubic-bezier(.3,.7,.2,1) backwards}
@supports(animation-timeline:view()){.info-section,.how-it-works article{view-timeline:--seen}
.info-section:before{animation:draw linear both;animation-timeline:--seen;animation-range:entry 5% entry 40%}
.how-it-works article:not(:last-of-type):after{animation:drop linear both;animation-timeline:--seen;animation-range:cover 10% cover 40%}}
.dialer-found:after{animation:ping .6s cubic-bezier(.2,.7,.3,1)}}
@keyframes draw{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes drop{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes fly{from{opacity:0;transform:translateX(1.4em)}}@keyframes ping{from{opacity:0;transform:scale(1.1,1.3)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
