/* Homepage finish (29/10/2026): one type scale, one section rhythm, two buttons, two blues,
   three radii and one motion curve. Presentation only; loaded after every other homepage sheet,
   so ids and !important answer the inline styles and earlier !important rules they replace. */

:root{
 --polish-ease:cubic-bezier(.23,1,.32,1);
 --polish-fast:160ms;
 --polish-blue:#254ebc;
 --polish-blue-hover:#1439a6;
 --polish-blue-dark:#7ca2f6;
 --polish-ink:#25231c;
 --polish-line:#e6e3dc;
 --polish-outline:#c9d3ec;
 --polish-radius-lg:20px;
 --polish-radius-sm:12px;
 --polish-space:clamp(56px,6.2vw,88px);
 --polish-space-tight:clamp(40px,4.4vw,64px);
 --polish-edge:max(var(--page-gutter,24px),calc((100% - 1200px) / 2));
 --content-width:1200px;
 /* Scale: mention 14 · small text 16 · text 18 · subtitle 24 · section title 46 · main title 56. */
 --label-size:14px;
 --note-size:14px;
 --story-title-size:clamp(21px,1.7vw,24px);
 --card-title-size:clamp(21px,1.7vw,24px);
}

/* ---------- Typography ---------- */

/* Big headings breathe a little more. */
html body #main-content :is(h2,#pricing h2){letter-spacing:-.02em!important}
html[data-direction=presence] #top.signature-hero{--signature-type:clamp(34px,3.9vw,56px)}
html[data-direction=presence] #top.signature-hero .signature-headline{letter-spacing:-.03em}
@media(min-width:901px) and (max-height:680px){html[data-direction=presence] #top.signature-hero{--signature-type:clamp(28px,4.6svh,38px)}}
@media(min-width:901px) and (max-height:520px){html[data-direction=presence] #top.signature-hero{--signature-type:26px}}
@media(max-width:600px){html[data-direction=presence] #top.signature-hero{--signature-type:30px}}

/* The tagline leads in bold, one solid blue for its second half. */
html[data-direction=presence] #top.signature-hero .signature-tagline{font-size:clamp(20px,1.9vw,27px);font-weight:600;letter-spacing:-.02em;color:var(--polish-ink)}
#top.signature-hero .signature-tagline em{background:none;color:var(--polish-blue);-webkit-text-fill-color:currentColor}

/* Light grounds use the site blue for labels and title accents; dark grounds keep the light blue. */
#main-content{--editorial-accent:var(--polish-blue)}
html body #main-content #closing h2 em{background:none!important;color:var(--polish-blue)!important;-webkit-text-fill-color:currentColor!important}

/* One label style: 14px capitals, same colour, no leading rule. */
html body #main-content :is(.toda-section-kicker,.avatar-gallery-kicker,.pr-kicker),
html body #main-content #interaction .toda-proof-grid>div:first-child>span{font:600 var(--label-size)/1.4 Archivo,sans-serif!important;letter-spacing:.1em!important}
html body #main-content :is(.toda-section-kicker,#interaction .toda-proof-grid>div:first-child>span)::before{display:none!important}
html body #main-content .avatar-gallery-kicker{color:var(--polish-blue-dark)}
html body #main-content #interaction .toda-proof-grid>div:first-child>span{color:var(--polish-blue)!important}

/* Nothing under 13px; mentions and notes sit at 14px. */
html body .site-nav .site-company-endorsement{font-size:13px!important}
html body .site-nav .site-language-toggle{font-size:14px!important}
#top.signature-hero .signature-label{font-size:14px}
html body #main-content #interaction :is(.toda-demo-legal,.toda-demo-legal a,.toda-demo-email-privacy){font-size:14px!important;line-height:1.45}
html body #main-content #interaction .toda-live-demo-head span{font-size:13px!important}
html body #main-content #why :is(.row-num,.why-scope,.why-head>div){font-size:14px!important}
html body #main-content #uses .toda-scene-num{font-size:14px!important}
html body #main-content #pricing :is(.pr-tag,.pr-byo strong,.pr-includes,.pr-footnote){font-size:13px!important}
html body #main-content #pricing :is(.pr-includes,.pr-footnote){font-size:14px!important}
html body #main-content .v2-chips li{font-size:14px!important}
html body footer :is(p,.toda-foot-link,a){font-size:14px}
html body #main-content #avatars :is(.avatar-profile-date,[class*=avatar] small,[class*=avatar] time){font-size:13px}

/* "In numbers" follows the other section titles. */
html body #main-content #numbers h2{font-size:var(--section-title-size)!important}
html body #main-content .v2-stat-value{letter-spacing:-.03em}

/* Step numbers read as plain text, not as small blue labels. */
html body #main-content .v2-num{font:600 18px/1.3 Archivo,sans-serif!important;color:inherit!important;letter-spacing:0}
html body #main-content .v2-dev-steps .v2-num{width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:none!important;display:block;padding-top:2px}
html body #main-content .v2-dev-steps li{grid-template-columns:32px minmax(0,1fr)}

/* Comfortable line length. */
html body #main-content :is(.how-intro,.pr-intro p,.why-scope,.concept-disclosure,.toda-scene-copy p,.v2-faq-item p,.v2-lead){max-width:min(100%,62ch)!important}

/* ---------- Section rhythm and edges ---------- */

html body #main-content :is(#avatars,#interaction,#numbers,#why,#how,#uses,#custom,#developers,#pricing,#calculator,#faq){padding-top:var(--polish-space)!important;padding-bottom:var(--polish-space)!important}
/* Neighbouring sections on the same ground share one gap instead of two. */
html body #main-content #pricing{padding-bottom:var(--polish-space-tight)!important}
html body #main-content #calculator{padding-top:var(--polish-space-tight)!important}
html body #main-content #faq{padding-bottom:var(--polish-space-tight)!important}
html body #main-content #closing{padding-top:var(--polish-space)!important;padding-bottom:calc(var(--polish-space) * 1.15)!important}

/* Header, sections and footer share the same two edges. */
html body .site-shell .site-nav,
html.headroom-on body .company-nav[data-headroom][data-headroom]{padding-inline:var(--polish-edge)!important}
/* One 1200px rail for every block. */
html body #main-content :is(.toda-page-shell,.v2-rail,.pr-shell,#interaction .toda-proof-grid),
html body #main-content #closing>div,
html body footer>div,html body .toda-footer-inner{max-width:1200px!important}

/* The hero keeps its height when the phone's address bar moves, and starts clear of the menu. */
@supports(height:100dvh){html[data-direction=presence] #top.signature-hero{height:calc(100svh - var(--signature-chrome-height,92px))}}
@supports(height:100dvh){@media(max-width:600px){html[data-direction=presence] #top.signature-hero{height:auto;min-height:max(460px,calc(100svh - var(--signature-chrome-height,92px)))}}}
/* Scrolling to the hero buttons leaves a little room under them. */
#top.signature-hero .signature-actions{scroll-margin-bottom:12px}
/* Phones keep a fixed gap so only the avatar grows with the screen height. */
@media(min-width:601px){html[data-direction=presence] #top.signature-hero .signature-tagline{padding-top:clamp(20px,4svh,40px)}}
@media(max-width:600px){html[data-direction=presence] #top.signature-hero .signature-tagline{padding-top:14px}}
@media(min-width:901px) and (max-height:800px){
 html[data-direction=presence] #top.signature-hero{gap:12px;padding-bottom:16px}
 #top.signature-hero .signature-topic{min-height:52px}
}

/* ---------- Blocks ---------- */

/* Section headers follow the gallery: label and title on the left, introduction on the right. */
@media(min-width:901px){
 html body #main-content #how .toda-page-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);column-gap:64px;align-items:start}
 html body #main-content #how .toda-page-shell>*{grid-column:1/-1}
 html body #main-content #how .toda-page-shell>.toda-section-kicker{grid-column:1;grid-row:1}
 html body #main-content #how .toda-page-shell>h2{grid-column:1;grid-row:2}
 html body #main-content #how .toda-page-shell>.how-intro{grid-column:2;grid-row:2;margin:0;align-self:end}
 html body #main-content #how #how-diagram{margin-top:40px}
 html body #main-content #pricing .pr-intro{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,380px);column-gap:64px;max-width:none!important;align-items:end}
 html body #main-content #pricing .pr-intro>*{grid-column:1}
 html body #main-content #pricing .pr-intro>p{grid-column:2;grid-row:2;margin:0}
}

/* Centring is kept for the hero and the closing call only. */
html body #main-content #interaction .toda-proof-grid>div:first-child{text-align:left!important}
html body #main-content #interaction .toda-proof-grid>div:first-child h2{margin-bottom:32px!important}

/* The demo card is one flat surface. */
html body #main-content #interaction .toda-live-demo{box-shadow:none!important;border-radius:var(--polish-radius-lg)!important;border-color:var(--polish-line)!important}
html body #main-content #interaction .toda-demo-cover{background:#f3f1ec!important}

/* Comparison table: smaller marks of one family, a quieter MeshLite column and lighter rules. */
html body #main-content #why .result{width:36px;height:36px;font-size:18px;font-weight:600}
html body #main-content #why .result.yes{background:#e7edfa;color:var(--polish-blue)}
html body #main-content #why .result:not(.yes){background:#efede8;color:#716d63}
html body #main-content #why .mesh-cell{background:color-mix(in srgb,var(--polish-blue) 4%,transparent)!important;color:inherit}
html body #main-content #why :is(.why-matrix,.why-row+.why-row,.why-head){border-color:#ebe8e1!important}

html body #main-content #uses :is(.toda-scene-art,.toda-scene:first-child .toda-scene-art){border-radius:var(--polish-radius-lg)!important}

/* Pricing cards: white, one frame; only the featured plan carries the blue outline. */
html body #main-content #pricing .pr-card{border-radius:var(--polish-radius-lg);border-color:var(--polish-line)}
html body #main-content #pricing .pr-card.is-featured{border:1.5px solid var(--polish-blue)}
html body #main-content #pricing .pr-card.is-featured .pr-tag{background:var(--polish-blue)}
html body #main-content #pricing .pr-v5-benefits{padding:0;background:none;border-radius:0;color:var(--polish-blue)}
html body #main-content #pricing .pr-byo{border:0;border-top:1px solid #eeece6;border-radius:0;padding:16px 0 0;background:none}
html body #main-content #pricing :is(.pr-enterprise,.pr-lite){border-radius:var(--polish-radius-lg)}
html body #main-content #pricing .pr-features :is(svg,svg *){stroke:var(--polish-blue)}
html body #main-content #pricing a:not(.pr-button){color:var(--polish-blue)}

/* Marquee: no shadow, slightly larger words. */
html body .site-shell .toda-marquee{box-shadow:none!important}
html body .site-shell .toda-marquee .grp span{font-size:14px!important}

/* FAQ: a drawn plus that turns into a cross, and room between question and answer. */
html body #main-content .v2-faq-item summary{padding:18px 0}
html body #main-content .v2-faq-item summary::after{content:""!important;flex:none;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;transition:transform 250ms var(--polish-ease)}
html body #main-content .v2-faq-item[open]:not([data-closing=true]) summary::after{transform:rotate(45deg)}
html body #main-content .v2-faq-item p{padding-top:4px;padding-bottom:22px}

/* Fewer lines and boxes. */
html body #main-content .v2-cards li{border:0!important}
html body #main-content .v2-chips li:not(.v2-chips-label){border:0!important}
html body #main-content .v2-stat{border-color:rgba(250,248,243,.08)!important}

/* Custom avatars: a landscape crop once the photo sits above the copy. */
@media(max-width:900px){
 html body #main-content .v2-custom-art{flex-basis:100%!important;min-height:0!important;height:clamp(240px,46vw,360px)!important;max-height:360px}
 html body #main-content .v2-custom-art img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
}

/* ---------- Buttons, radii and colours ---------- */

/* Primary: solid blue. Secondary: blue outline. One height. */
html body #main-content :is(.v2-btn:not(.v2-btn-light),#pricing .pr-card.is-featured .pr-button,#pricing .pr-enterprise .pr-button,#startDemo,#demoEmailSubmit,.avatar-gallery-cta,#closing .toda-btn){background:var(--polish-blue)!important;border:1px solid var(--polish-blue)!important;color:#fff!important}
html body #main-content :is(#pricing .pr-button,#closing .toda-btn-ghost):not(.is-featured .pr-button):not(.pr-enterprise .pr-button){background:transparent!important;border:1px solid var(--polish-outline)!important;color:var(--polish-blue)!important}
#top.signature-hero .signature-cta{background:transparent;border-color:var(--polish-outline);color:var(--polish-blue)}
html body #main-content :is(.v2-btn,.pr-button,#closing .toda-btn,#closing .toda-btn-ghost,.avatar-gallery-cta,#startDemo,#demoEmailSubmit){min-height:48px!important;height:auto!important;border-radius:999px!important}
html body #main-content .v2-dev-actions :is(.v2-btn,.v2-sdk){height:48px!important;min-height:48px!important}
html body #main-content .v2-dev-actions .v2-sdk-copy{height:44px!important}

/* Three radii: pill, 20px for large cards, 12px for small boxes. */
html body #main-content :is(.how-fallback,.v2-custom-art){border-radius:var(--polish-radius-lg)!important}
html body #main-content :is(.v2-cards li,#interaction select,.pr-plan-buttons button){border-radius:var(--polish-radius-sm)!important}

/* ---------- Motion ---------- */

html body :is(#main-content,.site-nav,#top) :is(a,button,summary,.v2-btn,.pr-button,.signature-cta,.signature-topic,.toda-btn,.toda-btn-ghost,.site-navlink){transition-property:color,background-color,border-color,opacity,transform;transition-duration:var(--polish-fast);transition-timing-function:var(--polish-ease)}
html body :is(#main-content,#top,.site-nav) :is(.v2-btn,.pr-button,.signature-cta,.toda-btn,.toda-btn-ghost,.toda-btn-sm,.site-signup,.site-signin,.avatar-gallery-cta,#startDemo,#demoEmailSubmit,.v2-sdk-copy,.pr-audience button,.pr-billing button,.pr-plan-buttons button,.pr-carousel-controls button,.signature-topic,[data-pr-billing]){transform:none}
html body :is(#main-content,#top,.site-nav) :is(.v2-btn,.pr-button,.signature-cta,.toda-btn,.toda-btn-ghost,.toda-btn-sm,.site-signup,.site-signin,.avatar-gallery-cta,#startDemo,#demoEmailSubmit,.v2-sdk-copy,.pr-audience button,.pr-billing button,.pr-plan-buttons button,.pr-carousel-controls button,.signature-topic,[data-pr-billing]):active{transform:scale(.97)}

/* Hover belongs to a mouse; a tap does not leave a sticky hover colour behind. */
@media(hover:hover) and (pointer:fine){
 html body #main-content :is(.v2-btn:not(.v2-btn-light),#pricing .pr-card.is-featured .pr-button,#pricing .pr-enterprise .pr-button,#startDemo,#demoEmailSubmit,.avatar-gallery-cta,#closing .toda-btn):hover{background:var(--polish-blue-hover)!important;border-color:var(--polish-blue-hover)!important}
 html body #main-content :is(#pricing .pr-button,#closing .toda-btn-ghost):not(.is-featured .pr-button):not(.pr-enterprise .pr-button):hover{background:rgba(37,78,188,.06)!important;border-color:var(--polish-blue)!important}
 #top.signature-hero .signature-cta:hover{background:rgba(37,78,188,.06);border-color:var(--polish-blue)}
 html body .site-nav .site-navlink:hover{color:var(--polish-blue)}
}
@media(hover:none),(pointer:coarse){
 html body #main-content :is(.v2-btn:not(.v2-btn-light),#pricing .pr-card.is-featured .pr-button,#pricing .pr-enterprise .pr-button,#startDemo,#demoEmailSubmit,.avatar-gallery-cta,#closing .toda-btn):hover{background:var(--polish-blue)!important}
 html body #main-content :is(#pricing .pr-button,#closing .toda-btn-ghost):not(.is-featured .pr-button):not(.pr-enterprise .pr-button):hover{background:transparent!important}
 #top.signature-hero .signature-cta:hover{background:transparent}
 html body .site-nav .site-navlink:hover{color:inherit}
 html body #main-content .v2-sdk-copy:hover{background:transparent}
}

/* The navigation marks the section being read. */
html body .site-nav .site-navlink.is-current{color:var(--polish-blue)}

/* Plan picker on phones: the chosen plan is blue, like the main buttons. */
html body #pricing .pr-plan-buttons button[aria-pressed=true]{background:var(--polish-blue);border-color:var(--polish-blue);color:#fff}

@media(prefers-reduced-motion:reduce){
 html body :is(#main-content,#top,.site-nav) :is(.v2-btn,.pr-button,.signature-cta,.toda-btn,.toda-btn-ghost,.toda-btn-sm,.site-signup,.site-signin,.avatar-gallery-cta,#startDemo,#demoEmailSubmit,.v2-sdk-copy,.pr-audience button,.pr-billing button,.pr-plan-buttons button,.pr-carousel-controls button,.signature-topic,[data-pr-billing]):active{transform:none}
 html body #main-content .v2-faq-item summary::after{transition:none}
}

/* ---------- Keyboard and touch ---------- */

html body :is(#main-content,.site-nav,#top,footer) :focus-visible{outline:2px solid var(--polish-blue)!important;outline-offset:3px!important}
html body :is(#avatars,#numbers,#how,#developers,footer,.toda-marquee) :focus-visible{outline-color:var(--polish-blue-dark)!important}
html body #avatars .avatar-gallery-hint{font-size:13px}
/* Text links next to the figures get a full finger-sized hit area on touch screens. */
@media(pointer:coarse){html body #main-content .v2-link{display:inline-flex;align-items:center;min-height:44px}}
@media(max-width:600px){
 html body #main-content :is(.pr-carousel-controls button,.v2-sdk-copy,#interaction select){min-width:44px;min-height:44px}
 #top.signature-hero .signature-topic{min-height:56px}
}

/* ---------- Pricing: compact cards, period switch, steady size ---------- */

html body #main-content #pricing{padding-top:var(--polish-space-tight)!important}
html body #main-content #pricing .pr-navigation{justify-content:flex-start;gap:12px;margin-top:28px}
html body #main-content #pricing .pr-billing{display:flex;gap:4px;padding:4px;background:#eceae4;border-radius:999px;max-width:100%}
html body #main-content #pricing .pr-billing button{border:1px solid transparent;cursor:pointer;font:500 14px/1.4 Archivo,system-ui,sans-serif;padding:8px 18px;min-height:44px;border-radius:999px;background:transparent;color:#6b6860}
html body #main-content #pricing .pr-billing button[aria-pressed=true]{background:#fff;color:#1c1b19;border-color:#e6e3dc}
@media(min-width:601px){html body #main-content #pricing .pr-billing button{font-size:16px}}
@media(max-width:600px){
 html body #main-content #pricing .pr-billing{width:100%;border-radius:28px}
 html body #main-content #pricing .pr-billing button{flex:1;min-width:0}
}

/* Both audiences share one grid cell: the taller one sets the size, so switching never resizes the cards. */
html body #main-content #pricing .pr-shell{display:grid;grid-template-columns:minmax(0,1fr)}
html body #main-content #pricing .pr-shell>[data-pr-panel]{grid-row:3;grid-column:1;display:flex;flex-direction:column;min-width:0;opacity:1;transition:opacity 200ms var(--polish-ease)}
html body #main-content #pricing .pr-shell>[data-pr-panel][hidden]{display:flex!important;visibility:hidden;opacity:0;pointer-events:none;transition:none}
html body #main-content #pricing .pr-shell>[data-pr-panel]>.pr-cards{flex:1 1 auto}
@supports(grid-template-rows:subgrid){@media(min-width:761px){html body #main-content #pricing .pr-cards{grid-template-rows:auto auto auto auto 1fr auto}}}

/* Cards: price, period and features in less height; the full feature lists stay. */
@media(min-width:601px){html body #main-content #pricing .pr-cards{gap:12px;margin-top:16px}}
html body #main-content #pricing .pr-card{gap:12px;padding:22px}
html body #main-content #pricing .pr-card-heading{gap:2px}
html body #main-content #pricing .pr-price-block{gap:2px}
html body #main-content #pricing .pr-price{gap:6px}
html body #main-content #pricing .pr-price s{font-size:16px;color:#838078;text-decoration-thickness:1px}
html body #main-content #pricing .pr-price-note{font-size:14px}
html body #main-content #pricing .pr-price-note b{font-weight:600;color:var(--polish-ink);white-space:nowrap}
html body #main-content #pricing .pr-card .pr-v5-benefits{display:flex;flex-wrap:wrap;column-gap:.3em;min-height:0;font-size:14px;line-height:1.45}
html body #main-content #pricing .pr-v5-benefits strong{display:inline;font-weight:600;white-space:nowrap}
html body #main-content #pricing .pr-v5-benefits strong:not(:last-child)::after{content:" ·"}
html body #main-content #pricing .pr-features{padding-top:14px;gap:8px}
html body #main-content #pricing .pr-features ul{gap:6px}
html body #main-content #pricing .pr-card .pr-byo{display:block;margin-top:auto;padding:0;border:0;font-size:13px;line-height:1.45;color:#526185}
html body #main-content #pricing .pr-card .pr-byo-plus{display:none}
html body #main-content #pricing .pr-card .pr-byo>div{display:block}
html body #main-content #pricing .pr-card .pr-byo strong{display:block;letter-spacing:.06em;color:var(--polish-blue)}
html body #main-content #pricing .pr-card .pr-byo strong::before{content:"+ "}
html body #main-content #pricing .pr-card .pr-byo>div>span{display:block;font-size:13px;text-wrap:pretty}
html body #main-content #pricing :is(.pr-enterprise,.pr-lite){margin-top:12px;padding:16px 24px;gap:12px 32px}
html body #main-content #pricing .pr-lite .pr-price s{font-size:14px}
/* Yearly and monthly notes share one cell, so the period switch never changes a card's height. */
html body #main-content #pricing .pr-price-note{display:grid}
html body #main-content #pricing .pr-price-note>[data-bill]{grid-area:1/1}
html body #main-content #pricing .pr-price-note>[data-bill][hidden]{display:block!important;visibility:hidden}
html body #main-content #pricing .pr-price{flex-wrap:nowrap;white-space:nowrap}
@media(min-width:601px) and (max-width:900px){
 html body #main-content #pricing .pr-card .pr-price strong{font-size:28px}
 html body #main-content #pricing .pr-price s{font-size:14px}
}
@media(max-width:900px){
 html body #main-content #pricing .pr-lite{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
 html body #main-content #pricing .pr-lite-copy{grid-column:1/-1;max-width:none}
}
@media(max-width:600px){
 html body #main-content #pricing .pr-lite{grid-template-columns:minmax(0,1fr)}
 html body #main-content #pricing .pr-lite .pr-button{width:100%}
}

/* ---------- Application examples: three equal scenes, whole pictures, one shared baseline ---------- */

html body #main-content #uses .toda-scenes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 28px!important;margin-top:32px!important;align-items:start}
html body #main-content #uses .toda-scene,html body #main-content #uses .toda-scene:first-child{display:grid!important;grid-template-rows:subgrid!important;grid-row:span 4!important;grid-column:auto!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin:0!important;padding:0!important;min-width:0;align-items:start}
html body #main-content #uses .toda-scene-copy,html body #main-content #uses .toda-scene:first-child .toda-scene-copy{display:contents!important}
html body #main-content #uses :is(.toda-scene-art,.toda-scene:first-child .toda-scene-art){aspect-ratio:16/9!important;width:100%;margin:0!important}
html body #main-content #uses .toda-scene-art img{width:100%;height:100%;object-fit:cover;object-position:center}
html body #main-content #uses .toda-scene-num{margin:20px 0 0!important}
html body #main-content #uses .toda-scene-copy h3{margin:8px 0 0!important;font-size:clamp(20px,1.7vw,23px)!important;line-height:1.25!important;letter-spacing:-.015em!important}
html body #main-content #uses .toda-scene-copy p{margin:10px 0 0!important;max-width:none!important;font-size:16px;line-height:1.6}
html body #main-content #uses .concept-disclosure{margin-top:24px}
/* Tablets: one scene per row, picture beside its words. */
@media(min-width:601px) and (max-width:900px){
 html body #main-content #uses .toda-scenes{grid-template-columns:minmax(0,1fr)!important;row-gap:28px!important}
 html body #main-content #uses .toda-scene,html body #main-content #uses .toda-scene:first-child{grid-template-rows:none!important;grid-row:auto!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:28px!important;align-items:center}
 html body #main-content #uses .toda-scene-copy,html body #main-content #uses .toda-scene:first-child .toda-scene-copy{display:block!important}
 html body #main-content #uses .toda-scene-num{margin-top:0!important}
}
/* Phones: stacked, with a little less air between scenes. */
@media(max-width:600px){
 html body #main-content #uses .toda-scenes{grid-template-columns:minmax(0,1fr)!important;row-gap:40px!important;margin-top:24px!important}
 html body #main-content #uses .toda-scene,html body #main-content #uses .toda-scene:first-child{grid-template-rows:none!important;grid-row:auto!important}
 html body #main-content #uses .toda-scene-copy,html body #main-content #uses .toda-scene:first-child .toda-scene-copy{display:block!important}
 html body #main-content #uses .toda-scene-num{margin-top:16px!important}
}

/* ---------- Avatars: a globe band of three rows, the button beside the title ---------- */

@media(min-width:801px){
 html body #main-content #avatars{padding-top:var(--polish-space)!important;padding-bottom:var(--polish-space-tight)!important}
 html body #main-content #avatars.is-dome .avatar-gallery-stage,
 html.has-js body #main-content #avatars.avatar-gallery:not(.is-interactive) .avatar-gallery-stage{height:clamp(360px,27vw,400px)!important}
 html body #main-content #avatars .avatar-gallery-copy{grid-template-columns:minmax(0,1fr) auto}
 html body #main-content #avatars .avatar-gallery-intro{grid-column:2;grid-row:1/3;align-self:end;justify-self:end}
}
@media(min-width:701px) and (max-width:800px){
 html body #main-content #avatars.is-dome .avatar-gallery-stage,
 html.has-js body #main-content #avatars.avatar-gallery:not(.is-interactive) .avatar-gallery-stage{height:440px!important}
}

/* ---------- MeshLite difference: a diagram between the two earlier sizes, with less empty air around it ---------- */

@media(min-width:801px){
 html body #main-content #how{padding-top:var(--polish-space-tight)!important;padding-bottom:var(--polish-space-tight)!important}
}

/* ---------- Mock-up dimensions (30/10/2026): a slim header, a 1200px rail, sections that fit one screen ---------- */

/* Header: one row about 65px tall with a hairline, and a single blue "Sign in". The doubled class outranks the scoped header rules. */
html[data-direction] body .site-shell .site-nav.site-nav{padding:9px var(--polish-edge)!important;min-height:0;border-bottom:1px solid var(--polish-line)}
html[data-direction] body .site-shell .site-nav .toda-brand.toda-brand{gap:10px!important}
html[data-direction] body .site-shell .site-nav .toda-brand img[src]{width:28px!important;height:28px!important}
html[data-direction] body .site-shell .site-nav .toda-brand .toda-brand-word{font-size:24px!important}
html[data-direction] body .site-shell .site-nav .site-product-identity{gap:1px}
html[data-direction] body .site-shell .site-nav .site-company-endorsement{margin-left:38px!important;min-height:0!important;font-size:12px!important}
/* The language switch is a single 40px ring, the height of "Sign in". */
html[data-direction] body .site-shell .site-nav .site-language{padding:0;border:0}
html[data-direction] body .site-shell .site-nav .site-language-toggle{width:40px;height:40px;min-width:40px;min-height:40px}
html[data-direction] body .site-shell .site-nav .site-signin-primary{min-height:40px;padding:0 20px;border-radius:999px;background:var(--polish-blue);color:#faf8f3;font-weight:600}
@media(hover:hover) and (pointer:fine){html[data-direction] body .site-shell .site-nav .site-signin-primary:hover{background:var(--polish-blue-hover);color:#faf8f3}}
/* Phones keep "Sign in" in the header and "Get started" in the menu; the narrowest screens move "Sign in" into the menu too. */
html body .site-shell .site-nav .site-mobile-menu-links .site-mobile-menu-signup{display:flex;background:var(--polish-blue);color:#faf8f3}
html body .site-shell .site-nav .site-mobile-menu-links .site-mobile-menu-signin{display:none}
@media(max-width:600px){
 html[data-direction] body .site-shell .site-nav.site-nav{padding-block:8px!important}
 html[data-direction] body .site-shell .site-nav .site-signin-primary{display:inline-flex;padding:0 14px;font-size:14px}
}
@media(max-width:430px){
 html[data-direction] body .site-shell .site-nav.site-nav{padding-inline:16px!important}
 html[data-direction] body .site-shell .site-nav .toda-brand img[src]{width:26px!important;height:26px!important}
 html[data-direction] body .site-shell .site-nav .toda-brand .toda-brand-word{font-size:22px!important}
 html[data-direction] body .site-shell .site-nav .site-company-endorsement{margin-left:34px!important;font-size:11px!important}
 html[data-direction] body .site-shell .site-nav .site-signin-primary{padding:0 12px;font-size:13px}
}
@media(max-width:370px){
 html[data-direction] body .site-shell .site-nav .site-signin-primary{display:none}
 html body .site-shell .site-nav .site-mobile-menu-links .site-mobile-menu-signin{display:flex}
}

/* Pricing and its calculator sit close together, as in the mock-up. */
html body #main-content #pricing{padding-bottom:clamp(32px,3.1vw,44px)!important}
html body #main-content #calculator{padding-top:clamp(32px,3.1vw,44px)!important;padding-bottom:clamp(32px,3.1vw,44px)!important}
html body #main-content #faq{padding-top:var(--polish-space-tight)!important}

/* Why MeshLite: the title on the left, the comparison on the right. */
html body #main-content #why .why-row h3{font-size:clamp(19px,1.5vw,21px)!important;line-height:1.3}
/* The shared copy size is set with an id and !important; the table keeps its smaller supporting line. */
html body #main-content #why .why-row .row-benefit{margin-top:6px;font-size:15px!important}
html body #main-content #why .why-row>div{padding-block:16px}
html body #main-content #why .why-row>[role=cell]{gap:8px}
@media(min-width:1101px){
 html body #main-content #why .toda-page-shell{display:grid;grid-template-columns:minmax(260px,335px) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:clamp(48px,6vw,96px)}
 html body #main-content #why .toda-page-shell>*{grid-column:2}
 html body #main-content #why .toda-page-shell>.toda-section-kicker{grid-column:1;grid-row:1}
 html body #main-content #why .toda-page-shell>h2{grid-column:1;grid-row:2;margin:16px 0 0!important}
 html body #main-content #why .toda-page-shell>.why-matrix{grid-row:1/4;align-self:start}
 html body #main-content #why .toda-page-shell>.why-scope{grid-row:4;max-width:none!important}
}

/* Application examples: wide pictures and shorter copy. */
html body #main-content #uses{padding-top:var(--polish-space)!important;padding-bottom:var(--polish-space-tight)!important}
@media(min-width:901px){html body #main-content #uses :is(.toda-scene-art,.toda-scene:first-child .toda-scene-art){aspect-ratio:2/1!important}}
html body #main-content #uses .toda-scene-copy h3{font-size:clamp(19px,1.5vw,21px)!important}
html body #main-content #uses .toda-scene .toda-scene-copy p{font-size:15px!important;line-height:1.55!important}
html body #main-content #uses .toda-scene-num{margin-top:16px!important}

/* Custom avatars: a portrait about 440px tall beside compact steps. */
@media(min-width:901px){
 html body #main-content .v2-custom{flex-wrap:nowrap;gap:clamp(40px,4.5vw,64px);align-items:stretch}
 html body #main-content .v2-custom-art{flex:0 0 clamp(320px,30vw,440px);min-height:0;max-height:none}
 html body #main-content .v2-custom-copy{flex:1 1 0}
}
html body #main-content #custom .v2-custom-copy h2{margin-top:14px}
html body #main-content #custom .v2-lead{margin-top:18px;max-width:none!important;font-size:17px;line-height:1.5}
html body #main-content #custom .v2-cards{gap:12px;margin-top:22px}
html body #main-content #custom .v2-cards li{padding:16px 18px}
html body #main-content #custom .v2-cards .v2-num{font-size:14px!important;color:var(--polish-blue)!important}
html body #main-content #custom .v2-cards strong{margin-top:6px;font-size:17px}
html body #main-content #custom .v2-chips{margin-top:16px;gap:5px}
html body #main-content #custom .v2-chips li:not(.v2-chips-label){padding:4px 9px}
html body #main-content #custom .v2-actions{margin-top:20px}
/* Without JavaScript there is no audience switch: both pricing panels are listed one after the other. */
html:not(.has-js) body #main-content #pricing .pr-shell>[data-pr-panel]{grid-row:auto}
html:not(.has-js) body #main-content #pricing .pr-shell>[data-pr-panel][hidden]{visibility:visible;opacity:1;pointer-events:auto}
/* The shorter globe band keeps the whole profile in view: role and date share one line. */
@media(min-width:801px){
 html body #main-content #avatars .avatar-gallery-profile{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:8px;padding:4px 20px 8px}
 #avatars .avatar-gallery-profile .avatar-profile-name{flex:1 0 100%;margin-bottom:6px}
 #avatars .avatar-gallery-profile .avatar-profile-role,#avatars .avatar-gallery-profile .avatar-profile-date{margin:0}
 #avatars .avatar-gallery-profile .avatar-profile-date::before{content:"·";margin-right:8px}
}
/* Readable sizes from the 30/10 audit: no informative text under 14px, secondary tones at 4.5:1, small links get a 24px tap zone without moving the layout. */
html body #main-content #pricing .pr-price s{color:#6b6860}
html body #main-content #pricing .pr-card .pr-byo strong{font-size:14px!important}
html body #main-content #pricing .pr-card :is(.pr-byo,.pr-byo>div>span){font-size:15px}
html[data-direction] body .site-shell .site-nav .site-company-endorsement{padding-bottom:8px;margin-bottom:-8px}
@media not all and (pointer:coarse){html body #main-content .v2-link{padding-block:8px;margin-block:-8px}}
@media(max-width:600px){
 html body #main-content :is(.v2-faq-item p,.v2-dev-steps p,#uses .toda-scene .toda-scene-copy p,#pricing .pr-card .pr-byo>div>span){font-size:16px!important}
 html body #main-content #custom .v2-cards li>span:last-child{font-size:15px}
}
@media(max-width:430px){
 html[data-direction] body .site-shell .site-nav .site-company-endorsement{font-size:12px!important}
 html[data-direction] body .site-shell .site-nav .site-signin-primary{font-size:14px}
}
