/* ==========================================================================
   oneonone.css · One on one, The Walk-Through, The Full Picture, Work with me, Contact
   Only what app.css doesn't already have. Everything uses its tokens.
   ========================================================================== */

/* ---------- small shared bits ---------- */
.oo-pair{--syms-ring:var(--studio)}
.phero__k .oo-pair .sym{--s:30px}
.oo-mt{margin-top:clamp(28px,3.4vw,44px)}
.oo-ink{color:var(--ink)}

/* ---------- one on one: the two ways ---------- */
.oo-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.oo-way{position:relative;isolation:isolate;display:flex;flex-direction:column;border-radius:var(--r-xl);overflow:hidden;background:var(--grey);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sec--grey .oo-way{background:#fff;box-shadow:var(--sh-1)}
.oo-way:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.oo-way__img{aspect-ratio:16/9;overflow:hidden;background:var(--grey-2)}
.oo-way__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.oo-way:hover .oo-way__img img{transform:scale(1.04)}
.oo-way__b{display:flex;flex-direction:column;gap:12px;flex:1;padding:clamp(22px,2.6vw,32px)}
.oo-way__top{display:flex;align-items:center;gap:12px}
.oo-way__k{font-size:var(--fs-ui);font-weight:600;color:var(--ink-3)}
.oo-way__t{margin-top:4px;font-size:var(--fs-2b);font-weight:700;letter-spacing:-.04em;line-height:1.05}
.oo-way__pain{font-size:var(--fs-3);line-height:1.45;color:var(--ink);font-weight:600;letter-spacing:-.015em}
.oo-way__pain b{display:block;margin-bottom:4px;font-size:var(--fs-ui);font-weight:600;color:var(--violet);letter-spacing:.005em}
.oo-way__d{font-size:var(--fs-3);line-height:1.5;color:var(--ink-3)}
.oo-way__meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:var(--fs-ui);color:var(--ink-2)}
.oo-way__meta span{display:inline-flex;align-items:center;gap:6px}
.oo-way__meta .ic{width:13px;height:13px;color:var(--green-ink)}
.oo-way .link{font-size:var(--fs-3)}
@media (max-width:767px){ .oo-ways{grid-template-columns:1fr} }

/* ---------- side by side: a table on wide screens, cards on a phone ---------- */
.oo-cmp .compare tbody th{width:20%}
.oo-cmp .compare td{width:40%}
.oo-cmp .compare td b{color:var(--ink);font-weight:600}
.oo-cmp__go td{padding-top:16px;padding-bottom:20px}
.oo-cmp .link{font-size:var(--fs-3)}
@media (max-width:640px){
  .oo-cmp{overflow:visible;background:transparent!important;box-shadow:none!important;border-radius:0}
  .oo-cmp .compare,.oo-cmp .compare tbody{display:block;width:auto}
  .oo-cmp .compare thead{display:none}
  .oo-cmp .compare tbody{display:grid;gap:10px}
  .oo-cmp .compare tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:16px 18px 18px;border-radius:var(--r-m);background:#fff;box-shadow:var(--sh-1)}
  .sec--white .oo-cmp .compare tr{background:var(--grey);box-shadow:none}
  .oo-cmp .compare tbody th{grid-column:1 / -1;width:auto;padding:0 0 8px;border:0;font-size:var(--fs-ui)}
  .oo-cmp .compare td{width:auto;padding:0;border:0;font-size:var(--fs-ui);line-height:1.45}
  .oo-cmp .compare td+td{padding-left:15px;border-left:1px solid var(--line)}
  .oo-cmp .compare td[data-k]::before{content:attr(data-k);display:block;margin-bottom:3px;font-size:var(--fs-4);font-weight:600;color:var(--ink-4)}
  .oo-cmp__go th{display:none}
  .oo-cmp__go td{padding-top:0!important;padding-bottom:0!important}
  .oo-cmp .link{font-size:var(--fs-3)}
}

/* the next step after the Full Picture */
.oo-next{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:14px;padding:18px 24px;border-radius:var(--r-m);background:var(--grey)}
.sec--grey .oo-next{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.oo-next__k{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-ui);font-weight:600;color:var(--violet)}
.oo-next__k .ic{width:15px;height:15px}
.oo-next p{font-size:var(--fs-3);line-height:1.5;color:var(--ink-2)}
.oo-next p b{color:var(--ink)}

/* ---------- proof: a message, as it came in ---------- */
.oo-proof{margin-top:clamp(56px,7vw,104px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.oo-proof__h{font-size:var(--fs-2b);font-weight:700;letter-spacing:-.04em;line-height:1.08;text-wrap:balance}
.oo-proof__lead{margin-top:18px}
.oo-msg{justify-self:center;width:min(100%,480px);margin:0;padding:12px;border-radius:30px;background:#fff;box-shadow:var(--sh-2)}
.sec:not(.sec--grey) .oo-msg{background:var(--grey);box-shadow:none}
.oo-msg img{width:100%;border-radius:20px}
@media (max-width:899px){ .oo-proof{grid-template-columns:1fr} .oo-msg{justify-self:start} }

/* ---------- questions: the heading holds still on the left, the answers on the right ---------- */
.oo-qa{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(28px,5vw,80px);align-items:start}
.oo-qa__head{position:sticky;top:calc(var(--nav-h) + 32px)}
.oo-qa__more{margin-top:22px}
.oo-qa .faq{max-width:none}
@media (max-width:899px){ .oo-qa{grid-template-columns:1fr} .oo-qa__head{position:static} }

/* ---------- small helpers ---------- */
.oo-mt-s{margin-top:18px}
.oo-a{color:var(--violet);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--violet) 35%,transparent);transition:text-decoration-color .2s}
.oo-a:hover{text-decoration-color:currentColor}
.oo-proof--flush{margin-top:0}
.oo-leave{margin-top:4px}

/* ---------- the Walk-Through week, drawn ---------- */
.oo-wk{margin-top:28px;padding:16px 16px 14px;border-radius:var(--r-l);background:#fff;box-shadow:var(--sh-1)}
.sec:not(.sec--grey) .oo-wk{background:var(--grey);box-shadow:none}
.oo-wk__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:var(--fs-4);font-weight:600;color:var(--ink-4);text-align:center}
.oo-wk__track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 4px;margin-top:8px;padding:6px 0 0;border-top:1px solid var(--line)}
.oo-wk__ev{display:flex;align-items:center;gap:8px;min-width:0;height:40px;padding:0 12px;border-radius:12px;font-size:var(--fs-ui);font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden}
.oo-wk__ev b{font-size:var(--fs-4);font-weight:700;opacity:.62;font-variant-numeric:tabular-nums}
.oo-wk__ev--a{grid-column:1 / span 3;grid-row:1;background:var(--ink);color:#fff}
.oo-wk__ev--b{grid-column:4 / span 3;grid-row:1;background:var(--violet);color:#fff}
.oo-wk__doc{grid-column:4 / span 4;grid-row:2;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-4);font-weight:600;color:var(--ink-3)}
.oo-wk__doc .ic{width:13px;height:13px;color:var(--violet)}
.oo-six{margin-top:22px}
.oo-six__k{margin-bottom:10px;font-size:var(--fs-ui);font-weight:600;color:var(--ink-3)}
.oo-six .pillrow{gap:6px}
.oo-six .pill{height:28px;padding:0 11px;font-size:var(--fs-ui)}
.oo-media-land{aspect-ratio:4/3}
.wk__n .ic{width:18px;height:18px}

/* ---------- the thirty days in which a Walk-Through comes off ---------- */
.oo-credit{padding:clamp(22px,3vw,34px);border-radius:var(--r-xl);background:var(--grey)}
.sec--grey .oo-credit{background:#fff;box-shadow:var(--sh-1)}
.oo-credit__row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:14px 16px}
.oo-credit__a{grid-column:1;grid-row:1}
.oo-credit__b{grid-column:3;grid-row:1}
.oo-credit__la,.oo-credit__lb{display:flex;flex-direction:column;line-height:1.25}
.oo-credit__la{grid-column:1 / span 2;grid-row:2}
.oo-credit__lb{grid-column:2 / span 2;grid-row:2;justify-self:end;text-align:right}
.oo-credit small{font-size:var(--fs-4);font-weight:600;color:var(--ink-3)}
.oo-credit b{font-size:var(--fs-3);letter-spacing:-.02em}
.oo-credit__win{grid-column:2;grid-row:1;position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--violet-2) 0 6px,transparent 6px 11px)}
.oo-credit__win span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:5px 12px;border-radius:999px;background:var(--violet);color:#fff;font-size:var(--fs-4);font-weight:700;white-space:nowrap}
.oo-credit__note{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:var(--fs-ui);color:var(--ink-2)}
.oo-credit__note .ic{width:15px;height:15px;flex:none;color:var(--green-ink)}
@media (max-width:560px){
  .oo-credit__row{grid-template-columns:44px minmax(0,1fr);gap:10px 14px}
  .oo-credit__la{grid-column:2;grid-row:1}
  .oo-credit__win{grid-column:1;grid-row:2;justify-self:center;width:2px;height:48px;background:repeating-linear-gradient(180deg,var(--violet-2) 0 6px,transparent 6px 11px)}
  .oo-credit__win span{left:30px;transform:translate(0,-50%)}
  .oo-credit__b{grid-column:1;grid-row:3}
  .oo-credit__lb{grid-column:2;grid-row:3;justify-self:start;text-align:left}
}

/* ---------- who it's for, and who it isn't ---------- */
.oo-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(48px,6vw,80px)}
.oo-fit__c{padding:clamp(24px,3vw,36px);border-radius:var(--r-xl);background:#fff;box-shadow:var(--sh-1)}
.sec:not(.sec--grey) .oo-fit__c{background:var(--grey);box-shadow:none}
.oo-fit__h{margin-bottom:20px;font-size:var(--fs-2b);font-weight:700;letter-spacing:-.03em;line-height:1.15}
@media (max-width:767px){ .oo-fit{grid-template-columns:1fr} }

/* ---------- the Full Picture ---------- */
.oo-h-long{max-width:19ch}
.oo-isnt{gap:22px}
.oo-isnt li{font-size:var(--fs-3);color:var(--ink-3)}
.oo-isnt li b{display:block;margin-bottom:3px;font-size:var(--fs-lead);letter-spacing:-.025em;color:var(--ink)}

/* three sessions and a week away, drawn as a line */
.oo-tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;padding:18px 6px 16px;border-radius:var(--r-l);background:#fff;box-shadow:var(--sh-1)}
.sec:not(.sec--grey) .oo-tl{background:var(--grey);box-shadow:none}
.oo-tl::before{content:"";position:absolute;left:12.5%;right:12.5%;top:25px;height:2px;background:var(--grey-3)}
.oo-tl>span{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 4px;text-align:center;font-size:var(--fs-4);line-height:1.3;color:var(--ink-3)}
.oo-tl i{width:16px;height:16px;margin-bottom:10px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 4px #fff}
.sec:not(.sec--grey) .oo-tl i{box-shadow:0 0 0 4px var(--grey)}
.oo-tl b{font-size:var(--fs-ui);letter-spacing:-.01em;color:var(--ink)}
.oo-tl__away i{background:#fff;box-shadow:inset 0 0 0 2px var(--grey-3),0 0 0 4px #fff}
.oo-tl__away b{color:var(--ink-3)}

/* five a month, the real limit */
.oo-five{display:flex;align-items:center;gap:18px;margin-top:14px;padding:20px 22px;border-radius:var(--r-l);background:#fff;box-shadow:var(--sh-1)}
.oo-five__dots{display:grid;grid-template-columns:repeat(5,10px);gap:6px;flex:none}
.oo-five__dots i{width:10px;height:10px;border-radius:50%;background:var(--violet)}
.oo-five__h{font-size:var(--fs-lead);font-weight:700;letter-spacing:-.025em;line-height:1.2}
.oo-five__p{margin-top:4px;font-size:var(--fs-3);line-height:1.45;color:var(--ink-3)}

/* what it costs: add it up */
.oo-cost{align-items:center}
.oo-calc{margin-top:28px;padding:clamp(20px,2.6vw,28px);border-radius:var(--r-l);background:var(--grey)}
.sec--grey .oo-calc{background:#fff;box-shadow:var(--sh-1)}
.oo-calc__k{margin-bottom:14px;font-size:var(--fs-ui);font-weight:600;color:var(--violet)}
.oo-calc__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.oo-calc__lab{font-size:var(--fs-ui);font-weight:600;color:var(--ink-2)}
.oo-calc__lab--b{display:block;margin-top:20px}
.oo-calc__v{font-size:var(--fs-ui);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.oo-range{--v:31.4%;-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;margin:8px 0 0;background:transparent;cursor:pointer}
.oo-range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--violet) var(--v),var(--grey-3) var(--v))}
.oo-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.28),inset 0 0 0 1px rgba(0,0,0,.06);transition:transform .2s var(--ease)}
.oo-range:active::-webkit-slider-thumb{transform:scale(1.1)}
.oo-range::-moz-range-track{height:6px;border-radius:999px;background:var(--grey-3)}
.oo-range::-moz-range-progress{height:6px;border-radius:999px;background:var(--violet)}
.oo-range::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.28)}
.oo-range:focus-visible{outline:none}
.oo-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--violet-2) 35%,transparent),0 1px 4px rgba(0,0,0,.28)}
.oo-money{display:flex;align-items:center;gap:6px;height:52px;margin-top:8px;padding:0 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}
.sec--grey .oo-money{background:var(--grey)}
.oo-money:focus-within{box-shadow:inset 0 0 0 2px var(--violet-2)}
.oo-money span{font-size:var(--fs-3);font-weight:600;color:var(--ink-3)}
.oo-money input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font-size:var(--fs-3);font-weight:600;font-variant-numeric:tabular-nums;outline:none}
.oo-calc__out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.oo-calc__out div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:14px 16px;border-radius:16px;background:#fff}
.sec--grey .oo-calc__out div{background:var(--grey)}
.oo-calc__out span{font-size:var(--fs-ui);font-weight:600;color:var(--ink-3)}
.oo-calc__out strong{font-size:var(--fs-2b);letter-spacing:-.035em;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.oo-calc__next{color:#C4170D}

/* the refund, said as a statement */
.oo-statement{max-width:24ch;font-size:var(--fs-2);font-weight:700;letter-spacing:-.04em;line-height:1.08;text-wrap:balance}
.promise.oo-fair{max-width:780px;margin-top:28px}

/* one story */
.oo-quote{margin-bottom:clamp(72px,9vw,128px)}
.oo-logo{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:#fff;font-weight:700;font-size:var(--fs-3)}
.oo-quote__p{max-width:52ch;margin:18px auto 0;font-size:var(--fs-3);line-height:1.55;color:var(--ink-3);text-wrap:pretty}

/* ==========================================================================
   Work with me, and Contact
   ========================================================================== */

/* glass cards in the hero: what happens next, and the email address */
.oo-nextcard,.oo-mailcard{position:relative;padding:clamp(22px,2.8vw,32px);border-radius:var(--r-xl);background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);box-shadow:0 30px 60px -28px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.7)}
.js .oo-nextcard,.js .oo-mailcard{animation:stage 1.3s var(--ease) .2s both}
.oo-nextcard__h{font-size:var(--fs-2b);font-weight:700;letter-spacing:-.03em}
.oo-nexts{display:grid;gap:14px;margin-top:18px}
.oo-nexts li{display:flex;gap:14px;align-items:flex-start}
.oo-nexts span{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--violet-soft);color:var(--violet);font-size:var(--fs-ui);font-weight:700}
.oo-nexts p{padding-top:3px;font-size:var(--fs-3);line-height:1.45;color:var(--ink-2)}
.oo-replyby{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px 16px;border-radius:16px;background:var(--grey);font-size:var(--fs-ui);line-height:1.4;color:var(--ink-3)}
.oo-replyby b{display:block;color:var(--ink);font-size:var(--fs-3)}
.oo-replyby .ic{width:20px;height:20px;flex:none;color:var(--violet)}
.oo-k-sym{display:inline-flex}
.oo-ahero .phero__h{max-width:13ch}

.oo-av{width:34px;height:34px;flex:none;border-radius:50%;object-fit:cover;background:var(--studio);box-shadow:0 0 0 2px #fff}
.oo-mailcard__k{display:flex;align-items:center;gap:8px;font-size:var(--fs-ui);font-weight:600;color:var(--ink-3)}
.oo-mailcard__k .ic{width:16px;height:16px;color:var(--violet)}
.oo-mailcard__a{display:flex;align-items:center;min-height:44px;margin-top:4px;font-size:var(--fs-2b);font-weight:700;letter-spacing:-.035em;line-height:1.15;color:var(--ink);overflow-wrap:anywhere;transition:color .2s}
.oo-mailcard__a:hover{color:var(--violet)}
.oo-mailcard__row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.oo-mailcard__row .ic{width:14px;height:14px}
.oo-mailcard__fine{margin-top:14px;font-size:var(--fs-ui);color:var(--ink-3)}

/* the application: one column, five short steps */
.wrap.oo-apply{max-width:calc(820px + var(--gutter) * 2)}
.oo-apply-sec{padding-top:clamp(48px,6vw,88px)}
.oo-form{gap:0}
.oo-step{display:grid;gap:20px;padding:clamp(28px,3.4vw,40px) 0;border-top:1px solid var(--line)}
.oo-step:first-child{padding-top:0;border-top:0}
.oo-step--last{padding-bottom:0}
.oo-step__h{display:flex;align-items:center;gap:12px;font-size:var(--fs-2b);font-weight:700;letter-spacing:-.03em;line-height:1.15}
.oo-step__n{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--violet-soft);color:var(--violet);font-size:var(--fs-ui);font-weight:700}
.oo-fs{min-width:0;margin:0;padding:0;border:0}
.oo-fs>legend{padding:0;margin-bottom:9px}
.oo-fs>.field__hint{margin-top:-2px}
.oo-optional{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--grey);font-size:var(--fs-4);font-weight:600;color:var(--ink-3);vertical-align:1px}
.oo-field-half{max-width:calc(50% - 8px)}
.oo-opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.oo-opt-wide{grid-column:1 / -1}
.oo-opts--row{display:flex;flex-wrap:wrap;gap:8px}
.oo-opts--row .opt{flex:1 1 auto;gap:10px;padding:13px 16px}
.oo-opts--row .opt__dot{width:18px;height:18px}
.oo-opts--row .opt:has(input:checked) .opt__dot{box-shadow:inset 0 0 0 5.5px var(--ink)}
.oo-opts--row .opt__b b{font-size:var(--fs-ui);white-space:nowrap}
.opt .sym{flex:none}
.oo-opt-stack{display:inline-flex;flex:none}
.opt .syms{--syms-ring:var(--grey)}
.opt:has(input:checked) .syms{--syms-ring:#fff}
.oo-sym-q{font-size:var(--fs-3);font-weight:700;line-height:1}
.oo-fs:has(input[aria-invalid="true"]) .opt{box-shadow:inset 0 0 0 1.5px rgba(255,69,58,.6)}
.oo-send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:4px}
.oo-send__note{max-width:38ch;font-size:var(--fs-ui);line-height:1.45;color:var(--ink-3)}
.oo-send .btn .ic{width:15px;height:15px}
.oo-step--last .form__err{margin-top:2px}
.oo-aside-note{margin-top:32px}
.oo-aside-note span{flex:1}
@media (max-width:640px){
  .oo-opts--2{grid-template-columns:1fr}
  .oo-field-half{max-width:none}
}

/* sent */
.oo-ok{display:grid;justify-items:start;gap:10px;padding:clamp(28px,4vw,44px)}
.sec--white .oo-ok{background:var(--grey);box-shadow:none}
.oo-ok__i{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:rgba(48,209,88,.16);color:var(--green-ink)}
.oo-ok__i .ic{width:24px;height:24px}
.form__ok.oo-ok b{font-size:var(--fs-2b);letter-spacing:-.04em}
.form__ok.oo-ok p{margin-top:0;font-size:var(--fs-3);line-height:1.5;color:var(--ink-2)}
.oo-ok strong{color:var(--ink)}
.form__ok.oo-ok .oo-ok__fine{font-size:var(--fs-ui);color:var(--ink-3)}
.oo-ok__cta{margin-top:8px}
.oo-ok:focus{outline:none}

/* contact: the form, and the quick answers beside it */
.oo-contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start}
.oo-contact__h{margin-bottom:22px;font-size:var(--fs-2b);font-weight:700;letter-spacing:-.035em}
.oo-contact .oo-form{gap:16px}
.oo-quick{display:grid;gap:8px;padding:clamp(20px,2.4vw,28px);border-radius:var(--r-xl);background:var(--grey)}
.oo-quick__h{font-size:var(--fs-2b);font-weight:700;letter-spacing:-.035em}
.oo-quick__lead{margin-bottom:8px;font-size:var(--fs-ui);color:var(--ink-3)}
.oo-quick__row{display:flex;align-items:center;gap:14px;padding:14px 16px 14px 12px;border-radius:18px;background:#fff;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.oo-quick__row:hover{transform:translateY(-2px);box-shadow:var(--sh-1)}
.oo-quick__row>.ic{width:13px;height:13px;flex:none;color:var(--ink-4)}
.oo-quick__i{width:44px;height:44px;flex:none;display:grid;place-items:center}
.oo-quick__i .sym{--s:32px}
.oo-quick__i--plain .ic{width:32px;height:32px;padding:8px;border-radius:9px;background:var(--grey-2);color:var(--ink)}
.oo-quad{display:grid;grid-template-columns:repeat(2,17px);gap:3px}
.oo-quad .sym{--s:17px;border-radius:5px}
.oo-quad .sym svg{stroke-width:2.2}
.oo-pair--w{--syms-ring:#fff}
.oo-pair--w .sym{--s:24px}
.oo-quick__t{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.oo-quick__t b{font-size:var(--fs-3);font-weight:600;letter-spacing:-.015em}
.oo-quick__t small{margin-top:3px;font-size:var(--fs-ui);line-height:1.4;color:var(--ink-3)}
@media (max-width:899px){ .oo-contact{grid-template-columns:1fr} }

/* fields keep their own height when a neighbour has a hint under it */
.oo-form .field{align-content:start}
.oo-cost .prose .lead{font-size:var(--fs-lead);line-height:1.45;color:var(--ink-2)}

/* three steps stay in one row until a phone, then stack */
@media (max-width:1023px){ .oo-steps3{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:767px){ .oo-steps3{grid-template-columns:1fr} }
