/* Milestone B extends the approved opening frame; baseline styles.css is retained. */
[hidden]{display:none!important}.enhanced-only{display:none}.js .enhanced-only{display:flex}
.capabilities,.about-section{padding-block:75px}.capabilities .section-heading h2,.lab-section h2,.about-heading h2{font-size:clamp(30px,3.1vw,46px);line-height:1.13;letter-spacing:-.055em;font-weight:400}.capabilities .section-heading{margin-bottom:35px}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.capability-panel{border-top:1px solid #9dc5df66;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#0a121c,#03070c);padding:23px}.capability-panel summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.capability-panel summary::-webkit-details-marker{display:none}.capability-panel summary .service-number{grid-column:1/-1}.capability-panel h3{font-size:21px;line-height:1.25;font-weight:400;letter-spacing:-.04em;margin:0}.capability-panel summary>span:last-child{font-size:22px;color:#b8d6ed;transition:transform .3s}.capability-panel[open] summary>span:last-child{transform:rotate(45deg)}.capability-panel p,.capability-panel li{color:#b6c2ce;font-size:12px;line-height:1.8}.capability-panel ul{padding-left:17px;margin:20px 0 25px}.capability-panel li+li{margin-top:8px}.capability-panel .fine-print{font-size:10px}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:9px;font-weight:700;letter-spacing:.14em;color:#b5d9ef;padding:8px 0;border-bottom:1px solid #96b8cf66}.text-link>span{transition:transform .3s}.text-link:hover>span,.text-link:focus-visible>span{transform:translateX(4px)}summary:focus-visible{outline:2px solid #c3e5ff;outline-offset:8px}
.lab-section{padding-block:65px;border-block:1px solid var(--line);background:radial-gradient(ellipse at 18% 50%,#17324b36,transparent 65%),#050b12}.lab-section .section-heading{margin-bottom:35px}.lab-section .section-heading>p{max-width:390px;font-size:13px}.lab-layout{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid #8eaac94d;background:#050b12a8;box-shadow:0 30px 100px #0005}.lab-intro{padding:38px;border-right:1px solid var(--line);background:linear-gradient(150deg,#15273b55,#020509)}.lab-badge{display:inline-block;padding:6px 10px;border:1px solid var(--line);color:#aacde7;font-size:8px;letter-spacing:.2em}.lab-intro h3{font-size:29px;line-height:1.2;font-weight:400;letter-spacing:-.05em;margin:27px 0 18px}.lab-intro p{font-size:12px;line-height:1.8;color:#b0becc;max-width:310px}.fine-print{font-size:11px;line-height:1.7;color:#a7b9ca}.lab-progress{list-style:none;padding:0;margin:30px 0 25px}.lab-progress li{display:flex;gap:17px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);color:#8298aa;font-size:10px}.lab-progress li span{font-size:13px;letter-spacing:.02em}.lab-progress li[aria-current]{color:#e2f1ff;border-bottom-color:#bddfff;box-shadow:0 12px 20px -20px #bcdfff}.lab-form{padding:32px;min-width:0;min-height:535px;display:flex;flex-direction:column}.lab-form fieldset{border:0;margin:18px 0 0;padding:0;min-width:0}.lab-form legend{font-size:25px;font-weight:400;letter-spacing:-.04em;margin-bottom:23px}.lab-form label{display:block;font-size:11px;font-weight:600;color:#cad9e7;letter-spacing:.025em;margin-bottom:9px}.lab-form input,.lab-form select,.lab-form textarea{font:inherit;accent-color:#a9cbe4}.lab-form select,.lab-form textarea{display:block;width:100%;min-width:0;border:1px solid #8ca7bd68;background:#02070c;color:#eaf2fc;padding:13px;margin-bottom:19px;resize:vertical;border-radius:0;font-size:13px}.lab-form fieldset>p{font-size:12px;line-height:1.8;color:#a7b9ca;max-width:410px}.scope-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:22px 0}.scope-options>span{grid-column:1/-1;font-size:10px;color:#99b0c4;letter-spacing:.1em}.scope-options label{font-size:11px;font-weight:400;display:flex;gap:8px;align-items:center;margin:0}.scope-options input{width:16px;height:16px;flex-shrink:0}.lab-controls{gap:14px;margin-top:auto;padding-top:24px;justify-content:space-between}.lab-controls .button{font-size:9px}.lab-result-actions{display:flex;gap:12px;flex-wrap:wrap}.lab-result-actions .button{font-size:9px;gap:12px;padding:12px 15px}.lab-form #labResult{font-size:12px;line-height:1.7;background:#07101a}.lab-form button:disabled,.brief button:disabled{opacity:.45;cursor:default}.lab-form fieldset:focus-within{border-color:#c2def1}.work{padding-block:55px}.work-placeholder{min-height:185px}.work-placeholder .text-link{flex-shrink:0}.work-placeholder h3{font-size:28px}.process{padding-block:65px}.process>.container{grid-template-columns:.7fr 1.3fr;gap:60px}.process-explorer{min-width:0}.process-controls{display:flex;border-bottom:1px solid #b3ccde50;gap:0}.process-controls button{flex:1;min-width:0;border:0;border-bottom:1px solid transparent;background:none;color:#8fa6b9;padding:12px 10px 20px;text-align:left;font-size:10px;position:relative}.process-controls button span{display:block;font-size:14px;color:#bccbd8;margin-top:7px}.process-controls button[aria-selected=true]{border-color:#d2eaff;color:#e5f3ff;background:linear-gradient(transparent,#aacdef0e)}.process-controls button[aria-selected=true]::after{content:"";position:absolute;bottom:-4px;width:6px;height:6px;border-radius:50%;background:#d2eaff;box-shadow:0 0 14px #a9d4ff70}.process-panel{padding:30px 20px;min-height:240px}.process-panel h3{font-size:27px;line-height:1.2;letter-spacing:-.04em;font-weight:400;margin:14px 0}.process-panel p{font-size:13px;line-height:1.8;color:#a9bac9;max-width:540px}.process-panel .phase-deliverable{border-left:1px solid #b7d6ed70;padding-left:14px;color:#d0deeb;font-size:11px}.about-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:start}.about-heading h2{margin:22px 0}.about-heading h2 em{font-style:normal;color:#a6b6c5}.about-heading>p{color:#b4c2ce;font-size:14px;max-width:440px;line-height:1.8}.about-principles article{padding:25px 0;border-top:1px solid #96b8d14d}.about-principles article:first-child{padding-top:0;border-top:0}.about-principles h3{font-size:21px;font-weight:400;letter-spacing:-.04em;margin:10px 0}.about-principles p{font-size:12px;line-height:1.8;color:#a9bac9;max-width:440px}.contact{border-top:1px solid var(--line);padding-block:60px}.contact h2{font-size:clamp(32px,4vw,52px)}.contact .contact-note{font-size:12px;line-height:1.8;border-left:1px solid var(--line);padding-left:18px;margin:25px 0}.contact-layout{gap:75px}.brief #briefFallback{font-size:11px}.footer{flex-wrap:wrap}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{font-size:10px;color:#adc2d4;padding:7px 0}.footer-links a:hover{color:white}
/* Choreography is limited, interruptible and independent of the approved artwork. */
.js .reveal{transition-delay:var(--reveal-delay,0ms)}.js .section-heading.reveal{transform:translateY(10px)}.js .section-heading.reveal.visible{transform:none}.js .capability-panel.reveal{transform:translateY(10px)}.js .capability-panel.reveal.visible{transform:none}.js .service-card:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.service-card:focus-visible{box-shadow:0 0 0 1px #c3e5ff55,0 10px 30px #0008}.service-card:focus-visible .service-image{transform:scale(1.035) translateY(-2px)}.service-card:hover .service-link .arrow-icon,.service-card:focus-visible .service-link .arrow-icon{transform:translateX(3px)}.service-link .arrow-icon{transition:transform .35s}.hero-actions .button{animation:ctaEnter .8s .45s both}.hero-actions .button:nth-child(2){animation-delay:.58s}@keyframes ctaEnter{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@media(min-width:801px){.hero-foreground{transform:translate3d(var(--foreground-x,0px),var(--foreground-y,0px),0)}}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
@media(max-width:1100px){.capability-grid{gap:12px}.capability-panel{padding:18px}.capability-panel h3{font-size:18px}.lab-intro{padding:26px}.lab-form{padding:26px}.lab-result-actions .button{font-size:8px}.about-section{gap:45px}.footer-links{gap:14px}.process>.container{gap:30px}.work-placeholder .text-link{flex-shrink:1}}
@media(max-width:800px){.capabilities,.about-section{padding-block:45px}.capability-grid{grid-template-columns:1fr}.capability-panel{padding:24px}.capability-panel h3{font-size:23px}.lab-section{padding-block:45px}.lab-layout{grid-template-columns:1fr}.lab-intro{border-right:0;border-bottom:1px solid var(--line);padding:25px}.lab-intro h3{font-size:26px}.lab-intro h3 br{display:none}.lab-intro p{max-width:none}.lab-progress{display:flex;gap:20px;margin:22px 0}.lab-progress li{flex:1;gap:8px}.lab-progress li span{font-size:11px}.lab-form{min-height:510px;padding:25px}.process>.container{display:block}.process-controls button{font-size:10px}.about-section{grid-template-columns:1fr;gap:28px}.about-heading>p{max-width:none}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.about-principles article{padding:0;border:0}.about-principles h3{font-size:18px}.about-principles p{font-size:11px}.work-placeholder{flex-wrap:wrap}.work-placeholder h3{font-size:25px}.contact-layout{gap:30px}.hero-actions .button{animation:none}.js .service-card:hover{transform:none}}
@media(max-width:520px){.capability-panel h3{font-size:21px}.capability-panel{padding:20px}.lab-section .section-heading>p{font-size:12px}.lab-intro,.lab-form{padding:20px}.lab-intro h3{font-size:25px}.lab-progress{gap:12px}.lab-progress li{gap:6px;font-size:8px}.lab-progress li span{font-size:10px}.lab-form legend{font-size:23px}.lab-form{min-height:530px}.scope-options{grid-template-columns:1fr}.lab-result-actions{gap:10px}.lab-result-actions .button{width:100%;font-size:9px}.lab-controls .button{font-size:8px}.process-panel{padding:25px 4px;min-height:270px}.process-panel h3{font-size:25px}.process-controls button{padding-inline:4px}.process-controls button span{font-size:11px}.about-principles{grid-template-columns:1fr;gap:0}.about-principles article{padding:20px 0;border-top:1px solid var(--line)}.about-principles h3{font-size:21px}.about-principles p{font-size:12px}.contact{padding-block:45px}.work .section-heading>p{font-size:12px}.footer-links{flex-basis:100%;order:2;gap:12px 20px}.footer>span{order:3}.work-placeholder h3{font-size:24px}.work-placeholder .eyebrow{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.hero-actions .button{animation:none!important}.js .service-card:hover,.hero-foreground{transform:none!important}.js .section-heading.reveal,.js .capability-panel.reveal{opacity:1;transform:none}.text-link>span,.service-link .arrow-icon{transform:none!important}}
@media(max-width:800px){html:not(.js) .site-nav{position:relative;height:auto;flex-wrap:wrap;background:#020509}html:not(.js) .menu-toggle{display:none}html:not(.js) .nav-links{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:10px 20px;padding:15px 0;background:none}html:not(.js) .nav-links>a{font-size:12px;padding:4px 0}html:not(.js) .nav-links .nav-contact{margin:0;padding:8px 12px}html:not(.js) .lab-controls{display:none}}

/* Keep the keyboard skip link out of tall element captures until it has focus. */
.skip-link{clip-path:inset(50%)}.skip-link:focus{clip-path:none}

/* Issue 13 conversion additions; approved hero styles remain unchanged. */
.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.solution-grid .work-placeholder{display:block;height:auto}.solution-grid h3{margin-top:20px}.solution-grid p{max-width:none}.brief input{display:block;width:100%;background:#080f18;color:#eaf2fc;border:1px solid #526679;padding:14px;font:inherit;margin:10px 0 20px}.brief input:focus-visible{outline:2px solid #b5d9ef;outline-offset:3px}.brief .fine-print a{color:#b5d9ef}.solutions-page{padding-top:60px;padding-bottom:90px}.solutions-page h1{font-family:inherit;font-size:clamp(36px,5vw,70px);line-height:1.1;letter-spacing:-.05em}.solutions-page p{line-height:1.8;color:#b6c2ce}.solutions-page .work-placeholder{margin-block:25px}.solutions-page .button{margin:12px 10px 12px 0}.legal{max-width:820px;padding-block:70px}.legal h1{font-size:40px}.legal p{line-height:1.8;color:#b6c2ce}@media(max-width:800px){.solution-grid{grid-template-columns:minmax(0,1fr)}}

.contact-channels{border-block:1px solid #526679;margin:20px 0;padding:10px 0}.contact-channels p{font-size:12px;line-height:1.8}.contact-channels a{display:inline-block;padding:12px;color:#b5d9ef}.contact-channels strong{display:block}.contact-channels span{overflow-wrap:anywhere}

.solution-preview{display:block;width:100%;height:auto;border:1px solid #526679;margin-block:24px}


/* Contacts: icon-only links, intentionally understated and easy to tap. */
.contact-channels{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0;padding:20px 0;border-block:1px solid rgba(142,169,194,.35)}
.contact-channels .channel-icon-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;height:54px;padding:0;color:#e9f3fb;border:1px solid rgba(171,202,226,.43);background:rgba(28,44,56,.3);border-radius:50%;text-decoration:none;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.contact-channels .channel-icon-link:hover{transform:translateY(-2px);background:rgba(62,84,101,.37);border-color:#d2e5f2;box-shadow:0 0 20px rgba(122,173,212,.16)}
.contact-channels .channel-icon-link:focus-visible{outline:2px solid #e0efff;outline-offset:4px}
.contact-channels .channel-icon-svg{width:26px;height:26px;display:block}
.contact-channels .channel-icon-link>span[hidden]{display:none!important}
@media(max-width:520px){.contact-channels{gap:13px}.contact-channels .channel-icon-link{width:52px;height:52px;flex-basis:52px}}
@media(prefers-reduced-motion:reduce){.contact-channels .channel-icon-link{transition:none!important}.contact-channels .channel-icon-link:hover{transform:none}}


/* Real inquiry workflow: clear, compact fields without changing the approved hero. */
.brief .brief-form-intro{font-size:12px;line-height:1.75;color:#a9bfd2;margin:0 0 20px;max-width:470px}
.brief-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.brief-contact-fields>div{min-width:0}
.brief .brief-contact-fields input{width:100%;min-width:0;margin-bottom:18px}
.brief .brief-consent{display:flex;align-items:flex-start;gap:12px;margin:15px 0 13px;font-size:11px;line-height:1.65;color:#b5c7d7;font-weight:400;letter-spacing:0}
.brief .brief-consent input{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;accent-color:#b5d9ef;cursor:pointer}
.brief .brief-consent span{display:block}
.brief .brief-consent a{color:#d0e9fa;text-underline-offset:3px}
.brief .submit-request{width:100%;justify-content:space-between;min-height:51px;margin-top:16px}
.brief .submit-request:disabled{cursor:not-allowed;opacity:.6}
.brief .form-send-status{min-height:24px;margin:12px 0 18px}
.brief .form-send-status[data-state="success"]{color:#b8dfcc}
.brief .form-send-status[data-state="error"]{color:#f1c3b8}
.brief .field-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:520px){.brief-contact-fields{grid-template-columns:1fr;gap:0}.brief .submit-request{min-height:53px}}


/* Footer: understated standalone contact icons, matching Contact without oversized cards. */
.footer .footer-social{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;flex-wrap:nowrap}
.footer .footer-social-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 43px;width:43px;height:43px;min-width:43px;min-height:43px;padding:0;color:#dbe9f3;border:1px solid rgba(160,193,220,.34);border-radius:50%;background:rgba(42,66,83,.2);text-decoration:none;transition:color .24s ease,border-color .24s ease,background .24s ease,transform .24s ease}
.footer .footer-social-link:hover{color:#fff;border-color:rgba(207,230,246,.8);background:rgba(102,148,174,.18);transform:translateY(-2px)}
.footer .footer-social-link:focus-visible{outline:2px solid #d6e8f5;outline-offset:4px}
.footer .footer-social-svg{display:block;width:21px;height:21px}
@media(max-width:800px){.footer .footer-social{gap:11px}}
@media(prefers-reduced-motion:reduce){.footer .footer-social-link{transition:none!important}.footer .footer-social-link:hover{transform:none}}

@media(max-width:520px){.footer .footer-social{order:3}.footer>span{order:4}}
