/* Shared presentation for the explicitly selected ORBITA marketing pages.
   body.orb-ui is added by update-site-ui.mjs; client and demo applications do not use it. */
body.orb-ui{
  --ui-ink:#10140a;--ui-muted:#52564a;--ui-line:rgba(16,20,10,.16);--ui-paper:#fbfbf9;--ui-accent:#536e0d;
  --header-h:74px;--radius-1:2px;--radius-2:4px;
  --font-display:'Unbounded','Arial Narrow',sans-serif;
  --font-body:'Onest',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  font-family:var(--font-body);color:var(--ui-ink);background:var(--ui-paper);
}
.orb-ui :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--ui-accent);outline-offset:4px}
.orb-ui main :is(h1,h2){overflow-wrap:anywhere;text-wrap:balance}
/* Legacy marketing templates contain inline display sizes. Limit only their headings. */
.orb-ui main h1{font-size:clamp(28px,4.6vw,52px)!important;line-height:1.14!important;letter-spacing:-.03em!important;text-transform:none!important}
.orb-ui main h2{font-size:clamp(23px,2.8vw,32px)!important;line-height:1.22!important}
.orb-ui :is(.orb-header,.case-header,header.top){background:var(--ui-paper)!important;border-bottom:1px solid var(--ui-line)!important;backdrop-filter:none!important}
.orb-ui :is(.orb-header,header.top)>.orb-container{height:auto!important;min-height:74px;gap:20px!important;padding-block:10px}
.orb-ui .orb-header.is-scrolled{box-shadow:none}
.orb-ui .orb-header>.orb-container>a:first-child{gap:10px!important;flex-shrink:0;text-decoration:none}
.orb-ui .orb-header>.orb-container>a:first-child img{width:32px;height:32px}
.orb-ui .orb-header>.orb-container>a:first-child>span{font-size:19px!important}
.orb-ui .orb-nav{gap:20px!important}
.orb-ui .orb-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:12px!important;letter-spacing:.03em!important}
.orb-ui .orb-burger{box-shadow:none!important;border-radius:2px!important;flex-shrink:0}
.orb-ui .orb-mobile-menu a{min-height:44px}

/* The niche header shared .w and .hd: padding:16px 0 erased the content gutter. */
.orb-ui--niche .w{padding-inline:24px}
.orb-ui--niche header{background:var(--ui-paper);border-bottom:1px solid var(--ui-line)}
.orb-ui--niche .w.hd{min-height:74px;padding:10px 24px;gap:16px}
.orb-ui--niche .logo{font-size:19px;gap:10px;letter-spacing:.04em;min-height:44px}
.orb-ui--niche .logo img{width:32px;height:32px}
.orb-ui--niche .hd .tel{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.orb-ui--niche main h1{max-width:24ch}
.orb-ui--niche .eyebrow{margin-top:34px;margin-bottom:16px;line-height:1.6;font-size:11px}
.orb-ui--niche .sub{font-size:17px;line-height:1.6}
.orb-ui--niche .chips{padding-bottom:34px;gap:7px}
.orb-ui--niche .chip{border-radius:2px;padding:6px 9px;font-size:10px;line-height:1.45}
.orb-ui--niche :is(.pr,.dcard,.ok-msg){border-radius:4px}
.orb-ui--niche :is(input,textarea){border-radius:2px}

/* Keep each existing header's navigation and actions, with one shared rhythm. */
.orb-ui--case .case-header__row{min-height:74px}
.orb-ui--case .case-brand{font-size:19px;gap:10px;letter-spacing:.04em}
.orb-ui--case .case-header nav{gap:20px}
.orb-ui--case .case-breadcrumbs{padding-top:24px}
.orb-ui--case .case-hero{padding-top:30px}
.orb-ui--demo .orb-demo-header{min-height:74px;gap:18px;padding-block:10px}
.orb-ui--demo .orb-demo-header>a:first-child{display:inline-flex;align-items:center;gap:10px;font-size:19px;letter-spacing:.04em;flex-shrink:0}
.orb-ui--demo .orb-demo-header>a:first-child img{width:32px;height:32px}
.orb-ui--demo .orb-demo-header>a:last-child{font:500 13px/1.4 var(--font-body);color:var(--ui-ink);text-align:right;justify-content:flex-end}
.orb-ui--demo .orb-demo-catalog-head{padding-block:38px 30px}
.orb-ui--demo .orb-demo-catalog-head h1{max-width:23ch;margin-block:18px}
.orb-ui--demo .orb-work-card{border-radius:4px!important;border-width:1px!important}
.orb-ui--demo .orb-demo-discuss{padding:0 24px 24px}
.orb-ui--demo .orb-demo-discuss a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:12px 16px;background:var(--ui-ink);color:#fff;border:1px solid var(--ui-ink);border-radius:2px;font:600 13px/1.45 var(--font-body);text-decoration:none}
.orb-ui--demo .orb-demo-discuss a:hover{background:var(--ui-accent);border-color:var(--ui-accent)}
.orb-ui--demo .orb-demo-catalog-contact .orb-home-action--primary{background:var(--ui-ink);color:#fff;padding:12px 18px;border:1px solid var(--ui-ink);border-radius:2px;text-decoration:none}
.orb-ui--brief .wrap{padding-inline:24px}
.orb-ui--brief header{min-height:74px;padding-block:10px;gap:18px}
.orb-ui--brief .brand{font-family:var(--font-display);font-size:19px;letter-spacing:.04em;line-height:1.4}
.orb-ui--brief .brand span{font:500 9px/1.5 var(--font-mono);letter-spacing:.02em}
.orb-ui--brief .phone{display:inline-flex;min-height:44px;align-items:center;font-size:13px;white-space:nowrap}
.orb-ui--brief .intro{padding-top:38px}
.orb-ui--brief :is(h1,h2){font-family:var(--font-display)}
.orb-ui--brief :is(.panel,.choice){border-radius:4px}
.orb-ui--document header.top{padding:0}
.orb-ui--document .top .orb-container{display:flex;align-items:center;justify-content:space-between}
.orb-ui--document .brand{min-height:44px;gap:10px}
.orb-ui--confirmation header.top{padding:0}
.orb-ui--confirmation .top>.orb-container{display:flex;align-items:center;justify-content:flex-start;gap:10px!important}

/* Main actions use the same rectangular treatment as the homepage.
   The global estimate button retains its familiar lime color. */
.orb-ui :is(.sales-button,.case-button,.lp-cta,.btn,.okb){min-height:48px;border-radius:2px!important;border-width:1px!important;box-shadow:none!important;padding:13px 20px;font-size:13px;line-height:1.45;letter-spacing:.02em;text-decoration:none;text-align:center;justify-content:center;white-space:normal;max-width:100%}
.orb-ui :is(.sales-button:not(.sales-button--ghost),.case-button--primary,.lp-cta:not(.lp-cta--ghost),.btn-p,.btn--primary){background:var(--ui-ink);color:#fff;border-color:var(--ui-ink)}
.orb-ui :is(.sales-button--ghost,.case-button:not(.case-button--primary),.lp-cta--ghost,.btn-g,.btn--ghost){background:transparent;color:var(--ui-ink);border-color:var(--ui-line)}
.orb-ui :is(.sales-button:not(.sales-button--ghost),.case-button--primary,.lp-cta:not(.lp-cta--ghost),.btn-p,.btn--primary):hover{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}
.orb-ui :is(.sales-button--ghost,.lp-cta--ghost,.btn-g,.btn--ghost):hover{background:#f0f2e8;border-color:var(--ui-muted)}
.orb-ui :is(.orb-cta-desktop button,.orb-mobilebar__cta){min-height:44px;box-shadow:none!important;border-radius:2px!important}
.orb-ui .orb-header .lp-cta--sm{min-height:44px;padding:10px 15px}
.orb-ui :is(.sales-case img,.sales-local-preview img){object-fit:contain;background:#f0f2e8}
.orb-ui .sales-case-visual:hover img{transform:none}
/* Shared calculator labels must remain separate when home.css is not loaded. */
.orb-ui .orb-quiz__opt[data-group="extras"]{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;text-align:left}
.orb-ui .orb-quiz__option-label{display:block;min-width:0;line-height:1.45;overflow-wrap:anywhere}
.orb-ui .orb-quiz__option-note{display:block;font-size:13px;line-height:1.45;color:var(--ui-accent)}
.orb-ui .orb-quiz__opt.is-included:disabled{opacity:1;color:var(--ui-ink);border-color:#a5ac93;background:#eef2e4;cursor:default}
.orb-ui .orb-quiz__hint{font-size:14px;line-height:1.6;color:var(--ui-muted)}
.orb-ui [data-quiz-included]:not([hidden]){display:block;margin-top:16px;padding:12px 16px;border-left:2px solid #a5ac93;background:#eef2e4;font-size:14px;line-height:1.6;color:var(--ui-muted)}
.orb-ui .orb-rf [data-request-package]{grid-column:1/-1;width:100%;min-width:0}
.orb-ui .orb-rf [data-request-calculation]{grid-column:1/-1;width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:16px 18px;border:1px solid var(--ui-line);border-radius:2px;background:#f0f2e8}
.orb-ui .rf-calculation-label{grid-column:1/-1;font:500 11px/1.5 var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--ui-muted)}
.orb-ui [data-calculation-text]{font:400 14px/1.6 var(--font-body);color:var(--ui-ink);margin:0;overflow-wrap:anywhere;white-space:pre-line}
.orb-ui [data-request-calculation]>button{min-height:44px;align-self:end;padding:5px 0;background:transparent;border:0;font:500 12px/1.4 var(--font-body);color:var(--ui-accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.orb-ui .orb-modal-close{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-width:44px!important;min-height:44px!important;flex-shrink:0;padding:6px 10px!important;color:var(--ui-ink)!important;background:transparent!important;border:1px solid var(--ui-line)!important;border-radius:2px!important;box-shadow:none!important;line-height:1!important}
.orb-ui .orb-modal-close__icon{font:400 27px/1 var(--font-body);display:block}
.orb-ui .orb-modal-close__hint{font:500 10px/1 var(--font-mono);color:var(--ui-muted)}
.orb-ui .orb-modal-close:hover{background:#f0f2e8!important}
.orb-ui:has(#oa-cc) :is(#floatingActions,.orb-mobilebar){visibility:hidden!important;pointer-events:none!important}

@media(max-width:1000px){.orb-ui .orb-header>.orb-container{gap:16px!important}.orb-ui .orb-nav{gap:14px!important}.orb-ui .orb-nav a{font-size:11px!important}}
@media(max-width:760px){
  .orb-ui :is(.orb-container,.sales-wrap){padding-inline:16px!important}
  .orb-ui--niche .w,.orb-ui--brief .wrap{padding-inline:16px}
  .orb-ui--niche .w.hd{padding-inline:16px}
  .orb-ui .orb-header>.orb-container{min-height:74px;gap:12px!important}
  .orb-ui .orb-header>.orb-container>a:first-child>span{font-size:18px!important}
  .orb-ui .orb-header>.orb-container>a:first-child img{width:30px;height:30px}
  .orb-ui--niche .logo,.orb-ui--case .case-brand,.orb-ui--demo .orb-demo-header>a:first-child{font-size:18px}
  .orb-ui--niche .logo img,.orb-ui--case .case-brand img,.orb-ui--demo .orb-demo-header>a:first-child img{width:30px;height:30px}
  .orb-ui--niche .hd .tel{display:none}
  .orb-ui--niche .sub{font-size:16px}
  .orb-ui--niche .cta-row{gap:10px}
  .orb-ui--niche .eyebrow{margin-top:28px}
  .orb-ui--case .case-wrap{width:calc(100% - 32px)}
  .orb-ui--case .case-header nav{gap:8px}
  .orb-ui--case .case-header .case-button{font-size:12px;padding:10px 12px;min-height:44px}
  .orb-ui--demo .orb-demo-header{gap:12px}
  .orb-ui--demo .orb-demo-header>a:last-child{font-size:12px;max-width:120px}
  .orb-ui--demo .orb-demo-catalog-head{padding-top:30px}
  .orb-ui--demo .orb-demo-discuss{padding:0 20px 20px}
  .orb-ui--brief .phone{font-size:11px}
  .orb-ui--brief header{gap:12px}
  .orb-ui--brief .intro{padding-top:30px}
  .orb-ui .orb-modal-close{width:44px;padding:6px!important}
  .orb-ui .orb-modal-close__hint{display:none}
  .orb-ui .orb-rf [data-request-calculation]{grid-template-columns:minmax(0,1fr)}
  .orb-ui [data-request-calculation]>button{justify-self:start}
}
@media(max-width:420px){
  .orb-ui main h1{font-size:27px!important;line-height:1.19!important}
  .orb-ui--niche .cta-row>a{width:100%}
  .orb-ui--case .case-header .case-brand{font-size:16px;gap:8px}
  .orb-ui--case .case-header .case-brand img{width:26px;height:26px}
  .orb-ui--brief .brand{font-size:18px}
  .orb-ui--brief .brand span{font-size:8px}
}
@media(max-width:360px){.orb-ui main h1{font-size:24px!important}}
@media(prefers-reduced-motion:reduce){.orb-ui :is(.sales-button,.case-button,.lp-cta,.btn,.orb-niche-discuss){transition:none}}
