/* blueDStar refresh: visible wordmark, editorial experience and contact scene. */
.branded-hero .hero-title{top:102px;width:calc(100% - var(--pad)*2);font-size:clamp(90px,16.8vw,264px);font-weight:700;letter-spacing:-.065em;line-height:1.02;z-index:2;pointer-events:none;text-align:left}
.branded-hero{min-height:850px}
.branded-hero .hero-stage{inset:390px 0 115px}
.branded-hero .photographic-portrait img{object-fit:contain}
.branded-hero .photographic-portrait{left:12%;height:100%;width:36%;bottom:0;max-height:420px;animation-delay:200ms}
.branded-hero .hero-arm{width:37%;right:3%;bottom:-20px}
.branded-hero .hero-component.c-motor{width:13%;top:0;right:3%}
.branded-hero .hero-component.c-esp32{width:10%;top:0;right:33%}
.branded-hero .hero-component.c-camera{width:10%;top:16%;left:48%}
.branded-hero .hero-component.c-pi{width:15%;top:32%;left:0}
.branded-hero .hero-component.c-gear{bottom:15%}
.branded-hero .hero-component.c-encoder{bottom:0;left:3%}
.branded-hero .scroll-hint{top:57%}
.real-about .about-portrait{height:690px;background:#f3f2ee}
.real-about .photographic-portrait img{object-fit:contain}
.reading-interlude img{height:480px}
.enhanced-experience{grid-template-columns:340px minmax(0,1fr);gap:65px;align-items:start}
.experience-sidebar{min-width:0}
.timeline-company{display:flex;align-items:center;gap:16px;margin-top:16px}
.timeline-company img{width:54px;height:54px;object-fit:contain;flex-shrink:0;background:#f6f2ed;border:1px solid #7774;padding:4px;filter:grayscale(.6);transition:filter 250ms}
.timeline button[aria-selected=true] img,.timeline button:hover img{filter:none}
.timeline .timeline-company strong{margin:0;font-size:23px}
.timeline .timeline-company small{margin-top:5px}
.experience-photo{position:relative;margin:35px 0 0;background:#eeeae7;overflow:hidden}
.experience-photo img{width:100%;height:375px;object-fit:contain;filter:grayscale(1);transition:filter 500ms,transform 700ms var(--ease)}
.experience-photo:hover img{filter:grayscale(0);transform:scale(1.025)}
.experience-photo figcaption{position:absolute;bottom:12px;left:12px;background:#111e;padding:7px 10px;font-size:10px}
.photo-crosshair{position:absolute;top:22px;right:22px;width:20px;height:20px;border-top:1px solid #555;border-right:1px solid #555;animation:crosshair 6s ease-in-out infinite}
.experience-detail .company-intro{gap:28px;align-items:start;min-height:0;padding-top:26px;padding-bottom:32px}
.company-intro h2{font-size:clamp(32px,3.6vw,54px);line-height:1.1;letter-spacing:-.045em;margin-bottom:20px}
.company-intro>div{flex:1}
.experience-role{font-size:22px;line-height:1.4;margin-bottom:19px;max-width:470px}
.experience-summary{font-size:15px;color:var(--muted);max-width:540px}
.company-mark{margin:0;width:110px;flex-shrink:0;background:#f6f3ee;padding:9px;align-self:start}
.company-mark img{width:100%;height:90px;object-fit:contain}
.experience-flow{list-style:none;margin:0 0 32px;padding:20px 0;display:flex;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-family:Consolas,monospace;font-size:11px}
.experience-flow li{position:relative;display:flex;gap:10px;align-items:center;flex:1;line-height:1.4}
.experience-flow li>span{width:5px;height:5px;background:var(--paper);border-radius:50%;flex-shrink:0;animation:signalPulse 3s ease-in-out infinite}
.experience-flow li:nth-child(2)>span{animation-delay:.7s}.experience-flow li:nth-child(3)>span{animation-delay:1.4s}
.system-references{padding-top:10px;padding-bottom:45px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px}
.system-references>p{width:100%;color:#aaa}.system-references a{border-bottom:1px solid #555;min-height:30px;display:inline-flex;align-items:center;gap:12px}
.case-hero.has-photo.kind-gui{background:#080c10}.case-hero.has-photo.kind-gui img{object-fit:contain;filter:none}
.project-media.has-photo.kind-gui img{object-fit:contain;background:#080c10}
.contact-scene{display:grid;grid-template-columns:1.14fr 1fr;gap:30px;min-height:640px;position:relative;align-items:center;padding-top:40px;padding-bottom:35px}
.contact-intro{z-index:2;min-width:0;padding-top:20px;padding-bottom:30px}
.contact-intro .eyebrow{color:var(--muted);margin-bottom:28px}
.contact-intro .page-title{font-size:clamp(65px,8vw,125px);max-width:100%}
.contact-intro .page-lead{max-width:470px;font-size:18px;margin-top:28px}
.contact-direct{margin-top:46px}
.contact-direct .email-link{font-size:clamp(22px,2.5vw,39px);letter-spacing:-.035em;line-height:1.3}
.contact-direct .copy-button{margin-top:18px}
.contact-signal{margin-top:40px;display:flex;align-items:center;gap:13px;font-size:11px;color:#aaa}
.contact-signal>span{width:6px;height:6px;border:1px solid #ddd;border-radius:50%;animation:signalPulse 3s ease-in-out infinite}
.contact-visual{height:580px;position:relative;isolation:isolate;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#2426275c,transparent 68%)}
.contact-floating-portrait{position:absolute;inset:25px 5% 0;margin:0;z-index:2;animation:contactFloat 8s ease-in-out infinite}
.contact-floating-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:grayscale(1) contrast(1.04);mask-image:linear-gradient(#000 90%,transparent 100%)}
.contact-floating-portrait figcaption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:max-content;max-width:100%;font-size:9px;color:#aaa;letter-spacing:.1em;text-align:center}
.contact-orbit{position:absolute;left:7%;top:18%;width:86%;aspect-ratio:1;border:1px solid #7775;border-radius:50%;z-index:0}
.orbit-one{animation:orbitRotate 28s linear infinite}.orbit-one>span{position:absolute;top:50%;left:-3px;width:7px;height:7px;background:#bfc7c8;border-radius:50%;box-shadow:0 0 18px #ffffff45}
.orbit-two{top:25%;left:-5%;width:110%;height:42%;aspect-ratio:auto;transform:rotate(-24deg);border-style:dashed;border-color:#6664}
.contact-traces{position:absolute;inset:0;width:100%;height:100%;stroke:#7773;stroke-width:1;z-index:1}
.contact-traces .trace-line{stroke:#afb4b9;stroke-dasharray:100 600;animation:traceFlow 13s linear infinite}
.visual-coordinate{position:absolute;right:5px;top:12px;color:#777;font-size:10px;line-height:1.6;z-index:3}
.contact-cross{position:absolute;z-index:3;color:#bbb;font-size:27px;font-weight:200;animation:crosshair 8s ease-in-out infinite}.cross-one{top:20%;left:0}.cross-two{right:2%;bottom:18%;animation-delay:-4s}
.contact-social-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;margin-top:20px}
.contact-social-row a,.contact-social-row button{font-size:24px;text-align:left}
.contact-page .contact-details{display:flex;gap:110px;padding-top:35px;margin-top:45px}
.chat-launcher{position:fixed;right:25px;bottom:24px;z-index:72;background:#eeeae4;color:#111;border:1px solid #eeeae4;min-height:46px;border-radius:24px;display:flex;align-items:center;gap:9px;padding:10px 17px;font-size:12px;box-shadow:0 4px 24px #0005;transition:transform 200ms,background 200ms}
.chat-launcher:hover{transform:translateY(-3px);background:#fff}.chat-launcher svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.3}.chat-launcher-dot{width:4px;height:4px;border-radius:50%;background:#777}
.chat-dialog[open]{position:fixed;inset:auto 24px 84px auto;margin:0;width:390px;height:460px;max-width:calc(100vw - 32px);max-height:calc(100svh - 112px);padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;background:#141414;border:1px solid #686868;box-shadow:0 20px 90px #0008;animation:chatEnter 240ms var(--ease)}
.chat-dialog::backdrop{background:#0005}.chat-top{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #4447;align-items:center}.chat-top .mono{color:#aaa;font-size:10px}.chat-top h2{font-size:19px;margin-top:6px;letter-spacing:-.02em}.chat-top>button{min-height:44px;min-width:44px;font-size:24px}
.chat-messages{overflow:auto;padding:24px 22px;overscroll-behavior:contain;min-height:0}.chat-welcome .chat-star{font-size:32px;display:inline-block;margin-bottom:18px;color:#bbb}.chat-welcome h3{font-size:23px;letter-spacing:-.02em;margin-bottom:12px}.chat-welcome p{font-size:14px;color:#aaa;line-height:1.65}.chat-form{display:flex;gap:12px;margin:0 18px;border:1px solid #4c4c4c;padding:9px}.chat-form textarea{resize:none;min-width:0;flex:1;background:transparent;border:0;font:14px/1.5 Arial,sans-serif;color:#eee;padding:5px;outline-offset:0}.chat-form textarea:disabled{opacity:.65}.chat-form button{min-width:44px;min-height:44px;background:#eeeae4;color:#111;align-self:end;font-size:21px}.chat-form button:disabled{opacity:.3;cursor:default}.chat-state{padding:12px 20px 15px;font-size:9px;letter-spacing:.08em;color:#777}.chat-message{font-size:14px;line-height:1.6;padding:12px;margin-top:14px;border:1px solid #444;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{margin-left:35px;background:#242424}.chat-message.assistant{margin-right:20px}.chat-message.chat-error{border-color:#777;color:#bbb;font-size:12px}
@keyframes contactFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes orbitRotate{to{transform:rotate(360deg)}}
@keyframes traceFlow{to{stroke-dashoffset:-700}}
@keyframes signalPulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes crosshair{0%,100%{opacity:.4;translate:0 0}50%{opacity:.9;translate:0 -5px}}
@keyframes chatEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.branded-hero .hero-title{top:100px;font-size:16.5vw}.branded-hero .hero-stage{top:290px}.branded-hero .photographic-portrait{left:9%;width:39%}.branded-hero .hero-arm{width:43%;right:0}.enhanced-experience{grid-template-columns:285px minmax(0,1fr);gap:40px}.experience-photo img{height:330px}.company-mark{width:88px}.company-mark img{height:70px}.experience-flow{gap:12px;font-size:10px}.contact-scene{gap:10px;grid-template-columns:1.1fr 1fr;min-height:600px}.contact-visual{height:540px}.contact-direct .email-link{font-size:2.6vw}.contact-intro .page-lead{font-size:17px}.contact-social-row{gap:30px}.contact-social-row a,.contact-social-row button{font-size:22px}}
@media(max-width:860px){.branded-hero .hero-stage{top:260px}.branded-hero .hero-title{top:105px}.branded-hero .photographic-portrait{left:5%;width:43%}.branded-hero .hero-arm{width:45%;bottom:0}.enhanced-experience{grid-template-columns:1fr}.experience-sidebar{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}.experience-sidebar .timeline{display:block}.experience-sidebar .timeline button{width:100%}.experience-photo{margin:0}.experience-photo img{height:360px}.company-mark{width:105px}.company-mark img{height:85px}.experience-detail{min-height:0}.contact-scene{grid-template-columns:1fr 1fr;padding-top:30px;min-height:540px}.contact-visual{height:480px}.contact-intro .page-title{font-size:8vw}.contact-intro .eyebrow{font-size:10px}.contact-intro .page-lead{font-size:16px}.contact-direct{margin-top:35px}.contact-direct .email-link{font-size:2.7vw}.contact-signal{font-size:10px;line-height:1.5}.contact-page .contact-details{gap:60px}.visual-coordinate{font-size:9px}.contact-floating-portrait figcaption{font-size:8px}}
@media(max-width:560px){
 .branded-hero{min-height:790px;height:calc(100svh - 76px);max-height:1000px}.branded-hero .hero-title{top:100px;width:calc(100% - 40px);font-size:16vw;letter-spacing:-.07em;line-height:1.1}.branded-hero .hero-stage{top:205px;bottom:205px}.branded-hero .photographic-portrait{left:0;top:12px;width:72%;height:auto;aspect-ratio:1024/956;bottom:auto}.branded-hero .photographic-portrait img{object-fit:contain}.branded-hero .hero-arm{width:63%;right:-7%;bottom:-12px}.branded-hero .hero-component.c-motor{width:25%;right:-5%;top:0}.branded-hero .hero-component.c-esp32{width:19%;right:16%;top:-10%}.branded-hero .hero-component.c-camera{width:17%;left:65%;top:27%}.branded-hero .hero-component.c-pi{width:23%;left:-6%;top:41%}.branded-hero .scroll-hint{top:48%}.branded-hero .hero-bottom{grid-template-columns:1fr;gap:21px;bottom:28px}.branded-hero .hero-claim{font-size:25px}.branded-hero .hero-controls{gap:20px}.branded-hero .hero-specialties{font-size:10px}.real-about .about-portrait{height:auto;aspect-ratio:1030/1203}.real-about .about-portrait .photographic-portrait{height:100%}.reading-interlude figure{width:100%;max-width:360px}.reading-interlude img{height:auto;width:100%}
 .experience-sidebar{display:flex;flex-direction:column;gap:25px}.experience-sidebar .timeline{width:100%}.experience-photo{width:100%;max-width:420px}.experience-photo img{height:auto;max-height:360px}.experience-sidebar .timeline button{padding-top:20px;padding-bottom:20px}.timeline-company{margin-top:12px}.timeline .timeline-company strong{font-size:23px}.timeline-company img{width:50px;height:50px}.experience-detail .company-intro{gap:18px;padding-top:24px}.company-intro h2{font-size:32px;margin-bottom:17px}.experience-role{font-size:19px}.experience-summary{font-size:15px}.company-mark{width:72px;padding:5px}.company-mark img{height:62px}.experience-flow{gap:14px;flex-wrap:wrap;font-size:10px}.experience-flow li{flex:1 1 75px;gap:7px;align-items:start}.experience-flow li>span{margin-top:4px}
 .contact-scene{grid-template-columns:1fr;padding-top:42px;padding-bottom:10px;gap:0;min-height:0}.contact-intro{padding:0}.contact-intro .eyebrow{margin-bottom:20px}.contact-intro .page-title{font-size:17vw}.contact-intro .page-lead{font-size:16px;margin-top:24px;max-width:95%}.contact-direct{margin-top:30px}.contact-direct .email-link{font-size:clamp(19px,6vw,30px)}.contact-direct .copy-button{margin-top:15px}.contact-signal{margin-top:25px;font-size:10px}.contact-visual{height:380px;width:100%;max-width:400px;justify-self:center;margin-top:5px}.contact-floating-portrait{inset:12px 9% 0}.contact-orbit{left:9%;width:82%;top:10%}.orbit-two{left:0;top:28%;width:100%;height:40%}.contact-cross.cross-one{top:12%;left:7%}.contact-cross.cross-two{bottom:24%;right:5%}.visual-coordinate{right:5px;top:22px;font-size:8px}.contact-floating-portrait figcaption{bottom:5px;font-size:8px}.contact-social-row{grid-template-columns:1fr;gap:0;margin-top:15px}.contact-social-row a,.contact-social-row button{font-size:21px}.contact-page .contact-details{gap:25px;padding-top:28px;margin-top:30px}.chat-launcher{right:16px;bottom:16px;padding:10px 14px;min-height:44px}.chat-dialog[open]{right:16px;bottom:74px;height:440px;max-height:calc(100svh - 96px)}.chat-top{padding:17px 18px}.chat-messages{padding:22px 18px}.chat-top h2{font-size:18px}.chat-welcome h3{font-size:22px}.chat-welcome p{font-size:14px}
}
@media(max-width:359px){.branded-hero{min-height:800px}.branded-hero .hero-title{font-size:15.8vw;top:107px}.branded-hero .hero-stage{top:205px;bottom:210px}.branded-hero .hero-controls{gap:15px}.company-mark{width:62px}.company-mark img{height:53px}.company-intro h2{font-size:29px}.experience-role{font-size:18px}.contact-visual{height:350px}.chat-launcher{right:12px;bottom:12px}.chat-dialog[open]{right:12px;max-width:calc(100vw - 24px)}}
.page-hidden .contact-orbit,.page-hidden .contact-traces .trace-line,.page-hidden .contact-floating-portrait,.page-hidden .contact-cross,.page-hidden .experience-flow li>span,.page-hidden .photo-crosshair{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.contact-orbit,.contact-traces .trace-line,.contact-floating-portrait,.contact-cross,.experience-flow li>span,.photo-crosshair,.contact-signal>span{animation:none!important;translate:none!important;transform:none!important}.experience-photo img,.chat-launcher{transition:none}.chat-dialog[open]{animation:none}}

/* Studio photographs keep their own shape. Their canvas is the image itself;
   no fixed-height matte, containment bars, or independently stretched frame. */
.branded-hero .hero-stage{container-type:size}
.branded-hero .photographic-portrait{--portrait-width:36%;top:0;bottom:auto;width:min(var(--portrait-width),calc(100cqh * 1024 / 956));height:auto;max-height:none;aspect-ratio:auto;background:transparent;border:0;transform:translateY(var(--portrait-y,0px))}
.branded-hero .photographic-portrait .portrait-parallax{width:100%;height:auto;transform:none}
.branded-hero .photographic-portrait img{display:block;width:100%;height:auto;max-height:none;object-fit:initial}
.real-about{align-items:start}
.real-about .about-portrait{height:auto;aspect-ratio:auto;background:transparent;align-self:start}
.real-about .photographic-portrait{position:relative;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:auto;margin:0;background:transparent}
.real-about .photographic-portrait .portrait-parallax{width:100%;height:auto;transform:none}
.real-about .photographic-portrait img{display:block;width:100%;height:auto;max-height:none;object-fit:initial}
.experience-photo{background:transparent;align-self:start}
.experience-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:initial}
.reading-interlude img{display:block;width:100%;height:auto;max-height:none;background:transparent;object-fit:initial}
@media(max-width:1100px){.branded-hero .photographic-portrait{--portrait-width:39%}}
@media(max-width:860px){.branded-hero .photographic-portrait{--portrait-width:43%}}
@media(max-width:560px){.branded-hero .photographic-portrait{--portrait-width:72%;top:12px}}
@media(prefers-reduced-motion:reduce){.branded-hero .photographic-portrait{transform:none!important}}
