.contact-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-section>div{min-width:0}
.contact-links a{grid-template-columns:90px minmax(0,1fr) 20px}
.contact-links b{overflow-wrap:anywhere}
@media(max-width:900px){.contact-section{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.contact-section h2{font-size:clamp(46px,14vw,64px)}.contact-links a{grid-template-columns:70px minmax(0,1fr) 15px}.error-page h1{font-size:clamp(52px,18vw,70px);overflow-wrap:anywhere}}
.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}
.lang-control{margin-bottom:18px}.lang-select{appearance:none;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font:700 10px var(--mono);letter-spacing:.08em;padding:7px 20px 7px 8px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 10px) 11px,calc(100% - 6px) 11px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer}.toolbar-lang .lang-select,.error-lang .lang-select{background-color:var(--ink);color:#fff;border-color:rgba(255,255,255,.4)}.error-lang{position:fixed;right:24px;top:24px;z-index:4}.resume-toolbar{gap:10px}
html[lang="de"] .hero h1,html[lang="fr"] .hero h1,html[lang="es"] .hero h1,html[lang="pl"] .hero h1{font-size:clamp(58px,8.2vw,132px)}
@media(max-width:900px){.lang-control{margin:0 0 0 auto}.masthead .cv-link{margin-left:10px}.masthead nav+.lang-control{margin-left:auto}}
@media(max-width:560px){.lang-select{padding:7px 18px 7px 7px}.resume-toolbar{justify-content:center}.resume-toolbar a,.resume-toolbar button{padding:8px 10px}}
@media print{.toolbar-lang{display:none}}
.stack-section .section-code{color:var(--orange-bright)}
.node-core rect{transform:none}

/* The closing page is the same printed system, not a second palette. */
:root{--blue:#bd361f}
body{font-family:'Helvetica Neue',Arial,sans-serif}
.contact-section{background:#bd361f}
.contact-label i{background:var(--paper);box-shadow:0 0 0 6px rgba(242,239,231,.18)}
.statement span{color:#ad321e}
.endpoint circle{fill:var(--ink)}
.endpoint text{text-anchor:start}
.endpoint-count{font-size:11px}
.packet-blue{fill:var(--ink)}
.hero{min-height:100dvh}
.manifesto,.section-heading>p:last-child,.project p{text-wrap:pretty}
.section-heading h2,.contact-section h2{text-wrap:balance}
.log-date,.hero-index,.resume-when{font-variant-numeric:tabular-nums}
.action:active,.resume-toolbar a:active,.resume-toolbar button:active{transform:translate(1px,1px);box-shadow:none}
.contact-links a:active b{transform:translateX(3px)}
:where(a,button,select):focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.stack-section :where(a,button,select):focus-visible,.contact-section :where(a,button,select):focus-visible,.resume-toolbar :where(a,button,select):focus-visible{outline-color:#fff}
[data-reveal]{opacity:1;transform:none}
.is-ready [data-reveal]:not(.revealed){opacity:0;transform:translateY(24px)}
@media(prefers-reduced-motion:reduce){.cursor-probe{display:none!important}.is-ready [data-reveal]:not(.revealed){opacity:1;transform:none}}

/* The user's Places Team emblem is set as a small, cropped masthead stamp. */
.brand-symbol{position:relative;display:block;flex:none;width:32px;height:32px;overflow:hidden}
.brand-symbol img{position:absolute;left:50%;top:50%;width:48px;height:48px;max-width:none;transform:translate(-50%,-50%)}
.resume-contact-note{display:block;margin:-2px 0 6px;color:var(--orange);font:700 9px/1.3 var(--mono);letter-spacing:.02em}

/* Project notes sit on a wiring field; none is a floating feature card. */
.practice-map{background-size:32px 32px;border-color:var(--rule);overflow:hidden}
.practice-map::before{left:10%;right:10%;top:50%;background:var(--orange);opacity:.75}
.practice-map::after{left:50%;top:9%;bottom:9%;background:var(--orange);opacity:.75}
.project{box-shadow:none;border:0;border-top:2px solid var(--ink);padding:16px 18px 18px;background:var(--paper);transform:none!important;transition:border-color .2s ease,background .2s ease}
.project:hover{border-color:var(--orange);background:#ebe5d9}
.project h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.05em;margin:.45rem 0 .4rem}
.project p{line-height:1.55}
.project-proof{display:inline-block;margin-top:12px;border-bottom:1px solid var(--orange);padding-bottom:2px;color:var(--orange);font:700 10px/1.4 var(--mono);letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
.project-proof:hover{color:var(--ink);border-color:var(--ink)}
.project-a{left:5%;top:9%}
.project-b{right:5%;top:14%}
.project-c{left:16%;bottom:8%}
.project-core{width:124px;height:68px;transform:translate(-50%,-50%);background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}
.project-core span{font:700 24px/1 var(--mono);letter-spacing:.1em;transform:none}
.project-core i{width:5px;height:5px;background:var(--orange);border-radius:0;animation:none}
.project-core i:nth-of-type(1){left:9px;top:auto;bottom:8px}
.project-core i:nth-of-type(2){left:20px;right:auto;top:auto;bottom:8px}
.project-core i:nth-of-type(3){left:31px;right:auto;top:auto;bottom:8px}
@media(max-width:900px){.practice-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;min-height:0;padding:40px}.practice-map::before,.practice-map::after{display:none}.project,.project-core{position:relative;inset:auto;width:auto}.project-core{transform:none;justify-self:center;align-self:center}}
@media(max-width:560px){.practice-map{grid-template-columns:minmax(0,1fr);gap:24px;padding:22px}.project{padding:14px 16px}.project h3{font-size:30px}.project-core{width:98px;height:60px;justify-self:end;margin-right:4px}}
