/* Shared readable spacing, independent of each site's brand colors. */
body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,a,button,summary){overflow-wrap:anywhere;word-break:normal}
body :is(p,li,dd){line-height:1.65}
body :is(main,section,article,fieldset,header,footer,.card,.panel,.glass,.hero-copy,.overview-workflow,.overview-access,.card-heading>div,.panel-heading>div){min-width:0;box-sizing:border-box}
body :is(.grid,.cards,.overview-features,.overview-app-grid,.dashboard-grid,.feature-grid,.suite-grid,.two-column,.overview-grid,.hero,.overview-hero,.workspace-story)>*{min-width:0}
body :is(.card,.feature-card,.client-card,.pricing-card,.capability-card,.service-card,.app-card,.panel,.overview-app-card,.overview-workflow,.overview-features>article,.suite-grid>article){padding:clamp(20px,2.5vw,28px)}
/* These sections acquired a border in the shared branding layer. */
body :is(main>.section,.overview-capabilities,.overview-directory-intro,.overview-features,.workspace-story,.capability-update,.financing-preview,.veyra-category){padding:clamp(20px,3vw,36px)}
body :is(.overview-account,.trades,.preview-stats){padding:14px 16px}
body :is(.page-footer,.tn-page-footer){padding:24px clamp(18px,3vw,32px)}
body .tn-business-footer{padding:16px!important}
body :is(.card,.panel,.glass,.overview-workflow,.overview-app-card)>:first-child{margin-top:0}
body :is(.card,.panel,.glass,.overview-workflow,.overview-app-card)>:last-child{margin-bottom:0}
body :is(.button,.btn,.primary-button){white-space:normal;line-height:1.45;max-width:100%;height:auto;min-height:44px;text-align:center}
body :is(.actions,.hero-actions,.controls,.card-heading,.panel-heading,.header-right,.topbar,footer nav){flex-wrap:wrap;gap:12px}
body :is(.topbar,.tn-platform-header){height:auto;min-height:76px;padding-block:14px}
body :is(header nav,.breadcrumb){min-width:0;flex-wrap:wrap}
body :is(.sidebar,.tn-sidebar,#pvAppSidebar) :is(nav a,nav button){height:auto;min-height:44px;white-space:normal;line-height:1.5;padding-block:11px}
body :is(.sidebar,.tn-sidebar,#pvAppSidebar) :is(nav a,nav button)>span{min-width:0}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select){box-sizing:border-box;max-width:100%;min-width:0;line-height:1.5}
body select{padding-right:32px}
body :is(.table-wrap,.table-scroll){max-width:100%;overflow-x:auto}
body :is(dialog,[role=dialog]){box-sizing:border-box;max-width:calc(100vw - 32px)}
/* Connect's photo hero already pads its text; avoid a second inset. */
body article.hero:has(>.hero-shade){padding:0}
body article.hero:has(>.hero-shade)>.hero-copy{padding:clamp(24px,3vw,34px)}
body article.hero:has(>.hero-shade)>img{inset:0}
@media(max-width:700px){
 body :is(.topbar,.tn-platform-header){padding-block:12px;gap:12px}
 body :is(.hero,.overview-hero,.page-hero,.closing){gap:24px}
 body :is(.hero,.overview-hero,.page-hero,.closing) h1{font-size:clamp(30px,8vw,42px);line-height:1.16;letter-spacing:-.025em}
 body :is(.hero,.closing) h2{font-size:clamp(27px,7.4vw,34px);line-height:1.2}
 body :is(.hero-meta,.composer-foot){flex-wrap:wrap;row-gap:10px}
 body .overview-access>.button{flex-shrink:1}
 body :is(.card-heading,.panel-heading){align-items:flex-start}
 body :is(.page-footer,.tn-page-footer){padding:24px 18px}
 body :is(.brand,.pv-app-brand)>img{flex-shrink:0}
}

/* Keep demo copy clear of the branded section edges. */
body :is(main>.tour,main>.suite,main>.field,main>.job-section){padding:clamp(20px,3vw,36px)}

/* Final presentation pass: readable type, calm cards, consistent controls. */
html body{font-kerning:normal;text-transform:none;line-height:1.6}
html body :is(h1,h2,h3,h4,h5,h6,p,li,label,button,input,select,textarea,td,th){text-transform:none}
html body :is(h1,h2,h3,h4){letter-spacing:-.025em;line-height:1.2}
html body :is(p,li){line-height:1.65}
html body :is(input,textarea,select,td,.metric,.stat,.kpi){font-variant-numeric:tabular-nums}
html body :is(input,textarea,select){font-size:16px}
html body :is(.card,.panel,.feature-card,.service-card,.app-card,.pricing-card,.overview-workflow,.overview-access,.overview-features>article,.suite-grid>article,.connected-summary){box-shadow:0 4px 18px color-mix(in srgb,var(--tn-logo-red) 7.06%,transparent)!important;border:1px solid color-mix(in srgb,var(--tn-logo-red) 21%,white)!important;border-top:3px solid var(--brand-accent,var(--tn-logo-red))!important;border-radius:16px!important}
html body :is(.badge,.pill,.tag,.preview-stats,.trades){box-shadow:none!important}
html body :is(.button,.btn,.btn-primary,.primary-button,button.primary,a.primary){box-shadow:0 2px 6px color-mix(in srgb,var(--tn-logo-red) 7.06%,transparent)!important;min-height:44px;line-height:1.4;padding:12px 18px;text-decoration:none}
html body :is(.button,.btn,.btn-primary,.primary-button,button.primary,a.primary):hover{box-shadow:0 4px 12px color-mix(in srgb,var(--tn-logo-red) 13.33%,transparent)!important}
html body :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--tn-logo-red)!important;outline-offset:3px}
html body :is(.sidebar,.tn-sidebar,#pvAppSidebar) nav a{font-size:13px;line-height:1.4;overflow-wrap:normal}
html body :is(.sidebar,.tn-sidebar,#pvAppSidebar) nav{gap:6px}
html body .sidebar .brand img{width:72px;height:72px}
html body :is(.ambient-status,.ambient-header){text-transform:none}
html body :is(#pvAppSidebar,.sidebar,.ambient-header) .ambient-status,
html body :is(#pvAppSidebar,.sidebar,.ambient-header) .ambient-status :is(time,small,button,span){color:color-mix(in srgb,var(--tn-logo-red) 10%,white)!important}
html body :is(#pvAppSidebar,.sidebar,.ambient-header) .ambient-status button{background:transparent!important;box-shadow:none!important}
html body #pvAppSidebar .ambient-status{padding:10px 12px!important;border-radius:10px!important}
html body .ambient-header{padding:12px 24px!important;min-height:0!important}
html body .ambient-header .ambient-status{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body :is(.topbar,.tn-platform-header) .breadcrumb{color:color-mix(in srgb,var(--tn-logo-red) 13%,white)!important}
html body :is(.topbar,.tn-platform-header) .breadcrumb :is(span,strong,b,a){color:inherit!important}
html body :is(.table-wrap,.table-scroll){border-radius:10px;overscroll-behavior-x:contain}
html body th{font-size:12px;letter-spacing:.015em;line-height:1.4;text-align:left}
html body :is(td,th){padding:12px 14px;vertical-align:top}
html body :is(.actions,.hero-actions,.controls,.toolbar){row-gap:12px}
html body :is(.hero-copy,.overview-hero-copy)>p{max-width:65ch}
html body :is(.tn-connected-sites,.legal){gap:10px 16px;line-height:1.6}
html body .tn-business-footer :is(p,a){line-height:1.7}
html body :is(dialog,[role=dialog]){max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
@media(min-width:901px){body:has(#pvAppSidebar) #ambient-page-header{display:none}}
@media(max-width:700px){
 html body :is(.grid,.cards,.feature-grid,.overview-features,.overview-app-grid){grid-template-columns:minmax(0,1fr)}
 html body :is(.hero,.overview-hero,.page-hero){grid-template-columns:minmax(0,1fr)}
 html body :is(.actions,.hero-actions){gap:12px}
 html body :is(.actions,.hero-actions)>.button{flex:1 1 170px}
 html body :is(.sidebar,.tn-sidebar) .brand img{width:56px;height:56px}
 html body :is(.hero,.overview-hero,.page-hero) h1{font-size:clamp(28px,8vw,40px);line-height:1.16}
 html body :is(.table-wrap,.table-scroll){overflow-x:auto}
 html body .ambient-header{padding:10px 16px!important}
}
@media print{
 html body :is(.sidebar,.tn-sidebar,#pvAppSidebar,.ambient-header,.pv-app-toolbar){display:none!important}
 html body{background:white!important;color:#111!important;margin:0!important;padding:0!important}
 html body :is(main,.app-main,.main-content){margin:0!important;padding:0!important;width:100%!important}
 html body :is(.card,.panel,.hero,.overview-hero){box-shadow:none!important;break-inside:avoid}
}
