/* Lumos: layout components only. The canonical tokens remain in ../styles.css. */
.lumos-new { background:var(--lumos-dark); color:var(--lumos-light); font-family:var(--font-sans); font-size:15px; line-height:1.65; }
.lumos-new * { box-sizing:border-box; }
.lumos-new :is(h1,h2,h3,h4,p,figure) { margin:0; }
.lumos-new :is(h1,h2,h3) { font-family:var(--font-display); font-weight:400; }
.lumos-new em { font-weight:400; }
.lumos-new [hidden] { display:none!important; }
.lumos-new a { transition:background .25s,color .25s,transform .35s var(--ease); }
.lumos-new :is(button,select) { font:inherit; }
.lumos-new :focus-visible { outline:2px solid var(--lumos-accent); outline-offset:6px; }
.lumos-new :is(.l-section-sage,.l-section-light) :focus-visible { outline-color:var(--lumos-dark); }
.l-shell { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.l-skip { position:fixed; z-index:100; top:-90px; left:20px; padding:12px 22px; background:var(--lumos-accent); color:var(--lumos-dark); }
.l-skip:focus { top:12px; }
.l-section-dark { background:var(--lumos-dark); color:var(--lumos-light); }
.l-section-sage { background:var(--lumos-sage); color:var(--lumos-dark); }
.l-section-light { background:var(--lumos-light); color:var(--lumos-dark); }
.l-eyebrow { font-size:10px; letter-spacing:.16em; font-weight:500; display:flex; align-items:center; gap:9px; }
.l-status-dot { width:6px; height:6px; border-radius:50%; background:var(--lumos-accent); display:inline-block; flex-shrink:0; }
.lumos-new h2 { font-size:clamp(43px,4.5vw,68px); line-height:1.05; letter-spacing:-.035em; }
.l-section-dark h2 em { color:var(--lumos-sage); }
.l-header { position:absolute; inset:0 0 auto; z-index:20; height:108px; padding:0 56px; display:flex; align-items:center; gap:38px; color:var(--lumos-light); }
.l-brand { display:block; margin-right:auto; }
.l-brand img { width:145px; height:auto; }
.l-navigation { display:flex; gap:31px; font-size:12px; align-items:center; }
.l-navigation a { padding:12px 0; }
.l-navigation a:hover { color:var(--lumos-accent); }
.l-header-contact { display:flex; gap:25px; align-items:center; border:1px solid var(--line-strong); border-radius:50px; padding:11px 20px; font-size:12px; background:var(--lumos-dark); }
.l-header-contact span { font-size:19px; }
.l-header-contact:hover { background:var(--lumos-sage); color:var(--lumos-dark); }
.l-menu-toggle { display:none; }
.l-hero { position:relative; min-height:800px; height:min(940px,100svh); isolation:isolate; display:flex; align-items:center; background:var(--lumos-dark); }
.l-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; z-index:-3; }
.l-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,color-mix(in srgb,var(--lumos-dark) 70%,transparent),transparent 78%),linear-gradient(0deg,var(--lumos-dark),transparent 25%,transparent 80%,color-mix(in srgb,var(--lumos-dark) 60%,transparent)); }
.l-hero-content { padding-top:80px; padding-bottom:90px; }
.l-hero h1 { font-size:clamp(85px,8.4vw,126px); line-height:.94; letter-spacing:-.045em; margin:30px 0 26px; }
.l-hero h1 em { color:var(--lumos-sage); }
.l-hero-description { font-size:15px; color:var(--text-soft); line-height:1.8; margin-bottom:28px!important; }
.l-button { min-height:56px; padding:7px 7px 7px 23px; display:inline-flex; align-items:center; justify-content:space-between; gap:32px; font-size:12px; font-weight:500; border-radius:50px; }
.l-button-icon { display:grid; place-items:center; width:41px; height:41px; border-radius:50%; flex-shrink:0; font-size:22px; font-weight:400; }
.l-button-sage { background:var(--lumos-sage); color:var(--lumos-dark); }
.l-button-sage .l-button-icon { background:var(--lumos-dark); color:var(--lumos-sage); }
.l-button:hover .l-button-icon { transform:rotate(45deg); }
.l-button-icon { transition:transform .35s var(--ease); }
.l-button-sage:hover { background:var(--lumos-light); }
.l-hero-base { position:absolute; bottom:28px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; font-size:10px; color:var(--text-soft); }
.l-hero-base a { display:flex; align-items:center; gap:13px; }
.l-scroll-cue { width:31px; height:42px; border:1px solid var(--line-strong); border-radius:50px; display:grid; place-items:center; font-size:16px; }
.l-hero-base>span { display:flex; align-items:center; gap:14px; font-size:9px; }
.l-hero-base i { width:3px; height:3px; border-radius:50%; background:var(--lumos-sage); }
.l-services { padding:95px 0 38px; }
.l-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:42px; }
.l-section-heading h2 { margin-top:22px; }
.l-section-heading>p { font-size:13px; line-height:1.8; padding-bottom:4px; }
.l-service-composition { display:grid; grid-template-columns:1.05fr 1fr; gap:20px; }
.l-service-feature { position:relative; isolation:isolate; overflow:hidden; border-radius:8px; min-height:536px; color:var(--lumos-light); padding:30px; display:flex; flex-direction:column; justify-content:space-between; }
.l-service-feature>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65%; z-index:-3; transition:transform .8s var(--ease); }
.l-service-feature:after { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(0deg,var(--lumos-dark),color-mix(in srgb,var(--lumos-dark) 10%,transparent) 95%); }
.l-service-feature:hover>img { transform:scale(1.04); }
.l-service-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.13em; }
.l-circle-icon { display:grid; place-items:center; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; font-size:22px; font-weight:400; flex-shrink:0; transition:transform .3s var(--ease); }
.l-service-index { font-size:9px; letter-spacing:.1em; }
.l-service-feature-copy h3 { font-size:58px; line-height:1; letter-spacing:-.025em; margin:18px 0; }
.l-service-feature-copy p { max-width:300px; font-size:12px; color:var(--text-soft); }
.l-service-stack { display:grid; grid-template-rows:1fr 1fr; gap:20px; }
.l-service-item { background:var(--lumos-light); color:var(--lumos-dark); padding:24px 30px 27px; border-radius:8px; display:flex; flex-direction:column; justify-content:space-between; gap:20px; }
.l-service-item-top { display:flex; justify-content:space-between; align-items:center; }
.l-service-item h3 { font-size:35px; line-height:1.04; letter-spacing:-.015em; margin-bottom:12px; }
.l-service-item p { font-size:11px; max-width:365px; line-height:1.8; }
.l-service-item-dark { background:var(--lumos-dark); color:var(--lumos-light); }
.l-service-item-dark em,.l-service-item-dark .l-service-index { color:var(--lumos-sage); }
.l-service-item-dark p { color:var(--text-soft); }
.l-service-item:hover .l-circle-icon { transform:rotate(45deg); }
.l-services-foot { display:flex; justify-content:space-between; gap:20px; padding-top:23px; font-size:9px; }
.l-clarity { padding:100px 0; }
.l-clarity-intro { text-align:center; }
.l-clarity-intro>.l-eyebrow { justify-content:center; }
.l-clarity-intro h2 { margin:25px 0; font-size:clamp(43px,4.8vw,72px); }
.l-clarity-intro>p:last-child { font-size:13px; line-height:1.8; color:var(--text-soft); }
.l-decision-desk { margin-top:45px; }
.l-decision-tabs { display:flex; justify-content:center; gap:9px; margin-bottom:40px; }
.l-decision-tabs button { border:1px solid var(--line-strong); border-radius:50px; padding:12px 22px; display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:12px; color:var(--lumos-sage); transition:background .25s,color .25s; }
.l-decision-tabs button>span:first-child { font-size:9px; opacity:.75; }
.l-decision-tabs button[aria-selected=true] { background:var(--lumos-sage); color:var(--lumos-dark); border-color:var(--lumos-sage); }
.l-tab-mark { font-size:18px; line-height:1; }
.l-decision-tabs button[aria-selected=true] .l-tab-mark { transform:rotate(45deg); }
.l-decision-panel { display:grid; grid-template-columns:1fr 1fr; gap:80px; border-top:1px solid var(--line-strong); padding-top:46px; align-items:center; animation:panel-in .4s var(--ease); }
.l-decision-copy { max-width:440px; }
.l-decision-copy>.l-eyebrow { color:var(--lumos-sage); font-size:9px; }
.l-decision-copy h3 { font-size:58px; line-height:1; letter-spacing:-.03em; margin:24px 0; }
.l-decision-copy h3 em { color:var(--lumos-sage); }
.l-decision-copy>p { font-size:13px; color:var(--text-soft); line-height:1.85; margin-top:16px; max-width:390px; }
.l-text-link { display:inline-flex; align-items:center; gap:30px; font-size:12px; padding:0 0 7px; border-bottom:1px solid var(--line-strong); margin-top:27px; }
.l-text-link>span { font-size:20px; }
.l-text-link:hover { transform:translateX(4px); }
.l-cash-visual { border:1px solid var(--line-strong); border-radius:8px; padding:32px; background:var(--lumos-dark-2); }
.l-cash-visual figcaption { font-family:var(--font-display); font-size:28px; line-height:1.1; }
.l-cash-visual figcaption>span { display:block; font-family:var(--font-sans); font-size:8px; letter-spacing:.13em; color:var(--text-muted); margin-top:10px; }
.l-cash-track { position:relative; padding:30px 0 25px 21px; }
.l-cash-track:before { content:''; width:1px; background:var(--line-strong); position:absolute; top:38px; bottom:45px; left:4px; }
.l-cash-event { position:relative; }
.l-event-point { width:9px; height:9px; background:var(--lumos-sage); border-radius:50%; position:absolute; left:-21px; top:4px; box-shadow:0 0 0 5px var(--lumos-dark-2); }
.l-cash-event:last-child .l-event-point { background:var(--lumos-accent); }
.l-cash-event small { font-size:8px; letter-spacing:.14em; color:var(--lumos-sage); display:block; }
.l-cash-event strong { font-family:var(--font-display); font-size:30px; font-weight:400; display:block; line-height:1.2; margin:4px 0; }
.l-cash-event p { font-size:11px; color:var(--text-muted); }
.l-cash-gap { margin:17px 0; padding:12px 17px; background:var(--line-soft); border:1px dashed var(--line-strong); border-radius:4px; font-size:10px; max-width:245px; color:var(--lumos-sage); }
.l-cash-question { display:flex; align-items:center; gap:15px; border-top:1px solid var(--line-strong); padding-top:20px; font-size:12px; }
.l-cash-question>span { font-family:var(--font-display); font-size:34px; color:var(--lumos-sage); }
.l-context-map { border:1px solid var(--line-strong); border-radius:8px; padding:30px; background:var(--lumos-dark-2); }
.l-context-map>div { padding:23px 0 23px 38px; border-bottom:1px solid var(--line); position:relative; }
.l-context-map>div:last-child { border-bottom:0; padding-bottom:0; }
.l-context-map>div>span { position:absolute; left:0; top:28px; font-size:9px; color:var(--lumos-sage); }
.l-context-map h4 { font-size:16px; font-weight:400; }
.l-context-map p { font-size:12px; color:var(--text-soft); margin-top:7px; }
.l-context-map>.l-eyebrow { font-size:9px; color:var(--lumos-sage); }
.l-about { padding:95px 0; }
.l-about-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:85px; }
.l-about-art { position:relative; margin-right:25px; }
.l-about-art>img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:65%; border-radius:8px; }
.l-about-art>small { display:block; font-size:8px; margin-top:10px; }
.l-about-seal { position:absolute; right:-34px; bottom:58px; width:150px; height:164px; background:var(--lumos-sage); padding:20px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; border-radius:5px; }
.l-about-seal img { width:24px; height:auto; }
.l-about-seal span { text-align:center; font-size:8px; letter-spacing:.07em; line-height:1.7; }
.l-about-copy h2 { margin:25px 0; font-size:clamp(45px,4.6vw,65px); }
.l-about-copy>p:not(.l-eyebrow) { font-size:13px; line-height:1.9; margin-top:20px; max-width:420px; }
.l-people { display:flex; gap:25px; flex-wrap:wrap; margin-top:28px; }
.l-people>div { display:flex; align-items:center; gap:9px; font-size:10px; }
.l-person-monogram { display:grid; place-items:center; background:var(--lumos-sage); width:34px; height:34px; border-radius:50%; font-family:var(--font-display); font-size:15px; }
.l-about .l-text-link { border-color:var(--lumos-sage); }
.l-start { padding:80px 0 55px; }
.l-start-heading { display:flex; gap:50px; justify-content:space-between; align-items:flex-start; }
.l-start-heading>.l-eyebrow { padding-top:12px; }
.l-start-heading h2 { font-size:clamp(40px,4vw,60px); }
.l-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; list-style:none; padding:0; margin:50px 0 0; }
.l-steps li { display:flex; gap:21px; border-top:1px solid var(--line-strong); padding-top:25px; }
.l-step-number { width:37px; height:37px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; flex-shrink:0; font-size:10px; color:var(--lumos-sage); }
.l-steps h3 { font-size:31px; line-height:1.15; margin:3px 0 12px; }
.l-steps p { font-size:11px; line-height:1.8; color:var(--text-soft); max-width:235px; }
.l-faq { padding:45px 0 90px; }
.l-faq-grid { border-top:1px solid var(--line-strong); padding-top:55px; display:grid; grid-template-columns:1fr 1.5fr; gap:60px; }
.l-faq h2 { font-size:54px; margin-top:23px; }
.l-faq-list details { border-bottom:1px solid var(--line-strong); }
.l-faq-list summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:13px; padding:24px 0; }
.l-faq-list summary::-webkit-details-marker { display:none; }
.l-faq-list summary>span { width:25px; height:25px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:50%; font-size:16px; transition:transform .25s; }
.l-faq-list details[open] summary>span { transform:rotate(45deg); }
.l-faq-list details>p { font-size:12px; line-height:1.9; color:var(--text-soft); padding:0 30px 24px 0; }
.l-contact { padding:80px 0; }
.l-contact-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:85px; align-items:center; }
.l-contact h2 { font-size:clamp(44px,4.8vw,68px); margin:25px 0; }
.l-contact-grid>div>p:not(.l-eyebrow) { font-size:13px; }
.l-direct-email { font-size:12px; display:inline-block; margin-top:17px; border-bottom:1px solid var(--lumos-dark); overflow-wrap:anywhere; }
.l-contact-form { padding-left:30px; border-left:1px solid color-mix(in srgb,var(--lumos-dark) 25%,transparent); }
.l-contact-form label { display:block; font-size:12px; margin-bottom:15px; }
.l-contact-form select { width:100%; border:1px solid color-mix(in srgb,var(--lumos-dark) 35%,transparent); padding:17px 12px; background:transparent; color:var(--lumos-dark); border-radius:5px; font-size:12px; }
.l-contact-form option { background:var(--lumos-light); }
.l-button-dark { background:var(--lumos-dark); color:var(--lumos-light); width:100%; margin-top:14px; }
.l-button-dark .l-button-icon { background:var(--lumos-sage); color:var(--lumos-dark); }
.l-contact-form .l-contact-explanation { font-size:10px; line-height:1.7; margin-top:16px; max-width:335px; }
.l-copy-email { margin-top:15px; font-size:10px!important; padding:0 0 2px; border-bottom:1px solid var(--lumos-dark); }
#copy-status { font-size:10px; margin-top:8px; }
#copy-status:empty { display:none; }
.l-footer { padding:50px 0 24px; }
.l-footer-top { display:flex; align-items:center; gap:50px; padding-bottom:35px; }
.l-footer-top img { width:180px; height:auto; }
.l-footer-top p { font-size:10px; color:var(--text-muted); border-left:1px solid var(--line-strong); padding-left:30px; }
.l-back-top { margin-left:auto; font-size:10px; display:flex; align-items:center; gap:14px; }
.l-back-top>span { width:36px; height:36px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; font-size:18px; }
.l-footer-bottom { display:flex; gap:25px; justify-content:space-between; padding-top:23px; border-top:1px solid var(--line-strong); font-size:9px; color:var(--text-muted); }
@keyframes panel-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes hero-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.l-hero-content>.l-eyebrow { animation:hero-in .8s var(--ease) both; }
.l-hero h1 { animation:hero-in 1s .1s var(--ease) both; }
.l-hero-description,.l-hero-content>.l-button { animation:hero-in 1s .2s var(--ease) both; }
@media(min-width:1600px) { .l-header { padding-inline:max(56px,calc((100vw - 1440px)/2)); } }
@media(max-width:1100px) {
  .l-shell { width:calc(100% - 72px); }
  .l-header { padding-inline:36px; gap:25px; }
  .l-navigation { gap:24px; }
  .l-hero { min-height:740px; }
  .l-hero h1 { font-size:100px; }
  .l-service-feature { min-height:515px; padding:25px; }
  .l-service-item { padding:23px; }
  .l-service-item h3 { font-size:32px; }
  .l-decision-panel { gap:50px; }
  .l-about-grid { gap:50px; }
  .l-about-seal { right:-22px; }
  .l-contact-grid { gap:35px; }
  .l-start-heading { gap:30px; }
}
@media(max-width:800px) {
  .l-shell { width:calc(100% - 48px); }
  .l-header { padding-inline:24px; height:88px; gap:18px; }
  .l-brand img { width:125px; }
  .l-header-contact { font-size:10px; padding:8px 14px; gap:13px; }
  .l-navigation { display:none; position:absolute; top:88px; left:24px; right:24px; background:var(--lumos-dark); border:1px solid var(--line-strong); border-radius:8px; padding:20px 26px; }
  .l-navigation.is-open { display:flex; align-items:stretch; flex-direction:column; gap:3px; }
  .l-navigation a { padding:13px 0; font-size:14px; }
  .l-menu-toggle { display:flex; width:34px; flex-direction:column; gap:6px; padding:12px 0 12px 8px; }
  .l-menu-toggle span { height:1px; width:24px; background:var(--lumos-sage); transition:transform .25s; }
  .l-menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .l-menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .l-hero h1 { font-size:92px; }
  .l-hero { min-height:750px; height:90svh; }
  .l-hero-image { object-position:63%; }
  .l-hero-shade { background:linear-gradient(90deg,color-mix(in srgb,var(--lumos-dark) 85%,transparent),color-mix(in srgb,var(--lumos-dark) 10%,transparent)),linear-gradient(0deg,var(--lumos-dark),transparent 50%); }
  .l-section-heading { align-items:flex-start; }
  .l-section-heading>p { max-width:210px; font-size:12px; padding-top:35px; }
  .l-section-heading>p br { display:none; }
  .l-services { padding-top:65px; }
  .l-service-composition { gap:14px; }
  .l-service-stack { gap:14px; }
  .l-service-feature { padding:23px; min-height:510px; }
  .l-service-feature-copy h3 { font-size:49px; }
  .l-service-topline { font-size:8px; gap:10px; }
  .l-circle-icon { width:31px; height:31px; font-size:18px; }
  .l-service-item { padding:20px; }
  .l-service-item h3 { font-size:29px; }
  .l-service-item p { font-size:10px; }
  .l-clarity { padding:70px 0; }
  .l-clarity-intro h2 { font-size:48px; }
  .l-decision-panel { gap:30px; }
  .l-decision-copy h3 { font-size:48px; }
  .l-cash-visual { padding:23px; }
  .l-about { padding:65px 0; }
  .l-about-grid { gap:32px; }
  .l-about-art { margin-right:10px; }
  .l-about-art>img { aspect-ratio:3/5; }
  .l-about-seal { width:125px; height:143px; right:-20px; }
  .l-about-copy h2 { font-size:45px; }
  .l-about-copy>p:not(.l-eyebrow) { font-size:12px; }
  .l-people { gap:12px; }
  .l-start-heading { flex-direction:column; gap:22px; }
  .l-start-heading h2 { font-size:47px; }
  .l-steps { gap:22px; }
  .l-steps li { gap:13px; }
  .l-steps h3 { font-size:27px; }
  .l-step-number { width:29px; height:29px; font-size:9px; }
  .l-faq-grid { gap:35px; }
  .l-faq h2 { font-size:47px; }
  .l-faq-list summary { font-size:12px; }
  .l-contact { padding:65px 0; }
  .l-contact-grid { gap:25px; }
  .l-contact h2 { font-size:47px; }
  .l-contact-form { padding-left:22px; }
  .l-contact-form select { font-size:11px; }
}
@media(max-width:580px) {
  .l-shell { width:calc(100% - 40px); }
  .l-header { padding-inline:20px; height:80px; gap:15px; }
  .l-brand img { width:107px; }
  .l-header-contact { padding:7px 10px; font-size:9px; gap:10px; }
  .l-header-contact span { font-size:17px; }
  .l-navigation { top:80px; left:20px; right:20px; }
  .l-hero { min-height:730px; height:94svh; max-height:850px; align-items:flex-start; }
  .l-hero-content { padding-top:152px; padding-bottom:100px; }
  .l-hero-image { object-position:67%; }
  .l-hero-shade { background:linear-gradient(90deg,color-mix(in srgb,var(--lumos-dark) 90%,transparent),color-mix(in srgb,var(--lumos-dark) 28%,transparent)),linear-gradient(0deg,var(--lumos-dark),transparent 60%); }
  .l-hero .l-eyebrow { font-size:8px; letter-spacing:.11em; }
  .l-hero h1 { font-size:clamp(62px,16.3vw,92px); margin:30px 0 25px; line-height:1; }
  .l-hero-description { font-size:12px; line-height:1.9; }
  .l-hero .l-button { min-height:52px; font-size:11px; }
  .l-hero-base { bottom:24px; align-items:flex-end; }
  .l-hero-base a { font-size:9px; gap:10px; }
  .l-hero-base>span { flex-direction:column; align-items:flex-end; gap:3px; font-size:8px; }
  .l-hero-base i { display:none; }
  .l-scroll-cue { width:25px; height:35px; }
  .lumos-new h2 { font-size:44px; }
  .l-eyebrow { font-size:9px; }
  .l-section-heading { display:block; margin-bottom:28px; }
  .l-section-heading h2 { margin-top:18px; }
  .l-section-heading>p { padding-top:20px; max-width:300px; font-size:12px; }
  .l-service-composition { grid-template-columns:1fr; gap:14px; }
  .l-service-feature { min-height:385px; padding:24px; }
  .l-service-feature>img { object-position:50% 60%; }
  .l-service-feature-copy h3 { font-size:53px; }
  .l-service-feature-copy p { font-size:12px; }
  .l-service-topline { font-size:8px; }
  .l-service-stack { grid-template-columns:1fr; grid-template-rows:auto; gap:14px; }
  .l-service-item { padding:23px; gap:20px; }
  .l-service-item h3 { font-size:35px; }
  .l-service-item p { font-size:12px; }
  .l-services-foot { flex-direction:column; gap:5px; padding-top:20px; font-size:9px; }
  .l-clarity { padding:65px 0; }
  .l-clarity-intro { text-align:left; }
  .l-clarity-intro>.l-eyebrow { justify-content:flex-start; }
  .l-clarity-intro h2 { font-size:43px; margin:22px 0; }
  .l-clarity-intro h2 br { display:none; }
  .l-clarity-intro h2 em { display:block; }
  .l-clarity-intro>p:last-child { font-size:12px; }
  .l-decision-desk { margin-top:27px; }
  .l-decision-tabs { gap:6px; margin-bottom:25px; }
  .l-decision-tabs button { padding:11px 12px; font-size:10px; flex:1; justify-content:center; gap:7px; }
  .l-decision-tabs button>span:first-child { display:none; }
  .l-tab-mark { font-size:14px; }
  .l-decision-panel { grid-template-columns:1fr; gap:30px; padding-top:27px; }
  .l-decision-copy h3 { font-size:50px; margin:20px 0; }
  .l-decision-copy>p { font-size:12px; max-width:none; }
  .l-text-link { font-size:11px; margin-top:23px; }
  .l-cash-visual { padding:25px; }
  .l-cash-visual figcaption { font-size:29px; }
  .l-cash-gap { max-width:none; }
  .l-cash-track { padding-top:26px; }
  .l-cash-event strong { font-size:29px; }
  .l-cash-event p { font-size:11px; }
  .l-cash-question { font-size:12px; }
  .l-about-grid { grid-template-columns:1fr; gap:36px; }
  .l-about-art { margin:0 15px 0 0; order:2; }
  .l-about-art>img { aspect-ratio:1.1; object-position:center; }
  .l-about-seal { right:-15px; bottom:44px; width:125px; height:139px; }
  .l-about-copy h2 { font-size:47px; margin:22px 0; }
  .l-about-copy>p:not(.l-eyebrow) { font-size:13px; }
  .l-people { gap:22px; }
  .l-start { padding:60px 0 40px; }
  .l-start-heading h2 { font-size:43px; }
  .l-steps { grid-template-columns:1fr; gap:24px; margin-top:32px; }
  .l-steps li { gap:20px; padding-top:22px; }
  .l-step-number { width:35px; height:35px; font-size:10px; }
  .l-steps h3 { font-size:32px; margin:0 0 8px; }
  .l-steps p { font-size:12px; max-width:250px; }
  .l-faq { padding:10px 0 60px; }
  .l-faq-grid { grid-template-columns:1fr; gap:25px; padding-top:40px; }
  .l-faq h2 { font-size:45px; margin-top:20px; }
  .l-faq h2 br { display:none; }
  .l-faq-list summary { font-size:12px; padding:23px 0; }
  .l-faq-list summary>span { flex-shrink:0; }
  .l-contact-grid { grid-template-columns:1fr; gap:30px; }
  .l-contact h2 { font-size:48px; }
  .l-contact-grid>div>p:not(.l-eyebrow) { font-size:12px; }
  .l-contact-form { padding:27px 0 0; border-left:0; border-top:1px solid color-mix(in srgb,var(--lumos-dark) 25%,transparent); }
  .l-contact-form select { font-size:12px; }
  .l-direct-email { font-size:11px; }
  .l-footer { padding:40px 0 24px; }
  .l-footer-top { flex-wrap:wrap; gap:23px; padding-bottom:26px; }
  .l-footer-top img { width:140px; }
  .l-footer-top p { font-size:9px; padding-left:20px; }
  .l-back-top { width:100%; justify-content:space-between; font-size:10px; padding-top:8px; }
  .l-footer-bottom { flex-wrap:wrap; gap:12px; font-size:8px; }
  .l-footer-bottom>span:last-child { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .lumos-new *,.lumos-new *:before,.lumos-new *:after { animation:none!important; transition:none!important; }
}

/* Illustrative layer: inline SVGs inherit the unchanged brand tokens. */
.l-hero-signature { position:absolute; right:6%; bottom:110px; width:138px; height:158px; color:var(--lumos-sage); display:flex; align-items:center; justify-content:center; pointer-events:none; }
.l-hero-signature>svg { position:absolute; top:0; left:0; width:138px; height:138px; }
.l-hero-signature>img { width:27px; height:auto; position:absolute; top:43px; }
.l-hero-signature>span { position:absolute; bottom:0; font-size:7px; letter-spacing:.13em; white-space:nowrap; }
.l-service-graphic { width:100%; height:105px; color:var(--lumos-dark); display:block; overflow:visible; }
.l-service-item-dark .l-service-graphic { color:var(--lumos-sage); }
.l-service-stack { grid-template-rows:1fr 1fr; }
.l-service-item { gap:12px; }
.l-service-feature { min-height:670px; }
.l-service-feature>img { object-position:center; }
.l-service-feature:after { background:linear-gradient(0deg,var(--lumos-dark),color-mix(in srgb,var(--lumos-dark) 60%,transparent) 22%,transparent 70%); }
.l-doc-new { transition:transform .45s var(--ease); }
.l-route-dot { transition:transform .7s var(--ease); }
.l-service-item:hover .l-doc-new { transform:translateY(-4px); }
.l-service-item:hover .l-route-dot { transform:translateX(28px); }
.l-line-icon { width:35px; height:35px; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.l-brand-strip { display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid color-mix(in srgb,var(--lumos-dark) 20%,transparent); padding:30px 0 27px; }
.l-brand-strip>span { display:flex; gap:13px; align-items:center; font-size:11px; }
.l-brand-strip .l-line-icon { width:28px; height:28px; }
.l-context-graphic { width:100%; height:95px; margin:0 0 17px; color:var(--lumos-sage); }
.l-context-map { padding-top:15px; }
.l-step-art { display:flex; align-items:center; flex-direction:column; gap:16px; padding-right:3px; color:var(--lumos-sage); }
.l-step-art .l-step-number { border:0; height:auto; width:auto; font-size:9px; letter-spacing:.1em; }
.l-steps li { gap:23px; padding-top:30px; }
.l-steps h3 { margin-top:3px; }
.l-contact { position:relative; isolation:isolate; overflow:hidden; }
.l-contact-art { position:absolute; width:400px; height:400px; top:-140px; left:-160px; z-index:-1; stroke:var(--lumos-dark); stroke-width:.6; opacity:.13; pointer-events:none; }
@media(max-width:1100px) {
  .l-service-feature { min-height:655px; }
  .l-service-graphic { height:100px; }
  .l-hero-signature { right:5%; width:115px; bottom:100px; height:137px; }
  .l-hero-signature>svg { width:115px; height:115px; }
  .l-hero-signature>img { width:23px; top:36px; }
  .l-hero-signature>span { font-size:6px; }
}
@media(max-width:800px) {
  .l-service-feature { min-height:675px; }
  .l-service-graphic { height:95px; }
  .l-brand-strip { gap:18px; }
  .l-brand-strip>span { font-size:9px; gap:9px; }
  .l-brand-strip .l-line-icon { width:24px; height:24px; }
}
@media(max-width:580px) {
  .l-hero-signature { display:none; }
  .l-service-feature { min-height:445px; }
  .l-service-feature>img { object-position:50% 48%; }
  .l-service-graphic { height:110px; max-width:310px; align-self:center; }
  .l-service-item { gap:15px; }
  .l-brand-strip { flex-direction:column; gap:17px; padding:25px 0; }
  .l-brand-strip>span { font-size:11px; gap:14px; }
  .l-brand-strip .l-line-icon { width:27px; height:27px; }
  .l-step-art .l-line-icon { width:33px; height:33px; }
  .l-steps li { gap:20px; }
  .l-contact-art { width:300px; height:300px; top:-100px; left:-150px; opacity:.10; }
}

/* Responsive layout and touch targets. No brand-token overrides. */
.lumos-new { -webkit-text-size-adjust:100%; }
.lumos-new :is(main,section,header,footer,article,figure,nav) { min-width:0; }
.lumos-new :is(.l-shell,.l-service-composition,.l-service-stack,.l-decision-panel,.l-about-grid,.l-faq-grid,.l-contact-grid,.l-steps)>* { min-width:0; }
.lumos-new :is(h1,h2,h3,p,a,label,summary) { overflow-wrap:break-word; }
.lumos-new :is(.l-service-graphic,.l-context-graphic) { max-width:100%; }
.l-header { padding-left:max(20px,env(safe-area-inset-left),4vw); padding-right:max(20px,env(safe-area-inset-right),4vw); }
.l-contact-form select { max-width:100%; min-width:0; font-size:16px; min-height:52px; }
.l-menu-toggle { min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:10px; flex-shrink:0; }
.l-header-contact { min-height:44px; }
.l-decision-tabs button { min-height:48px; }
.l-copy-email { min-height:44px; font-size:12px!important; text-align:left; }
.l-text-link,.l-direct-email,.l-back-top { min-height:44px; align-content:center; }
.l-faq-list summary { min-height:60px; }
.l-contact-explanation { font-size:12px!important; }
.l-footer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
@media (min-width:581px) and (max-width:950px) {
  .l-service-composition { grid-template-columns:1fr; }
  .l-service-feature { min-height:440px; }
  .l-service-feature>img { object-position:50% 43%; }
  .l-service-stack { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; align-items:stretch; }
  .l-service-item { padding:25px; }
  .l-service-item h3 { font-size:32px; }
  .l-service-item p { font-size:13px; }
  .l-service-graphic { height:95px; }
  .l-brand-strip { flex-wrap:wrap; justify-content:flex-start; gap:20px 30px; }
  .l-brand-strip>span { font-size:12px; }
  .l-section-heading>p { max-width:240px; }
}
@media (max-width:800px) {
  .l-hero { display:block; height:auto; min-height:100svh; max-height:none; }
  .l-hero-content { padding-top:145px; padding-bottom:145px; }
  .l-hero-base { bottom:25px; }
  .l-navigation { max-height:calc(100dvh - 112px); overflow-y:auto; overscroll-behavior:contain; }
  .l-navigation a { min-height:48px; }
  .l-decision-copy>p,.l-about-copy>p:not(.l-eyebrow),.l-faq-list details>p { font-size:14px; }
  .l-cash-event p,.l-cash-gap,.l-context-map p { font-size:12px; }
  .l-section-heading>p { font-size:14px; }
  .l-services-foot { font-size:11px; }
}
@media (max-width:740px) {
  .l-decision-panel,.l-about-grid,.l-faq-grid,.l-contact-grid { grid-template-columns:minmax(0,1fr); }
  .l-decision-copy { max-width:none; }
  .l-decision-copy>p { max-width:540px; }
  .l-about-art { order:2; margin-right:15px; }
  .l-about-art>img { aspect-ratio:4/3; object-position:center; }
  .l-about-copy>p:not(.l-eyebrow) { max-width:550px; }
  .l-contact-form { padding:28px 0 0; border-left:0; border-top:1px solid color-mix(in srgb,var(--lumos-dark) 25%,transparent); }
  .l-steps { grid-template-columns:minmax(0,1fr); gap:25px; }
  .l-steps p { max-width:450px; font-size:14px; }
  .l-faq-list summary { font-size:14px; }
  .l-decision-tabs { justify-content:stretch; }
  .l-decision-tabs button { flex:1; min-width:0; gap:9px; padding:12px 14px; }
  .l-decision-tabs button>span:first-child { display:none; }
  .l-contact h2 br { display:none; }
  .l-contact h2 em { display:block; }
}
@media (max-width:580px) {
  .l-shell { width:calc(100% - 40px); }
  .l-header { gap:8px; }
  .l-brand { min-width:0; }
  .l-header-contact { font-size:11px; gap:9px; padding:8px 12px; }
  .l-hero-content { padding-top:130px; padding-bottom:120px; }
  .l-hero h1 { font-size:clamp(52px,15.6vw,88px); line-height:1.02; }
  .l-hero-description { font-size:14px; }
  .l-hero-description br { display:none; }
  .l-hero-content>.l-button { min-height:56px; font-size:13px; }
  .l-hero-base a { font-size:11px; min-height:44px; }
  .l-hero-base>span { font-size:9px; }
  .l-service-feature { min-height:460px; }
  .l-service-feature-copy p,.l-service-item p { font-size:14px; }
  .l-service-item h3 { font-size:clamp(29px,8.5vw,40px); }
  .l-service-topline { font-size:9px; }
  .l-service-index { font-size:10px; }
  .l-brand-strip>span { font-size:13px; }
  .l-clarity-intro>p:last-child { font-size:14px; }
  .l-decision-tabs button { font-size:12px; padding:12px 8px; gap:5px; line-height:1.4; }
  .l-decision-copy h3 { font-size:clamp(40px,11vw,52px); }
  .l-text-link { font-size:13px; }
  .l-people { gap:16px; }
  .l-people>div { font-size:12px; }
  .l-contact-grid>div>p:not(.l-eyebrow) { font-size:14px; }
  .l-contact-form label { font-size:14px; }
  .l-direct-email { font-size:13px; }
  .l-footer-top p { font-size:11px; }
  .l-footer-bottom { font-size:10px; }
  .l-back-top { font-size:12px; }
}
@media (max-width:360px) {
  .l-shell { width:calc(100% - 32px); }
  .l-header { padding-inline:16px; }
  .l-brand img { width:92px; }
  .l-header-contact { padding-inline:10px; font-size:10px; }
  .l-header-contact>span { display:none; }
  .l-navigation { left:16px; right:16px; }
  .lumos-new h2 { font-size:38px; }
  .l-service-feature,.l-service-item { padding:20px; }
  .l-service-feature-copy h3 { font-size:46px; }
  .l-decision-tabs button { font-size:11px; }
  .l-tab-mark { display:none; }
  .l-hero-base { gap:10px; }
  .l-hero-base>span { max-width:78px; text-align:right; }
  .l-cash-visual,.l-context-map { padding:22px; }
  .l-footer-top { gap:17px; }
  .l-footer-top img { width:120px; }
  .l-footer-top p { padding-left:16px; }
}
@media (max-height:520px) and (orientation:landscape) {
  .l-hero { height:auto; min-height:620px; max-height:none; }
  .l-hero-content { padding-top:125px; padding-bottom:120px; }
  .l-hero h1 { font-size:clamp(58px,8vw,88px); }
  .l-hero-signature { display:none; }
}
@media (hover:none) {
  .l-service-feature:hover>img,.l-service-item:hover .l-doc-new,.l-service-item:hover .l-route-dot,.l-button:hover .l-button-icon { transform:none; }
}
