/* Independent visual proposal; original application and calculations stay intact. */
:root { --bg:#02070d; --panel:#07111c; --ink:#edf3fb; --muted:#8fa6bf; --accent:#77c8ff; --line:#1b3045; --red:#77c8ff; --portfolio-text-font:Corbel,Arial,sans-serif; --technical-label-font:600 clamp(9.75px,.8625vw,12.75px)/1.5 monospace; --technical-label-color:#82b8de; }
body.brand-preview { background-color:#02070d; background-image:radial-gradient(ellipse at 65% 16%,#10305066,transparent 50%),linear-gradient(#4189c206 1px,transparent 1px),linear-gradient(90deg,#4189c206 1px,transparent 1px); background-size:auto,72px 72px,72px 72px; color:#edf3fb;font-family:var(--portfolio-text-font); }
/* Plain controls use Corbel; explicit technical font rules take precedence. */
:where(body.brand-preview) :where(button,input,select,textarea) { font-family:var(--portfolio-text-font); }
.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; }
body.brand-preview .site-header { max-width:1440px;min-height:102px;padding:22px 46px;gap:26px;border-color:#1b3045;background:transparent; }
/* Secondary-page particles are clipped to the header, behind its links and logo. */
body.brand-preview .site-header.header-atmosphere { position:relative;isolation:isolate;overflow:hidden; }
.header-particles { position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.84;pointer-events:none; }
body.brand-preview .header-atmosphere>.brand-signature,body.brand-preview .header-atmosphere>nav { position:relative;z-index:1; }
.brand-signature { display:flex;align-items:center;flex:0 0 auto;width:auto;min-height:80px;gap:0;background:none; }
.hybrid-wordmark { position:relative;z-index:1;min-width:260px;padding:12px 24px 12px 0;text-align:right; }
.hybrid-name { display:block;font:normal 700 22px/1.4 Corbel,Arial,sans-serif;letter-spacing:.6px;white-space:nowrap;color:#e9f1fb; }
.hybrid-name strong { font-weight:700; }
.hybrid-name .logo-initial { --initial-height:var(--logo-preview-initial-scale,1.15);--initial-width:var(--logo-preview-initial-width,.925);--initial-advance:var(--logo-initial-m-advance,.826171875);display:inline-block;font-size:calc(1em * var(--initial-height));line-height:0;vertical-align:baseline;transform:scaleX(calc(var(--initial-width) / var(--initial-height)));transform-origin:left center;margin-right:calc((1em * var(--initial-advance) + .6px) * (var(--initial-width) / var(--initial-height) - 1)); }
.hybrid-name strong .logo-initial { --initial-advance:var(--logo-initial-c-advance,.58447265625); }
.hybrid-subtitle { display:block;margin-top:8px;padding-top:8px;border-top:1px solid #36516b;font:11.5px/1.5 monospace;letter-spacing:.75px;white-space:nowrap;color:#a4cce9; }
.hybrid-orbit { position:relative;display:grid;place-items:center;flex:none;width:88px;height:88px;border:1px solid #7db9e4;border-radius:50%;background:radial-gradient(circle,#102b40,#030b13 78%);box-shadow:0 0 0 4px #73bbff09,0 0 24px #73bbff12; }
.hybrid-orbit:after { content:"";position:absolute;inset:-5px;border:1px solid transparent;border-right-color:#aa4c57;border-bottom-color:#426993;border-radius:50%;transform:rotate(-25deg);pointer-events:none; }
.hybrid-eagle { display:block;width:76px;height:76px;overflow:visible; }
.brand-signature:hover .hybrid-orbit { border-color:#b3dcf7;box-shadow:0 0 0 4px #73bbff12,0 0 28px #73bbff25; }
@media(max-width:750px) { .hybrid-wordmark { min-width:230px;padding-right:18px; }.hybrid-name { font-size:20px; }.hybrid-subtitle { font-size:10.35px;letter-spacing:.55px; }.hybrid-orbit { width:76px;height:76px; }.hybrid-eagle { width:64px;height:64px; } }
@media(max-width:380px) { .hybrid-wordmark { min-width:198px;padding-right:16px; }.hybrid-name { font-size:18px; }.hybrid-subtitle { font-size:9.2px;letter-spacing:.45px; }.hybrid-orbit { width:70px;height:70px; }.hybrid-eagle { width:60px;height:60px; } }
/* Original feather details and a dense blue particle field, only on Home. */
body.brand-home-page { isolation:isolate; }
.home-particles { position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:.84;pointer-events:none; }
.home-pointer-light { position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle 280px at var(--pointer-x,-400px) var(--pointer-y,-400px),#83d0ff24 0%,#349eec18 23%,#167fc20a 50%,transparent 78%);transition:opacity .3s ease-out; }
.home-pointer-light.active { opacity:1; }
@media(hover:none) { .home-pointer-light { display:none; } }
@media(prefers-reduced-motion:reduce) { .home-pointer-light { transition:none; } }
body.brand-home-page :is(.site-header,main,.brand-footer) { position:relative;z-index:1; }
.home-feather { display:block;position:absolute;pointer-events:none; }
body.brand-home-page .identity-copy { position:relative;isolation:isolate; }
.home-feather-copy { width:185px;height:215px;right:-8px;top:-35px;transform:rotate(12deg);opacity:.09;z-index:-1; }
body.brand-home-page .identity-routes a { position:relative;overflow:hidden; }
.home-feather-card { width:128px;height:150px;right:-12px;bottom:-19px;transform:rotate(-15deg);opacity:.14;z-index:0; }
body.brand-home-page .identity-routes a :is(.route-index,strong,p) { position:relative;z-index:1; }
@media(max-width:750px) { .home-feather-copy { width:150px;height:180px;top:-10px;right:0;opacity:.065; } }
body.brand-preview nav { gap:23px;font-size:21px;color:#98abc1;align-items:center; }
body.brand-preview nav a { padding:9px 0;border-bottom:1px solid transparent;letter-spacing:.15px; }
body.brand-preview nav a:hover,body.brand-preview nav a[aria-current] { color:#d9efff;border-color:#64beff;text-shadow:0 0 15px #58baff66; }
.preview-indicator { white-space:nowrap;font:9px monospace;color:#9aaec2;letter-spacing:1px; }
.preview-indicator i,.identity-status i { display:inline-block;width:5px;height:5px;border-radius:50%;background:#73e7b0;box-shadow:0 0 9px #73e7b088;margin-right:7px;vertical-align:middle; }
body.brand-preview main { max-width:1440px; }
.home-view-switcher,.page-view-heading { margin:12px 46px 0;display:flex;align-items:center;justify-content:flex-end;gap:20px; }
body.brand-preview main>:is(.home-view-switcher,.page-view-heading) { margin-top:12px; }
.home-view-switcher>div { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 30px;padding:10px 0; }
body.brand-preview .home-view-switcher button { position:relative;display:inline-flex;align-items:center;gap:12px;min-height:40px;border:0;border-radius:0;color:var(--technical-label-color);background:transparent;box-shadow:none;font:var(--technical-label-font);letter-spacing:1.2px;text-transform:uppercase;padding:9px 0;cursor:pointer;white-space:nowrap;transition:color .22s,text-shadow .22s; }
body.brand-preview .home-view-switcher button::before { content:"";width:22px;height:1px;background:currentColor;flex:none; }
body.brand-preview .home-view-switcher button::after { content:"";position:absolute;left:34px;right:0;bottom:0;height:2px;background:#64beff;transform:scaleX(0);transform-origin:left;transition:transform .22s; }
body.brand-preview .home-view-switcher button[aria-selected=true] { color:#d9efff;text-shadow:0 0 15px #58baff44; }
body.brand-preview .home-view-switcher button[aria-selected=true]::after { transform:scaleX(1); }
body.brand-preview .home-view-switcher button:hover,body.brand-preview .home-view-switcher button:focus-visible { color:#d9efff;text-shadow:0 0 15px #58baff66; }
@media(prefers-reduced-motion:reduce) { body.brand-preview .home-view-switcher button,body.brand-preview .home-view-switcher button::after { transition:none; } }
.home-view-switcher button:focus-visible { outline:2px solid #77c8ff;outline-offset:4px; }
.page-view-heading { padding:10px 0; }
body.brand-preview .page-view-heading .page-view-label { position:relative;display:inline-flex;align-items:center;gap:12px;min-height:40px;max-width:100%;margin:0;padding:9px 0;background:transparent;border:0;box-shadow:none;font:var(--technical-label-font);letter-spacing:1.2px;text-transform:uppercase;text-align:right;color:#d9efff;text-shadow:0 0 15px #58baff44; }
.page-view-label::before { content:"";width:22px;height:1px;background:currentColor;flex:none; }
.page-view-label::after { content:"";position:absolute;left:34px;right:0;bottom:0;height:2px;background:#64beff; }
/* A visible white pulse marks only the current section. */
body.brand-preview .home-view-switcher button[aria-selected=true],body.brand-preview .page-view-heading .page-view-label { animation:active-section-pulse 3.2s ease-in-out infinite; }
@keyframes active-section-pulse { 0%,20%,100% { color:#a7c9e3;text-shadow:0 0 8px #58baff22; }48%,58% { color:#ffffff;text-shadow:0 0 5px #ffffffaa,0 0 14px #ffffff66,0 0 26px #a9dcff55; } }
body.brand-entry-active .home-view-switcher button[aria-selected=true] { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) { body.brand-preview .home-view-switcher button[aria-selected=true],body.brand-preview .page-view-heading .page-view-label { animation:none; } }
body.brand-preview section.brand-overview { padding:0 46px 24px;border:0; }
.identity-hero { display:block;padding:32px 0 48px; }
.identity-copy h1 { font-size:clamp(36px,3.5vw,54px);line-height:1.13;font-weight:500;letter-spacing:-2px;margin:0 0 24px;color:#edf5ff; }
.identity-copy h1 em { background:linear-gradient(95deg,#daeaff,#6eb7e9);background-clip:text;-webkit-background-clip:text;color:transparent; }
.identity-lead { font-size:15px;line-height:1.85;max-width:440px;color:#91a8c0; }
/* Open visual area beside the Home introduction. */
.identity-intro { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px; }
.identity-intro .identity-lead { margin-bottom:0; }
.identity-media-slot { position:relative;justify-self:end;width:100%;max-width:520px;min-height:160px;aspect-ratio:16/5;background:transparent;pointer-events:none; }
.identity-media-slot::before,.identity-media-slot::after { content:"";position:absolute;width:34px;height:34px;border-color:#77c8ff55;border-style:solid;filter:drop-shadow(0 0 6px #70caff33); }
.identity-media-slot::before { left:0;top:0;border-width:1px 0 0 1px; }
.identity-media-slot::after { right:0;bottom:0;border-width:0 1px 1px 0; }
@media(max-width:750px) { .identity-intro { grid-template-columns:1fr;gap:24px; }.identity-media-slot { justify-self:center;min-height:120px; } }
.identity-actions { display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:18px 64px;align-items:center;margin:40.5px 0 45px; }
.identity-primary,.identity-secondary { display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:18px;line-height:1.5;padding:13px 0;border:0;color:#c7e7ff;background:transparent;cursor:pointer;transition:color .2s,text-shadow .2s; }
.identity-actions :is(.identity-primary,.identity-secondary):is(:hover,:focus-visible) { color:#edf8ff;text-shadow:0 0 16px #87d4ff99,0 0 30px #64beff55; }
.identity-primary:focus-visible,.identity-secondary:focus-visible { outline:2px solid #77c8ff;outline-offset:4px; }
.identity-capabilities { display:flex;justify-content:center;text-align:center;gap:10px;flex-wrap:wrap;font:12px/1.7 monospace;letter-spacing:.4px;color:#6b90ae; }
.identity-capabilities>.capability-label { border-right:1px solid #2a4359;padding-right:10px;white-space:nowrap; }
.identity-capabilities>.capability-label:last-child { border:0; }
.capability-letters { display:inline-flex; }
.capability-letter { display:inline-block;white-space:pre;color:#6b90ae;animation:capability-glint 10s linear infinite;animation-delay:calc(var(--letter-index) * .12s - 10s); }
@keyframes capability-glint { 0%,4.8%,100% { color:#6b90ae;text-shadow:none; }1.2%,3.6% { color:#a9dfff;text-shadow:0 0 5px #70caff66; }2.4% { color:#f1fcff;text-shadow:0 0 6px #c8efff,0 0 14px #70caffb3; } }
body.brand-entry-active .capability-letter,.brand-overview[hidden] .capability-letter { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) { .capability-letter { animation:none; } }
.identity-visual { position:relative;width:100%;max-width:840px;margin:8px auto 0;background:radial-gradient(ellipse at center,#0a1f32,#02080e 76%);border:1px solid #1e3d55;box-shadow:0 0 65px #1784c514,inset 0 0 50px #03111e; }
.identity-visual:before,.identity-visual:after { content:'';position:absolute;width:16px;height:16px;pointer-events:none;z-index:1; }
.identity-visual:before { top:-1px;left:-1px;border-top:1px solid #78c6f1;border-left:1px solid #78c6f1; }
.identity-visual:after { bottom:-1px;right:-1px;border-bottom:1px solid #78c6f1;border-right:1px solid #78c6f1; }
.identity-visual-top,.identity-visual-bottom { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px;font:8px monospace;letter-spacing:1.3px;color:#789bb7; }
.identity-visual-top { border-bottom:1px solid #152a3d;flex-wrap:wrap;line-height:1.8; }
.identity-status { font-size:7px;letter-spacing:.6px;color:#89adbb; }
.brand-artwork { position:relative;width:100%;aspect-ratio:2.15;overflow:hidden; }
.brand-artwork img { position:absolute;max-width:none;width:140%;height:auto;left:-20%;top:-9%;display:block; }
.identity-visual-bottom { border-top:1px solid #152a3d;font-size:clamp(12px,1.05vw,15px);letter-spacing:1.2px;justify-content:center;text-align:center;line-height:1.8;color:#a8c6de; }
body.brand-preview .identity-visual-top,body.brand-preview .identity-status,body.brand-preview .identity-visual-bottom { font-size:clamp(12px,1.05vw,15px); }
.identity-routes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px;padding-bottom:36px; }
.identity-routes a { padding:24px 23px;background:linear-gradient(135deg,#0a1928cc,#040b12cc);border:1px solid #1b3045;transition:border-color .2s,background .2s; }
.identity-routes a:hover { border-color:#5185a7;background:#0c2133; }
.route-index { display:block;font:600 clamp(13px,1.15vw,16px)/1.5 monospace;letter-spacing:1.3px;color:#6099c0;margin-bottom:14px; }
.identity-routes strong { display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:17px;font-weight:500;color:#e1ecf8; }
.identity-routes .route-arrow { width:52px;height:32px;flex:none;color:#8fc8ec;transition:color .2s,filter .2s; }
.identity-routes a:is(:hover,:focus-visible) .route-arrow { color:#d4efff;filter:drop-shadow(0 0 6px #77c8ff66); }
.identity-routes p { font-size:12px;color:#7791aa;margin:11px 0 0; }
body.brand-preview .brand-footer { max-width:1440px;margin:auto;padding:28px 46px;gap:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-color:#1b3045;font:12px/1.8 monospace;letter-spacing:1px;color:#89a6bd; }
.brand-footer>b,.brand-footer span b { color:#4a89b4;margin:0 10px;font-weight:400; }
.brand-footer a { color:#80a4bd; }
.brand-footer .footer-contact { display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px/1.5 var(--portfolio-text-font);letter-spacing:.25px;color:#b9ddf5; }
.brand-footer .footer-invitation { display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0;font:400 16px/1.5 var(--portfolio-text-font);letter-spacing:.25px;color:#a7c8df; }
.brand-footer .footer-invitation .footer-contact { align-self:stretch;border-top:1px solid #406b88;padding-top:8px; }
.brand-footer .footer-contact:hover { color:#e1f3ff;text-shadow:0 0 12px #77c8ff55; }
.brand-footer .footer-copyright { font:12px/1.6 var(--portfolio-text-font);letter-spacing:.3px;color:#7895ad; }
.preview-footer-note { color:#547691; }
/* Keep the near-black work consoles distinct from green image data. */
body.brand-preview .hud-home { background:transparent;padding:25px 46px 32px; }
body.brand-preview .hud-home[hidden],body.brand-preview .brand-overview[hidden] { display:none!important; }
body.brand-preview .workspace-heading .eyebrow { color:#79b7e1;font-size:11px; }
body.brand-preview .workspace-heading>p:last-child { color:#7697b0;font-size:10px; }
body.brand-preview .hud-home .vision-lab { border-color:#24485e;box-shadow:0 16px 65px #0007;background:#02070c; }
body.brand-preview .hud-home .hud-bar { background:#06131f;color:#8cbbd9;border-color:#1e3b4d; }
body.brand-preview .platform-tabs,body.brand-preview .hud-home .hud-tools,body.brand-preview .hud-home .tool-result { background:#02090f;border-color:#1d3444; }
body.brand-preview .platform-tabs button { border-color:#254457;background:#06131e;color:#8facc2; }
body.brand-preview .platform-tabs button[aria-selected=true] { background:#12334b;color:#d7edff;border-color:#67bdf3;box-shadow:inset 0 -2px #67bdf3; }
body.brand-preview .platform-tabs button:hover { background:#112a3d;border-color:#4b86ab; }
body.brand-preview .hud-home .hud-tools button { border-color:#264658;background:#06131d;color:#a4bed2; }
body.brand-preview .hud-home .hud-tools button[aria-pressed=true],body.brand-preview .hud-home .hud-tools button:hover { background:#103044;border-color:#61b9f0;color:#d1edff;box-shadow:0 0 15px #4599dc12; }
body.brand-preview .hud-home .hud-tools button:before { background:#78c8fa; }
body.brand-preview .hud-home .tool-name { color:#75b7e1; }
body.brand-preview .hud-home .tool-value { color:#deeeff; }
body.brand-preview .hud-home .tool-description { color:#8ba4b8; }
body.brand-preview .hud-home .tool-result:after { border-color:#1e3748;color:#64a1c9; }
body.brand-preview .image-metadata,body.brand-preview .scene-selector,body.brand-preview .lab-controls { background:#030c13;border-color:#1e3748; }
body.brand-preview .lab-controls-grid>div { border-color:#1e3748; }
/* Secondary pages carry the same metallic-blue identity. */
body.brand-preview :is(#about,#projects,#experience,#expertise,#contact) { --ink:#edf3fb;--muted:#8fa6bf;--line:#1b3045;--accent:#77c8ff;background:transparent;color:#edf3fb; }
body.brand-preview #projects .case,body.brand-preview article { background:#081522;border-color:#213d52;box-shadow:none; }
body.brand-preview .note,body.brand-preview #projects .tag { border-color:#31566f; }
/* About: a photo viewer beside the biography and a five-frame film rail. */
body.brand-preview :is(.about-view-heading,.compact-view-heading) { justify-content:space-between;align-items:center;gap:24px; }
body.brand-preview :is(.about-view-heading,.compact-view-heading) :is(.about-page-title,.compact-page-title) { flex:1;min-width:0;margin:0;font:500 clamp(22px,2vw,30px)/1.35 var(--portfolio-text-font);letter-spacing:-.5px;color:#edf3fb; }
:is(.about-page-title,.compact-page-title) :is(.about-title-pipe,.page-title-pipe) { margin:0 .25em;font-size:.8em;font-weight:400;color:#6aa8d0; }
:is(.about-page-title,.compact-page-title) :is(.about-title-subtitle,.page-title-subtitle) { font-size:.8em;letter-spacing:0;color:#d9e9f6; }
.compact-page-title em.page-title-subtitle { color:#77c8ff;font-style:normal; }
body.brand-preview :is(.about-view-heading,.compact-view-heading) .page-view-label { flex:none;margin-left:auto;white-space:nowrap; }
body.brand-preview .compact-view-heading>[role=tablist] { flex:0 1 auto;max-width:100%;margin-left:auto; }
.home-view-switcher .compact-page-title[hidden] { display:none!important; }
body.brand-preview #about .split { max-width:1120px;margin-inline:auto;gap:40px;align-items:center; }
body.brand-preview #about .about-copy>p { font-size:20px; }
body.brand-preview #about .about-copy>p:first-child { text-align:center;margin-bottom:3.3em; }
body.brand-preview #about .about-copy>p.note { font-size:16.25px; }
body.brand-preview #about .about-copy>p:last-child { margin-bottom:0; }
body.brand-preview #about .about-copy { align-self:center;min-width:0; }
body.brand-preview #about .about-visual { min-width:0; }
.about-photo-display { margin:0;border:1px solid #31566f;background:#02080e;box-shadow:0 0 32px #55b9ff0b; }
.about-photo-screen { position:relative;aspect-ratio:3/2;background:radial-gradient(ellipse at center,#0c2435,#02080e);overflow:hidden; }
.about-photo-screen img { display:block;width:100%;height:100%;object-fit:contain;transition:opacity .18s; }
.about-photo-screen::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#9de1ff,#9de1ff) left top/23px 1px no-repeat,linear-gradient(#9de1ff,#9de1ff) left top/1px 23px no-repeat,linear-gradient(#9de1ff,#9de1ff) right bottom/23px 1px no-repeat,linear-gradient(#9de1ff,#9de1ff) right bottom/1px 23px no-repeat; }
.about-photo-display figcaption { display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #294458;font:11px/1.5 monospace;letter-spacing:.6px;color:#9bc7e3; }
.about-photo-display figcaption>[data-display-title] { align-self:center;min-width:0; }
.about-photo-tools { display:flex;align-items:center;gap:12px;flex:none; }
.photo-magnifier-toggle { display:grid;place-items:center;flex:none;width:32px;height:32px;padding:6px;border:1px solid #426c89;border-radius:0;background:radial-gradient(circle,#173d5666,#06111c);color:#a9dfff;cursor:pointer;box-shadow:0 0 12px #70caff18;transition:color .2s,border-color .2s,box-shadow .2s; }
.photo-magnifier-toggle svg { width:20px;height:20px;filter:drop-shadow(0 0 4px #70caff66); }
.photo-magnifier-toggle:is(:hover,:focus-visible),.photo-magnifier-toggle[aria-pressed=true] { color:#fff;border-color:#d8f2ff;box-shadow:0 0 16px #70caff55; }
.photo-magnifier-toggle:focus-visible,.photo-magnifier :is(button):focus-visible { outline:2px solid #d8f2ff;outline-offset:3px; }
.photo-magnifier-toggle[hidden],.photo-magnifier[hidden],.photo-magnifier-region[hidden] { display:none!important; }
.about-photo-screen[data-magnifier-active=true] { cursor:crosshair;touch-action:none; }
.about-photo-screen:focus-visible { outline:2px solid #d8f2ff;outline-offset:-3px; }
.photo-magnifier-region { position:absolute;z-index:2;pointer-events:none;border:1px solid #a9dfff;background:#70caff0b;box-shadow:0 0 10px #70caff55,inset 0 0 10px #70caff22;animation:film-selected-pulse 3.2s ease-in-out infinite; }
.photo-magnifier-region::before,.photo-magnifier-region::after { content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#d8f2ff99; }
.photo-magnifier-region::before { width:14px;height:1px; }
.photo-magnifier-region::after { width:1px;height:14px; }
.photo-magnifier { position:fixed;z-index:80;left:12px;top:12px;width:min(400px,calc(100vw - 24px));border:1px solid #77c8ff;background:#02080e;box-shadow:0 12px 42px #0009,0 0 24px #70caff33;color:#d8f2ff; }
.photo-magnifier-bar { display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #31566f;background:linear-gradient(110deg,#12344b,#06121e); }
.photo-magnifier-handle { display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:38px;padding:8px 12px;border:0;background:transparent;color:#b9ddf5;font:11px/1.5 monospace;letter-spacing:1px;text-align:left;cursor:grab;touch-action:none;user-select:none; }
.photo-magnifier-handle>span { font-size:18px;color:#77c8ff; }
.photo-magnifier[data-dragging=true] .photo-magnifier-handle { cursor:grabbing; }
.photo-magnifier-close { display:grid;place-items:center;width:36px;height:36px;flex:none;margin-right:2px;padding:7px;border:0;background:transparent;color:#9bc7e3;cursor:pointer; }
.photo-magnifier-close svg { width:20px;height:20px; }
.photo-magnifier-close:hover { color:#fff;filter:drop-shadow(0 0 5px #70caff88); }
.photo-magnifier-crop { position:relative;width:100%;aspect-ratio:3/2;max-height:calc(100dvh - 100px);overflow:hidden;background:#02080e; }
.photo-magnifier .photo-magnifier-crop img { position:absolute;left:0;top:0;display:block;max-width:none;object-fit:fill;transition:none;pointer-events:none;opacity:1; }
.photo-magnifier-help { padding:7px 10px;border-top:1px solid #294458;font:11px/1.5 var(--portfolio-text-font);letter-spacing:.25px;color:#89afca;text-align:center; }
@media(prefers-reduced-motion:reduce) { .photo-magnifier-region { animation:none; }.photo-magnifier-toggle { transition:none; } }
.about-photo-display[data-loading=true] #about-selected-photo { opacity:.45; }
.about-photo-display.is-revealing #about-selected-photo { animation:about-photo-reveal .4s ease-out; }
@keyframes about-photo-reveal { from { opacity:.35; }to { opacity:1; } }
body.brand-preview #about .about-film { margin:40px 0 0; }
.about-film .film-heading { margin:0 0 16px;font:var(--technical-label-font);letter-spacing:1.2px;color:var(--technical-label-color); }
.about-film[data-gallery-ready] .film-controls { display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center; }
.about-film .film-scroll { overflow-x:auto;scrollbar-width:thin;scrollbar-color:#31566f #02060a; }
.about-film .film-track { position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:29px 16px 27px;background:#02060a;border-block:1px solid #294458; }
.about-film .film-track::before,.about-film .film-track::after { content:"";position:absolute;left:16px;right:16px;height:8px;background:repeating-linear-gradient(90deg,#71899a66 0 12px,transparent 12px 26px);pointer-events:none; }
.about-film .film-track::before { top:8px; }
.about-film .film-track::after { bottom:8px; }
.about-film .film-frame { position:relative;min-width:0;padding:0;border:0;background:transparent;cursor:pointer; }
.about-film .film-frame[hidden] { display:none!important; }
.about-film .film-frame img { display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid #294458; }
.about-film .film-frame::after { content:"";position:absolute;inset:-4px;border:1px solid #76c8ff;opacity:0;pointer-events:none;transition:opacity .2s; }
.about-film .film-frame:hover::after { opacity:.65; }
.about-film .film-frame[aria-pressed=true]::after { opacity:1;animation:film-selected-pulse 3.2s ease-in-out infinite; }
.about-film .film-frame:focus-visible { outline:2px solid #d8f2ff;outline-offset:7px; }
.about-film .film-frame-number { position:absolute;left:8px;bottom:6px;color:#e0edf5;font:10px/1.4 monospace;letter-spacing:1px;text-shadow:0 1px 5px #000; }
.about-film .film-nav { position:relative;display:grid;place-items:center;width:44px;height:84px;padding:0;border:1px solid #3a6785;background:radial-gradient(ellipse at center,#173e5766,#06111cbf);color:#a9dfff;cursor:pointer;box-shadow:0 0 18px #70caff16,inset 0 0 14px #70caff0e;transition:border-color .2s,color .2s,box-shadow .2s; }
.about-film .film-nav[hidden] { display:none; }
.about-film .film-nav::after { content:"";position:absolute;inset:5px;border-block:1px solid #7fcfff4d;pointer-events:none; }
.about-film .film-nav svg { width:28px;height:28px;filter:drop-shadow(0 0 5px #70caff88);transition:transform .2s,filter .2s; }
.about-film .film-nav:is(:hover,:focus-visible) { color:#fff;border-color:#c1eeff;box-shadow:0 0 24px #70caff55,inset 0 0 14px #70caff18; }
.about-film .film-nav:focus-visible { outline:2px solid #d8f2ff;outline-offset:5px; }
.about-film .film-previous:hover svg { transform:translateX(-2px); }
.about-film .film-next:hover svg { transform:translateX(2px); }
.about-film .film-nav:is(:hover,:focus-visible) svg { filter:drop-shadow(0 0 8px #c1eeff); }
@keyframes film-selected-pulse { 0%,20%,100% { border-color:#76c8ff;box-shadow:0 0 8px #58baff33; }48%,58% { border-color:#fff;box-shadow:0 0 5px #ffffffaa,0 0 14px #ffffff66,0 0 24px #a9dcff55; } }
body.brand-preview #about .film-caption { margin:12px 0 0;font-size:14px;color:#7895ad; }
@media(max-width:900px) { .about-film .film-track { grid-template-columns:repeat(5,180px);width:max-content; }.about-film .film-scroll { scroll-snap-type:x proximity;scroll-padding-inline:16px; }.about-film .film-frame { scroll-snap-align:start; } }
@media(max-width:650px) { body.brand-preview :is(.about-view-heading,.compact-view-heading) { flex-wrap:wrap;row-gap:10px; }body.brand-preview :is(.about-view-heading,.compact-view-heading) :is(.about-page-title,.compact-page-title) { flex-basis:100%;order:1; }body.brand-preview #about .split { gap:24px; }body.brand-preview #about .about-film { margin-top:36px; }.about-film[data-gallery-ready] .film-controls { grid-template-columns:34px minmax(0,1fr) 34px;gap:6px; }.about-film .film-nav { width:34px;height:72px; } }
@media(prefers-reduced-motion:reduce) { .about-film .film-frame[aria-pressed=true]::after { animation:none;border-color:#d8f2ff;box-shadow:0 0 10px #a9dcff55; }.about-photo-display.is-revealing img { animation:none; }.about-photo-screen img,.about-film .film-frame::after,.about-film .film-nav,.about-film .film-nav svg { transition:none; } }
body.brand-preview .number,body.brand-preview .eyebrow { color:#70b7e5; }
body.brand-preview .timeline .dot { background:#69b8ec; }
body.brand-preview .contact { background:radial-gradient(ellipse at right,#112e46aa,transparent 65%); }
body.brand-preview .button { background:linear-gradient(125deg,#234e70,#12344f);border:1px solid #4b83a9;color:#e3f0fc; }
body.brand-preview .button:hover { background:#234f70;box-shadow:0 0 25px #62b7f122; }
body.brand-preview main>section:not(.brand-overview):not(.hud-home) { padding-top:32px; }
@media(max-width:750px) { body.brand-preview main>section:not(.brand-overview):not(.hud-home) { padding-top:24px; } }
/* Engineering tools: blue navigation + green analytical data. */
body.brand-preview #tools .section-heading h2 { font-size:clamp(30px,3vw,42px);letter-spacing:-1px; }
body.brand-preview #tools .tools-b-workspace { border-color:#26485f;background:#030b11; }
body.brand-preview #tools .tools-b-selectors { background:#050f19;border-color:#1e394c;gap:9px;padding:12px; }
body.brand-preview #tools .tools-b-selectors button { background:#071725;color:#afcee6;border-color:#24465f;position:relative;transition:border-color .2s,box-shadow .2s; }
body.brand-preview #tools .tools-b-selectors button strong { font:13px/1.7 monospace; }
body.brand-preview #tools .tools-b-selectors button span { color:#668eac;font-size:10px; }
body.brand-preview #tools .tools-b-selectors button[aria-selected=true] { background:linear-gradient(115deg,#143750,#0c2234);border-color:#67bdf3;box-shadow:inset 0 -2px #69c2fb; }
body.brand-preview #tools .tools-b-selectors button:hover { border-color:#77c8ff;box-shadow:0 0 20px #519ee51a; }
body.brand-preview #tools .tools-b-viewport { scrollbar-color:#2d5c7a #030a10;background:#030a10; }
body.brand-preview #tools :is(.lens-gadget,.cycle-lab) { background:#020a10;border-color:#244459; }
body.brand-preview #tools .lens-title { background:#071724;border-color:#244459;color:#7ec9f7;font-size:10px; }
body.brand-preview #tools .optics-tabs { background:#030d16;border-color:#244459; }
body.brand-preview #tools .optics-tabs button { color:#95bad5;border-color:#284c66;background:#081c2a; }
body.brand-preview #tools .optics-tabs button[aria-selected=true] { background:#153d59;border-color:#6ebeea;color:#e0f1ff; }
body.brand-preview #tools :is(.lens-display,.specific-settings,#lens-form,.cycle-inputs,.cycle-display,.cycle-results,.process-display) { background:#020a10;border-color:#203e52; }
body.brand-preview #tools :is(.lens-assumptions,.cycle-assumptions,.advanced-optics,.panel-heading) { border-color:#244459; }
body.brand-preview #tools :is(label,input,select) { color:#b6d5eb; }
body.brand-preview #tools :is(input,select) { background:#081a26;border-color:#29516d; }
body.brand-preview #tools :is(button:not([role=tab]),.camera-brand-button) { border-color:#356c8f; }
body.brand-preview #tools :is(.cycle-lab button,#lens-form button,.camera-brand-button) { background:#102d40;color:#bbdcf4; }
body.brand-preview #tools :is(#lens-results>div,.cycle-results>div) { background:#061622;border-color:#26485f;box-shadow:none; }
body.brand-preview #tools :is(#lens-results span,.cycle-results span) { color:#89b5d4; }
body.brand-preview #tools :is(#lens-results strong,.cycle-results strong) { color:#c9e8ff; }
body.brand-preview #tools .panel-heading .eyebrow { color:#72b8e5; }
body.brand-preview #tools :is(.lens-schematic,.cycle-playback,.cycle-inputs p,.cycle-assumptions p) { color:#7296ae; }
body.brand-preview .camera-model-popup { background:#04121e;border-color:#5daddd;color:#c6e4fb; }
body.brand-preview .camera-model-tile { background:#0a2539;border-color:#294f67; }
body.brand-preview .camera-model-tile span { color:#82abc8; }
@media(min-width:1450px) { .identity-copy h1 { font-size:58px; } }
@media(max-width:1150px) { body.brand-preview .site-header { flex-wrap:wrap;gap:12px 24px;padding:20px 30px; }.preview-indicator { margin-left:auto; }body.brand-preview nav { order:3;flex:1 1 100%;justify-content:space-between;gap:15px; }.home-view-switcher,.page-view-heading { margin:20px 30px 0; }body.brand-preview section.brand-overview { padding:0 30px 20px; }.identity-hero { padding:35px 0 52.5px; }.identity-copy h1 { font-size:38px; }.identity-visual-top { font-size:7px;padding:14px 12px; }.identity-status { font-size:6px; }.identity-actions { gap:18px 48px; }.identity-routes { gap:18px; }.identity-routes a { padding:20px 16px; }.identity-routes strong { font-size:15px; }body.brand-preview .hud-home { padding:24px 30px; } }
@media(max-width:750px) { body.brand-preview .site-header { padding:18px 20px; }.preview-indicator { display:none; }.preview-indicator { font-size:7px;letter-spacing:.4px; }body.brand-preview nav { flex-wrap:wrap;justify-content:flex-start;gap:5px 20px;font-size:19.25px; }.home-view-switcher,.page-view-heading { margin:12px 20px 0; }.home-view-switcher>div { gap:24px; }.home-view-switcher button { font-size:10px;letter-spacing:.4px; }body.brand-preview section.brand-overview { padding:0 20px 18px; }.identity-hero { padding:30px 0 45px; }.identity-copy h1 { font-size:40px;letter-spacing:-1.6px; }.identity-lead { font-size:14px;max-width:540px; }.identity-actions { margin:36px 0;gap:18px 40px; }.identity-primary,.identity-secondary { font-size:16.5px;padding:12px 0; }.identity-capabilities { font-size:10.5px;gap:8px; }.identity-visual-top { font-size:7px; }.identity-status { font-size:6px; }.identity-routes { grid-template-columns:1fr;gap:15px; }.identity-routes a { padding:18px 20px; }.identity-routes strong { font-size:16px; }.route-index { margin-bottom:10px; }body.brand-preview .brand-footer { padding:20px;gap:12px;font-size:11px; }body.brand-preview .hud-home { padding:20px; }.workspace-heading>p:last-child { margin-top:8px; }body.brand-preview #tools .tools-b-selectors button strong { font-size:11px; }body.brand-preview #tools .tools-b-selectors button span { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { body.brand-preview * { scroll-behavior:auto; }.identity-primary,.identity-routes a,body.brand-preview #tools .tools-b-selectors button { transition:none; } }

/* Shared technical titles within the portfolio content. */
body.brand-preview :is(#about,#expertise,#tools,#contact,.hud-home) .eyebrow,
body.brand-preview .route-index { display:block;border:0;background:transparent;box-shadow:none;font:var(--technical-label-font);letter-spacing:1.2px;text-transform:uppercase;color:var(--technical-label-color); }
body.brand-preview :is(#about,#expertise,#tools,#contact,.hud-home) .eyebrow::before,
body.brand-preview .route-index::before { content:"";display:inline-block;width:22px;height:1px;margin-right:12px;background:currentColor;vertical-align:middle; }
body.brand-preview .identity-routes a:hover .route-index,
body.brand-preview .identity-routes a:focus-visible .route-index { color:#d9efff; }

/* Floating Home actions have a wider, slower lift and a brighter blue halo. */
.identity-actions :is(.identity-primary,.identity-secondary),.entry-enter { position:relative;isolation:isolate;animation:brand-float 6s ease-in-out infinite; }
.identity-actions :is(.identity-primary,.identity-secondary) { --float-top:-14px;animation-duration:9s;text-shadow:0 0 12px #77c8ff66,0 0 24px #5aaefc33; }
.identity-actions .identity-secondary { animation-delay:-4.5s; }
.entry-enter::after { content:"";position:absolute;left:12%;right:12%;bottom:-7px;height:1px;background:#77c8ff;box-shadow:0 0 16px 4px #64beff35;opacity:.45;pointer-events:none;z-index:-1; }
.identity-actions :is(.identity-primary,.identity-secondary):is(:hover,:focus-visible),.entry-enter:is(:hover,:focus-visible) { animation-play-state:paused; }
@keyframes brand-float { 0%,100% { transform:translateY(0); }50% { transform:translateY(var(--float-top,-5px)); } }

/* A permanent underline joins an open frame, drawn from one end to the other. */
.identity-actions { --frame-time:700ms; }
.identity-actions .action-frame { position:absolute;left:-18px;top:-7px;width:calc(100% + 36px);height:calc(100% + 14px);overflow:visible;pointer-events:none;fill:none;stroke-width:1;filter:drop-shadow(0 0 7px #64beff66); }
.action-frame-baseline { stroke:#9edcff;opacity:.8; }
.action-frame-loop { stroke:#a7e6ff;stroke-width:.5;stroke-dasharray:100;stroke-dashoffset:100;opacity:0;transition:stroke-dashoffset .24s ease,opacity .18s; }
.identity-actions :is(.identity-primary,.identity-secondary):is(:hover,:focus-visible) .action-frame-loop { stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset var(--frame-time) ease,opacity .01s; }
.identity-actions .action-arrow { color:#8fb9d6;text-shadow:none;transition:color .15s,text-shadow .15s; }
.identity-actions :is(.identity-primary,.identity-secondary):is(:hover,:focus-visible) .action-arrow { color:#ecfbff;text-shadow:0 0 8px #bcecff,0 0 18px #70caff;transition-delay:var(--frame-time); }
@media(prefers-reduced-motion:reduce) { .action-frame-baseline,.action-frame-loop,.identity-actions .action-arrow { transition:none!important; } }

/* The welcome screen uses the same identity artwork, over the Home particles. */
body.brand-entry-active { overflow:hidden; }
body.brand-entry-active > :is(.site-header,main,.brand-footer,.skip) { visibility:hidden; }
body.brand-entry-active .identity-actions :is(.identity-primary,.identity-secondary) { animation-play-state:paused; }
.brand-entry { width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:30px 24px;border:0;background:radial-gradient(ellipse at center,#0c294056,transparent 70%);color:#edf3fb;overflow:auto; }
.brand-entry[open] { display:grid;place-items:center; }
.brand-entry::backdrop { background:#02070d55; }
.entry-scene { position:relative;isolation:isolate;width:min(100%,900px);padding:20px 0; }
.entry-pointer-glow { position:fixed;inset:0;background:radial-gradient(circle 330px at var(--entry-x,50%) var(--entry-y,45%),#8ad4ff20,#318ec20a 45%,transparent 78%);pointer-events:none;z-index:0; }
.entry-ring { position:absolute;left:50%;top:44%;width:min(78vw,760px);aspect-ratio:1;border:1px solid #4babe133;border-top-color:#7bcfff8c;border-bottom-color:#448fc469;border-radius:50%;box-shadow:0 0 45px #5ab8e711,inset 0 0 40px #398fbe0d;pointer-events:none;z-index:-1;animation:entry-orbit 26s linear infinite; }
.entry-ring::before,.entry-ring::after { content:"";position:absolute;width:5px;height:5px;background:#9edbff;border-radius:50%;box-shadow:0 0 16px 3px #68c8ff88;top:14.5%;left:14.5%; }
.entry-ring::after { top:auto;left:auto;bottom:14.5%;right:14.5%;width:3px;height:3px; }
.entry-ring-inner { width:min(60vw,590px);border-style:dashed;opacity:.6;animation-duration:38s;animation-direction:reverse; }
.brand-entry .entry-identity { margin:0 auto;background:radial-gradient(ellipse at center,#0a1f32b8,#02080edb 76%);animation:entry-assemble 1s cubic-bezier(.2,.7,.3,1) both; }
.entry-identity .identity-visual-top h1 { margin:0;font:inherit;letter-spacing:inherit;color:inherit; }
.entry-identity .brand-artwork::after { content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#85d6ff88,transparent);box-shadow:0 0 20px #64beff66;pointer-events:none;animation:entry-scan 7s ease-in-out infinite; }
.entry-controls { position:relative;display:flex;justify-content:center;margin:32px 0 0; }
.entry-enter { display:inline-flex;align-items:center;justify-content:center;gap:34px;min-width:210px;min-height:52px;padding:13px 24px;border:1px solid #6abbea;background:linear-gradient(120deg,#16415d,#081f33);color:#e1f3ff;font:700 17px/1.5 var(--portfolio-text-font);letter-spacing:.3px;box-shadow:0 0 35px #68bdff20;cursor:pointer; }
.entry-enter:hover { background:linear-gradient(120deg,#215577,#10314b);border-color:#b3e3ff;box-shadow:0 0 38px #68bdff38; }
.entry-enter:focus-visible { outline:2px solid #c0e8ff;outline-offset:6px; }
.entry-enter:disabled { cursor:default; }
.brand-entry.is-leaving { pointer-events:none;animation:entry-depart .6s ease-in both; }
.brand-entry.is-leaving::backdrop { animation:entry-backdrop-depart .6s ease-in both; }
.brand-home-reveal > :is(.site-header,main,.brand-footer) { animation:entry-home-reveal .7s ease-out both; }
@keyframes entry-orbit { from { transform:translate(-50%,-50%) rotate(0); }to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes entry-assemble { from { opacity:0;transform:translateY(14px) scale(.98);filter:blur(5px); }to { opacity:1;transform:translateY(0) scale(1);filter:blur(0); } }
@keyframes entry-scan { 0%,100% { top:10%;opacity:0; }20% { opacity:.55; }80% { opacity:.3; }90% { top:95%;opacity:0; } }
@keyframes entry-depart { to { opacity:0;transform:scale(1.025);filter:blur(5px); } }
@keyframes entry-backdrop-depart { to { background:transparent; } }
@keyframes entry-home-reveal { from { opacity:0;transform:translateY(8px); }to { opacity:1;transform:translateY(0); } }
@media(max-width:600px) { .brand-entry { padding:20px 16px; }.entry-scene { padding:0; }.entry-identity .identity-visual-top { justify-content:center;text-align:center;gap:6px;padding:12px; }.entry-identity .identity-visual-bottom { padding:14px 12px;font-size:12px; }.entry-controls { margin-top:25px; }.entry-enter { font-size:16px; }.entry-ring { width:90vw; }.entry-ring-inner { width:74vw; } }
@media(prefers-reduced-motion:reduce) { .identity-actions :is(.identity-primary,.identity-secondary),.entry-enter,.entry-ring,.brand-entry .entry-identity,.entry-identity .brand-artwork::after,.brand-entry.is-leaving,.brand-entry.is-leaving::backdrop,.brand-home-reveal > :is(.site-header,main,.brand-footer) { animation:none; }.entry-identity .brand-artwork::after { display:none; } }
