/* One server-priced flow. Tablet portrait and phones use a single column. */
.v32 .illustrative-configurator{padding-bottom:var(--space-8)}
.v32 .illustrative-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:28px;margin-block:12px 40px}
.v32 .configuration-controls,.v32 .pricing-result{min-width:0}
.v32 .configuration-controls{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px}
.v32 .configuration-step,.v32 .illustrative-options legend{font:700 17px/1.5 var(--sans);color:var(--ink);margin-bottom:14px}
.v32 .illustrative-service-choice{display:flex;align-items:end;gap:12px;margin:0}
.v32 .illustrative-service-choice .field{flex:1;min-width:0}
.v32 .configuration-description{font-size:15px;color:var(--muted);margin:14px 0 2px}
.v32 .illustrative-options{margin-top:20px}
.v32 .illustrative-options fieldset{min-width:0;padding:0;border:0;margin:0 0 16px}
.v32 .configuration-inputs{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:4px 0 16px}
.v32 .configuration-inputs .field>span{min-height:3em;font-size:14px}
.v32 .illustrative-options :is(input[type=radio],input[type=checkbox]){width:20px;height:20px;flex-shrink:0;accent-color:var(--iris);margin:4px 0 0}
.v32 .tier-options{display:grid;gap:12px}
.v32 .tier-card{border:1px solid var(--line);border-radius:8px;background:var(--white)}
.v32 [data-pricing-state="valid"] .tier-card:has(input:checked),.v32 [data-pricing-state="valid"] .individual-choice:has(input:checked){border-color:var(--iris)}
.v32 .tier-choice{display:flex;align-items:start;gap:12px;padding:16px;cursor:pointer;min-height:48px}
.v32 .tier-choice>span{flex:1;min-width:0}
.v32 .tier-choice strong{font:750 17px/1.4 var(--sans)}
.v32 .tier-choice small{display:block;font-size:14px;line-height:1.55;color:var(--muted);margin-top:5px}
.v32 .tier-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}
.v32 .tier-price{text-align:right;flex-shrink:0}
.v32 .tier-price b{font-size:25px;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap}
.v32 .tier-price small{font-size:12px;margin:2px 0 0}
.v32 .tier-choice .tier-recommendation{font-size:12px;font-weight:700;color:var(--iris)}
.v32 .tier-inclusions{margin:0 16px 4px 48px}
.v32 .tier-inclusions summary{font-size:14px;min-height:44px;padding:8px 0;cursor:pointer;color:var(--iris)}
.v32 .tier-inclusions p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 14px}
.v32 .volume-settings{border:0;padding:0;background:transparent}
.v32 .volume-settings summary{min-height:48px;padding:14px 0;cursor:pointer;font-size:15px;font-weight:650}
.v32 .volume-settings summary small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:4px}
.v32 .individual-choice{border:1px solid var(--line);border-radius:8px}
.v32 .illustrative-checkbox{display:flex;align-items:start;gap:12px;min-height:48px;padding:8px 0;font-size:15px;cursor:pointer}
.v32 .configuration-extras{border-block:1px solid var(--line);margin:12px 0 20px}
.v32 .configuration-extras>summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:16px;font-weight:650}
.v32 .configuration-extras .addon-fieldset{margin:0}
/* Disclosure markers: drawn inside the clickable summary, on the label's first line (the native marker sat outside the box, detached from the label). */
.v32 :is(.tier-inclusions,.volume-settings,.configuration-extras)>summary{display:block;list-style:none;padding-left:20px}
.v32 :is(.tier-inclusions,.volume-settings,.configuration-extras)>summary::-webkit-details-marker{display:none}
.v32 :is(.tier-inclusions,.volume-settings,.configuration-extras)>summary::before{content:"";display:inline-block;width:0;height:0;margin:0 12px 0 -20px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor;vertical-align:middle;transition:transform .15s ease}
.v32 :is(.tier-inclusions,.volume-settings,.configuration-extras)[open]>summary::before{transform:rotate(90deg)}
@media (prefers-reduced-motion:reduce){.v32 :is(.tier-inclusions,.volume-settings,.configuration-extras)>summary::before{transition:none}}
.v32 .illustrative-options .addon{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:start;min-height:60px;border-top:1px solid var(--line);padding:14px 0;cursor:pointer;font-size:14px}
.v32 .addon strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.v32 .addon:has(input:checked){background:var(--tint)}
.v32 .pricing-result{position:sticky;top:24px}
.v32 .illustrative-summary{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--iris);border-radius:12px;padding:26px}
.v32 .illustrative-summary h2{font-size:29px;overflow-wrap:break-word;margin:12px 0}
.v32 .summary-service{font-size:15px;color:var(--muted)}
.v32 .illustrative-summary .info-note{font-size:14px;padding:12px 14px;margin:16px 0}
.v32 .summary-scope{font-size:15px;font-weight:650;line-height:1.6}
.v32 .summary-note{font-size:13px;color:var(--muted);line-height:1.65;margin:12px 0 0}
.v32 .illustrative-lines{margin:0}
.v32 .illustrative-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.v32 .illustrative-lines dt{font-size:14px;line-height:1.5}
.v32 .illustrative-lines dt small{display:block;color:var(--muted);margin-top:4px}
.v32 .illustrative-lines dd{margin:0;font-size:15px;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.v32 .illustrative-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:20px;font-size:15px}
.v32 .illustrative-total strong{font-size:30px;line-height:1.3;white-space:nowrap;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.v32 .configuration-call{width:100%;display:flex;gap:10px;margin-top:20px;font-size:15px;justify-content:center;line-height:1.5}
.v32 .configuration-call span{white-space:nowrap}
.v32 .configuration-jump{display:none}
.v32 .illustrative-summary:focus{outline:3px solid var(--iris);outline-offset:4px}
.v32 .tier-choice:has(input:focus-visible){outline:3px solid var(--iris);outline-offset:3px}
.v32 .pricing-status:not(.sr-only){padding:14px 18px;border-left:3px solid var(--iris);background:var(--tint);font-size:15px;margin:0 0 12px}
.v32 .pricing-retry{margin-bottom:16px}
.v32 [data-pricing-state]:not([data-pricing-state="valid"]) .tier-recommendation,
.v32 [data-pricing-state]:not([data-pricing-state="valid"]) .volume-settings summary small{visibility:hidden}
.v32 .pricing-enhanced :is(.illustrative-service-choice,.illustrative-options)>button[type=submit]{display:none}
.v32 .pricing-enhanced .pricing-fallback-note{display:none}
/* The no-JavaScript layout depends on the browser's scripting setting, not on the class that pricing-live.js
   adds after parsing. With JavaScript on, the first paint already has the live layout, so nothing moves when the
   script starts. The submit buttons stay until the script runs, so the form still works if the script fails to load. */
@media (scripting:enabled){.v32 [data-pricing-live] .pricing-fallback-note{display:none}}
@media (scripting:none){
 .v32 [data-pricing-live]:not(.pricing-enhanced) :is(.pricing-result,.configuration-jump){display:none}
 .v32 [data-pricing-live]:not(.pricing-enhanced) .configuration-layout{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto}
 .v32 [data-pricing-live]:not(.pricing-enhanced) .auto-recommendation{display:none}
}
.v32 .illustrative-return{margin-top:28px}
.v32 .illustrative-price{margin:16px 0}
.v32 .illustrative-price .price{font:750 clamp(28px,2.8vw,38px)/1.2 var(--sans);letter-spacing:-.035em;margin:0 0 6px}
.v32 .illustrative-price .price small{font-size:16px;font-weight:500;letter-spacing:0}
.v32 .illustrative-price>small{font-size:14px;line-height:1.5;display:block}
@media(max-width:1099px){
 .v32 .illustrative-layout{grid-template-columns:1fr;max-width:780px;margin-inline:auto;gap:24px}
 .v32 .pricing-result{position:static}
 .v32 .configuration-jump{display:none}
}
@media(max-width:599px){
 .v32 .configuration-controls,.v32 .illustrative-summary{padding:18px;border-radius:10px}
 .v32 .configuration-inputs{grid-template-columns:1fr;gap:16px}
 .v32 .configuration-inputs .field>span{min-height:0}
 .v32 .illustrative-service-choice{display:grid}
 .v32 .tier-choice{gap:10px;padding:14px 12px}
 .v32 .tier-choice strong{font-size:16px}
 .v32 .tier-price b{font-size:24px}
 .v32 .tier-heading{gap:8px}
 .v32 .tier-inclusions{margin-left:42px;margin-right:12px}
 .v32 .illustrative-total{flex-wrap:wrap}
 .v32 .illustrative-total strong{font-size:28px}
 .v32 .illustrative-layout{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.v32 .illustrative-configurator *{scroll-behavior:auto}}

.v32 .volume-mode{border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px;background:var(--paper)}
.v32 .pricing-modes{display:grid;gap:4px}
.v32 .pricing-modes label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:15px}
.v32 .pricing-modes input{margin:0}
.v32 .auto-recommendation{padding:16px 0;margin-bottom:16px;border-bottom:1px solid var(--line)}
.v32 .auto-recommendation .tier-inclusions{margin:8px 0 0}
.v32 .illustrative-options:has(#pricing-mode-auto:checked) .tier-fieldset{display:none}
.v32 .illustrative-options:has(#pricing-mode-manual:checked) .auto-recommendation{display:none}
.v32 [data-pricing-state]:not([data-pricing-state="valid"]) .auto-recommendation{visibility:hidden}
