/* Owner-selected review defaults, applied October 28, 2026.
   Page reading roles only. Embedded software, device hardware, logo paths and
   selected scene timelines retain their source construction. */
:root{--ink:#123b3b;--muted:#416057;--link:#08777c;--edge:#c2d7c9;--focus:#08777c;--wv-body:17px;--wv-h1:64px;--wv-h2:44px;--wv-copy-gap:32px;--wv-button-time:160ms;--wv-panel-time:240ms;--wv-art-time:650ms;--wv-ease:cubic-bezier(.22,.61,.36,1)}
body{font-size:var(--wv-body);color:var(--ink)}
/* Preserve small navigation, factual labels, project cards, forms and illustrated
   UI roles. Sentence-style intake headings belong to the input composition. */
:root body main :is(.hero-copy,.care-hero-inner,.sys-hero,.hs-hero-grid,.auto-hero,.ph-copy,.work-intro,.about-opening,.how-hero,.legal-title,.case-selection) h1{font-size:var(--wv-h1);line-height:1.08;letter-spacing:-.04em}
:root body main :is(.wv-video-head,.wv-work-collage-footer,.website-responsibility-copy,.website-closing-grid,.care-intro,.care-vs-heading,.care-close-inner,.sys-process-header,.sys-lower-heading,.wd-heading,.hs-heading,.hs-bento-heading,.hs-scope,.hs-conversion,.auto-heading,.as-copy,.chapter-information,.work-heading,.services-inset,.price-close,.work-responsibility,.about-culture-close,.about-close,.how-ready,.how-faq,.how-close,.case-close,.wv-faq-heading,.wv-closing-copy) h2,
:root body main :is(h2.about-chapter,h2.price-broad){font-size:var(--wv-h2);line-height:1.12;letter-spacing:-.035em}
:root body main :is(.hero-copy,.care-intro,.sys-hero,.auto-hero-copy,.hs-hero-copy,.work-intro,.about-opening,.how-hero)>p:not([class*="kicker"]):not([class*="eyebrow"]):not([class*="label"]),
:root body main :is(.website-case-description,.website-responsibility-bottom>p,.website-included-close>p,.care-lead,.sys-hero-copy,.sys-lower-heading>p,.hs-heading>p,.hs-bento-heading>p,.auto-heading>p,.as-copy>p,.chapter-information>p,.about-side-intro,.about-mission-copy>p:not(:first-child),.about-approach-grid>div>p,.wv-faq-answer p,.wv-closing-description){font-size:var(--wv-body);line-height:1.65}
/* A consistent space between a section heading and its reading copy. Section
   pacing and protected art dimensions are independently composed. */
:root body main :is(.wv-video-head,.wv-faq-heading,.wv-closing-copy,.sys-lower-heading,.hs-heading,.hs-bento-heading,.auto-heading,.as-copy,.work-intro,.how-hero) h2+p{margin-top:var(--wv-copy-gap)}
.wv-baked-nav{--bn-ink:#123b3b;--bn-muted:#416057;--bn-line:#c2d7c9}
/* Native status colors, screenshots and modeled service icons are not finishes. */
body :is(.wv-primary,.wv-secondary,.wv-icon-button,.wv-link,.wv-bn-cta,.wv-bn-trigger,.wv-bn-card,.wv-bn-toggle){transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
body .wv-bn-panel{transition-duration:var(--wv-panel-time);transition-timing-function:var(--wv-ease)}
body :is(.wv-bn-toggle span,.wv-faq-toggle){transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
body :is(.wv-faq-item summary,.wv-link,.wv-secondary,.wv-icon-button){min-height:44px}
body :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus,#08777c);outline-offset:4px}
body :is(.wv-site-footer,.wv-footer) :is(a,button):focus-visible{outline-color:#fff5d4}
@media(max-width:680px){:root{--wv-h1:40px;--wv-h2:32px;--wv-body:16px;--wv-copy-gap:28px}:root body main :is(.hero-copy,.care-hero-inner,.sys-hero,.hs-hero-grid,.auto-hero,.ph-copy,.work-intro,.about-opening,.how-hero,.legal-title,.case-selection) h1{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){:root{--wv-button-time:0ms;--wv-panel-time:0ms;--wv-art-time:0ms}html{scroll-behavior:auto}body :is(.wv-bn-panel,.wv-bn-toggle span,.wv-faq-toggle){animation:none;transition:none}}

/* Reading ink is explicit where older page scopes hard-coded midnight. */
:root body main :is(.hero-copy,.care-hero-inner,.sys-hero,.hs-hero-grid,.auto-hero,.work-intro,.about-opening,.how-hero,.legal-title,.case-selection) h1{color:#123b3b}
:root body main .website-puzzle{--ink:#123b3b;--muted:#416057;--link:#08777c;--edge:#c2d7c9}
/* Standalone visitor actions have an honest finger-sized hit area. */
:root body .hs-link{display:inline-flex;align-items:center;min-height:44px}
:root body :is(.wv-site-footer,.wv-footer) a{min-width:44px;min-height:44px}
:root body .service-tabs button{min-width:44px;flex-basis:44px}
:root body main :is(.website-puzzle .case-copy,.how-terms) h2{font-size:var(--wv-h2);line-height:1.12;letter-spacing:-.035em}
:root body .service-tabs{width:182px;flex-basis:182px}
:root body .service-current{flex:0 1 112px;min-width:0;width:112px}
:root body main :is(.stage-context>p,.sys-process-copy>p,.how-step-content>p){font-size:var(--wv-body);line-height:1.65}
body :is(.wv-primary .primary-label,.wv-primary .lift,.wv-utility,.wv-icon,.wv-link>span),body .wv-bn-cta:after{transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
/* Care's original absolute phone text slots were too short for the selected
   readable heading. Keep its artwork in place and let the reading stack grow. */
@media(max-width:760px){:root body .care-hero{height:auto}:root body .care-hero-inner{height:auto;display:flex;flex-direction:column;gap:28px;padding-top:272px;padding-bottom:32px}:root body .care-hero-inner h1{position:static;width:100%;max-width:none}:root body .care-hero-summary{position:static;width:100%;font-size:var(--wv-body);line-height:1.65}:root body .care-down{position:static;margin-left:auto;flex-shrink:0}}
:root body .wv-footer-grid a{min-width:44px;min-height:44px}
:root body main .sys-process-copy>p{color:var(--muted)}

/* Existing illustrated service family is the owner-selected baseline. Transparent
   artwork keeps its modeled teal/gold detail without a second backing tile. */
.wv-baked-nav .wv-bn-service-art{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;background:none;border:0;box-shadow:none}
.wv-bn-service-art img{display:block;width:64px;height:64px;max-width:none;object-fit:contain}

/* Reading copy uses the selected roles. Display statements, factual captions,
   semantic statuses and native illustration text remain separately composed. */
:root body main :is(.wv-video-summary p,.sys-workbench-description,.sys-offer-price>p:not([class]),.wd-description>p,.hs-tools-grid p,.auto-benefit-content>p,.auto-package-description,.work-project-description,.work-founder-detail,.case-intro>p,.case-story>div>p){font-size:var(--wv-body);line-height:1.65}
:root body main :is(.hero-summary,.stage-context>p,.wv-video-head>p:not([class]),.wv-video-summary p,.wv-faq-answer p,.sys-hero-copy,.sys-workbench-description,.sys-lower-heading>p,.wd-heading>p,.wd-description>p,.hs-heading>p,.hs-bento-heading>p,.hs-tools-grid p,.auto-hero-copy>p,.auto-benefit-content>p,.auto-heading>p,.as-copy>p,.chapter-footnote,.work-founder-detail){color:#416057}
:root body main .work-project:not(.is-open) .work-project-description{color:#416057}
/* Reading ink changes with the real dark surface, not just the page family. */
:root body main .hs-hero h1{color:#fcfbf7}
:root body main .hs-hero-grid>div>p:not(.hs-eyebrow){font-size:var(--wv-body);line-height:1.65;color:#eff9f3}
:root body .hs-hero{--focus:#fff5d4}
:root body main :is(.care-hero-summary,.care-row-copy>p){font-size:var(--wv-body);line-height:1.65;color:#416057}
/* Keep Care's staggered desktop composition while allowing enlarged text to
   increase its rows. Its former absolute slots could collide at 200% text. */
@media(min-width:761px){:root body .care-hero{height:auto;min-height:880px}:root body .care-hero-inner{height:auto;min-height:880px;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:minmax(560px,auto) auto auto;gap:32px 60px;padding-top:65px;padding-bottom:32px;align-items:start}:root body .care-hero h1{position:static;width:100%;max-width:none;grid-column:1;grid-row:1;align-self:center}:root body .care-hero-art{position:static;width:100%;max-width:570px;height:auto;grid-column:2;grid-row:1;justify-self:end}:root body .care-hero-summary{position:static;width:100%;grid-column:2;grid-row:2}:root body .care-discover{position:static;grid-column:1;grid-row:3;align-self:center;margin-top:24px}:root body .care-down{position:static;grid-column:2;grid-row:3;justify-self:end;align-self:center;margin-top:24px}}
/* Let reading columns shrink before long or enlarged words can be clipped. */
:root body main :is(.care-row-copy,.hs-hero-grid>div,.about-opening h1,.auto-heading,.chapter-information,.case-meta dl>div){min-width:0;max-width:100%}
:root body main :is(.care-row-copy h3,.sys-hero h1,.sys-statement>p,.hs-hero h1,.wd-heading h2,.auto-heading h2,.chapter-information h2,.services-inset h2,.about-opening h1,.case-close h2,.wv-closing-copy h2){overflow-wrap:anywhere}
:root body main .ph-copy h1>span{white-space:normal;overflow-wrap:anywhere}
:root body main .about-opening .about-kicker{max-width:100%;line-height:1.5;overflow-wrap:anywhere}
:root body main .about-opening h1{width:100%}
:root body main .case-meta :is(dt,dd){min-width:0;overflow-wrap:anywhere}
:root body main .case-meta dl{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){:root body .care-row{grid-template-columns:minmax(0,1fr)}}
:root body main .sys-hero h1 em{white-space:normal;overflow-wrap:anywhere}
:root body main .sys-statement>p :is(span,em){white-space:normal;overflow-wrap:anywhere}
/* Keep the automotive SVG illustrations uniformly scaled, while letting their
   outer headings/copy remain actual reading size and grow with text settings. */
:root body .auto-benefit{height:auto!important}
:root body .auto-benefit-content{width:100%;height:auto;transform:none!important;padding:26px 26px 64px}
:root body .auto-benefit figure{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:auto;aspect-ratio:338/224;margin:24px 0 0}
:root body .auto-benefit figure svg{display:block;width:100%;height:auto}
:root body :is(.auto-benefit-track,.auto-benefit){transition-duration:var(--wv-panel-time);transition-timing-function:var(--wv-ease)}
@media(max-width:680px){:root body .auto-benefit-content{padding:18px 18px 60px}:root body .auto-benefit h3{font-size:22px;line-height:1.3}}
/* Shared visitor controls inherit the approved response timing, including page-
   specific controls outside the named action family. Scene clocks are untouched. */
body :is(button,summary,input,select,textarea,a){transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
body dialog{transition-duration:var(--wv-panel-time);transition-timing-function:var(--wv-ease)}
:root body .auto-benefit h3{line-height:1.3;overflow-wrap:anywhere}
:root body main .care-row-copy h3{font-size:var(--wv-h2);line-height:1.12}
:root body main :is(.sys-process-copy,.sys-workbench-copy,.hs-tools-grid,.hs-reading,.as-copy,.chapter-information,.work-founder,.case-next,.about-expect) h3{line-height:1.3;overflow-wrap:anywhere}
:root body main :is(.legal-intro,.legal-section,.cs-support p){font-size:var(--wv-body);line-height:1.65}
:root body .legal-index a,:root body .care-discover a,:root body .care-discover [aria-current]{min-height:44px;display:flex;align-items:center}
:root body .legal-index a{overflow-wrap:anywhere}
:root body main :is(.hs-tools-grid,.auto-benefit-content) p{overflow-wrap:anywhere}
:root body main .legal-section h2{overflow-wrap:anywhere;line-height:1.3}
/* Nav state selectors outrank the old component timing declarations. */
:root body .wv-baked-nav .wv-bn-group .wv-bn-panel{transition-duration:var(--wv-panel-time);transition-timing-function:var(--wv-ease)}
:root body .wv-baked-nav :is(.wv-bn-card,.wv-bn-cta,.wv-bn-trigger,.wv-bn-toggle,.wv-bn-menu>a){transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
:root body main :is(a,button,summary,input,select,textarea){transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
:root body :is(.wv-site-footer,.wv-footer,.wv-footer-grid) a{transition-duration:var(--wv-button-time);transition-timing-function:var(--wv-ease)}
:root body .ph-month{display:inline-block;white-space:nowrap}
/* Locked illustrated service family. Decorative images accompany real text;
   no colored backing tile, synthetic bevel or recoloring is added. */
.wv-service-icon{display:inline-grid;place-items:center;flex-shrink:0;width:var(--wv-service-icon-size,64px);height:var(--wv-service-icon-size,64px);background:none;border:0;box-shadow:none;line-height:0}
.wv-service-icon img{display:block;width:var(--wv-service-icon-size,64px);height:var(--wv-service-icon-size,64px);object-fit:contain;max-width:none;transform:scale(var(--wv-icon-optical,1));border:0;box-shadow:none}
:root body .wv-video-event .wv-video-event-icon{position:relative;width:48px;height:48px;background:none;border:0;box-shadow:none;border-radius:0}
:root body .wv-video-event-icon img{width:64px;height:64px}
@media(max-width:680px){:root body .wv-video-event .wv-video-event-icon{width:24px;height:24px}:root body .wv-video-event-icon img{width:32px;height:32px}}
