/* Shared Plan B grid, typography and interaction system. */
:root{--accent:#349dff;--accent-ink:#349dff;--blue:#349dff;--glow:#eaf4ff;--night:#17191c;--section-title:clamp(36px,4.4vw,72px);--copy-size:clamp(16px,1.15vw,19px);--column-gap:7%;--left-column:54%}
body{font-family:var(--sans)}
h1,h2,h3{font-family:var(--sans);font-style:normal}
h1,h2{font-weight:600;letter-spacing:-.045em;text-wrap:balance}
h1 em,h2 em{font:inherit;color:inherit;background:none}
p{word-break:normal;overflow-wrap:break-word}
.section{padding-top:88px;padding-bottom:88px}
.section-heading{display:grid;grid-template-columns:minmax(0,var(--left-column)) minmax(0,1fr);column-gap:var(--column-gap);row-gap:28px;align-items:start;border-top:1px solid var(--line);padding-top:22px;margin:0 0 48px}
.section-heading>div{display:contents}
.section-heading .eyebrow{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.035em}
.section-heading h2{grid-column:1;font:600 var(--section-title)/1.14 var(--sans);letter-spacing:-.045em;margin:0;max-width:none}
.section-heading>p{grid-column:2;max-width:none;width:100%;margin:2px 0 0;font-size:var(--copy-size);line-height:1.9;text-align:left;align-self:start}
.section-tail{display:flex;justify-content:flex-start;margin:30px 0 0;padding-left:calc(var(--left-column) + var(--column-gap));border:0}
.circle-link{gap:14px;min-height:48px}.circle-link .circle{width:44px;height:44px;flex-shrink:0}
.circle-link:hover{color:var(--accent)}.circle-link:hover .circle{transform:none}
.button{background:transparent;color:var(--ink);border:1px solid currentColor;transition:background .22s,color .22s,border-color .22s}
.button:hover,.button:active{background:var(--accent);color:#fff;border-color:var(--accent);transform:none}
.button:disabled{opacity:.4;cursor:not-allowed}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
#header,body.inner #header,#header.is-scrolled{background:rgba(255,255,255,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .25s,color .25s;border-color:rgba(18,24,30,.09)}
#header .wordmark{display:grid;width:145px;position:relative;line-height:0}
.wordmark img{width:100%;height:auto;grid-area:1/1;display:block}
.wordmark .logo-light{opacity:0}
body:has(.b-hero--immersive):not(.menu-open) #header:not(.is-scrolled) .logo-light{opacity:1}
body:has(.b-hero--immersive):not(.menu-open) #header:not(.is-scrolled) .logo-dark{opacity:0}
#desktop-nav a{transition:color .18s,background .18s,border-color .18s}
#desktop-nav a:hover,#desktop-nav a:active,#desktop-nav a[aria-current=page],body.inner #desktop-nav a[aria-current=page]{color:var(--accent)}
#desktop-nav a:after{background:var(--accent)}
#desktop-nav a:last-child,body.inner #desktop-nav a:last-child{background:transparent;border:1px solid currentColor;color:var(--ink);padding:11px 21px;text-decoration:none}
#desktop-nav a:last-child:hover,#desktop-nav a:last-child:active,body.inner #desktop-nav a:last-child:hover,#desktop-nav a:last-child[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}
#desktop-nav a:last-child:after{display:none}
#language:hover,#language:active,#mobile-nav a:hover,#mobile-nav a:active{color:var(--accent)}
.b-hero-summary{grid-template-columns:minmax(0,var(--left-column)) minmax(0,1fr);gap:var(--column-gap);align-items:start;padding:88px 0}
.b-brand-line{font-size:clamp(28px,2.8vw,46px);font-weight:600;line-height:1.2;margin:0 0 20px;letter-spacing:-.04em}
.b-hero-summary h2{font-size:clamp(30px,3.75vw,64px);line-height:1.1;font-weight:600;letter-spacing:-.055em;white-space:nowrap;margin:0}
.b-hero-story>p{font-size:var(--copy-size);line-height:1.9;letter-spacing:0;max-width:none}
.b-hero-actions{margin-top:28px}
.company-intro{padding-top:0}.company-intro .section-heading{margin-bottom:0}
.b-expertise-caption h3{font-weight:600;font-size:clamp(24px,2vw,32px)}
.b-expertise-caption p{font-size:16px;line-height:1.8;max-width:560px}
.b-expertise-meta{font-size:12px}.b-expertise-image{border-radius:14px}
.b-expertise-card:hover .b-expertise-open{background:var(--accent);color:#fff}
.client-logo-wall{padding:10px 0 4px;background:#fff}.client-logo-sheet{display:block;width:100%;height:auto}.client-logo-responsive{display:none;list-style:none;margin:0;padding:0}
@media(max-width:900px){.client-logo-sheet{display:none}.client-logo-responsive{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:26px}.client-logo-responsive li{display:flex;align-items:center;justify-content:center;min-width:0;height:80px}.client-logo-responsive svg{display:block;overflow:hidden;width:100%;max-width:145px;height:64px}}
@media(max-width:600px){.client-logo-responsive{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px;row-gap:16px}.client-logo-responsive li{height:70px}.client-logo-responsive li:last-child{grid-column:2}.client-logo-responsive svg{height:52px}}
.path-card{position:relative;display:flex;flex-direction:column;min-height:380px;padding:30px;border-radius:14px}
.path-card .path-number{font-family:var(--sans);font-weight:400;margin-bottom:18px}
.path-card-copy{margin-top:auto;padding:54px 30px 0 0}
.path-card-copy h3{font-size:24px;line-height:1.35;margin:0 0 12px;font-weight:600;letter-spacing:-.03em}
.path-card-copy p{font-size:16px;line-height:1.8;margin:0}
.path-card>.path-arrow{position:absolute;right:26px;bottom:28px;font-size:24px}
.path-card:hover .path-arrow{color:var(--ink)}
.stage-tabs{gap:9px}.stage-tabs button{border-radius:12px}
.stage-panel{display:grid;grid-template-columns:minmax(0,var(--left-column)) minmax(0,1fr);gap:var(--column-gap);padding:42px 0 0;min-height:260px;border:0;background:transparent;align-items:start}
.stage-panel-heading{display:flex;gap:28px;align-items:flex-start}
.stage-panel-heading .stage-index{font:400 clamp(50px,5.2vw,82px)/1 var(--sans);letter-spacing:-.06em;min-width:105px;color:var(--ink)}
.stage-index>span{display:block;font-size:12px;letter-spacing:0;margin-top:12px}
.stage-panel-heading .micro{display:block;margin-bottom:12px}
.stage-panel h3{font:600 clamp(24px,2.4vw,36px)/1.4 var(--sans);letter-spacing:-.035em;margin:0}
.stage-panel-body>p{font-size:var(--copy-size);line-height:1.9;margin:0 0 25px}
.stage-output{border-top:1px solid var(--line);padding-top:20px;margin:0}
.stage-output ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:16px 0 0}
.stage-output li{font-size:15px;line-height:1.5;padding-left:12px;position:relative}
.stage-output li:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);position:absolute;left:0;top:.65em}
.ai-studio-copy>p{font-size:var(--copy-size);line-height:1.9}.ai-studio-copy>.circle-link{margin-top:24px}
.markets-compact .section-heading{margin-bottom:24px}
.market-scope{margin-left:calc(var(--left-column) + var(--column-gap));display:flex;gap:16px 28px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.market-scope>.circle-link{flex-basis:100%;color:var(--ink);margin-top:8px}
.service-overview-note .circle-link{flex-shrink:0}
.contact-band{background:#f5f5f5;color:var(--ink)}
.contact-band>.button{margin-left:calc(var(--left-column) + var(--column-gap))}
.page-head h1,.page-head.ip-partner-hero h1,.b-lifecycle-heading h1{font:600 clamp(42px,5.6vw,90px)/1.1 var(--sans);letter-spacing:-.045em}
.page-head{padding-top:68px}.page-head>p{max-width:760px;font-size:var(--copy-size);line-height:1.9}
.ip-partner-hero h1 em{padding:0;background:none}
.ip-partner-intro{display:block;max-width:760px}.ip-partner-intro>p{font-size:var(--copy-size);line-height:1.9}
.b-lifecycle-heading{grid-template-columns:minmax(0,var(--left-column)) minmax(0,1fr);column-gap:var(--column-gap);align-items:start}
.b-lifecycle-intro{padding-top:52px}.b-lifecycle-intro p{font-size:var(--copy-size);line-height:1.9}
.lc-showcase-heading{display:grid;grid-template-columns:minmax(0,var(--left-column)) minmax(0,1fr);column-gap:var(--column-gap);align-items:start}
.lc-showcase-heading h2{font:600 var(--section-title)/1.14 var(--sans)}.lc-showcase-heading>p{padding-top:55px}
.lc-ai-note{background:#edf6ff}.lc-ai-note>span,.lc-handoff strong{color:#246899}
.ai-applied-list{display:grid;gap:26px}.ai-applied-list article{display:grid;grid-template-columns:25px 1fr;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px}.ai-applied-list article:last-child{border:0;padding-bottom:0}.ai-applied-list .micro{padding-top:5px}.ai-applied-list h3{font-size:23px;line-height:1.4;font-weight:600;margin:0 0 12px}.ai-applied-list p{font-size:16px;line-height:1.8;margin:0}.ai-studio-copy{padding:40px}.ai-studio-copy>.circle-link{margin-top:28px}
.market-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.market-options a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 22px;background:#f5f5f5;border-radius:12px;font-size:17px;transition:background .22s}.market-options a:hover,.market-options a:focus-visible{background:var(--accent);color:#fff}
.service-directory-row{transition:background .22s,color .22s;transform:none;border-radius:0}.service-directory-row:hover{background:#edf6ff;padding-left:0;padding-right:0;transform:none}.service-directory-row:hover h3{color:var(--accent)}.service-directory-row .directory-arrow{transition:background .22s,border-color .22s,transform .22s}.service-directory-row:hover .directory-arrow{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(45deg)}.service-overview-note{justify-content:flex-start;padding-left:calc(var(--left-column) + var(--column-gap))}
.film-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.page-head:has(+.film-demos){padding-bottom:32px}.page-head+.film-demos{padding-top:32px}
.film-demo-card{min-width:0}
.film-demo-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#0d0f14;border-radius:14px}
.film-demo-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 0}
.film-demo-caption h3{font-size:21px;font-weight:600;margin:0}
.film-demo-caption a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.film-demo-caption a:hover{color:var(--accent)}
.film-demo-error{font-size:14px;color:var(--muted)}
.demo-entry{display:inline-flex;align-items:center;gap:12px;margin-top:24px;min-height:44px;border-bottom:1px solid var(--line);font-size:14px}.demo-entry:hover{color:var(--accent)}
footer{background:#17191c}.footer-bottom{border-color:#42454a}
@media(max-width:1100px){:root{--column-gap:5%;--left-column:53%;--section-title:clamp(34px,4.4vw,52px)}.stage-panel-heading{gap:18px}.stage-panel-heading .stage-index{min-width:75px}.path-card{padding:24px}.path-card-copy{padding-right:12px}.path-card-copy h3{font-size:21px}}
@media(max-width:900px){.section-heading,.stage-panel,.b-hero-summary,.b-lifecycle-heading,.lc-showcase-heading{grid-template-columns:1fr;gap:24px}.section-heading h2,.section-heading>p{grid-column:1}.section-heading>p{max-width:680px}.section-tail{padding-left:0}.b-hero-summary h2{font-size:clamp(30px,6vw,56px)}.b-hero-story>p{max-width:680px}.market-scope{margin-left:0}.contact-band>.button{margin-left:0}.stage-panel-body{max-width:700px}.b-lifecycle-intro,.lc-showcase-heading>p{padding-top:0}.path-card{min-height:370px}}
@media(max-width:600px){:root{--section-title:34px}.section{padding-top:58px;padding-bottom:58px}.company-intro{padding-top:0}.section-heading{padding-top:20px;margin-bottom:32px;row-gap:22px}.section-heading h2{font-size:34px;line-height:1.2}.section-heading>p{font-size:16px;line-height:1.85}.b-hero-summary{padding:52px 0;gap:28px}.b-brand-line{font-size:30px;margin-bottom:16px}.b-hero-summary h2{font-size:clamp(27px,7.2vw,40px)}#header .wordmark{width:132px}.film-demo-grid{grid-template-columns:1fr;gap:28px}.stage-panel{min-height:0;padding-top:32px}.stage-panel-heading .stage-index{font-size:56px}.stage-panel h3{font-size:26px}.stage-output ul{gap:12px}.stage-panel-body>p{font-size:16px}.path-card{min-height:320px}.path-card-copy{padding-top:44px}.path-card-copy h3{font-size:23px}.client-logo-slot{height:88px}.page-head h1,.page-head.ip-partner-hero h1,.b-lifecycle-heading h1{font-size:42px;line-height:1.14}.page-head{padding-top:44px}.lc-showcase-heading h2{font-size:34px}.film-demo-caption{padding-top:12px}}
.footer-brand{padding:30px 0 56px}.footer-brand>a{display:block;width:clamp(260px,38vw,600px);max-width:80%}.footer-brand img{width:100%;height:auto}footer{padding-bottom:30px}.footer-bottom{gap:20px;padding-right:140px}
.site-utilities{position:fixed;bottom:24px;right:24px;z-index:24;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.site-utilities #back-to-top{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d3d9df;border-radius:50%;background:#ffffffed;color:var(--ink);box-shadow:0 2px 15px #1622350a;font-size:23px}
.site-utilities #back-to-top[hidden]{display:none}
.quick-diagnostic{display:flex;align-items:center;gap:14px;min-height:44px;padding:12px 18px;background:var(--accent);color:#fff;border-radius:99px;box-shadow:0 4px 20px #16223515;font-size:13px;font-weight:500}
.quick-diagnostic:hover{background:#0a0a0a;color:#fff}.site-utilities #back-to-top:hover{background:var(--accent);border-color:var(--accent)}
body.menu-open .site-utilities{visibility:hidden}
.b-lifecycle{padding-top:64px}.lc-showcase-heading{border:0;padding-top:0}.lc-showcase-heading h2{margin:0}.lc-showcase-heading>p{padding-top:0}
.page-head:has(+.about-story){padding-top:48px;padding-bottom:40px}
.about-story{display:grid;grid-template-columns:minmax(0,var(--left-column)) minmax(0,1fr);gap:var(--column-gap);padding-top:10px}
.about-story>h2{font:600 var(--section-title)/1.14 var(--sans);letter-spacing:-.045em}
.about-story-copy>p{font-size:var(--copy-size);line-height:1.9;margin:0 0 22px}
.about-principles{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}.about-principles article{border-top:1px solid var(--line);padding-top:18px}.about-principles h3{font-size:18px;font-weight:600;margin:0 0 10px}.about-principles p{font-size:15px;line-height:1.8;color:var(--muted)}
.contact-first{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;padding-top:54px;align-items:start}
.contact-first aside{position:static;padding:8px 0 0}
.contact-first h1{font:600 clamp(36px,4.3vw,66px)/1.16 var(--sans);letter-spacing:-.045em;margin:24px 0}
.contact-first aside>p{font-size:var(--copy-size);line-height:1.9;max-width:450px}
.contact-first .contact-email{font-size:17px;line-height:1.5;letter-spacing:0;margin:30px 0 16px;overflow-wrap:anywhere}
.contact-first aside>.plain-link{display:block;font-size:14px;min-height:44px;padding:12px 0}
.contact-first .diagnostic{padding:32px;background:#f5f7fa;border:1px solid #e1e6ec;border-radius:16px}
.diagnostic h2{font:600 clamp(25px,2.3vw,34px)/1.35 var(--sans);letter-spacing:-.025em;margin:24px 0 14px}
.diagnostic-progress{gap:20px}.diagnostic-progress i.done{background:var(--accent)}.diagnostic-options{gap:12px;margin-top:24px}
.diagnostic-options button[aria-pressed=true] .choice-indicator{border-color:var(--accent)}
.service-directory-row:hover .directory-name h3{color:var(--accent)}
.annual-plan-card:nth-child(2){--muted:#fff;--ink:#fff;color:#fff}.annual-plan-card:nth-child(2) .annual-resources dt small{color:#fff}.annual-plan-card:nth-child(2) .button{background:transparent;border-color:#fff;color:#fff}.annual-plan-card:nth-child(2) .button:hover{background:#fff;color:#349dff}
.service-price-tabs>button[aria-selected=true] .service-tab-number{color:#fff}
#desktop-nav a[aria-current=page]{text-decoration:none}
.diagnostic-options>button{background:white;border:1px solid #d7dde5;border-radius:10px;padding:18px;gap:14px}
.diagnostic-options>button:hover{border-color:var(--accent);background:#edf6ff}.diagnostic-options>button[aria-pressed=true]{border-color:var(--accent);background:#eaf4ff}
.diagnostic-options strong{font-size:17px;font-weight:500;line-height:1.4}.diagnostic-options small{font-size:14px;line-height:1.7;margin-top:5px;color:#59616c}
.diagnostic-options .choice-indicator{width:18px;height:18px;flex:none}.diagnostic-actions{margin-top:24px}
.inquiry-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;background:#f5f7fa}
.inquiry-section h2{font:600 clamp(32px,3.4vw,52px)/1.15 var(--sans);margin:24px 0;letter-spacing:-.04em}
.inquiry-section>div>p{max-width:430px;font-size:16px}.inquiry-section .small-note{font-size:13px;margin-top:18px}
#inquiry-form{min-width:0}#inquiry-form>label,#inquiry-form .form-row label{display:flex;flex-direction:column;gap:10px;margin:0 0 22px;font-size:14px;color:var(--ink)}
#inquiry-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#inquiry-form input:not([type=checkbox]),#inquiry-form textarea{box-sizing:border-box;width:100%;min-width:0;background:white;border:1px solid #cbd3dd;border-radius:8px;color:#17191c;padding:14px 16px;margin:0;font:400 16px/1.6 var(--sans);box-shadow:none}
#inquiry-form input:not([type=checkbox]){min-height:54px}#inquiry-form textarea{min-height:188px;resize:vertical}
#inquiry-form input::placeholder,#inquiry-form textarea::placeholder{color:#68717d;opacity:1}
#inquiry-form input:focus,#inquiry-form textarea:focus{border-color:var(--accent);outline:2px solid #349dff33;outline-offset:2px}
#inquiry-form .consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;min-height:44px;margin:0 0 18px;line-height:1.6}
#inquiry-form .consent input{appearance:auto;accent-color:var(--accent);width:18px;height:18px;flex:none;margin:3px 0 0}
#inquiry-form>.button,.diagnostic-actions>.button{background:var(--accent);border-color:var(--accent);color:#fff}
.service-price-tabs>button[aria-selected=true]{background:var(--accent);color:#fff}.service-price-tabs>button:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
.pricing-scope-heading h2{font:600 clamp(28px,3vw,46px)/1.25 var(--sans);letter-spacing:-.035em}
.pricing-disclosure[open]{padding-bottom:28px}.pricing-disclosure>.credit-section,.pricing-disclosure>.faq-section{padding:24px 0 0}
.pricing-disclosure .section-heading{margin-bottom:30px;grid-template-columns:1fr;row-gap:20px}.pricing-disclosure .section-heading h2{font-size:32px}
.pricing-disclosure .three-columns{gap:28px}.pricing-disclosure .three-columns h3{font-size:22px;font-weight:600}.pricing-disclosure .three-columns p{font-size:15px;line-height:1.85}
.pricing-disclosure .credit-calculator{grid-template-columns:1fr;gap:28px;border:1px solid #dce3ec;background:#f5f7fa;border-radius:14px;margin-top:32px;padding:30px}
.credit-calculator .micro{font-size:11px}.credit-calculator h3{font-weight:600}
.plan-selector{display:flex;gap:8px;flex-wrap:wrap;background:none}.plan-selector button{min-height:44px;padding:10px 18px;background:white;color:var(--ink);border:1px solid #cbd3dd;border-radius:99px}.plan-selector button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.credit-calculator #credit-result{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--line);padding-top:24px}
#credit-result>div{min-width:0}#credit-result>div>span{font-size:11px;letter-spacing:.02em}#credit-result strong{font:500 clamp(28px,3vw,42px)/1.2 var(--sans);letter-spacing:-.035em;margin-top:14px}
#credit-result .credit-highlight{grid-column:auto;display:block;border:0;padding:0}#credit-result .credit-highlight strong{margin-top:14px;color:var(--ink)}
.pricing-disclosure .faq-section{gap:32px;grid-template-columns:1fr 1.7fr;margin-top:32px;border-top:1px solid var(--line)}.pricing-disclosure .faq-section h2{font-size:32px;font-weight:600}
@media(max-width:900px){.market-options{grid-template-columns:repeat(2,minmax(0,1fr))}.service-overview-note{padding-left:0}.about-story,.contact-first,.inquiry-section{grid-template-columns:1fr;gap:30px}.contact-first{padding-top:32px}.contact-first h1{font-size:42px;margin:18px 0}.contact-first .contact-email{margin:18px 0 6px}.contact-first aside>p{max-width:650px}.footer-bottom{padding-right:0}.pricing-disclosure .faq-section{grid-template-columns:1fr}}
@media(max-width:600px){.market-options{gap:12px}.market-options a{padding:22px 16px;font-size:15px}.ai-studio-copy{padding:28px 22px}.ai-applied-list article{gap:12px}.ai-applied-list h3{font-size:21px}.site-utilities{bottom:18px;right:14px}.quick-diagnostic{padding:10px 15px;font-size:12px}.footer-brand{padding:16px 0 36px}.footer-brand>a{width:270px}.footer-bottom{padding-bottom:55px}.b-lifecycle{padding-top:38px}.about-story{padding-top:0}.about-story>h2{font-size:32px}.about-principles{gap:22px}.about-principles h3{font-size:17px}.contact-first h1{font-size:36px}.contact-first .diagnostic{padding:22px 18px}.diagnostic h2{font-size:25px}.diagnostic-options>button{padding:15px 13px}.diagnostic-options strong{font-size:16px}.diagnostic-options small{font-size:13px}#inquiry-form .form-row{grid-template-columns:1fr;gap:0}.credit-calculator #credit-result{grid-template-columns:1fr;gap:20px}#credit-result>div{display:flex;justify-content:space-between;align-items:center;gap:16px}#credit-result strong,#credit-result .credit-highlight strong{font-size:30px;margin:0}#credit-result .credit-highlight{display:flex;border-top:1px solid var(--line);padding-top:20px}.pricing-disclosure .credit-calculator{padding:22px 18px}.plan-selector button{font-size:13px;padding:10px 14px}.pricing-disclosure .three-columns{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.button,.circle-link .circle,.b-expertise-card img,.service-directory-row,.directory-arrow{transition:none!important}}
/* Skyline Blue interactive surfaces use white foregrounds throughout. */
:root{--on-accent:#fff}
::selection{background:var(--accent);color:var(--on-accent)}
.button:hover,.button:active{color:var(--on-accent)}
.circle-link:hover .circle,.b-expertise-card:is(:hover,:focus-visible) .b-expertise-open,.service-directory-row:hover .directory-arrow,.site-utilities #back-to-top:hover,.lc-gallery-toolbar button:hover,.ip-plan-shortcuts a:hover{color:var(--on-accent)}
.path-card:hover,.path-card:hover .path-number,.path-card:hover .micro,.path-card:hover h3,.path-card:hover p,.path-card:hover .path-arrow{color:var(--on-accent)}
.stage-tabs button[aria-selected=true],.stage-tabs button[aria-selected=true]:hover,.stage-tabs button[aria-selected=true]>*{color:var(--on-accent)}
.lc-gallery-tab[aria-selected=true],.lc-gallery-tab[aria-selected=true]:hover,.lc-gallery-tab[aria-selected=true] .lc-tab-top,.lc-gallery-tab[aria-selected=true] .lc-tab-title{color:var(--on-accent)}
.service-price-tabs>button[aria-selected=true]:hover{color:var(--on-accent)}
.market-card:hover,.market-card:hover :is(.market-no,.micro,h3,p,.market-link){color:var(--on-accent)}
.diagnostic-option[aria-pressed=true],.option-card[aria-pressed=true]{color:var(--on-accent)}
.b-lifecycle-stamp,.b-lifecycle-stamp p{color:var(--on-accent)}
/* Compact brand signature on the blue footer. */
footer{background:var(--accent);color:#fff;padding-top:36px;padding-bottom:28px}
footer .footer-brand{padding:8px 0 30px}
footer .footer-brand>a{width:220px;max-width:60%}
footer .footer-bottom{color:#fff;border-color:#ffffff55}
footer .footer-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){footer .footer-brand>a{width:170px}footer .footer-brand{padding:4px 0 26px}}
/* A quieter home-page rhythm; detailed content opens in place. */
body:not(.inner) #main>.section{padding-top:56px;padding-bottom:56px}
body:not(.inner) #main>.company-intro{padding-top:0}
body:not(.inner) .section-heading{margin-bottom:32px;row-gap:24px}
body:not(.inner) .section-heading h2{font-size:clamp(32px,3.3vw,56px)}
body:not(.inner) .company-intro .section-heading,body:not(.inner) .markets-compact .section-heading{margin-bottom:0}
.b-hero-summary{padding-top:64px;padding-bottom:64px}
.path-grid{align-items:start}
.path-grid>details.path-card{display:block;min-height:0;padding:0;transition:background .2s,color .2s}
details.path-card summary{position:relative;list-style:none;cursor:pointer;min-height:220px;padding:26px;display:flex;flex-direction:column}
details.path-card summary::-webkit-details-marker{display:none}
.path-grid details.path-card .path-number{display:block;font-size:clamp(40px,4.2vw,64px);line-height:1.1;margin:0 0 14px}
details.path-card .path-card-copy{display:block;margin-top:auto;padding:30px 34px 0 0}
details.path-card .path-card-copy strong{font-size:clamp(19px,1.8vw,26px);line-height:1.4;font-weight:600;letter-spacing:-.025em}
.path-toggle{position:absolute;right:26px;bottom:28px;font-size:26px;line-height:1;transition:transform .2s}
details.path-card[open] .path-toggle{transform:rotate(45deg)}
details.path-card:is(:hover,[open]){background:var(--accent);color:#fff;transform:none}
details.path-card:is(:hover,[open]) :is(.path-number,.micro,p,.path-card-copy,.path-toggle){color:#fff}
.path-detail{padding:0 26px 26px}.path-detail>p{font-size:16px;line-height:1.85;margin:0 0 22px}
.path-deliverables{border-top:1px solid #ffffff66;padding-top:18px}.path-deliverables p{font-size:14px;line-height:1.8;margin:8px 0 0}
.home-return-bar{padding:24px var(--gutter,6vw) 0}
.home-return-bar a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;color:var(--muted)}
.home-return-bar a>span:first-child{font-size:25px;color:var(--ink)}
.home-return-bar a:hover,.home-return-bar a:hover>span{color:var(--accent)}
.home-return-bar+.page-head,.home-return-bar+.b-lifecycle,.home-return-bar+.contact-first{padding-top:28px}
footer :focus-visible{outline-color:#fff}
@media(max-width:900px){details.path-card summary{padding:22px;min-height:210px}.path-detail{padding:0 22px 22px}}
@media(max-width:600px){body:not(.inner) #main>.section{padding-top:38px;padding-bottom:38px}body:not(.inner) #main>.company-intro{padding-top:0}body:not(.inner) .section-heading h2{font-size:32px}body:not(.inner) .section-heading{row-gap:18px;margin-bottom:26px}.b-hero-summary{padding:42px 0}.home-return-bar{padding-top:14px}.home-return-bar+.page-head,.home-return-bar+.b-lifecycle,.home-return-bar+.contact-first{padding-top:20px}details.path-card summary{min-height:180px}.path-detail>p{font-size:15px}details.path-card .path-number{font-size:44px}.path-toggle{right:22px;bottom:24px}}
