@font-face{font-family:Lumora Sans;src:url('nimbus-regular.2f3fda2e9819.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lumora Sans;src:url('nimbus-bold.250860ecb016.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#f3f6fa;--muted:#a0a9b8;--blue:#00b2ff;--cyan:#67d9ff;--background:#080b10;--surface:#0d121b;--line:#28303c;--font:"Lumora Sans",Arial,Helvetica,sans-serif;--radius:5px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--background);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto}::selection{background:#00b2ff5c;color:#fff}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.03;letter-spacing:-.045em;font-weight:400}h1{font-size:clamp(3.4rem,7.5vw,6.9rem)}h2{font-size:clamp(2.3rem,4.4vw,4.1rem)}h3{font-size:1.55rem;letter-spacing:-.025em}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:12px;z-index:1000;padding:10px 18px;background:var(--cyan);color:var(--background);transform:translateY(-180%)}.skip-link:focus{transform:none}.preview-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 56px;background:#101922;color:#b3c2d2;font-size:.75rem;line-height:1.5;border-bottom:1px solid #263340}.site-header{position:sticky;top:0;z-index:30;background:#080b10ed;border-bottom:1px solid #ffffff0e;backdrop-filter:blur(18px)}.nav-wrap{width:min(1360px,calc(100% - 80px));height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:48px}.wordmark{font-size:2.35rem;line-height:1;font-weight:700;letter-spacing:-.075em;display:inline-flex;align-items:baseline}.wordmark span{color:var(--blue)}.main-nav{display:flex;align-items:center;gap:30px;font-size:.9rem}.main-nav>a:not(.button){color:#b5bdc9;transition:color .2s}.main-nav>a:not(.button):hover,.main-nav>a[aria-current=page]{color:var(--cyan)}.main-nav .nav-portal{margin-left:28px;padding-left:28px;border-left:1px solid var(--line)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 26px;border:1px solid transparent;border-radius:var(--radius);font-size:1rem;line-height:1.5;font-weight:700;transition:background .2s,border-color .2s,transform .2s}.button-primary{background:var(--blue);color:#041019;box-shadow:0 5px 25px #00b2ff08}.button-primary:hover{background:var(--cyan);transform:translateY(-2px)}.button-secondary{background:transparent;border-color:#3b4553;color:var(--ink)}.button-secondary:hover{border-color:var(--cyan);background:#00b2ff09;transform:translateY(-2px)}.button-small{min-height:44px;font-size:.875rem;padding:10px 18px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.75rem;font-weight:700;letter-spacing:.13em;line-height:1.6;color:#b3c0d0}.eyebrow i{width:16px;height:2px;background:var(--blue)}.blue-text{color:var(--blue)}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;min-height:678px;padding:50px 0 58px}.hero-copy{z-index:2;position:relative;padding-top:10px}.hero h1{margin-top:27px;font-size:clamp(3.9rem,6.65vw,6.3rem);white-space:nowrap}.hero-description{font-size:1.16rem;line-height:1.65;max-width:455px;margin-top:30px;color:#a9b3c2}.hero-note{display:flex;gap:12px;align-items:center;margin-top:38px;font-size:.875rem;color:#8b97a8}.small-rule{width:22px;height:1px;background:#67748a}.lumi-stage{position:relative;isolation:isolate;aspect-ratio:1/1;width:100%;max-width:630px;display:grid;place-items:center;justify-self:end;overflow:hidden}.stage-glow{position:absolute;width:76%;height:76%;border-radius:50%;background:radial-gradient(ellipse,#00b2ff1a 0%,#00b2ff07 50%,transparent 72%);z-index:-1}.orbit{position:absolute;inset:10%;border:1px solid #00b2ff1e;border-radius:50%;z-index:-1}.orbit-two{inset:1%;border-style:dashed;border-color:#00b2ff12;animation:rotate-orbit 100s linear infinite}.orbit-three{inset:22%;border-color:#00b2ff18}.lumi-motion{width:99%;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));transition:transform .5s ease-out}.lumi-image{display:block;width:100%;object-fit:contain;filter:drop-shadow(0 18px 35px #00b2ff18);animation:hover-lumi 7s ease-in-out infinite}.stage-tag{position:absolute;z-index:2;font-family:ui-monospace,monospace;font-size:.75rem;letter-spacing:.12em;line-height:1.6;color:#859ab2}.stage-tag-top{top:5%;right:6%;padding-left:30px;border-left:1px solid #00b2ff66}.stage-tag-bottom{bottom:7%;left:5%;font-size:.75rem}.stage-cross{position:absolute;right:7%;bottom:11%;color:var(--blue);font-size:1.9rem;font-weight:400}@keyframes hover-lumi{0%,100%{transform:translateY(5px)}50%{transform:translateY(-8px)}}@keyframes rotate-orbit{to{transform:rotate(360deg)}}.principles{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:28px;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1rem}.principles span{display:flex;align-items:center;gap:15px}.principles em{font-size:.75rem;font-style:normal;font-family:ui-monospace,monospace;color:#68768b}.principles>a{font-size:.875rem;color:var(--cyan)}.principles>a:hover{text-decoration:underline}.section{padding-block:114px}.section-intro{display:grid;grid-template-columns:1.35fr 1fr;column-gap:110px;align-items:end}.section-intro>.eyebrow{grid-column:1/-1;margin-bottom:22px}.section-intro>p{font-size:1.07rem;max-width:410px;line-height:1.75}.desk-points{margin-top:58px}.desk-point{display:grid;grid-template-columns:100px 1fr 80px;align-items:center;gap:20px;padding:34px 0;border-top:1px solid var(--line)}.desk-point:last-child{border-bottom:1px solid var(--line)}.point-number{color:#60748c;font-family:ui-monospace,monospace;font-size:.9rem}.desk-point h3{font-size:1.65rem}.desk-point p{font-size:1rem;margin-top:12px;max-width:610px;line-height:1.7}.point-symbol{font-size:2.5rem;line-height:1;color:var(--blue);text-align:right}.process-section{background:linear-gradient(120deg,#101722,#0b1119);border-block:1px solid #ffffff08;padding:105px 0}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}.process-copy h2{margin-top:25px}.process-copy>p{margin-top:24px;max-width:370px;font-size:1.1rem}.process-copy .button{margin-top:30px}.process-note{margin-top:64px;border-left:1px solid var(--blue);padding-left:20px;font-size:.875rem;line-height:1.7;color:#8796aa}.process-steps{list-style:none;padding:0;margin:0;position:relative}.process-steps:before{content:"";position:absolute;left:23px;top:27px;bottom:64px;width:1px;background:linear-gradient(var(--blue),#00b2ff25)}.process-steps li{position:relative;display:flex;align-items:flex-start;gap:27px;padding:24px 0 30px;min-height:125px}.step-number{position:relative;z-index:1;flex-shrink:0;display:grid;place-items:center;width:47px;height:47px;border:1px solid #274761;border-radius:50%;background:#101823;color:var(--cyan);font-size:.8rem;font-family:ui-monospace,monospace}.process-steps h3{margin-top:9px;font-size:1.45rem}.process-steps p{margin-top:11px;max-width:335px}.audience-section .section-intro{display:block}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:58px;border-block:1px solid var(--line)}.audience-grid article{padding:38px 32px 40px;border-right:1px solid var(--line)}.audience-grid article:first-child{padding-left:0}.audience-grid article:last-child{border-right:0}.audience-grid h3{margin-top:30px;font-size:2rem;line-height:1.15}.audience-grid p{margin-top:20px;max-width:320px;line-height:1.75}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{margin-top:23px}.text-link{display:inline-block;font-size:.95rem;color:var(--cyan);padding-bottom:6px;border-bottom:1px solid #00b2ff6b}.text-link:hover{border-color:var(--cyan)}.insights-section{padding-top:10px}.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.article-card{display:flex;flex-direction:column;min-height:335px;padding:38px;border:1px solid var(--line);background:linear-gradient(150deg,#141d29,#0b111a);border-radius:7px;position:relative;overflow:hidden;transition:border-color .2s,background .2s}.article-card:after{content:"";position:absolute;width:155px;height:155px;right:-65px;top:-65px;border:1px solid #00b2ff30;border-radius:50%;box-shadow:0 0 0 26px #00b2ff03,0 0 0 27px #00b2ff09;pointer-events:none}.article-card:nth-child(2){background:linear-gradient(135deg,#0c141d,#101b27)}.article-card:hover{border-color:#00b2ff69;background-color:#10273b}.article-category{font-size:.75rem;letter-spacing:.13em;color:#89a0ba;font-weight:700}.article-card h3{font-size:2.3rem;line-height:1.12;margin-top:50px}.article-card p{margin-top:18px;max-width:430px;line-height:1.7}.article-link{display:flex;justify-content:space-between;color:var(--cyan);font-size:.9rem;margin-top:auto;padding-top:28px}.article-link span{font-size:1.2rem}.faq-section{padding-top:30px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;cursor:pointer;list-style:none;font-size:1.15rem;line-height:1.45}summary::-webkit-details-marker{display:none}.plus{position:relative;flex:0 0 20px;width:20px;height:20px}.plus:before,.plus:after{content:"";position:absolute;left:1px;top:9px;width:18px;height:1px;background:var(--cyan)}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.answer{padding:0 45px 27px 0}.answer p{max-width:870px;font-size:1rem;line-height:1.8}.closing-cta{margin-top:5px;margin-bottom:110px;padding:65px 64px;background:linear-gradient(115deg,#0c2437,#0c1725 65%,#0d141d);border:1px solid #1b3d58;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:60px}.closing-cta .eyebrow{color:#83b6d6}.closing-cta h2{margin-top:23px;font-size:clamp(2.4rem,4.8vw,4.5rem)}.closing-cta p{margin-top:22px;max-width:410px;color:#aac0d3}.closing-cta .button{flex-shrink:0}.site-footer{border-top:1px solid var(--line);background:#070a0f;padding:70px 0 33px}.footer-top{display:grid;grid-template-columns:1fr 1.5fr;gap:90px;padding-bottom:60px}.footer-brand p{margin-top:28px;line-height:1.65;font-size:1rem}.footer-links{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:32px}.footer-links>div{display:flex;flex-direction:column;gap:12px}.footer-links span:not(.sr-only){font-size:.75rem;letter-spacing:.08em;color:#718098;margin-bottom:10px;text-transform:uppercase}.footer-links a{font-size:.9rem;color:#b4bfce}.footer-links a:hover{color:var(--cyan)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ffffff0b;padding-top:29px;font-size:.8rem;color:#748298}.footer-bottom p{color:#8491a4}.legal-line{font-size:.75rem;color:#7d8899;line-height:1.8;padding-top:21px}.breadcrumbs{width:min(1280px,calc(100% - 112px));margin:36px auto 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#738499}.breadcrumbs a:hover{color:var(--cyan)}.breadcrumbs [aria-current=page]{color:#a8b4c4}.page-hero{padding-block:72px 95px;display:grid;grid-template-columns:1.4fr 1fr;gap:100px;align-items:center}.page-hero h1{margin-top:24px;font-size:clamp(3rem,5.3vw,5rem);line-height:1.05}.lead{font-size:1.2rem;line-height:1.7;max-width:760px;margin-top:28px;color:#a8b5c6}.page-hero.single{display:block;padding-bottom:78px}.page-hero.single h1{max-width:1150px}.editorial-aside{border:1px solid var(--line);padding:38px 35px;background:linear-gradient(145deg,#111c28,#0c111a)}.brief-list{list-style:none;padding:0;margin:22px 0 28px}.brief-list li{display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:1rem}.brief-list li span{font-family:ui-monospace,monospace;font-size:.8rem;color:var(--blue)}.editorial-aside>p{font-size:.9rem;line-height:1.7}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:85px}.two-columns.prose{margin-top:60px}.prose h2{font-size:2.2rem;line-height:1.17;margin:55px 0 23px}.prose h3{margin:32px 0 15px;font-size:1.5rem;line-height:1.25}.prose p{font-size:1.05rem;line-height:1.85;margin:0 0 19px}.prose li{font-size:1.05rem;line-height:1.85;color:var(--muted);padding:6px 0}.prose ul,.prose ol{padding-left:24px}.prose strong{color:#e5edf7;font-weight:700}.prose a:not(.text-link){color:var(--cyan);text-decoration:underline;text-underline-offset:4px}.scope-section{padding-top:0;max-width:900px;margin-left:max(56px,calc((100% - 1280px)/2))}.scope-section h2{margin-top:24px}.scope-section .button{margin-top:26px}.detailed-process{padding-bottom:50px}.detail-step{display:grid;grid-template-columns:130px 1fr;gap:50px;padding:55px 0;border-top:1px solid var(--line)}.detail-number{font-size:4.4rem;line-height:1;color:#1e455f;letter-spacing:-.06em}.detail-step h2{font-size:2.5rem;line-height:1.1;margin-top:20px}.detail-step p{max-width:720px;margin-top:23px;line-height:1.8;font-size:1.07rem}.detail-step ul{margin:24px 0 0;padding-left:20px;color:#a8b4c5;line-height:1.7}.detail-step li{padding:6px 0}.callout{margin-top:15px;margin-bottom:90px;border-left:2px solid var(--blue);padding:12px 0 12px 30px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.callout h2{font-size:2rem;line-height:1.15}.callout p{font-size:1rem;line-height:1.8}.insights-list{padding-bottom:100px}.editorial{max-width:900px;padding-top:75px;padding-bottom:85px}.article-header h1{font-size:clamp(3rem,5.6vw,4.8rem);line-height:1.08;margin-top:24px}.article-header .lead{max-width:730px}.article-meta{color:#7b8ba0;font-size:.8rem;margin-top:26px;padding-bottom:35px;border-bottom:1px solid var(--line)}.article-body{padding-top:30px;max-width:790px}.article-body .intro-answer{font-size:1.16rem;line-height:1.85}.article-end{margin-top:60px;padding-top:30px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:16px}.article-end a{font-size:1.5rem;color:var(--cyan);letter-spacing:-.02em}.source-note{margin-top:45px;padding:22px 28px;background:#0d1721;border-left:1px solid #235675}.source-note h3{margin:0 0 12px;font-size:1rem}.source-note p{font-size:.875rem;margin:0;line-height:1.75}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:4px;margin:30px 0 40px}table{width:100%;min-width:610px;border-collapse:collapse;font-size:.94rem;line-height:1.65;text-align:left}caption{padding:15px 20px;color:#9eafc3;text-align:left;background:#0d1721;font-size:.875rem}th,td{padding:17px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}thead{color:var(--cyan);background:#111b26}tbody th{font-weight:700;color:#cdd8e7}td{color:#9facbf}tr:last-child th,tr:last-child td{border-bottom:0}th:last-child,td:last-child{border-right:0}.full-faq{max-width:1060px;padding-bottom:105px}.contact-hero{grid-template-columns:1fr 1.15fr;gap:80px;align-items:start;padding-top:58px}.contact-hero h1{font-size:clamp(4rem,6vw,5.8rem)}.contact-hero .lead{max-width:405px}.contact-subtext{margin-top:22px;font-size:.9rem;color:#7390a9}.contact-lumi{width:220px;margin-top:40px;display:block;filter:drop-shadow(0 0 25px #00b2ff15)}.enquiry-panel{padding:35px;border:1px solid #2a3b50;border-radius:7px;background:linear-gradient(130deg,#121d2a,#0d131d)}.panel-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px}.privacy-note{font-size:.75rem;color:#748da6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;color:#b7c5d6;font-size:.875rem;margin-bottom:20px}input,select,textarea{width:100%;min-height:49px;border:1px solid #354257;border-radius:4px;background:#0b121c;color:#e8f1fa;padding:12px 14px;font-size:1rem;line-height:1.45;display:block;margin-top:8px}select{padding-right:26px}input::placeholder,textarea::placeholder{color:#748297;opacity:1}input:focus,select:focus,textarea:focus{outline:1px solid var(--blue);border-color:var(--blue)}textarea{resize:vertical;min-height:95px}.optional{font-size:.75rem;color:#73849a;margin-left:5px}.form-help{font-size:.8rem;line-height:1.7;margin:0 0 22px;color:#8b9bb0}.full-width{width:100%}.dispatch-note{font-size:.8rem;line-height:1.65;margin-top:15px;color:#8598ae}.brief-result h2{font-size:2rem;line-height:1.15;margin-top:18px}.brief-result>p{font-size:.9rem;line-height:1.75;margin-top:20px}.brief-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.8rem;line-height:1.8;padding:20px;border:1px solid #2a3b50;background:#080f17;color:#aebfd2;margin-top:23px}.text-button{background:none;border:0;color:var(--cyan);padding:0;text-decoration:underline;text-underline-offset:4px;font-size:.9rem;margin-top:25px}.brief-result .actions{margin-top:22px}.enquiry-panel #form-status{font-size:.875rem;margin-top:18px;color:var(--cyan);line-height:1.7}.enquiry-panel #form-status:empty{display:none}.contact-bottom{border-top:1px solid var(--line);padding-top:40px;padding-bottom:100px;display:flex;gap:45px;justify-content:space-between;align-items:center}.contact-bottom h2{font-size:2rem}.contact-bottom p{margin-top:16px}.about-grid{align-items:center;padding-top:15px}.about-grid .prose h2{margin-top:0}.lumi-about{text-align:center;padding:20px 30px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 30%,#00b2ff12,transparent 65%)}.lumi-about img{max-width:400px;display:block;margin:auto}.lumi-about h3{font-size:2rem;line-height:1.15;margin-top:16px}.lumi-about p{margin-top:20px;font-size:.95rem;line-height:1.7;margin-bottom:25px}.risk-body{padding-top:0;padding-bottom:90px;max-width:790px}.risk-body h2:first-child{margin-top:0}.will-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.will-reveal.is-visible{opacity:1;transform:none}
@media(min-width:1600px){.hero{padding-block:74px;min-height:755px}.lumi-stage{width:630px}.hero h1{font-size:6.5rem}}
@media(max-width:1150px){.wrap,.breadcrumbs{width:calc(100% - 72px)}.nav-wrap{width:calc(100% - 60px);gap:24px}.main-nav{gap:21px;font-size:.875rem}.main-nav .nav-portal{margin-left:0;padding-left:18px}.hero{gap:5px;min-height:625px}.hero h1{font-size:6.6vw}.lumi-stage{width:108%;max-width:none}.hero-description{font-size:1.05rem;max-width:380px}.hero-note{font-size:.8rem;max-width:300px}.section-intro{gap:50px}.process-grid{gap:55px}.principles{grid-template-columns:repeat(3,1fr);font-size:.9rem}.principles>a{display:none}.page-hero{gap:45px}.contact-hero{gap:40px}.enquiry-panel{padding:27px}.section{padding-block:90px}.scope-section{margin-left:36px}.closing-cta{padding:55px 45px}.audience-grid article{padding-inline:24px}.footer-top{gap:55px}.footer-links{gap:24px}.two-columns{gap:50px}.insights-section{padding-top:10px}.faq-section{padding-top:15px}}
@media(max-width:900px){.nav-wrap{height:82px}.main-nav{gap:17px}.main-nav>a{font-size:.8rem}.main-nav .nav-portal{display:none}.button-small{padding-inline:14px}.hero{min-height:565px}.hero-description{font-size:1rem;max-width:335px}.hero .actions .button{font-size:.875rem;padding-inline:20px}.stage-tag-top{font-size:.7rem}.stage-tag-bottom{font-size:.65rem}.section-intro{gap:35px}.section-intro>p{font-size:1rem}.process-grid{gap:40px}.process-copy h2{font-size:3rem}.audience-grid h3{font-size:1.7rem}.article-card{padding:30px}.article-card h3{font-size:2rem}.page-hero{grid-template-columns:1.15fr 1fr;gap:30px}.page-hero h1{font-size:3.5rem}.editorial-aside{padding:28px 24px}.lead{font-size:1.1rem}.form-row{grid-template-columns:1fr}.contact-hero{grid-template-columns:.8fr 1fr}.contact-hero h1{font-size:4rem}.contact-hero .lead{font-size:1rem}.privacy-note{display:none}.footer-top{grid-template-columns:1fr 1.7fr;gap:40px}.footer-links{gap:20px}.footer-links a{font-size:.85rem}.closing-cta{gap:35px;padding:45px 35px}.about-grid{gap:35px}.detail-step{grid-template-columns:90px 1fr;gap:35px}}
@media(max-width:760px){.wrap,.breadcrumbs{width:calc(100% - 40px)}.preview-bar{padding:7px 20px;font-size:.75rem}.preview-bar span:last-child{display:none}.site-header{backdrop-filter:blur(12px)}.nav-wrap{width:calc(100% - 40px);height:76px}.wordmark{font-size:2.05rem}.menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #2a3748;border-radius:4px;background:none;color:var(--ink)}.menu-lines{position:relative;width:19px;height:13px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-lines:before{position:absolute;content:"";width:19px;height:1px;top:5px;left:0;background:currentColor}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{position:absolute;content:"";width:19px;height:1px;top:6px;left:0;background:currentColor;transform:rotate(-45deg)}.main-nav{display:none;position:absolute;top:76px;left:0;width:100%;padding:15px 20px 25px;flex-direction:column;gap:0;align-items:stretch;background:#0c121a;border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav>a:not(.button){padding:13px 4px;font-size:1rem;border-bottom:1px solid #ffffff0c}.main-nav .nav-portal{display:block;border-left:0;padding-left:4px;margin-left:0}.main-nav .button{margin-top:18px;min-height:49px}.hero{grid-template-columns:1fr;gap:0;padding:48px 0 10px;min-height:auto;position:relative;overflow:visible}.hero-copy{padding:0}.eyebrow{font-size:.75rem;letter-spacing:.09em}.hero h1{font-size:clamp(3.4rem,10.5vw,4.65rem);white-space:normal;margin-top:25px}.hero-description{font-size:1.05rem;max-width:500px;margin-top:24px;line-height:1.7}.actions{margin-top:26px}.button{min-height:51px;padding-inline:22px}.hero .actions .button{font-size:.95rem;padding-inline:23px}.hero-note{font-size:.8rem;margin-top:26px;max-width:none}.lumi-stage{width:min(100%,450px);max-width:450px;aspect-ratio:1/1;justify-self:center;margin:12px 0 0}.lumi-image{max-width:100%}.stage-tag-bottom{bottom:8%;left:0;font-size:.7rem}.stage-tag-top{font-size:.7rem}.stage-cross{bottom:10%}.principles{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:22px 0;font-size:.8rem}.principles span{flex-direction:column;gap:6px;align-items:start}.principles em{font-size:.75rem}.section{padding-block:70px}.section-intro{display:block}.section-intro .eyebrow{margin-bottom:22px}.section-intro>p{max-width:100%;margin-top:25px;font-size:1.05rem}h2{font-size:2.8rem}.desk-points{margin-top:38px}.desk-point{grid-template-columns:42px 1fr;gap:15px;padding:29px 0;align-items:start}.point-number{padding-top:6px;font-size:.8rem}.point-symbol{display:none}.desk-point h3{font-size:1.5rem;line-height:1.17}.desk-point p{font-size:1rem;margin-top:14px}.process-section{padding-block:70px}.process-grid{grid-template-columns:1fr;gap:37px}.process-copy h2{font-size:2.9rem}.process-copy>p{font-size:1.05rem}.process-note{margin-top:30px}.process-steps li{padding-block:20px 25px;min-height:123px;gap:21px}.process-steps h3{font-size:1.4rem}.process-steps p{max-width:none;font-size:1rem}.audience-grid{grid-template-columns:1fr;border-bottom:0;margin-top:35px}.audience-grid article{padding:32px 0!important;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:20px}.audience-grid .eyebrow{grid-column:1/-1}.audience-grid h3{font-size:1.6rem;margin-top:0}.audience-grid p{margin-top:0;font-size:.94rem;line-height:1.7}.section-heading{gap:20px;margin-bottom:30px}.section-heading h2{font-size:2.7rem;margin-top:20px}.section-heading .text-link{font-size:.85rem;white-space:nowrap}.article-grid{grid-template-columns:1fr;gap:17px}.article-card{min-height:300px;padding:30px}.article-card h3{font-size:2.1rem;margin-top:42px}.article-card p{font-size:1rem;margin-top:16px}.article-link{padding-top:26px;font-size:.9rem}.insights-section{padding-top:0}.faq-section{padding-top:5px}.faq-section .section-heading h2{font-size:2.5rem}summary{font-size:1.05rem;padding-block:24px}.answer{padding-right:5px}.answer p{font-size:1rem;line-height:1.8}.closing-cta{display:block;margin-bottom:70px;padding:38px 29px;margin-top:0}.closing-cta h2{font-size:2.8rem}.closing-cta p{font-size:1rem}.closing-cta .button{margin-top:28px}.site-footer{padding-top:48px}.footer-top{grid-template-columns:1fr;gap:40px;padding-bottom:35px}.footer-brand{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-brand p{font-size:.9rem;margin-top:0}.footer-links{grid-template-columns:1fr 1.2fr;gap:30px 18px}.footer-links a{font-size:.9rem}.footer-links span:not(.sr-only){font-size:.75rem}.footer-bottom{align-items:start;font-size:.75rem;gap:15px}.footer-bottom>span{display:none}.legal-line{padding-top:18px;font-size:.75rem;line-height:1.8}.breadcrumbs{margin-top:25px;font-size:.8rem;gap:8px}.page-hero{display:block;padding-block:48px 65px}.page-hero h1{font-size:clamp(3rem,10vw,4.5rem)}.page-hero .lead{font-size:1.1rem;margin-top:26px}.editorial-aside{margin-top:40px;padding:29px}.page-hero.single{padding-bottom:60px}.two-columns{grid-template-columns:1fr;gap:15px}.two-columns.prose{margin-top:32px}.two-columns.prose h3{margin-top:30px}.prose p{font-size:1.05rem}.scope-section{margin-left:auto;max-width:none;padding-top:0}.scope-section .lead{font-size:1.07rem}.scope-section h2{font-size:2.7rem}.detailed-process{padding-bottom:20px}.detail-step{grid-template-columns:48px 1fr;gap:22px;padding:37px 0}.detail-number{font-size:2.5rem}.detail-step h2{font-size:2rem;margin-top:17px}.detail-step p{font-size:1.02rem;margin-top:20px}.detail-step li{font-size:1rem}.callout{grid-template-columns:1fr;gap:20px;padding-left:23px;margin-bottom:60px;margin-top:30px}.callout h2{font-size:1.9rem}.insights-list{padding-bottom:70px}.editorial{padding-top:47px;padding-bottom:60px;width:calc(100% - 40px)}.article-header h1{font-size:3.1rem;line-height:1.09}.article-header .lead{font-size:1.1rem}.article-meta{font-size:.8rem}.article-body .intro-answer{font-size:1.1rem}.prose h2{font-size:2rem;margin-top:40px;line-height:1.17}.prose li{font-size:1.02rem}.source-note{padding:20px}.table-scroll{margin-inline:0}.full-faq{padding-bottom:70px}.contact-hero h1{font-size:4.25rem}.contact-lumi{display:none}.contact-hero .lead{max-width:100%}.contact-subtext{font-size:.875rem}.enquiry-panel{padding:25px 22px;margin-top:38px}.form-row{grid-template-columns:1fr 1fr;gap:14px}.form-row label{font-size:.8rem}.form-row input,.form-row select{font-size:.9rem}.privacy-note{display:none}.contact-bottom{display:block;padding-bottom:70px;padding-top:30px}.contact-bottom .button{margin-top:25px}.contact-bottom p{font-size:1rem}.about-grid{padding-top:0;gap:35px}.lumi-about{padding:20px}.lumi-about img{max-width:340px}.risk-body{padding-top:0}.risk-body h2:first-child{margin-top:0}.will-reveal{transform:translateY(10px)}}
@media(max-width:380px){.wrap,.breadcrumbs{width:calc(100% - 32px)}.hero h1{font-size:3.25rem}.eyebrow{font-size:.7rem}.hero .actions .button{padding-inline:18px;font-size:.875rem}.form-row{grid-template-columns:1fr}.audience-grid article{grid-template-columns:1fr;gap:16px}.audience-grid p{max-width:none}.article-card{padding:27px}.section-heading{align-items:start}.section-heading .text-link{margin-top:3px}.closing-cta{padding:34px 25px}.detail-step{grid-template-columns:36px 1fr;gap:15px}.detail-number{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}.lumi-motion{transform:none!important}}

/* Lumora's second design pass: scale, contrast and a more distinctive rhythm. */
:root {
  --background: #070a0e;
  --surface: #0c1219;
  --ink: #f1f5fa;
  --muted: #97a5b7;
  --line: #263241;
  --blue: #00b2ff;
  --cyan: #67d9ff;
  --radius: 3px;
}

body { overflow-x: clip; }
.wrap, .breadcrumbs { width: min(1320px, calc(100% - 112px)); }
.preview-bar { background: #0c131b; border-color: #1c2a37; }
.site-header { background: #070a0eed; }
.nav-wrap { height: 90px; width: min(1400px, calc(100% - 80px)); }
.wordmark { font-size: 2.55rem; }
.main-nav { gap: 30px; }
.main-nav > a:not(.button) { font-size: .9rem; }
.main-nav .nav-portal { padding-left: 25px; margin-left: 18px; }
.main-nav > a:not(.button):hover { color: var(--ink); }
.main-nav > a[aria-current="page"] { color: var(--blue); }
.scroll-progress { position: absolute; left: 0; bottom: -1px; width: 100%; height: 1px; background: var(--blue); transform-origin: left; transform: scaleX(var(--reading-progress, 0)); opacity: .8; pointer-events: none; }
.button { min-height: 55px; padding: 15px 27px; font-size: .95rem; letter-spacing: -.01em; box-shadow: none; }
.button-primary { background: var(--blue); color: #04141e; }
.button-primary:hover { background: #49c8ff; transform: translateY(-2px); }
.button-secondary { border-color: #3b4c60; }
.button-secondary:hover { background: #0e2434; }
.button-small { min-height: 44px; font-size: .875rem; padding: 10px 20px; }
.eyebrow { font-size: .75rem; color: #8fa6bf; letter-spacing: .1em; }
.eyebrow i { height: 3px; width: 22px; }
.text-link { font-size: .9rem; letter-spacing: -.01em; }

/* The first viewport is a brand composition rather than a trading mock-up. */
.hero {
  grid-template-columns: 1.04fr 1fr;
  gap: 0;
  min-height: 724px;
  padding: 51px 0 46px;
  position: relative;
}
.hero-copy { padding: 0; align-self: center; }
.hero h1 {
  font-size: clamp(4.9rem, 7.3vw, 7.1rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .94;
  margin-top: 29px;
  white-space: normal;
}
.hero h1 > span { display: block; }
.hero h1 > span, .page-hero h1, .article-header h1, .closing-cta h2, .flow-steps h3 { overflow-wrap: anywhere; }
.flow-steps p { overflow-wrap: break-word; }
.hero h1 .hero-middle { color: #bdc9d8; }
.hero h1 .hero-accent { color: var(--blue); }
.hero-description { max-width: 410px; font-size: 1.07rem; line-height: 1.75; color: #a0afc1; margin-top: 30px; }
.hero .actions { margin-top: 29px; }
.hero-note { font-size: .8rem; margin-top: 27px; color: #6f829b; }
.small-rule { background: var(--blue); width: 20px; }
.lumi-stage {
  width: 112%;
  max-width: 740px;
  aspect-ratio: 1 / 1;
  justify-self: center;
  overflow: visible;
  isolation: isolate;
  margin-top: 8px;
}
.lumi-ghost {
  position: absolute;
  top: 13%;
  left: -1%;
  width: 100%;
  font-size: clamp(7rem, 15vw, 16rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.065em;
  color: transparent;
  -webkit-text-stroke: 1px #21445c;
  opacity: .32;
  z-index: -2;
  text-align: center;
  user-select: none;
}
.stage-halo {
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #00b2ff18, #00b2ff05 52%, transparent 72%);
  z-index: -1;
}
.stage-halo::after { content: ""; position: absolute; inset: 3%; border: 1px solid #00b2ff13; border-radius: 50%; }
.stage-axis { position: absolute; inset: 5%; z-index: -1; border-right: 1px solid #00b2ff12; border-bottom: 1px solid #00b2ff12; }
.stage-axis::before { content: ""; position: absolute; top: 0; left: 0; width: 13px; height: 13px; border-top: 1px solid #28607d; border-left: 1px solid #28607d; }
.stage-axis::after { content: ""; position: absolute; bottom: 0; right: 0; width: 13px; height: 13px; border-bottom: 1px solid #28607d; border-right: 1px solid #28607d; }
.lumi-motion { width: 103%; transform: translate(var(--pointer-x, 0px), var(--pointer-y, 0px)) rotate(var(--pointer-rotation, 0deg)); transition: transform .6s ease-out; }
.lumi-image { animation: lumi-hover 8s ease-in-out infinite; filter: drop-shadow(0 12px 38px #00b2ff10); }
.stage-tag-top { top: 1.5%; right: 7%; border-left: 0; padding: 0; font-size: .75rem; color: #718ca8; letter-spacing: .08em; }
.lumi-caption { position: absolute; bottom: 2%; left: 7%; display: flex; gap: 14px; align-items: flex-start; z-index: 2; }
.lumi-caption-rule { width: 28px; height: 1px; background: var(--blue); margin-top: 9px; }
.lumi-caption strong { display: block; color: #d3e1f1; font-size: .875rem; font-weight: 400; line-height: 1.6; }
.lumi-caption span:not(.lumi-caption-rule) { display: block; font-size: .75rem; line-height: 1.6; color: #7792ac; }
.stage-cross { right: 4.5%; bottom: 4%; font-family: ui-monospace, monospace; font-size: 1.5rem; color: #497592; }
@keyframes lumi-hover { 0%, 100% { transform: translateY(4px); } 50% { transform: translateY(-7px); } }
.hero-copy > .eyebrow, .hero h1, .hero-description, .hero .actions, .hero-note { animation: hero-arrive .75s both cubic-bezier(.2, .7, .3, 1); }
.hero h1 { animation-delay: .07s; }
.hero-description { animation-delay: .14s; }
.hero .actions { animation-delay: .21s; }
.hero-note { animation-delay: .27s; }
@keyframes hero-arrive { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: none; } }

.principles { padding: 27px 0; border-color: #223448; grid-template-columns: 1fr 1fr 1fr auto; font-size: .94rem; }
.principles em { color: #50728e; font-size: .75rem; }
.principles > a { display: flex; gap: 22px; align-items: center; color: #a2b7ce; font-size: .85rem; }
.principles > a span { color: var(--blue); font-size: 1.2rem; }
.section { padding: 110px 0; }
.section-intro { grid-template-columns: 1.15fr 1fr; gap: 80px; }
.section-intro h2, .section-heading h2, .faq-heading h2 { font-size: clamp(2.6rem, 4.9vw, 4.7rem); line-height: 1.04; letter-spacing: -.05em; }
.section-intro > p { font-size: 1.05rem; max-width: 410px; line-height: 1.85; padding-bottom: 3px; }
.desk-points { margin-top: 64px; }
.desk-point { grid-template-columns: 85px 1fr; gap: 24px; padding: 33px 0; transition: border-color .25s; }
.desk-point h3 { font-size: 2rem; line-height: 1.1; }
.desk-point p { font-size: 1rem; max-width: 625px; line-height: 1.75; margin-top: 12px; }
.point-label { color: #7390ac; font-size: .75rem; letter-spacing: .08em; text-align: right; }
.point-number { color: var(--blue); font-size: .8rem; }
.desk-point:hover { border-top-color: #00b2ff5e; }

/* A blue interruption makes the transaction sequence the second visual anchor. */
.flow-band { background: var(--blue); color: #052236; padding: 83px 0 35px; position: relative; }
.flow-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; }
.flow-band .eyebrow { color: #0a3b55; }
.flow-band h2 { font-size: clamp(3rem, 6vw, 5.9rem); line-height: .98; letter-spacing: -.055em; font-weight: 700; margin-top: 23px; }
.flow-heading-aside { max-width: 365px; justify-self: end; padding-bottom: 4px; }
.flow-heading-aside p { color: #0a3b55; font-size: 1.1rem; line-height: 1.75; }
.flow-band .button { margin-top: 24px; border: 1px solid #075179; color: #052236; background: transparent; }
.flow-band .button:hover { color: #eaf7ff; background: #062236; border-color: #062236; }
.flow-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 63px 0 0; padding: 0; list-style: none; border-block: 1px solid #086798; }
.flow-steps li { padding: 32px 32px 37px; border-right: 1px solid #086798; position: relative; }
.flow-steps li:first-child { padding-left: 0; }
.flow-steps li:last-child { border-right: 0; }
.flow-number { font-size: .85rem; color: #0a3b55; font-family: ui-monospace, monospace; display: block; }
.flow-steps h3 { color: #062236; font-size: 1.8rem; letter-spacing: -.035em; font-weight: 700; margin-top: 37px; }
.flow-steps p { color: #093953; font-size: 1rem; line-height: 1.75; margin-top: 20px; max-width: 225px; }
.flow-footnote { display: flex; justify-content: space-between; gap: 35px; margin-top: 25px; color: #0a3b55; font-size: .8rem; line-height: 1.65; }

.audience-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 105px; align-items: center; padding-top: 125px; }
.audience-art { align-self: stretch; }
.lumi-portrait { aspect-ratio: 1 / 1.04; overflow: hidden; border: 1px solid #233a4e; border-radius: 2px; position: relative; isolation: isolate; background: radial-gradient(ellipse at 50% 20%, #0b283d, #08131e 75%); }
.lumi-portrait::before { content: ""; position: absolute; top: 11%; left: 10%; width: 80%; height: 77%; border: 1px solid #1a3b53; z-index: -1; }
.lumi-portrait img { position: absolute; width: 175%; max-width: none; left: -35%; top: -6%; }
.portrait-label { position: absolute; left: 20px; top: 20px; padding: 6px 10px; background: #071421e6; font-size: .75rem; font-family: ui-monospace, monospace; letter-spacing: .08em; color: #8bb6d4; z-index: 2; }
.portrait-plus { position: absolute; right: 20px; bottom: 13px; color: #5b97bd; font-size: 2rem; font-family: ui-monospace, monospace; }
.audience-art > p { margin-top: 24px; font-size: 1.1rem; color: #7090ad; line-height: 1.6; letter-spacing: -.015em; }
.audience-copy h2 { font-size: clamp(2.7rem, 4.6vw, 4.25rem); line-height: 1.05; letter-spacing: -.05em; margin-top: 22px; }
.audience-section .audience-grid { display: block; border-bottom: 0; margin-top: 39px; }
.audience-section .audience-grid article { display: grid; grid-template-columns: 30px 1fr; gap: 20px; border-right: 0; border-bottom: 1px solid var(--line); padding: 24px 0 !important; }
.audience-section .audience-grid h3 { margin: 0; font-size: 1.35rem; line-height: 1.25; }
.audience-section .audience-grid p { margin-top: 12px; max-width: 425px; font-size: 1rem; line-height: 1.75; }
.audience-number { font-family: ui-monospace, monospace; font-size: .75rem; color: #4a7da4; padding-top: 3px; }

.insights-section { padding-top: 20px; }
.section-heading { margin-bottom: 39px; }
.section-heading h2 { margin-top: 22px; }
.article-grid { gap: 28px; }
.article-card { padding: 0; background: transparent; border: 1px solid #263a4e; border-radius: 2px; min-height: auto; display: block; }
.article-card::after { display: none; }
.article-card:nth-child(2) { background: transparent; }
.article-card:hover { background: #0c131c; border-color: #2e678e; }
.article-cover { height: 208px; border-bottom: 1px solid #21364a; position: relative; overflow: hidden; display: flex; align-items: center; padding: 23px 39px; background: #0d2030; isolation: isolate; }
.article-cover > span { font-weight: 700; font-size: 7.3rem; letter-spacing: -.065em; line-height: 1; color: #00b2ff; z-index: 1; }
.article-cover i { position: absolute; right: 37px; top: 35px; width: 134px; height: 134px; border: 1px solid #224b66; border-radius: 50%; transition: transform .6s; }
.article-cover i::after { position: absolute; content: ""; inset: 25px; border: 1px solid #224b66; border-radius: 50%; }
.article-card:nth-child(2) .article-cover { background: #101c28; }
.article-card:nth-child(2) .article-cover > span { font-size: 3.4rem; letter-spacing: -.05em; max-width: 320px; color: #81b4d7; }
.article-card:nth-child(2) .article-cover i { border-radius: 0; transform: rotate(45deg); right: 48px; }
.article-card:nth-child(2) .article-cover i::after { border-radius: 0; }
.article-card:hover .article-cover i { transform: rotate(18deg); }
.article-card:nth-child(2):hover .article-cover i { transform: rotate(60deg); }
.article-card-content { padding: 31px 34px 25px; }
.article-category { color: #678eac; font-size: .75rem; letter-spacing: .09em; }
.article-card h3 { font-size: 2.1rem; line-height: 1.13; margin-top: 18px; }
.article-card p { margin-top: 16px; font-size: 1rem; line-height: 1.75; max-width: 450px; min-height: 56px; }
.article-link { border-top: 1px solid #22354a; padding-top: 21px; margin-top: 25px; font-size: .875rem; }
.insights-list { padding-bottom: 110px; }

.faq-section { padding-top: 10px; padding-bottom: 105px; }
.faq-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.faq-heading h2 { font-size: clamp(2.5rem, 4vw, 3.7rem); margin-top: 23px; }
.faq-heading .text-link { margin-top: 31px; }
.faq-section summary { font-size: 1.05rem; line-height: 1.5; padding: 24px 0; }
.faq-section .answer { padding-right: 5px; }
.faq-section .answer p { font-size: 1rem; line-height: 1.8; }

/* The ending repeats the oversized typography, not the hero illustration. */
.closing-cta { display: block; border-radius: 0; border: 0; border-top: 1px solid #294762; background: transparent; padding: 53px 0 100px; margin-top: 0; margin-bottom: 0; }
.closing-top { display: flex; align-items: center; justify-content: flex-end; gap: 30px; }
.closing-mark { color: var(--blue); font-size: 2.9rem; line-height: 1; }
.closing-mark svg { width: 1em; height: 1em; display: block; }
.closing-main { display: grid; grid-template-columns: 1.7fr 1fr; gap: 65px; align-items: end; margin-top: 38px; }
.closing-cta h2 { font-size: clamp(3.2rem, 6.5vw, 6.2rem); line-height: .99; letter-spacing: -.055em; margin: 0; }
.closing-cta h2 > span { color: #6686a7; }
.closing-cta p { margin: 0; max-width: 320px; font-size: 1.05rem; color: #8fa8c2; line-height: 1.75; }
.closing-action { padding-bottom: 4px; }
.closing-action .button { margin-top: 27px; }
.site-footer { background: #06090d; border-top-color: #203349; padding-top: 61px; }
.footer-top { grid-template-columns: 1fr 1.2fr; padding-bottom: 53px; gap: 90px; }
.footer-brand > .wordmark { font-size: 2.2rem; }
.footer-brand p { font-size: 1rem; color: #7792ae; }
.footer-links span:not(.sr-only) { color: #728eaa; font-size: .75rem; }
.footer-links a { color: #8fa5bf; font-size: .9rem; }
.footer-signature { font-size: clamp(7rem, 21vw, 20rem); font-weight: 700; letter-spacing: -.08em; line-height: .91; color: #13273a; margin-bottom: 37px; user-select: none; }
.footer-signature span { color: #00b2ff; }
.footer-bottom { border-top-color: #1c2b3d; font-size: .75rem; flex-wrap: wrap; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 24px; }
.footer-legal a { color: #8fa5bf; }
.footer-legal a:hover { color: var(--blue); }
.legal-line { color: #7189a2; padding-top: 20px; }

/* Carry the same identity through the desk, enquiry and editorial pages. */
.breadcrumbs { margin-top: 31px; }
.page-hero { gap: 90px; padding: 65px 0 88px; }
.page-hero h1 { font-size: clamp(3.4rem, 5.8vw, 5.6rem); line-height: 1.02; letter-spacing: -.055em; }
.page-hero.single h1 { font-size: clamp(3.4rem, 6.3vw, 6rem); }
.lead { font-size: 1.15rem; color: #9cafc5; line-height: 1.8; }
.editorial-aside { background: #0c1926; border: 1px solid #28425b; border-radius: 2px; }
.editorial-aside > .eyebrow { color: #6a9cc0; }
.brief-list li { border-color: #263d53; }
.scope-section { margin-left: max(56px, calc((100% - 1320px) / 2)); padding-top: 0; }
.detail-number { font-size: 5rem; color: #214e6a; }
.detail-step h2 { font-size: 2.7rem; letter-spacing: -.04em; }
.detail-step { border-top-color: #294159; }
.callout { border-left-width: 3px; }
.article-header h1 { font-size: clamp(3rem, 5.8vw, 5rem); }
.article-meta { color: #5d7d9e; }
.source-note { background: #0b1b29; }
.prose h2 { letter-spacing: -.035em; }
.contact-hero { grid-template-columns: .94fr 1.06fr; align-items: start; }
.contact-hero h1 { font-size: clamp(4.5rem, 7.3vw, 7rem); font-weight: 700; line-height: .96; }
.contact-hero .lead { max-width: 375px; font-size: 1.1rem; }
.contact-lumi { width: 270px; margin-top: 25px; }
.enquiry-panel { background: #0b1723; border: 1px solid #2b4863; border-radius: 2px; padding: 38px; }
.panel-heading { margin-bottom: 28px; }
.enquiry-panel input, .enquiry-panel select, .enquiry-panel textarea { background: #08111b; border-color: #2d4660; border-radius: 2px; }
.enquiry-panel label { color: #a7bdd5; }
.enquiry-panel .button-primary { border-radius: 2px; }
.contact-bottom { border-top-color: #29415a; }
.lumi-about { align-self: start; border-radius: 2px; border-color: #26405a; background: radial-gradient(ellipse at 50% 30%, #00b2ff15, #09111a 80%); }

@media (min-width: 1600px) {
  .hero { min-height: 780px; padding-block: 67px; }
  .hero h1 { font-size: 7.2rem; }
  .lumi-stage { width: 735px; }
}
@media (max-width: 1150px) {
  .wrap, .breadcrumbs { width: calc(100% - 72px); }
  .nav-wrap { width: calc(100% - 60px); gap: 25px; }
  .main-nav { gap: 22px; }
  .main-nav .nav-portal { margin-left: 0; padding-left: 20px; }
  .hero { min-height: 647px; padding-block: 44px; }
  .hero h1 { font-size: 7.5vw; }
  .hero-description { max-width: 365px; font-size: 1.025rem; }
  .lumi-stage { width: 112%; }
  .principles { grid-template-columns: repeat(3, 1fr); font-size: .9rem; }
  .principles > a { display: none; }
  .section { padding-block: 90px; }
  .section-intro { gap: 65px; }
  .section-intro h2, .section-heading h2 { font-size: 4.1rem; }
  .desk-point { grid-template-columns: 66px 1fr; }
  .desk-point h3 { font-size: 1.85rem; }
  .flow-band { padding-top: 72px; }
  .flow-steps li { padding-inline: 24px; }
  .flow-steps h3 { font-size: 1.6rem; }
  .audience-section { gap: 65px; }
  .audience-copy h2 { font-size: 3.5rem; }
  .article-cover { height: 185px; padding-inline: 32px; }
  .article-cover > span { font-size: 6.7rem; }
  .article-card:nth-child(2) .article-cover > span { font-size: 3rem; }
  .article-cover i { right: 18px; }
  .article-card-content { padding-inline: 28px; }
  .faq-grid { gap: 65px; }
  .faq-heading h2 { font-size: 3.4rem; }
  .closing-main { gap: 42px; grid-template-columns: 1.65fr 1fr; }
  .closing-cta h2 { font-size: 5.1rem; }
  .footer-top { gap: 70px; }
  .page-hero { gap: 48px; }
  .scope-section { margin-left: 36px; }
  .insights-section { padding-top: 20px; }
  .faq-section { padding-top: 10px; }
  .contact-hero { gap: 45px; }
  .enquiry-panel { padding: 30px; }
}
@media (max-width: 900px) {
  .nav-wrap { height: 80px; }
  .main-nav { gap: 18px; }
  .main-nav > a:not(.button) { font-size: .8rem; }
  .main-nav .nav-portal { display: none; }
  .hero { min-height: 600px; }
  .hero h1 { font-size: 7.7vw; }
  .hero-description { font-size: 1rem; max-width: 335px; }
  .hero .actions .button { font-size: .875rem; padding-inline: 18px; }
  .lumi-stage { width: 116%; }
  .lumi-ghost { font-size: 17vw; }
  .lumi-caption { left: 4%; bottom: 1%; }
  .stage-tag-top { font-size: .75rem; }
  .section-intro { gap: 40px; }
  .section-intro h2, .section-heading h2 { font-size: 3.6rem; }
  .desk-point { grid-template-columns: 52px 1fr; }
  .point-label { display: none; }
  .flow-heading { gap: 40px; }
  .flow-band h2 { font-size: 4.7rem; }
  .flow-steps { grid-template-columns: 1fr 1fr; }
  .flow-steps li { min-height: 245px; padding: 29px 28px; }
  .flow-steps li:first-child { padding-left: 28px; }
  .flow-steps li:nth-child(2) { border-right: 0; }
  .flow-steps li:nth-child(-n+2) { border-bottom: 1px solid #086798; }
  .flow-steps h3 { font-size: 1.8rem; margin-top: 29px; }
  .flow-steps p { max-width: 275px; }
  .audience-section { gap: 38px; grid-template-columns: .82fr 1.18fr; }
  .audience-copy h2 { font-size: 3.05rem; }
  .audience-section .audience-grid article { gap: 12px; }
  .audience-section .audience-grid p { font-size: .95rem; }
  .lumi-portrait { aspect-ratio: 1 / 1.45; }
  .lumi-portrait img { width: 207%; left: -49%; top: 5%; }
  .portrait-label { left: 20px; top: 20px; font-size: .75rem; }
  .article-cover { height: 166px; padding-inline: 26px; }
  .article-cover > span { font-size: 5.5rem; }
  .article-card:nth-child(2) .article-cover > span { font-size: 2.5rem; }
  .article-cover i { right: 8px; width: 112px; height: 112px; top: 26px; }
  .article-card:nth-child(2) .article-cover i { right: 24px; }
  .article-card-content { padding-inline: 24px; }
  .article-card h3 { font-size: 1.9rem; }
  .faq-grid { grid-template-columns: .85fr 1.15fr; gap: 42px; }
  .faq-heading h2 { font-size: 2.85rem; }
  .closing-cta h2 { font-size: 4.2rem; }
  .closing-main { gap: 30px; }
  .closing-cta p { font-size: 1rem; }
  .footer-top { gap: 40px; grid-template-columns: .7fr 1.3fr; }
  .page-hero h1 { font-size: 3.7rem; }
  .page-hero.single h1 { font-size: 4rem; }
  .contact-hero { grid-template-columns: .8fr 1.1fr; gap: 35px; }
  .contact-hero h1 { font-size: 4.8rem; }
  .contact-hero .lead { font-size: 1.025rem; }
  .contact-lumi { width: 230px; }
}
@media (max-width: 760px) {
  .wrap, .breadcrumbs { width: calc(100% - 40px); }
  .nav-wrap { width: calc(100% - 40px); height: 76px; }
  .wordmark { font-size: 2.25rem; }
  .main-nav { top: 76px; gap: 0; padding: 15px 20px 25px; background: #0a1119; }
  .main-nav > a:not(.button) { font-size: 1rem; }
  .main-nav .nav-portal { display: block; margin-left: 0; padding-left: 4px; }
  .hero { display: flex; flex-direction: column; min-height: auto; padding: 43px 0 12px; gap: 0; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: clamp(3.2rem, 13.2vw, 6.3rem); line-height: .96; margin-top: 26px; }
  .hero-description { font-size: 1.05rem; max-width: 470px; margin-top: 25px; }
  .hero .actions { margin-top: 26px; }
  .hero .actions .button { font-size: .94rem; padding-inline: 22px; }
  .hero-note { margin-top: 25px; font-size: .8rem; }
  .lumi-stage { width: 105%; max-width: 490px; align-self: center; margin: 15px 0 10px; }
  .lumi-motion { width: 100%; }
  .lumi-ghost { font-size: 26vw; max-height: 150px; top: 16%; opacity: .35; }
  .stage-axis { inset: 7%; }
  .stage-tag-top { right: 9%; top: 5%; font-size: .75rem; }
  .lumi-caption { left: 7%; bottom: 1%; }
  .lumi-caption strong { font-size: .8rem; }
  .lumi-caption span:not(.lumi-caption-rule) { font-size: .75rem; }
  .stage-cross { bottom: 4%; right: 7%; font-size: 1.3rem; }
  .principles { grid-template-columns: repeat(3, 1fr); padding: 25px 0; gap: 15px; font-size: .875rem; }
  .principles span { gap: 9px; align-items: start; }
  .principles em { font-size: .75rem; }
  .section { padding-block: 72px; }
  .section-intro { display: block; }
  .section-intro h2, .section-heading h2 { font-size: 3.2rem; line-height: 1.03; }
  .section-intro > p { margin-top: 25px; font-size: 1.05rem; max-width: 100%; }
  .section-intro > .eyebrow { margin-bottom: 22px; }
  .desk-points { margin-top: 39px; }
  .desk-point { grid-template-columns: 36px 1fr; gap: 15px; padding: 26px 0; }
  .desk-point h3 { font-size: 1.7rem; line-height: 1.15; }
  .desk-point p { font-size: 1rem; line-height: 1.8; }
  .point-number { font-size: .75rem; padding-top: 6px; }
  .flow-band { padding-top: 60px; padding-bottom: 27px; }
  .flow-heading { grid-template-columns: 1fr; gap: 28px; }
  .flow-band h2 { font-size: clamp(3.7rem, 12.4vw, 5rem); margin-top: 20px; }
  .flow-heading-aside { justify-self: start; max-width: 350px; padding: 0; }
  .flow-heading-aside p { font-size: 1.05rem; }
  .flow-band .button { min-height: 51px; margin-top: 21px; }
  .flow-steps { margin-top: 40px; grid-template-columns: 1fr 1fr; }
  .flow-steps li { min-height: 232px; padding: 26px 18px; }
  .flow-steps li:first-child { padding-left: 18px; }
  .flow-steps h3 { font-size: 1.65rem; margin-top: 28px; }
  .flow-steps p { font-size: .95rem; line-height: 1.7; margin-top: 17px; }
  .flow-footnote { font-size: .8rem; margin-top: 22px; gap: 20px; }
  .audience-section { display: flex; flex-direction: column-reverse; gap: 37px; padding-top: 70px; align-items: stretch; }
  .audience-copy h2 { font-size: 3.1rem; margin-top: 22px; }
  .audience-section .audience-grid { margin-top: 30px; }
  .audience-section .audience-grid article { grid-template-columns: 28px 1fr; gap: 14px; padding: 23px 0 !important; }
  .audience-section .audience-grid h3 { font-size: 1.35rem; }
  .audience-section .audience-grid p { font-size: 1rem; max-width: none; margin-top: 12px; }
  .lumi-portrait { aspect-ratio: 1.3 / 1; max-width: 560px; }
  .lumi-portrait img { width: 160%; left: -25%; top: -14%; }
  .portrait-label { left: 24px; top: 22px; font-size: .75rem; }
  .audience-art > p { font-size: 1rem; margin-top: 18px; }
  .insights-section { padding-top: 10px; }
  .section-heading { gap: 20px; margin-bottom: 31px; }
  .section-heading h2 { font-size: 3rem; margin-top: 21px; }
  .section-heading .text-link { font-size: .8rem; }
  .article-grid { grid-template-columns: 1fr; gap: 25px; }
  .article-cover { height: 173px; padding: 25px 28px; }
  .article-cover > span { font-size: 6rem; }
  .article-cover i { width: 118px; height: 118px; right: 30px; top: 26px; }
  .article-card:nth-child(2) .article-cover > span { font-size: 2.9rem; max-width: 260px; }
  .article-card:nth-child(2) .article-cover i { right: 43px; }
  .article-card-content { padding: 26px 27px 22px; }
  .article-card h3 { font-size: 2rem; margin-top: 18px; }
  .article-card p { font-size: 1rem; min-height: 0; }
  .article-link { margin-top: 24px; padding-top: 19px; font-size: .9rem; }
  .insights-list { padding-bottom: 74px; }
  .faq-section { padding-top: 7px; padding-bottom: 70px; }
  .faq-grid { grid-template-columns: 1fr; gap: 31px; }
  .faq-heading h2 { font-size: 3.1rem; }
  .faq-heading .text-link { margin-top: 23px; }
  .faq-section summary { font-size: 1.05rem; }
  .closing-cta { padding: 37px 0 70px; margin: 0 auto; }
  .closing-mark { font-size: 2.3rem; }
  .closing-main { grid-template-columns: 1fr; gap: 29px; margin-top: 30px; }
  .closing-cta h2 { font-size: clamp(3rem, 10.7vw, 4.7rem); line-height: 1.04; }
  .closing-cta p { font-size: 1.05rem; }
  .closing-action .button { margin-top: 23px; }
  .site-footer { padding-top: 46px; }
  .footer-top { grid-template-columns: 1fr; gap: 35px; padding-bottom: 32px; }
  .footer-brand > .wordmark { font-size: 2.15rem; }
  .footer-brand p { font-size: .95rem; }
  .footer-links { grid-template-columns: 1fr 1.15fr; gap: 28px 18px; }
  .footer-links a { font-size: .9rem; }
  .footer-signature { font-size: 30vw; letter-spacing: -.085em; line-height: 1; margin-bottom: 22px; }
  .footer-bottom { font-size: .75rem; padding-top: 23px; }
  .footer-legal { justify-content: flex-start; }
  .legal-line { font-size: .75rem; line-height: 1.8; }
  .breadcrumbs { margin-top: 25px; }
  .page-hero { padding-top: 47px; padding-bottom: 65px; }
  .page-hero h1, .page-hero.single h1 { font-size: clamp(3rem, 10.5vw, 4.7rem); line-height: 1.05; }
  .page-hero .lead { font-size: 1.1rem; }
  .page-hero.single { padding-bottom: 60px; }
  .scope-section { margin-left: auto; padding-top: 0; }
  .detail-number { font-size: 2.8rem; }
  .detail-step h2 { font-size: 2rem; }
  .contact-hero h1 { font-size: 4.5rem; }
  .contact-hero .lead { max-width: 100%; font-size: 1.1rem; }
  .contact-lumi { display: none; }
  .enquiry-panel { padding: 26px 22px; }
  .contact-bottom { padding-bottom: 73px; }
}
@media (max-width: 380px) {
  .wrap, .breadcrumbs { width: calc(100% - 32px); }
  .hero h1 { font-size: 13vw; }
  .hero .actions { gap: 10px; }
  .hero .actions .button { padding-inline: 18px; font-size: .875rem; }
  .hero .eyebrow { font-size: .75rem; letter-spacing: .04em; }
  .principles { gap: 10px; font-size: .8rem; }
  .section-intro h2, .section-heading h2, .audience-copy h2, .faq-heading h2 { font-size: 2.8rem; }
  .flow-steps li { padding-inline: 15px; }
  .flow-steps li:first-child { padding-left: 15px; }
  .flow-steps h3 { font-size: 1.45rem; }
  .flow-steps p { font-size: .9rem; }
  .article-card-content { padding-inline: 23px; }
  .article-card h3 { font-size: 1.85rem; }
  .article-cover { padding-inline: 23px; }
  .article-card:nth-child(2) .article-cover > span { font-size: 2.6rem; }
  .closing-cta h2 { font-size: 10.7vw; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-copy > .eyebrow, .hero h1, .hero-description, .hero .actions, .hero-note, .lumi-image { animation: none; }
  .hero-copy > .eyebrow, .hero h1, .hero-description, .hero .actions, .hero-note { opacity: 1; transform: none; }
  .lumi-motion { transform: none !important; }
  .article-card:hover .article-cover i { transform: none; }
  .article-card:nth-child(2) .article-cover i { transform: rotate(45deg); }
}

/* Progressive interaction and responsive layers retain the approved Lumora identity. */
:root { --gutter: clamp(1rem, 4vw, 4rem); --header-height: 90px; --ease: cubic-bezier(.2,.7,.25,1); color-scheme: dark; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { -webkit-text-size-adjust: 100%; }
[hidden] { display: none !important; }
.js-only { display: none; }
.js .js-only { display: block; }
.wrap, .breadcrumbs { width: min(1320px, calc(100% - var(--gutter) - var(--gutter))); }
.nav-wrap { width: min(1400px, calc(100% - var(--gutter) - var(--gutter))); }
.hero-copy, .page-hero > *, .section-intro > *, .flow-heading > *, .article-card, .two-columns > *, .closing-main > *, .footer-top > * { min-width: 0; }
h1, h2, h3, p, a, li, label, legend { overflow-wrap: break-word; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
a, button, summary { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .48; }
fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
legend { font-size: 1rem; color: #b8cce1; line-height: 1.5; margin-bottom: 16px; }
input, select, textarea { max-width: 100%; font-size: 1rem !important; min-height: 48px; border-radius: 3px; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
.button { min-height: 48px; white-space: normal; text-align: center; line-height: 1.4; transition: background .2s, border-color .2s, transform .2s var(--ease); }
.actions { flex-wrap: wrap; }
.text-link, .text-button { min-height: 44px; display: inline-flex; align-items: center; }
.site-header { z-index: 100; transition: background .3s, box-shadow .3s; }
.has-scrolled .site-header { background: #070a0ef5; box-shadow: 0 8px 28px #0003; }
.main-nav { gap: clamp(16px, 1.5vw, 28px); }
.main-nav .nav-portal { margin-left: 0; padding-left: 18px; }
.nav-open { overflow: hidden; }
.nav-backdrop { position: fixed; inset: 0; z-index: 90; background: #0009; backdrop-filter: blur(4px); }
.will-reveal { transition: opacity .65s var(--ease) var(--reveal-delay,0ms), transform .65s var(--ease) var(--reveal-delay,0ms); }
.hero h1 { margin-top: 0; }
.hero-description { max-width: 450px; color: #acbacb; }
.hero-copy > *, .hero h1, .hero-description, .hero .actions { animation-name: hero-enter; }
@keyframes hero-enter { from { transform: translateY(12px); } to { transform: none; } }
.lumi-stage { --pointer-x: 0px; --pointer-y: 0px; --pointer-rotation: 0deg; --stage-scroll: 0px; }
.lumi-motion { transform: translate3d(var(--pointer-x),calc(var(--pointer-y) + var(--stage-scroll)),0) rotate(var(--pointer-rotation)); }
.lumi-stage[data-visible="false"] .lumi-image, .lumi-stage[data-visible="false"] .stage-halo::before { animation-play-state: paused; }
.stage-halo::before { content: ""; position: absolute; inset: -4%; border: 1px solid #1a668831; border-top-color: #00b2ff65; border-radius: 50%; animation: orbit 24s linear infinite; }
@keyframes orbit { to { transform: rotate(360deg); } }
.lumi-ghost { transform: translateX(calc(var(--pointer-x) * -.4)); transition: transform .6s var(--ease); }
.section-intro h2, .section-heading h2, .faq-heading h2, .audience-copy h2 { font-size: clamp(2.3rem, 4.4vw, 4.6rem); }
.section-intro { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: clamp(28px,6vw,80px); }
.page-hero { grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: clamp(32px,6vw,80px); }
.page-hero.single { grid-template-columns: minmax(0,1fr); }
.page-hero h1, .page-hero.single h1 { font-size: clamp(2.8rem,6vw,6rem); }
.contact-hero h1 { font-size: clamp(3.3rem,7vw,7rem); }
.two-columns { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(30px,5vw,85px); }
.scope-section { margin-inline: auto; }
.eyebrow, .article-category, .footer-links span:not(.sr-only), .main-nav > a:not(.button) { font-size: .875rem; }
.article-meta, .footer-bottom, .legal-line, .privacy-note { color: #8ea5be; font-size: .875rem; }
.footer-preferences { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-block: 15px; }
.footer-preferences .text-button { font-size: .875rem; color: #91abc5; }
.footer-links a { min-height: 36px; display: flex; align-items: center; }
.footer-legal a { min-height: 36px; display: flex; align-items: center; }

/* The existing blue band becomes a usable process explorer. */
.process-tabs { position: relative; }
.process-tabs li, .process-tabs li:first-child { padding: 0; min-width: 0; }
.process-tab { width: 100%; height: 100%; border: 0; padding: 30px 26px 35px; text-align: left; color: #052236; background: transparent; position: relative; transition: background .25s; }
.process-tab:hover { background: #ffffff0d; }
.process-tab[aria-selected="true"] { background: #ffffff19; }
.process-tab::after { content: ""; position: absolute; inset: auto 0 -1px; height: 3px; background: #052236; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.process-tab[aria-selected="true"]::after { transform: scaleX(1); }
.process-tab:focus-visible { outline: 2px solid #052236; outline-offset: -6px; }
.process-title { display: block; margin-top: 28px; font-size: clamp(1.35rem,2vw,1.8rem); line-height: 1.2; font-weight: 700; letter-spacing: -.03em; }
.process-description { display: block; margin-top: 16px; font-size: 1rem; line-height: 1.7; }
.process-panel { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: clamp(24px,5vw,65px); padding: 34px 0 10px; border-bottom: 1px solid #086798; }
.process-panel h3 { color: #052236; font-size: clamp(1.6rem,2.7vw,2.25rem); line-height: 1.2; }
.process-panel p, .process-panel li { color: #093953; font-size: 1rem; line-height: 1.75; }
.process-panel p { margin-top: 15px; max-width: 600px; }
.process-panel ul { list-style: none; padding: 0; margin: 0; }
.process-panel li { padding-block: 12px; border-bottom: 1px solid #08679866; }
.process-panel .text-link { color: #052236; margin-top: 15px; text-decoration: underline; text-underline-offset: 4px; }
.process-explorer.is-interactive .process-panel { animation: panel-enter .3s var(--ease); }
.process-explorer .interaction-hint { margin-top: 15px; font-size: .875rem; }
@keyframes panel-enter { from { opacity: .3; transform: translateY(7px); } to { opacity: 1; transform: none; } }

/* Choice controls share one touch-friendly language. */
.enquiry-starter { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(30px,7vw,95px); padding-block: 90px; }
.starter-intro h2 { font-size: clamp(2.3rem,4.5vw,4.5rem); line-height: 1.05; letter-spacing: -.05em; }
.starter-intro p { color: #9fb2c9; font-size: 1.05rem; line-height: 1.8; max-width: 385px; margin-top: 24px; }
.starter-form { padding: clamp(22px,3vw,40px); border: 1px solid #294762; background: #0c1723; }
.starter-form > label { display: block; margin-top: 26px; color: #b5c9de; }
.starter-form select { width: 100%; display: block; margin-top: 10px; padding: 12px 14px; color: var(--ink); background: #08111b; border: 1px solid #2d4660; }
.choice-group { display: flex; flex-wrap: wrap; gap: 10px; }
.choice-group label { display: block; position: relative; flex: 1 1 70px; cursor: pointer; }
.choice-group input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 1px; }
.choice-group span { min-height: 48px; padding: 12px 15px; display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid #36526d; color: #aac0d8; transition: color .2s, background .2s, border-color .2s; line-height: 1.35; }
.choice-group input:checked + span { background: #00b2ff16; border-color: var(--blue); color: #d4f0ff; }
.choice-group input:focus-visible + span { outline: 2px solid var(--cyan); outline-offset: 4px; }
.starter-context { min-height: 106px; padding-block: 20px; }
.starter-context p { font-size: 1rem; line-height: 1.7; color: #9fb5ce; }
.starter-form .button { width: 100%; }

/* Searchable guides and readable, linked article structure. */
.guide-library { padding-bottom: 90px; }
.guide-controls { margin-bottom: 35px; }
.search-label { color: #b7cbe0; font-size: 1rem; display: block; }
.search-label input { display: block; width: 100%; padding: 13px 16px; margin-top: 10px; background: #09131e; border: 1px solid #304b67; color: var(--ink); }
.guide-controls .search-label { max-width: 550px; }
.guide-filters, .help-topics { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.guide-filters button, .help-topics button { min-height: 44px; padding: 10px 16px; font-size: .875rem; color: #a7c1db; border: 1px solid #304b67; background: #0a1724; transition: color .2s, background .2s; }
.guide-filters button[aria-pressed="true"], .help-topics button:hover { color: #d8f1ff; border-color: var(--blue); background: #00b2ff16; }
#guide-count, #faq-count, .search-count { font-size: .875rem; color: #89a3be; margin-top: 17px; min-height: 20px; }
.guide-library .article-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 24px; }
.guide-library .article-card { display: flex; flex-direction: column; }
.guide-library .article-card-content { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.guide-library .article-card h3 { font-size: 1.65rem; }
.guide-library .article-card p { margin-bottom: 22px; }
.guide-library .article-link { margin-top: auto; }
.guide-library .article-cover { height: 162px; padding-inline: 26px; }
.guide-library .article-cover > span { font-size: 2.6rem; line-height: 1.05; max-width: 100%; }
.empty-state { font-size: 1rem; padding: 24px; color: #aac0d7; background: #0b1a28; border: 1px solid #2a4863; }
.empty-state a { text-decoration: underline; }
.editorial { max-width: 1160px; }
.article-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: clamp(35px,5vw,70px); align-items: start; }
.article-body { max-width: 74ch; min-width: 0; }
.article-contents { position: sticky; top: calc(var(--header-height) + 30px); margin-top: 20px; }
.article-contents h2 { font-size: 1rem; color: #c0d3e8; margin: 0 0 12px; }
.article-contents a:not(.button) { display: block; font-size: .875rem; line-height: 1.6; min-height: 44px; padding: 10px 0; border-bottom: 1px solid #263d53; color: #8fa9c3; }
.article-contents a[aria-current="location"] { color: var(--blue); }
.article-contents .button { margin-top: 24px; font-size: .875rem; padding-inline: 16px; }
.prose h2[id] { scroll-margin-top: calc(var(--header-height) + 25px); }
.article-meta a { color: #acc5dd; text-decoration: underline; text-underline-offset: 3px; }
.faq-controls { margin-bottom: 35px; }
.faq-controls .search-label { max-width: 620px; }

/* Quote comparison is an arithmetic tool, never an invented live price feed. */
.tools-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; padding-bottom: 90px; }
.tool-card { padding: clamp(24px,4vw,48px); border: 1px solid #2c4863; background: #0b1723; transition: border-color .2s, transform .2s; }
.tool-card:hover { border-color: var(--blue); transform: translateY(-3px); }
.tool-card h2 { font-size: clamp(1.65rem,2.8vw,2.5rem); line-height: 1.15; margin-top: 20px; }
.tool-card p { font-size: 1rem; color: #a3b8ce; line-height: 1.75; margin-top: 20px; }
.tool-card .text-link { color: var(--blue); margin-top: 25px; }
.quote-tool { padding: clamp(24px,4vw,55px); border: 1px solid #2b4a66; background: #0b1723; }
.quote-tool-intro { max-width: 720px; margin-bottom: 30px; }
.quote-tool h2 { font-size: clamp(1.7rem,3vw,2.6rem); }
.quote-tool-intro p { color: #a8bdd3; line-height: 1.75; margin-top: 18px; }
.quote-settings { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 140px; gap: 24px; }
.quote-tool label { display: block; color: #b7cee5; font-size: 1rem; }
.quote-tool input, .quote-tool select { width: 100%; display: block; margin-top: 10px; padding: 12px 14px; color: var(--ink); background: #08111b; border: 1px solid #2d4660; }
.quote-tool .choice-group input { margin: 0; }
.quote-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; margin-block: 32px; }
.quote-input { border: 1px solid #2d4863; padding: 24px; }
.quote-input legend { padding-inline: 12px; font-size: 1.2rem; color: var(--cyan); }
.quote-input label + label { margin-top: 22px; }
.field-note { color: #89a6c2; font-size: .875rem; line-height: 1.7; margin-top: 16px; }
.field-error { color: #ffb6a9; font-size: 1rem; line-height: 1.6; margin-top: 15px; }
.quote-tool .text-button { margin-left: 22px; }
.quote-result { margin-top: 32px; border-top: 1px solid #2c4a66; padding-top: 28px; animation: panel-enter .35s var(--ease); }
.quote-totals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; }
.quote-totals > div { min-width: 0; }
.quote-totals span, .quote-totals small { display: block; color: #9cb6cf; font-size: .875rem; }
.quote-totals strong { display: block; color: var(--cyan); font-size: clamp(1.5rem,3vw,2.5rem); line-height: 1.3; margin-block: 12px; overflow-wrap: anywhere; }
#quote-comparison { font-size: 1.05rem; line-height: 1.7; margin-top: 25px; }
.calculator-reading { padding-block: 60px 90px; max-width: 850px; }

/* Enquiry fieldsets become a short guided flow with honest delivery status. */
.enquiry-panel fieldset + fieldset { margin-top: 20px; }
.js .enquiry-panel fieldset + fieldset { margin-top: 0; }
.enquiry-panel legend { font-size: 1.3rem; color: #d0e1f1; margin-bottom: 20px; }
.enquiry-panel .form-row > label { min-width: 0; }
.wizard-progress { margin-bottom: 28px; }
.wizard-current { color: #8baaca; font-size: .875rem; }
.wizard-track { height: 2px; width: 100%; margin-top: 16px; background: #284259; overflow: hidden; }
.wizard-track i { display: block; height: 100%; background: var(--blue); transform-origin: left; transform: scaleX(var(--wizard-progress,.3333)); transition: transform .3s var(--ease); }
.js .wizard-actions { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-block: 26px 8px; }
.enquiry-panel fieldset { animation: panel-enter .3s var(--ease); }
.enquiry-panel .form-help { font-size: .875rem; line-height: 1.7; }
.account-after-brief { display: flex; color: var(--blue); }
.brief-result pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }

/* Published FAQ help uses a native modal and standard browser focus behaviour. */
.js .lumi-help-button { position: fixed; right: max(22px,env(safe-area-inset-right)); bottom: max(22px,env(safe-area-inset-bottom)); z-index: 80; display: flex; align-items: center; gap: 9px; padding: 7px 18px 7px 5px; border: 1px solid #355b78; border-radius: 50px; color: #c5e4ff; background: #0b1b2bed; box-shadow: 0 8px 30px #0004; font-size: .875rem; min-height: 54px; transition: background .2s, transform .2s; }
.lumi-help-button img { width: 48px; height: 48px; object-fit: cover; }
.lumi-help-button:hover { background: #12304a; transform: translateY(-3px); }
.js .mobile-actions { display: none; }
.help-dialog { margin: auto; padding: 0; width: min(650px,calc(100% - 32px)); max-height: min(820px,calc(100dvh - 48px)); color: var(--ink); background: #0b1723; border: 1px solid #38607f; border-radius: 6px; box-shadow: 0 30px 100px #0009; }
.help-dialog[open] { animation: panel-enter .25s var(--ease); }
.help-dialog::backdrop { background: #03080bd9; backdrop-filter: blur(6px); }
.help-shell { padding: clamp(22px,4vw,38px); }
.help-heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.help-heading h2 { font-size: clamp(1.65rem,4vw,2.15rem); line-height: 1.15; margin-top: 12px; }
.icon-button { border: 1px solid #34536e; width: 44px; height: 44px; flex: 0 0 44px; font-size: 1.8rem; background: transparent; color: #a6c7e6; }
.help-intro { margin-block: 24px; color: #9fb9d2; font-size: 1rem; line-height: 1.7; }
.help-results { margin-top: 10px; }
.help-results details { border-bottom: 1px solid #2c455d; }
.help-results summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 19px; min-height: 48px; cursor: pointer; color: #c0d6ea; font-size: 1rem; line-height: 1.6; }
.help-results details p { font-size: 1rem; color: #a1b9d0; line-height: 1.75; padding-bottom: 22px; animation: panel-enter .25s var(--ease); }
.help-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 25px; }

@media (max-width: 1100px) {
  :root { --header-height: 80px; }
  .nav-wrap { min-height: 80px; height: auto; flex-wrap: wrap; }
  .js .nav-wrap { height: 80px; }
  .js .menu-toggle { display: flex; margin-left: auto; min-width: 44px; min-height: 44px; }
  .main-nav { flex-wrap: wrap; justify-content: flex-start; padding-block: 15px; }
  .js .main-nav { display: none; position: absolute; top: 80px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 15px var(--gutter) 26px; background: #09131e; max-height: calc(100dvh - 80px); overflow-y: auto; border-bottom: 1px solid #2d4c69; }
  .js .main-nav.is-open { display: flex; animation: panel-enter .2s var(--ease); }
  .js .main-nav > a:not(.button) { font-size: 1.05rem; min-height: 48px; padding: 12px 0; display: flex; align-items: center; }
  .js .main-nav .nav-portal { display: flex; padding-left: 0; margin-left: 0; border-left: 0; }
  .main-nav .button { margin-top: 12px; }
  .hero { min-height: 610px; }
  .closing-main { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); }
  .footer-top { gap: 45px; }
}
@media (max-width: 950px) {
  .article-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .article-contents { position: static; border: 1px solid #294660; padding: 24px; margin-top: 0; }
  .article-contents nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
  .article-contents h2 { grid-column: 1 / -1; }
  .article-contents .button { margin-top: 16px; }
  .article-body { max-width: none; }
  .quote-settings { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .quote-settings fieldset { grid-column: 1 / -1; }
  .audience-section { gap: 35px; }
  .faq-grid { gap: 35px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
}
@media (max-width: 760px) {
  :root { --gutter: clamp(16px,5vw,32px); }
  .hero { min-height: auto; }
  .hero h1 { font-size: clamp(2.75rem,12vw,6rem); }
  .hero-description { font-size: 1rem; line-height: 1.8; }
  .page-hero, .contact-hero, .two-columns, .section-intro { grid-template-columns: minmax(0,1fr); }
  .page-hero, .contact-hero { gap: 32px; }
  .section-intro { display: grid; }
  .section-intro > p { margin-top: 0; }
  .section { padding-block: 64px; }
  .flow-heading { gap: 24px; }
  .flow-band h2 { font-size: clamp(2.75rem,11vw,5rem); }
  .process-tab { padding: 22px 17px 25px; }
  .process-title { font-size: 1.4rem; }
  .process-description { font-size: .95rem; }
  .process-panel { grid-template-columns: minmax(0,1fr); gap: 15px; padding-top: 28px; }
  .enquiry-starter, .tools-list, .quote-grid { grid-template-columns: minmax(0,1fr); }
  .enquiry-starter { gap: 29px; }
  .starter-intro p { max-width: none; }
  .starter-context { min-height: 0; }
  .audience-copy h2 { font-size: clamp(2.3rem,9vw,3.5rem); }
  .audience-section { gap: 28px; }
  .faq-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .faq-heading h2 { font-size: clamp(2.3rem,9vw,3.5rem); }
  .guide-library, .tools-list { padding-bottom: 65px; }
  .article-contents nav { grid-template-columns: minmax(0,1fr); }
  .quote-grid { gap: 22px; }
  .quote-input { padding: 20px; }
  .quote-totals { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .closing-main { grid-template-columns: minmax(0,1fr); }
  .closing-cta h2 { font-size: clamp(2.6rem,10vw,4.5rem); }
  .closing-cta p { max-width: 100%; }
  .footer-top { grid-template-columns: minmax(0,1fr); }
  .footer-bottom { flex-direction: column; gap: 20px; }
  .footer-legal { gap: 6px 22px; }
  .help-dialog { max-height: calc(100dvh - 24px); }
}
@media (max-width: 700px) {
  .js .lumi-help-button { display: none; }
  .js .mobile-actions { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 80; padding: 11px max(16px,env(safe-area-inset-right)) max(11px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); gap: 10px; background: #07111ef5; border-top: 1px solid #2b4d68; box-shadow: 0 -8px 30px #0002; }
  .mobile-actions .button:first-child { flex: 1; }
  .mobile-actions .button { padding-inline: 17px; font-size: .875rem; }
  .site-footer { padding-bottom: calc(85px + env(safe-area-inset-bottom)); }
  body[data-page="/contact/"] .mobile-actions { display: none !important; }
  body[data-page="/contact/"] .site-footer { padding-bottom: 20px; }
}
@media (max-width: 420px) {
  .enquiry-panel { padding: 24px 18px; }
  .form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .quote-settings { grid-template-columns: minmax(0,1fr); }
  .quote-settings fieldset { grid-column: auto; }
  .choice-group span { padding-inline: 10px; font-size: .95rem; }
  .process-tab { padding-inline: 14px; }
  .process-title { font-size: 1.2rem; }
  .process-description { font-size: .925rem; }
  .guide-filters button { flex: 1 1 115px; }
  .footer-links { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .help-shell { padding: 22px 18px; }
}
@media (max-height: 500px) and (max-width: 950px) {
  .js .mobile-actions { display: none; }
  .help-dialog { max-height: calc(100dvh - 16px); }
  .hero { padding-block: 30px; }
  .article-contents { position: static; }
}
@media (hover: none), (pointer: coarse) {
  .button:hover, .tool-card:hover, .article-card:hover, .lumi-help-button:hover { transform: none; }
  .button, summary, .guide-filters button, .help-topics button { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .will-reveal { opacity: 1 !important; transform: none !important; }
  .lumi-motion, .lumi-ghost { transform: none !important; }
}
[data-motion="off"] *, [data-motion="off"] *::before, [data-motion="off"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
[data-motion="off"] .will-reveal { opacity: 1 !important; transform: none !important; }
[data-motion="off"] .lumi-motion, [data-motion="off"] .lumi-ghost { transform: none !important; }
@supports not (height: 100dvh) {
  .help-dialog { max-height: calc(100vh - 32px); }
  .js .main-nav { max-height: calc(100vh - 80px); }
}
html:not(.js) .main-nav { position: static; display: flex; flex-wrap: wrap; width: 100%; max-height: none; padding-block: 15px; }
html:not(.js) .nav-wrap { height: auto; flex-wrap: wrap; padding-block: 12px; }
html:not(.js) .menu-toggle { display: none; }
.help-dialog:not([open]) { display: none; }
.process-tab { display: block; text-decoration: none; }
.process-description { font-size: 1rem; }
.quote-totals strong { font-variant-numeric: tabular-nums; }
html[data-motion="off"] { scroll-behavior: auto; }
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .18s; animation-timing-function: ease-out; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
html[data-motion="off"]::view-transition-old(root), html[data-motion="off"]::view-transition-new(root) { animation: none; }
[data-page-active="false"] .lumi-image, [data-page-active="false"] .stage-halo::before { animation-play-state: paused; }
.is-editing .mobile-actions { display: none !important; }

/* Shared appearance tokens retain Lumi's original blue in both modes. */
:root {
  color-scheme: dark;
  --brand-blue: #00b2ff;
  --navigation: #b5bdc9;
  --text-strong: #b7cbe0;
  --text-secondary: #8ea5be;
  --text-body: #acbacb;
  --line-soft: #263d53;
  --line-strong: #355b78;
  --input-line: #52718a;
  --header-bg: #070a0eed;
  --header-scrolled: #070a0ef5;
  --preview-bg: #0c131b;
  --panel-bg: #0b1723;
  --input-bg: #08111b;
  --nav-bg: #09131e;
  --hover-bg: #0e2434;
  --chip-bg: #0a1724;
  --chosen-bg: #00b2ff16;
  --chosen-ink: #d4f0ff;
  --cover-bg: #0d2030;
  --cover-alt: #101c28;
  --cover-alt-ink: #81b4d7;
  --portrait-centre: #0b283d;
  --portrait-edge: #08131e;
  --footer-bg: #06090d;
  --signature-ink: #13273a;
  --closing-ink: #6686a7;
  --heading-accent: var(--blue);
  --heading-secondary: var(--closing-ink);
  --cover-ink: var(--blue);
  --brief-bg: #080f17;
  --help-button-bg: #0b1b2bed;
  --help-button-ink: #c5e4ff;
  --mobile-bar-bg: #07111ef5;
  --error-ink: #ffb6a9;
  --shadow: #0003;
  --selection-bg: #00547c;
  --selection-ink: #fff;
  --stage-stroke: #21445c;
  --stage-ring: #1a668831;
}

/* The explicit preference wins over the device setting. */
:root[data-theme="light"] {
  color-scheme: light;
  --background: #f5f8fc;
  --surface: #fff;
  --ink: #17232e;
  --muted: #52677b;
  --blue: #006fa6;
  --cyan: #00689c;
  --navigation: #3f566b;
  --text-strong: #28465f;
  --text-secondary: #52677b;
  --text-body: #465e73;
  --line: #cad7e2;
  --line-soft: #cad7e2;
  --line-strong: #90a9bc;
  --input-line: #708b9f;
  --header-bg: #f5f8fced;
  --header-scrolled: #f5f8fcf5;
  --preview-bg: #e9f0f7;
  --panel-bg: #fff;
  --input-bg: #f7fafd;
  --nav-bg: #f5f8fc;
  --hover-bg: #e6f1f9;
  --chip-bg: #edf3f9;
  --chosen-bg: #e0f2fc;
  --chosen-ink: #005780;
  --cover-bg: #deeff9;
  --cover-alt: #e7eef6;
  --cover-alt-ink: var(--ink);
  --portrait-centre: #dceef8;
  --portrait-edge: #eff5fb;
  --footer-bg: #edf3f9;
  --signature-ink: #d1deea;
  --closing-ink: #55738d;
  --heading-accent: var(--ink);
  --heading-secondary: var(--ink);
  --cover-ink: var(--ink);
  --brief-bg: #f0f6fb;
  --help-button-bg: #f5fafff5;
  --help-button-ink: #28465f;
  --mobile-bar-bg: #f5f8fcf5;
  --error-ink: #b43423;
  --shadow: #163c6114;
  --selection-bg: #bde7fc;
  --selection-ink: #102535;
  --stage-stroke: #7ba7c3;
  --stage-ring: #5a9cb94d;
}

/* The same palette remains available when JavaScript is disabled. */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    color-scheme: light;
    --background: #f5f8fc; --surface: #fff; --ink: #17232e;
    --muted: #52677b; --blue: #006fa6; --cyan: #00689c;
    --navigation: #3f566b; --text-strong: #28465f;
    --text-secondary: #52677b; --text-body: #465e73;
    --line: #cad7e2; --line-soft: #cad7e2; --line-strong: #90a9bc;
    --input-line: #708b9f; --header-bg: #f5f8fced; --header-scrolled: #f5f8fcf5;
    --preview-bg: #e9f0f7; --panel-bg: #fff; --input-bg: #f7fafd;
    --nav-bg: #f5f8fc; --hover-bg: #e6f1f9; --chip-bg: #edf3f9;
    --chosen-bg: #e0f2fc; --chosen-ink: #005780;
    --cover-bg: #deeff9; --cover-alt: #e7eef6; --cover-alt-ink: var(--ink);
    --portrait-centre: #dceef8; --portrait-edge: #eff5fb;
    --footer-bg: #edf3f9; --signature-ink: #d1deea; --closing-ink: #55738d;
    --heading-accent: var(--ink); --heading-secondary: var(--ink); --cover-ink: var(--ink);
    --brief-bg: #f0f6fb; --help-button-bg: #f5fafff5; --help-button-ink: #28465f;
    --mobile-bar-bg: #f5f8fcf5; --error-ink: #b43423; --shadow: #163c6114;
    --selection-bg: #bde7fc; --selection-ink: #102535;
    --stage-stroke: #7ba7c3; --stage-ring: #5a9cb94d;
  }
}

::selection { background: var(--selection-bg); color: var(--selection-ink); }
.preview-bar { background: var(--preview-bg); color: var(--text-secondary); border-color: var(--line-soft); }
.site-header { background: var(--header-bg); border-bottom-color: var(--line); }
.has-scrolled .site-header { background: var(--header-scrolled); box-shadow: 0 8px 28px var(--shadow); }
.main-nav > a:not(.button) { color: var(--navigation); border-bottom-color: var(--line-soft); }
.main-nav > a[aria-current="page"] { color: var(--blue); }
.main-nav > a:not(.button):hover { color: var(--ink); }
.button-primary { background: var(--brand-blue); color: #04141e; }
.button-secondary { border-color: var(--line-strong); }
.button-secondary:hover { background: var(--hover-bg); border-color: var(--blue); }
.flow-band { background: var(--brand-blue); }
.hero h1 .hero-accent, h1 .blue-text, h2 .blue-text, h3 .blue-text { color: var(--heading-accent); }
.eyebrow, .article-category, .article-meta, .article-meta a,
.footer-bottom, .footer-bottom p, .legal-line, .privacy-note,
.footer-links span:not(.sr-only), .footer-brand p, .contact-subtext,
.optional, .form-help, .dispatch-note, .field-note, .wizard-current,
#guide-count, #faq-count, .search-count { color: var(--text-secondary); }
.hero-description, .lead, .starter-intro p, .starter-context p,
.tool-card p, .quote-tool-intro p, .help-intro,
.help-results details p, .closing-cta p, .detail-step ul { color: var(--text-body); }
.prose strong { color: var(--ink); }
.breadcrumbs { color: var(--text-secondary); }
.breadcrumbs [aria-current="page"] { color: var(--text-strong); }
.text-link { border-bottom-color: var(--line-strong); }
.article-card, .article-cover, .article-link, .detail-step,
.brief-list li, .contact-bottom, .closing-cta { border-color: var(--line-soft); }
.article-card:hover { background: var(--panel-bg); border-color: var(--line-strong); }
.article-cover { background: var(--cover-bg); }
.article-cover > span { color: var(--cover-ink); }
.article-card:nth-child(2) .article-cover { background: var(--cover-alt); }
.article-card:nth-child(2) .article-cover > span { color: var(--cover-alt-ink); }
.article-cover i, .article-cover i::after { border-color: var(--line-strong); }
.closing-cta h2 > span { color: var(--heading-secondary); }
.detail-number { color: var(--closing-ink); }
.audience-number, .portrait-plus, .stage-cross { color: var(--text-secondary); }
.lumi-ghost { -webkit-text-stroke-color: var(--stage-stroke); }
.stage-halo::before { border-color: var(--stage-ring); border-top-color: #00b2ff65; }
.lumi-portrait { border-color: var(--line-soft); background: radial-gradient(ellipse at 50% 20%, var(--portrait-centre), var(--portrait-edge) 75%); }
.lumi-portrait::before { border-color: var(--line-strong); }
.lumi-about { border-color: var(--line-soft); background: radial-gradient(ellipse at 50% 30%, #00b2ff15, var(--portrait-edge) 80%); }
.site-footer { background: var(--footer-bg); border-color: var(--line-soft); }
.footer-signature { color: var(--signature-ink); }
.footer-signature span { color: var(--brand-blue); }
.footer-links a, .footer-legal a, .footer-preferences .text-button { color: var(--text-secondary); }
.footer-links a:hover, .footer-legal a:hover, .footer-preferences .text-button:hover { color: var(--blue); }
.footer-bottom { border-top-color: var(--line-soft); }
.editorial-aside, .enquiry-panel, .starter-form, .tool-card, .quote-tool,
.help-dialog { background: var(--panel-bg); border-color: var(--line-strong); }
.editorial-aside > .eyebrow { color: var(--blue); }
.source-note, caption { background: var(--chip-bg); color: var(--text-body); }
thead { background: var(--cover-bg); }
tbody th { color: var(--text-strong); }
td { color: var(--text-body); }
label, legend, .enquiry-panel label, .enquiry-panel legend,
.starter-form > label, .search-label, .quote-tool label,
.article-contents h2, .help-results summary { color: var(--text-strong); }
input, select, textarea, .enquiry-panel input, .enquiry-panel select,
.enquiry-panel textarea, .starter-form select, .quote-tool input,
.quote-tool select, .search-label input { background: var(--input-bg); color: var(--ink); border-color: var(--input-line); }
input::placeholder, textarea::placeholder { color: var(--text-secondary); opacity: 1; }
input:focus, select:focus, textarea:focus, .enquiry-panel input:focus,
.enquiry-panel select:focus, .enquiry-panel textarea:focus,
.starter-form select:focus, .quote-tool input:focus, .quote-tool select:focus,
.search-label input:focus { border-color: var(--blue); }
.choice-group span { color: var(--text-strong); border-color: var(--input-line); }
.choice-group input:checked + span { background: var(--chosen-bg); color: var(--chosen-ink); }
.guide-filters button, .help-topics button { background: var(--chip-bg); color: var(--text-strong); border-color: var(--input-line); }
.guide-filters button[aria-pressed="true"], .help-topics button:hover { background: var(--chosen-bg); color: var(--chosen-ink); }
.empty-state { background: var(--chip-bg); color: var(--text-body); border-color: var(--line-strong); }
.article-contents { border-color: var(--line-soft); }
.article-contents a:not(.button) { color: var(--text-secondary); border-color: var(--line-soft); }
.article-contents a[aria-current="location"] { color: var(--blue); }
.quote-input, .quote-result { border-color: var(--line-strong); }
.quote-input legend { color: var(--cyan); }
.quote-totals span, .quote-totals small { color: var(--text-secondary); }
.field-error { color: var(--error-ink); }
.wizard-track { background: var(--line-soft); }
.brief-result pre { background: var(--brief-bg); color: var(--text-body); border-color: var(--line-soft); }
.js .lumi-help-button { background: var(--help-button-bg); color: var(--help-button-ink); border-color: var(--line-strong); box-shadow: 0 8px 30px var(--shadow); }
.lumi-help-button:hover { background: var(--hover-bg); }
.help-results details { border-color: var(--line-soft); }
.icon-button, .menu-toggle { border-color: var(--line-strong); color: var(--text-strong); }

/* The header switch is a single tap; the footer also offers device default. */
.nav-wrap { gap: 16px; }
.main-nav { margin-left: auto; order: 2; }
.js .theme-toggle { display: inline-flex; align-items: center; justify-content: center; order: 3; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border-radius: 50%; background: transparent; color: var(--ink); }
.theme-toggle:hover { background: var(--hover-bg); }
.theme-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.menu-toggle svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.menu-toggle .menu-icon-close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-icon-open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-icon-close { display: block; }
.theme-toggle .theme-moon { display: none; }
[data-theme="light"] .theme-toggle .theme-sun { display: none; }
[data-theme="light"] .theme-toggle .theme-moon { display: block; }
.footer-preferences { flex-wrap: wrap; gap: 12px 28px; }
.js .appearance-preference { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 14px; max-width: 100%; font-size: .875rem; margin: 0; }
.appearance-preference select { width: auto; min-width: 155px; min-height: 44px; padding: 8px 30px 8px 12px; font-size: .875rem !important; }
@media (min-width: 1101px) and (max-width: 1280px) {
  .main-nav { gap: 15px; }
  .main-nav > a:not(.button) { font-size: .85rem; }
  .main-nav .nav-portal { padding-left: 14px; }
  .main-nav .button-small { padding-inline: 14px; }
}
@media (max-width: 1100px) {
  .js .theme-toggle { margin-left: auto; order: 2; }
  .js .menu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; margin-left: 0; order: 3; border: 1px solid var(--line-strong); border-radius: 50%; background: transparent; color: var(--ink); line-height: 1; }
  .js .menu-toggle:hover, .js .menu-toggle[aria-expanded="true"] { background: var(--hover-bg); }
  .main-nav { order: 4; margin-left: 0; }
  .js .main-nav { background: var(--nav-bg); border-color: var(--line-soft); }
}
@media (max-width: 700px) {
  .js .mobile-actions { background: var(--mobile-bar-bg); border-color: var(--line-strong); box-shadow: 0 -8px 30px var(--shadow); }
}
@media (forced-colors: active) {
  .choice-group input:checked + span, .guide-filters button[aria-pressed="true"] { outline: 2px solid Highlight; }
  .theme-toggle svg, .menu-toggle svg { stroke: ButtonText; }
}
