/* TOKENS */
:root {
  --blue:#0b3045; --ink:#18262f; --steel:#4f6c7b; --copper:#c66a32;
  --accent-text:#9b471c; --paper:#fafbfb; --mist:#f1f4f4; --line:#cbd5da;
  --muted:#52656f; --white:#fff; --radius:8px; --max:1280px;
  --sans:'Segoe UI','Aptos','Helvetica Neue',Arial,sans-serif;
  --mono:'Cascadia Mono','Consolas',monospace;
  --ease:200ms ease; --shadow:0 8px 24px rgb(11 48 69 / 6%);
}
/* RESET & ACCESSIBILITY */
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:100px}
body {margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select {font:inherit}
button,a {-webkit-tap-highlight-color:transparent}
button {cursor:pointer}
button:disabled {cursor:default;opacity:.4}
a {color:inherit;text-decoration:none}
img {display:block;max-width:100%;height:auto}
button,select {color:inherit}
h1,h2,h3,h4,p,figure {margin:0}
h1,h2,h3,h4 {color:var(--blue);line-height:1.17;font-weight:650;letter-spacing:-.028em}
p+p {margin-block-start:1em}
ul,ol {padding-inline-start:1.3em}
li+li {margin-block-start:.5em}
svg {display:inline-block;width:20px;height:20px;flex:none;vertical-align:middle;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
:focus-visible {outline:3px solid var(--copper);outline-offset:5px}
[hidden] {display:none !important}
.sr-only {position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link {position:fixed;inset-block-start:12px;inset-inline-start:16px;z-index:1000;transform:translateY(-180%);background:var(--blue);color:white;padding:10px 18px}
.skip-link:focus {transform:none}
.tech,bdi {unicode-bidi:isolate}
.tech {font-family:var(--mono);font-size:.85em;letter-spacing:0;direction:ltr;display:inline-block}
[dir=rtl] body {line-height:1.9}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3 {letter-spacing:0;line-height:1.45}
[dir=rtl] .arrow {transform:scaleX(-1)}
[dir=rtl] .hero-copy h1 {text-align:right}
/* LAYOUT */
.wrap {width:min(var(--max),calc(100% - 96px));margin-inline:auto}
.section {padding-block:94px}
.section.white {background:var(--white)}
.section.tint {background:var(--mist)}
.section-head {display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:end;margin-block-end:40px}
.section-head h2 {font-size:clamp(30px,3vw,42px);max-width:640px}
.section-head p {max-width:530px;color:var(--muted);font-size:17px}
.eyebrow {font:600 12px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--steel);display:flex;gap:12px;align-items:center;margin-block-end:15px}
.eyebrow .section-no {color:var(--accent-text)}
.eyebrow::before {content:'';display:block;width:23px;height:2px;background:var(--copper);flex:none}
.section-line {border-block-start:1px solid var(--line)}
.actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;border:1px solid var(--blue);background:var(--blue);color:white;border-radius:6px;padding:11px 20px;font-size:15px;line-height:1.45;font-weight:600;transition:transform var(--ease),box-shadow var(--ease),background var(--ease)}
.btn:hover {transform:translateY(-2px);box-shadow:0 5px 12px #0b30451a;background:#153f56}
.btn.secondary {background:white;color:var(--blue)}
.btn.secondary:hover {background:var(--mist)}
.text-link {display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-size:15px;font-weight:600;line-height:1.5;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px}
.text-link:hover {text-decoration-color:var(--copper)}
.icon-btn {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:6px;padding:0;flex:none}
.icon-btn:hover {background:var(--mist)}
/* NAVIGATION */
.site-header {position:sticky;inset-block-start:0;z-index:50;background:#fffffffa;border-block-end:1px solid var(--line)}
.nav-wrap {min-height:80px;display:flex;align-items:center;gap:24px;transition:min-height var(--ease)}
.site-header.scrolled .nav-wrap {min-height:68px}
.brand {display:flex;align-items:center;gap:12px;margin-inline-end:auto;flex:none}
.brand-mark {font-size:22px;font-weight:750;letter-spacing:-1px;background:var(--blue);color:white;border-inline-end:3px solid var(--copper);padding:3px 9px}
.brand-note {font:12px/1.5 var(--mono);letter-spacing:.04em;max-width:110px;color:var(--steel)}
.nav-links {display:flex;align-items:center;gap:22px}
.nav-links a {font-size:14px;font-weight:600;position:relative;padding-block:22px;white-space:nowrap}
.nav-links a::after {content:'';position:absolute;inset-inline:0;inset-block-end:13px;height:2px;background:var(--copper);transform:scaleX(0);transition:transform var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current]::after {transform:scaleX(1)}
.lang-control {display:flex;align-items:center;position:relative;gap:4px;flex:none}
.lang-control select {appearance:none;border:0;background:transparent;min-height:44px;padding:8px 22px 8px 6px;width:69px;font-size:13px;font-weight:650;cursor:pointer;direction:ltr}
.lang-control .chevron {position:absolute;right:4px;width:12px;pointer-events:none}
.nav-cta {min-height:40px;padding:8px 16px}
.menu-toggle {display:none}
/* HERO */
.hero {overflow:hidden;background:var(--paper);border-block-end:1px solid var(--line)}
.hero-grid {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:64px 56px}
.hero-copy h1 {font-size:clamp(38px,4vw,58px);line-height:1.04;letter-spacing:-.05em;margin-block:10px 24px}
.hero-copy h1 .surname {display:block}
.hero-copy .positioning {font-size:clamp(23px,2.2vw,30px);line-height:1.2;letter-spacing:-.025em;max-width:530px;font-weight:550;color:var(--steel);margin-block-end:20px}
.hero-copy .intro {max-width:510px;font-size:16px;color:var(--muted);margin-block-end:26px}
.hero-copy .actions {gap:10px}
.hero-copy .btn {font-size:14px;padding-inline:16px}
.hero-copy .employer-route {margin-block-start:19px;font-size:13px}
.hero-disciplines {font-size:12px;letter-spacing:.025em;font-family:var(--mono);color:var(--steel);margin-block-start:28px;padding-block-start:19px;border-block-start:1px solid var(--line)}
.hero-evidence {position:relative;min-width:0;padding:20px 0 0 20px}
.hero-evidence::before {content:'';position:absolute;inset:-10px -45px 15px -10px;background-image:linear-gradient(#0b304509 1px,transparent 1px),linear-gradient(90deg,#0b304509 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.hero-main {position:relative;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.evidence-bar {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 15px;background:var(--blue);color:#e6edf1;font:12px/1.4 var(--mono);letter-spacing:.065em;text-transform:uppercase}
.evidence-bar b {color:#f2b38b;font-weight:400}
.hero-main .image-viewport {aspect-ratio:1.78;background:white}
.hero-main .hero-caption {padding:13px 15px;border-block-start:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--steel)}
.hero-bottom {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-block-start:13px}
.hero-fragment {background:white;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.hero-fragment .image-viewport {aspect-ratio:1.8}
.hero-fragment .fragment-label {display:flex;justify-content:space-between;align-items:center;font:12px/1.4 var(--mono);color:var(--steel);padding:9px 11px;border-block-start:1px solid var(--line)}
.hero-evidence-note {position:relative;display:block;text-align:end;font:12px/1.5 var(--mono);color:var(--muted);margin-block-start:13px}
.credential-line {display:flex;justify-content:space-between;gap:22px;padding-block:16px;border-block-start:1px solid var(--line);font-size:13px;color:var(--steel);flex-wrap:wrap}
.credential-line span {display:flex;gap:9px;align-items:center}
.credential-line svg {width:15px;height:15px;color:var(--copper)}
/* EVIDENCE STRIP */
.proof {padding-block:28px;background:white;border-block-end:1px solid var(--line)}
.proof-grid {display:grid;grid-template-columns:repeat(4,1fr)}
.proof-item {padding-inline:28px;border-inline-start:1px solid var(--line)}
.proof-item:first-child {padding-inline-start:0;border:0}
.proof-item strong {display:inline-block;font-size:32px;line-height:1.2;letter-spacing:-.025em;color:var(--blue);font-weight:650;direction:ltr}
.proof-item .proof-label {display:block;font-size:13px;font-weight:650;margin-block:4px 6px}
.proof-item p {font-size:12px;line-height:1.5;color:var(--muted);max-width:240px}
/* PROJECTS */
.project-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.project-card {background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--ease),box-shadow var(--ease)}
.project-card:hover {border-color:#829aa7;box-shadow:var(--shadow)}
.card-image {display:block;position:relative;overflow:hidden;background:#fff;border-block-end:1px solid var(--line);aspect-ratio:1.65}
.card-image .image-viewport {height:100%;width:100%}
.card-image img {transition:transform 250ms ease}
.card-image:hover img:not(.cropped-image) {transform:scale(1.025)}
.card-index {position:absolute;inset-block-start:10px;inset-inline-start:12px;background:white;color:var(--steel);font:12px/1.3 var(--mono);padding:5px 7px;border:1px solid var(--line);z-index:2}
.card-content {padding:24px;display:flex;flex:1;flex-direction:column}
.card-category {color:var(--accent-text);font-size:12px;font-weight:650;letter-spacing:.035em;text-transform:uppercase;line-height:1.5;margin-block-end:9px}
.project-card h3 {font-size:24px;line-height:1.18;margin-block-end:14px}
.project-card h3 a:hover {text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:5px}
.card-summary {font-size:15px;line-height:1.6;color:var(--muted);margin-block-end:18px}
.card-role {font-size:12px;line-height:1.6;margin-block-end:13px;color:var(--steel)}
.card-role b {font-weight:600;color:var(--ink)}
.tags {display:flex;flex-wrap:wrap;gap:6px;margin-block-end:20px}
.tag {border:1px solid var(--line);border-radius:3px;padding:3px 6px;font:12px/1.4 var(--mono);color:var(--steel);direction:ltr;unicode-bidi:isolate}
.card-outcome {font-size:13px;line-height:1.5;font-weight:600;color:var(--blue);margin-block-start:auto;border-block-start:1px solid var(--line);padding-block:15px}
.card-link {display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:650;color:var(--blue);padding-block-start:3px}
.card-link svg {width:18px}
.project-actions {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-block-start:32px}
.project-actions .project-count {font:12px var(--mono);color:var(--steel)}
.record-art {height:100%;width:100%;background:var(--mist);padding:23px;display:flex;flex-direction:column;justify-content:center;position:relative}
.record-art::before {content:'';position:absolute;inset:12px;border:1px solid var(--line);pointer-events:none}
.record-art .tech {color:var(--steel);font-size:12px;margin-block-end:10px}
.record-art strong {font:500 45px/1.1 var(--sans);color:var(--blue);display:block;direction:ltr;text-align:start}
.record-art span:last-child {font:12px/1.5 var(--mono);color:var(--accent-text);margin-block-start:8px;direction:ltr}
.page-top {padding-block:50px 38px;border-block-end:1px solid var(--line);background:white}
.page-top h1 {font-size:clamp(36px,4vw,56px);margin-block:15px}
.page-top p {color:var(--muted);max-width:740px;font-size:18px}
.filters {display:flex;gap:9px;flex-wrap:wrap;margin-block:30px 18px}
.filter {padding:8px 15px;min-height:42px;background:white;border:1px solid var(--line);border-radius:24px;font-size:13px;font-weight:550;line-height:1.5}
.filter[aria-pressed=true] {background:var(--blue);color:white;border-color:var(--blue)}
.filter:hover {border-color:var(--copper)}
.results-label {font:12px/1.5 var(--mono);color:var(--steel);margin-block-end:25px}
.catalog {padding-block-end:90px}
/* APPROACH & CAPABILITIES */
.approach-layout {display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}
.workflow {list-style:none;padding:0;margin:0;position:relative}
.workflow::before {content:'';position:absolute;inset-block:20px;inset-inline-start:20px;width:1px;background:var(--line)}
.workflow li {position:relative;display:grid;grid-template-columns:42px 1fr;column-gap:22px;align-items:start;padding-block:0 21px;margin:0}
.workflow li:last-child {padding-block-end:0}
.step-no {width:42px;height:42px;border:1px solid var(--line);display:flex;justify-content:center;align-items:center;background:var(--paper);color:var(--accent-text);font:12px var(--mono);z-index:1}
.workflow h3 {font-size:21px;margin-block:1px 5px}
.workflow p {font-size:14px;color:var(--muted);line-height:1.55;max-width:550px}
.support-panel {border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden}
.support-panel .image-viewport {aspect-ratio:1.6;border-block-end:1px solid var(--line)}
.support-panel-body {padding:32px}
.support-panel h3 {font-size:27px;margin-block-end:15px}
.support-panel p {font-size:15px;color:var(--muted);margin-block-end:24px}
.capability-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-block-start:1px solid var(--line)}
.capability {padding:30px 28px 32px 0;border-block-end:1px solid var(--line)}
.capability:not(:nth-child(3n+1)) {padding-inline-start:28px;border-inline-start:1px solid var(--line)}
.capability .cap-no {font:12px var(--mono);color:var(--accent-text);display:block;margin-block-end:20px}
.capability h3 {font-size:23px;margin-block-end:13px}
.capability p {color:var(--muted);font-size:15px;line-height:1.65;margin-block-end:18px}
.capability .tech {color:var(--steel);font-size:12px;margin-block-end:17px}
.software-block {margin-block-start:50px}
.software-block h3 {font-size:24px;margin-block-end:24px}
.software-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.level {display:inline-block;color:var(--accent-text);font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.025em;margin-block-end:10px}
.software-item h4 {font-size:15px;line-height:1.6;letter-spacing:0;margin-block-end:8px;direction:ltr;text-align:start}
.software-item p {font-size:13px;line-height:1.7;color:var(--muted)}
.standards-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.standard-card {padding:27px 0;border-block-start:1px solid var(--line)}
.standard-card h3 {font-size:24px;margin-block-end:11px}
.standard-card p {font-size:14px;line-height:1.7;color:var(--muted);max-width:570px}
.standard-codes {margin-block:14px;display:flex;flex-wrap:wrap;gap:5px 13px}
.standard-codes .tech {color:var(--blue);font-size:12px}
.standard-card .text-link {margin-block-start:14px;font-size:13px}
.development-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.development-item {border-inline-start:2px solid var(--copper);padding-inline-start:22px}
.development-item h3 {font-size:21px;margin-block-end:12px}
.development-item p {font-size:14px;color:var(--muted)}
.development-projects {margin-block-start:30px}
/* EXPERIENCE & ABOUT */
.career-list {display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.career-item {padding-block:28px;border-block-start:1px solid var(--line);display:grid;grid-template-columns:34px 1fr;gap:14px}
.career-no {font:12px var(--mono);color:var(--accent-text);padding-block-start:8px}
.career-item h3 {font-size:26px;margin-block-end:10px}
.career-item .job-label {font-size:13px;font-weight:650;margin-block-end:12px;color:var(--steel)}
.career-item p {font-size:15px;color:var(--muted)}
.career-item .job-detail {font-size:12px;line-height:1.6;margin-block-start:13px}
.career-item .text-link {font-size:13px;margin-block-start:16px}
.about-grid {display:grid;grid-template-columns:190px 1fr;gap:60px;align-items:start}
.about-portrait {border-block-end:3px solid var(--copper);background:var(--mist)}
.about-portrait img {width:100%}
.about-portrait figcaption {font-size:12px;line-height:1.6;padding:15px 0;background:white}
.about-copy {display:grid;grid-template-columns:1fr 1fr;gap:32px}
.about-copy p {font-size:15px;color:var(--muted)}
.principles {margin-block-start:55px;padding-block-start:28px;border-block-start:1px solid var(--line)}
.principles h3 {font-size:24px;margin-block-end:24px}
.principle-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:28px}
.principle h4 {font-size:16px;line-height:1.35;margin-block-end:10px;letter-spacing:-.015em}
.principle p {font-size:13px;color:var(--muted);line-height:1.65}
/* CONTACT */
.contact-section {background:var(--blue);color:#dce5e9;padding-block:80px 50px}
.contact-section h2,.contact-section h3 {color:white}
.contact-section .eyebrow {color:#b9cdd7}
.contact-section .eyebrow .section-no {color:#e4a781}
.contact-section h2 {font-size:clamp(34px,4vw,49px);max-width:810px;margin-block-end:42px}
.contact-routes {display:grid;grid-template-columns:1fr 1fr;gap:68px;margin-block-end:45px}
.contact-route h3 {font-size:25px;margin-block-end:14px}
.contact-route p {font-size:15px;color:#c9d8df;max-width:540px;margin-block-end:22px}
.contact-section .btn {background:white;color:var(--blue);border-color:white}
.contact-section .btn.secondary {background:transparent;color:white;border-color:#819ba9}
.contact-details {display:grid;grid-template-columns:1.65fr 1fr 1.35fr;gap:30px;padding-block-start:30px;border-block-start:1px solid #537080}
.contact-details a {display:block;font-size:15px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#71909f;text-underline-offset:5px}
.contact-details .contact-label {font:12px var(--mono);letter-spacing:.06em;color:#b8ccd7;margin-block-end:9px;display:block}
.contact-details bdi {direction:ltr}
.site-footer {padding-block:23px;background:var(--paper);border-block-start:1px solid var(--line)}
.footer-inner {display:flex;justify-content:space-between;gap:28px;align-items:center}
.footer-inner p {font-size:12px;color:var(--muted)}
.print-action {background:none;border:0;display:flex;align-items:center;gap:9px;color:var(--blue);font-size:13px;font-weight:550;white-space:nowrap;padding:7px}
/* IMAGE VIEWS & CASE STUDIES */
.image-viewport {position:relative;overflow:hidden;width:100%;background:white;direction:ltr}
.image-viewport:not(.crop) img {width:100%;height:100%;object-fit:contain}
.image-viewport.crop img {position:absolute;max-width:none;height:auto}
.image-button {display:block;border:0;padding:0;width:100%;text-align:inherit;background:white;position:relative}
.image-button .image-badge {position:absolute;inset-inline-end:10px;inset-block-end:10px;background:#ffffffed;color:var(--blue);padding:7px 10px;font-size:12px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:4px}
.image-button .image-badge svg {width:16px;height:16px}
.case-wrap {padding-block:35px 75px}
.case-header {margin-block:28px 32px;display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:start}
.case-header h1 {font-size:clamp(34px,3.5vw,52px);max-width:850px;margin-block:10px 18px}
.case-header .case-deck {color:var(--muted);font-size:17px}
.case-hero {margin-block-start:11px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.case-hero .image-viewport {aspect-ratio:1.7}
.case-hero figcaption {font-size:12px;line-height:1.6;color:var(--muted);padding:13px 17px;background:white;border-block-start:1px solid var(--line)}
.case-hero .record-art {min-height:275px}
.case-meta {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-block:30px 0;padding:0;border:1px solid var(--line);background:white}
.case-meta div {padding:13px 16px;min-width:0;border-block-end:1px solid var(--line);border-inline-end:1px solid var(--line);margin-block-end:-1px}
.case-meta div:nth-child(3n) {border-inline-end:0}
.case-meta dt {font:12px/1.4 var(--mono);color:var(--accent-text);text-transform:uppercase;margin-block-end:7px}
.case-meta dd {margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.case-content {display:grid;grid-template-columns:230px 1fr;gap:65px;align-items:start;border-block-start:1px solid var(--line);padding-block-start:40px}
.case-aside {position:sticky;inset-block-start:102px}
.case-aside nav {display:grid;gap:10px}
.case-aside nav a {font-size:13px;color:var(--steel);padding-block:3px;border-inline-start:2px solid var(--line);padding-inline-start:13px}
.case-aside nav a:hover {border-color:var(--copper);color:var(--blue)}
.case-aside .case-kind {font-size:12px;color:var(--accent-text);margin-block-end:20px;display:block;font-weight:650}
.case-sections {min-width:0}
.case-section {margin-block-end:38px;scroll-margin-top:100px}
.case-section h2 {font-size:29px;margin-block-end:17px}
.case-section p,.case-section li {font-size:15px;line-height:1.85;color:var(--muted)}
.case-section ul {margin-block:0}
.decision-list {display:grid;grid-template-columns:1fr 1fr;gap:24px;counter-reset:decision}
.decision {border-block-start:2px solid var(--line);padding-block-start:17px}
.decision h3 {font-size:19px;line-height:1.35;margin-block-end:12px}
.decision h3::before {counter-increment:decision;content:'0' counter(decision) ' / ';font:12px var(--mono);color:var(--accent-text);display:block;margin-block-end:10px}
.decision p {font-size:14px}
.calc-grid {display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);margin-block-end:22px;background:white}
.calc-item {padding:17px;border:1px solid var(--line);margin:-1px}
.calc-item span {font-size:12px;color:var(--steel);display:block;margin-block-end:8px}
.calc-item strong {font:500 26px/1.2 var(--sans);color:var(--blue);direction:ltr;display:inline-block}
.case-result {padding:28px;background:var(--mist);border-inline-start:3px solid var(--copper)}
.case-result h2 {margin-block-end:16px}
.case-metrics {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-block-end:24px}
.case-metrics strong {font-size:32px;font-weight:550;color:var(--blue);line-height:1.2;display:block;direction:ltr}
.case-metrics span {font-size:12px;color:var(--steel);line-height:1.4;display:block;margin-block-start:8px}
.gallery-grid {display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gallery-figure {border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}
.gallery-figure .image-viewport {aspect-ratio:1.5}
.gallery-figure:first-child {grid-column:1/-1}
.gallery-figure:first-child .image-viewport {aspect-ratio:2.3}
.gallery-figure figcaption {font-size:13px;color:var(--muted);padding:15px;line-height:1.65;border-block-start:1px solid var(--line)}
.case-ending {display:flex;justify-content:space-between;gap:25px;padding-block-start:30px;border-block-start:1px solid var(--line)}
/* LIGHTBOX — native dialog provides modal focus containment and inert background */
.viewer {padding:0;border:0;border-radius:8px;width:calc(100vw - 48px);max-width:1600px;height:calc(100dvh - 48px);max-height:100dvh;background:var(--paper);color:var(--ink);overflow:hidden;box-shadow:0 20px 70px #0005}
.viewer::backdrop {background:#10222fe8}
.viewer-inner {height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.viewer-top {display:flex;gap:15px;justify-content:space-between;align-items:center;padding:12px 18px;border-block-end:1px solid var(--line);background:white}
.viewer-title {font-size:15px;line-height:1.5;margin:0}
.viewer-toolbar {display:flex;align-items:center;gap:7px;direction:ltr}
.viewer-toolbar .icon-btn {width:38px;height:38px}
.viewer-toolbar output {font:12px var(--mono);width:45px;text-align:center}
.viewer-stage {position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;background:#e7ecee;direction:ltr}
.viewer-frame {flex:none;transform-origin:center center;user-select:none;box-shadow:0 0 0 1px #bac8cf;background:white}
.viewer-frame .image-viewport {height:100%;width:100%}
.viewer-stage.zoomed {cursor:grab}
.viewer-stage.dragging {cursor:grabbing}
.viewer-stage img {pointer-events:none;user-select:none}
.viewer-bottom {background:white;padding:13px 20px;border-block-start:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.viewer-caption {font-size:13px;line-height:1.6}
.viewer-hint {font-size:12px;color:var(--muted);margin-block-start:5px}
.viewer-pagination {display:flex;gap:10px;align-items:center;direction:ltr}
.viewer-pagination .image-count {font:12px var(--mono);min-width:40px;text-align:center}
.print-only {display:none}
/* RESPONSIVE */
@media(min-width:1600px) { .hero-grid {padding-block:85px 70px} }
@media(max-width:1200px) {
 .wrap {width:calc(100% - 64px)}
 .nav-wrap {gap:18px}.brand-note {display:none}.nav-links {gap:18px}
 .hero-grid {gap:35px}.hero-copy h1 {font-size:47px}.hero-copy .btn {font-size:13px;padding-inline:12px}
 .hero-evidence {padding-inline-start:0}
 .card-content {padding:20px}.project-card h3 {font-size:22px}
 .approach-layout {gap:45px}.case-content {grid-template-columns:190px 1fr;gap:35px}
 .section-head {gap:38px}.case-header {gap:35px}
}
@media(max-width:1000px) {
 .nav-cta {display:none}.nav-links {gap:15px}
 .hero-copy h1 {font-size:41px}.hero-copy .positioning {font-size:25px}
 .hero-grid {gap:30px;padding-block:50px}.hero-copy .actions {align-items:stretch}
 .hero-copy .btn {font-size:14px}.hero-copy .employer-route {font-size:12px}
 .hero-disciplines {font-size:12px}.hero-fragment .fragment-label {font-size:12px}
 .proof-item {padding-inline:18px}
 .project-grid {gap:16px}.project-card h3 {font-size:20px}.card-summary {font-size:14px}.card-content {padding:19px}
 .capability h3 {font-size:21px}.capability {padding-inline-end:20px}.capability:not(:nth-child(3n+1)) {padding-inline-start:20px}
 .case-header {grid-template-columns:1fr 1fr}.case-meta {grid-template-columns:1fr 1fr}.case-meta div:nth-child(3n) {border-inline-end:1px solid var(--line)}.case-meta div:nth-child(2n) {border-inline-end:0}
 .case-content {grid-template-columns:1fr}.case-aside {position:static}.case-aside nav {display:flex;flex-wrap:wrap;gap:10px 20px}.case-aside .case-kind {display:none}
 .principle-grid {grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px) {
 .wrap {width:calc(100% - 40px)}
 .nav-wrap,.site-header.scrolled .nav-wrap {min-height:64px;gap:12px}
 .brand-note {display:block;font-size:12px}.brand-mark {font-size:20px}
 .menu-toggle {display:inline-flex;order:4;width:40px;height:40px}
 .nav-links {display:none;position:absolute;inset-block-start:100%;inset-inline:0;background:white;border-block-end:1px solid var(--line);padding:14px 20px;box-shadow:0 10px 20px #0b304510;grid-template-columns:1fr 1fr;gap:0 20px}
 .nav-links.open {display:grid}.nav-links a {padding:13px 10px;white-space:normal;border-block-end:1px solid #e3e9ec;font-size:15px}.nav-links a::after {inset-block-end:0}
 .hero-grid {grid-template-columns:1fr;gap:36px;padding-block:37px 30px}
 .hero-copy h1 {font-size:clamp(39px,7.5vw,59px);margin-block:8px 20px;max-width:640px}
 .hero-copy .positioning {max-width:570px;font-size:28px}.hero-copy .intro {max-width:590px}
 .hero-copy .actions {gap:12px}.hero-copy .btn {font-size:15px;padding-inline:18px}
 .hero-disciplines {margin-block-start:22px;padding-block-start:15px;font-size:12px}
 .hero-evidence {display:grid;grid-template-columns:1.35fr 1fr;gap:12px;padding:0}
 .hero-main .image-viewport {aspect-ratio:1.7}.hero-main {align-self:start}.evidence-bar {font-size:8px;padding:10px}.hero-main .hero-caption {font-size:12px;padding:10px}
 .hero-bottom {margin:0;gap:9px}.hero-bottom {grid-template-columns:1fr}.hero-fragment .image-viewport {aspect-ratio:2.85}.hero-fragment .fragment-label {padding:6px 9px;font-size:8px}
 .hero-evidence-note {grid-column:1/-1;margin-block-start:0;font-size:8px}
 .hero-evidence::before {inset:-10px}
 .credential-line {font-size:12px;gap:10px 18px}
 .proof-grid {grid-template-columns:1fr 1fr;gap:22px 0}.proof-item:nth-child(3) {border:0;padding-inline-start:0}.proof-item p {font-size:12px;max-width:240px}
 .proof-item strong {font-size:29px}.proof-item .proof-label {font-size:12px}.proof {padding-block:24px}
 .section {padding-block:60px}.section-head {grid-template-columns:1fr;gap:19px;margin-block-end:30px}.section-head p {font-size:15px;max-width:680px}
 .section-head h2 {font-size:33px}.eyebrow {font-size:12px}
 .project-grid {grid-template-columns:1fr 1fr;gap:20px}
 .featured-grid .project-card:first-child {grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 .featured-grid .project-card:first-child .card-image {aspect-ratio:auto;height:100%;border-block-end:0;border-inline-end:1px solid var(--line)}
 .project-card h3 {font-size:23px}
 .approach-layout {grid-template-columns:1fr 1fr;gap:27px}.support-panel-body {padding:24px}.support-panel h3 {font-size:24px}.support-panel p {font-size:14px}
 .workflow li {column-gap:14px;padding-block-end:22px}.workflow h3 {font-size:20px}.workflow p {font-size:13px}
 .capability-grid {grid-template-columns:1fr 1fr}.capability {padding:25px 24px 25px 0}.capability:not(:nth-child(3n+1)) {border-inline-start:0;padding-inline-start:0}.capability:nth-child(2n) {padding-inline-start:24px;border-inline-start:1px solid var(--line)}
 .software-grid {gap:22px}.software-item h4 {font-size:14px}
 .development-grid {gap:25px;grid-template-columns:1fr}.development-item {padding-inline-start:20px}.development-item h3 {font-size:21px;margin-block-end:8px}
 .career-list {gap:0 28px}.career-item h3 {font-size:23px}.career-item {grid-template-columns:22px 1fr;gap:10px}
 .about-grid {grid-template-columns:130px 1fr;gap:30px}.about-copy {grid-template-columns:1fr;gap:20px}.about-copy p {font-size:15px}
 .contact-routes {gap:30px}.contact-section {padding-block:58px 40px}.contact-route h3 {font-size:23px}.contact-details {grid-template-columns:1fr 1fr;gap:24px}.contact-details .email-link {grid-column:1/-1}
 .contact-details a {font-size:14px}.footer-inner {gap:20px}.footer-inner p {font-size:12px}
 .case-header {grid-template-columns:1fr;gap:23px}.case-header h1 {font-size:41px}.case-hero {max-width:650px;margin:0}.case-hero .image-viewport {aspect-ratio:2}
 .case-content {gap:32px}.page-top h1 {font-size:43px}
}
@media(max-width:540px) {
 .wrap {width:calc(100% - 36px)}
 .brand-note {max-width:90px;font-size:8px}.brand {gap:9px}.lang-control svg:not(.chevron) {width:16px}.lang-control select {width:57px;font-size:12px}
 .nav-wrap {gap:9px}.nav-links {grid-template-columns:1fr 1fr}
 .hero-grid {padding-block-start:28px;gap:27px}.hero-copy h1 {font-size:40px;line-height:1.04;margin-block-end:20px}
 .hero-copy .eyebrow {font-size:12px;letter-spacing:.07em;gap:7px}
 .hero-copy .positioning {font-size:24px;line-height:1.27;margin-block-end:17px}
 .hero-copy .intro {font-size:15px;line-height:1.7;margin-block-end:22px}
 .hero-copy .actions {display:grid;grid-template-columns:1fr;gap:9px}.hero-copy .btn {width:100%;font-size:14px;justify-content:space-between;min-height:46px}
 .hero-copy .employer-route {font-size:12px;margin-block-start:15px}.hero-disciplines {font-size:12px;line-height:1.8;margin-block-start:20px}
 .hero-evidence {display:block}.hero-bottom {display:grid;grid-template-columns:1fr 1fr;margin-block-start:10px}.hero-main .image-viewport {max-height:190px}.hero-evidence-note {margin-block-start:9px}.hero-main .hero-caption {font-size:8px;padding:8px}.hero-main .hero-caption svg {width:14px}
 .evidence-bar {font-size:12px;padding:9px;letter-spacing:.02em}.hero-bottom {gap:7px}.hero-fragment .fragment-label {font-size:12px;padding:7px}.hero-fragment .image-viewport {aspect-ratio:2.5}
 .hero-main .image-viewport {aspect-ratio:1.4}.hero-evidence-note {font-size:7px}
 .credential-line {display:grid;grid-template-columns:1fr;gap:9px;font-size:12px;padding-block:15px}
 .proof-item {padding-inline:17px}.proof-item .proof-label {font-size:12px;line-height:1.5}.proof-item p {font-size:12px}
 .section {padding-block:50px}.section-head h2 {font-size:30px}.section-head {gap:16px}.section-head p {font-size:15px}
 .project-grid {grid-template-columns:1fr;gap:20px}
 .featured-grid .project-card:first-child {display:flex;grid-column:auto}
 .featured-grid .project-card:first-child .card-image {aspect-ratio:1.8;border-inline-end:0;border-block-end:1px solid var(--line);height:auto}
 .card-image {aspect-ratio:1.8}.card-content {padding:22px}.project-card h3 {font-size:25px;line-height:1.2}.card-summary {font-size:15px}
 .project-actions {align-items:start}.project-actions .project-count {font-size:12px}.project-actions .btn {font-size:13px;padding-inline:14px}
 .approach-layout {grid-template-columns:1fr;gap:30px}.workflow li {column-gap:18px}.workflow p {font-size:14px}.workflow h3 {font-size:21px}
 .support-panel .image-viewport {aspect-ratio:1.85}.support-panel-body {padding:25px}
 .capability-grid {grid-template-columns:1fr}.capability,.capability:nth-child(2n),.capability:not(:nth-child(3n+1)) {padding:24px 0;border-inline-start:0;display:grid;grid-template-columns:30px 1fr;column-gap:15px}
 .capability .cap-no {grid-column:1;grid-row:1/5;padding-block-start:7px;margin:0}.capability h3,.capability p,.capability .tech,.capability .text-link {grid-column:2}
 .capability h3 {font-size:22px}.capability p {font-size:14px}.capability .text-link {font-size:13px}
 .software-grid {grid-template-columns:1fr;gap:22px}.software-item {padding-block-start:18px;border-block-start:1px solid var(--line)}.software-item h4 {font-size:15px}.software-block h3 {font-size:23px}
 .standards-grid {grid-template-columns:1fr;gap:0}.standard-card h3 {font-size:23px}
 .career-list {grid-template-columns:1fr}.career-item {grid-template-columns:25px 1fr;padding-block:25px;gap:13px}.career-item h3 {font-size:25px}.career-item p {font-size:14px}
 .about-grid {grid-template-columns:1fr;gap:23px}.about-portrait {max-width:none;display:flex;align-items:end;gap:18px;background:white;border:0}.about-portrait img {width:103px;height:140px;object-fit:cover;border-block-end:3px solid var(--copper)}.about-portrait figcaption {padding:10px 0;max-width:175px;font-size:13px}.about-copy p {font-size:15px}
 .principles {margin-block-start:35px}.principle-grid {grid-template-columns:1fr 1fr;gap:25px}.principle h4 {font-size:16px}
 .contact-section h2 {font-size:32px;margin-block-end:30px}.contact-routes {grid-template-columns:1fr;gap:33px}.contact-route h3 {font-size:24px}.contact-route p {font-size:14px}.contact-section .btn {font-size:13px}
 .contact-details {grid-template-columns:1fr;gap:22px}.contact-details .email-link {grid-column:auto}.contact-details a {font-size:14px}
 .footer-inner {flex-direction:column;align-items:start;gap:12px}.footer-inner p {font-size:12px}.print-action {padding-inline:0}
 .page-top {padding-block:30px}.page-top h1 {font-size:37px}.page-top p {font-size:15px}.filters {gap:7px}.filter {font-size:12px;padding:8px 12px}
 .case-wrap {padding-block-start:22px}.case-header {margin-block-start:25px}.case-header h1 {font-size:35px}.case-header .case-deck {font-size:15px}.case-meta dd {font-size:12px}.case-meta div {padding:12px}.case-meta dt {font-size:12px}
 .case-hero .image-viewport {aspect-ratio:1.6}.case-content {padding-block-start:25px}.case-aside nav {gap:8px 12px}.case-aside nav a {font-size:12px}
 .case-section h2 {font-size:26px}.case-section p,.case-section li {font-size:15px;line-height:1.8}.decision-list {grid-template-columns:1fr}.decision h3 {font-size:20px}.decision p {font-size:14px}
 .calc-item strong {font-size:25px}.calc-item span {font-size:12px}.calc-item {padding:14px}
 .case-result {padding:20px}.case-metrics {gap:15px;grid-template-columns:1fr 1fr}.case-metrics strong {font-size:30px}
 .gallery-grid {grid-template-columns:1fr}.gallery-figure:first-child {grid-column:auto}.gallery-figure:first-child .image-viewport {aspect-ratio:1.6}.case-ending {flex-direction:column;gap:25px}
 .viewer {width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.viewer-top {flex-wrap:wrap;padding:10px 12px;gap:8px}.viewer-title {max-width:calc(100% - 55px);font-size:13px}.viewer-toolbar {order:3;width:100%;justify-content:center}.viewer-close {margin-inline-start:auto}.viewer-bottom {grid-template-columns:1fr;padding:12px;gap:7px}.viewer-caption {font-size:12px}.viewer-pagination {justify-content:center}.viewer-hint {font-size:12px}
 [dir=rtl] .hero-copy h1 {font-size:35px;line-height:1.16;direction:ltr;text-align:right}
 [dir=rtl] .hero-copy .positioning {font-size:24px}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto} *,*::before,*::after {animation:none!important;transition:none!important}
 .btn:hover,.card-image:hover img:not(.cropped-image) {transform:none}
}
/* PRINT — overview or full currently open case; built-in browser PDF output */
@page {size:A4;margin:15mm 14mm}
@media print {
 html,body {background:white!important;color:#18262f!important;font-size:10pt;line-height:1.5;scroll-behavior:auto}
 .site-header,.site-footer,.skip-link,.viewer,.actions,.hero-evidence,.hero-disciplines,.employer-route,.project-actions,.text-link,.card-link,.filters,.results-label,.case-aside,.case-ending,.contact-routes,.image-badge,.support-panel,.principles,.software-block,.standards-section,.development-section,.about-section,.workflow,.image-notice,.case-back,.no-print {display:none!important}
 .wrap {width:100%;max-width:none}.section {padding-block:6mm}.section-head {display:block;margin-block-end:4mm}.section-head h2 {font-size:19pt}.section-head p {font-size:9pt;margin-block-start:2mm;max-width:none}.eyebrow {font-size:7pt;margin-block-end:2mm}
 .hero-grid {display:block;padding-block:4mm}.hero-copy h1 {font-size:26pt;margin-block:2mm}.hero-copy h1 .surname {display:inline}.hero-copy .positioning {font-size:15pt;margin-block:3mm}.hero-copy .intro {font-size:9pt;max-width:none;margin-block:3mm}.credential-line {font-size:8pt;display:flex;gap:4mm;padding-block:3mm}.hero {border:0}
 .print-only {display:block}.print-contact {font-size:8pt;line-height:1.7;border-block-start:1px solid var(--line);padding-block:3mm;overflow-wrap:anywhere}
 .proof {padding-block:4mm}.proof-grid {grid-template-columns:repeat(4,1fr);gap:0}.proof-item {padding-inline:3mm}.proof-item strong {font-size:20pt}.proof-item .proof-label {font-size:8pt}.proof-item p {font-size:7pt}
 .project-grid,.featured-grid {display:block}.project-card,.featured-grid .project-card:first-child {display:grid;grid-template-columns:44mm 1fr;margin-block-end:4mm;break-inside:avoid;border-radius:0}.card-image,.featured-grid .project-card:first-child .card-image {height:100%;aspect-ratio:auto;border:0}.card-index {display:none}.card-content {padding:3mm 4mm}.project-card h3 {font-size:13pt;margin-block-end:2mm}.card-category {font-size:7pt;margin-block-end:1mm}.card-summary {font-size:8pt;margin-block-end:2mm}.card-role {font-size:7pt;margin-block-end:1mm}.tags {margin-block-end:2mm}.tag {font-size:6pt;padding:1mm}.card-outcome {font-size:8pt;padding-block:2mm}.record-art strong {font-size:22pt}.record-art {padding:5mm}.record-art::before {inset:3mm}
 .approach-section {display:none!important}.capability-grid {display:grid;grid-template-columns:1fr 1fr}.capability,.capability:nth-child(2n),.capability:not(:nth-child(3n+1)) {display:block;padding:3mm;border:0;border-block-end:1px solid var(--line);break-inside:avoid}.capability .cap-no {display:none}.capability h3 {font-size:11pt;margin-block-end:2mm}.capability p {font-size:8pt;line-height:1.5;margin-block-end:2mm}.capability .tech {font-size:6.5pt}
 .career-list {display:block}.career-item {display:block;padding-block:3mm;break-inside:avoid}.career-no {display:none}.career-item h3 {font-size:12pt;margin-block-end:1mm}.career-item .job-label {font-size:8pt;margin-block-end:1mm}.career-item p {font-size:8.5pt;line-height:1.5}.career-item .job-detail {font-size:7pt;margin-block-start:1mm}
 .contact-section {background:white;color:var(--ink);padding-block:5mm}.contact-section h2 {font-size:19pt;color:var(--blue);margin-block-end:4mm}.contact-section .eyebrow {color:var(--steel)}.contact-details {display:block;padding-block-start:3mm}.contact-details a {font-size:9pt;margin-block-end:2mm;text-decoration:none}.contact-details .contact-label {display:inline;font-size:8pt;margin-inline-end:3mm;color:var(--steel)}
 .case-wrap {padding:0}.case-header {display:block;margin-block:2mm 5mm}.case-header h1 {font-size:26pt;margin-block:2mm 3mm}.case-header .case-deck {font-size:10pt}.case-hero {max-width:115mm;margin-block:4mm;break-inside:avoid}.case-hero .image-viewport {aspect-ratio:2.3}.case-hero figcaption {font-size:8pt;padding:2mm}.case-meta {display:grid;grid-template-columns:1fr 1fr 1fr;margin-block:4mm}.case-meta div {padding:2mm}.case-meta dt {font-size:6pt}.case-meta dd {font-size:8pt}.case-content {display:block;padding-block-start:4mm}.case-section {margin-block-end:6mm}.case-section h2 {font-size:17pt;margin-block-end:3mm;break-after:avoid}.case-section p,.case-section li {font-size:9pt;line-height:1.6}.decision-list {display:block}.decision {padding-block:3mm;break-inside:avoid}.decision h3 {font-size:12pt}.decision h3::before {font-size:7pt}.calc-grid {break-inside:avoid}.calc-item {padding:3mm}.calc-item strong {font-size:18pt}.calc-item span {font-size:8pt}.case-result {padding:4mm;break-inside:avoid}.case-metrics strong {font-size:22pt}.case-metrics span {font-size:7pt}.gallery-grid {display:block}.gallery-figure {margin-block:4mm;break-inside:avoid;max-width:150mm}.gallery-figure .image-viewport,.gallery-figure:first-child .image-viewport {aspect-ratio:2.5}.gallery-figure figcaption {font-size:8pt;padding:2mm}.gallery-intro {font-size:8pt!important}.case-hero .record-art {min-height:40mm}
 * {box-shadow:none!important;text-shadow:none!important;transition:none!important}
}

/* Compact, fully accessible native language selector. */
.lang-control {min-width:76px;padding-inline:3px 17px;height:44px}.language-code {font:600 12px var(--mono);margin-inline-start:4px}.lang-control select {position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:2}.lang-control:focus-within {outline:3px solid var(--copper);outline-offset:3px;border-radius:3px}.mobile-contact {display:none}@media(max-width:800px){.mobile-contact{display:block}.lang-control{min-width:70px}}

/* V3 TOKENS — V2 identity retained, with a broader canvas and a readable scale. */
:root {
  --max:1440px;
  --display:'Segoe UI Variable Display','Segoe UI','Aptos Display','Helvetica Neue',Arial,sans-serif;
  --body-size:clamp(17px,.28vw + 14px,18px);
  --shadow-raised:0 16px 40px rgb(11 48 69 / 10%);
  --blue-light:#dce8ee;
}
/* RESET / GLOBAL TYPOGRAPHY */
.v3 {font-size:var(--body-size)}
.v3 textarea {font:inherit;color:inherit}
.v3 h1,.v3 h2,.v3 h3 {font-family:var(--display)}
.v3 .wrap {width:min(var(--max),calc(100% - 96px))}
.v3 .section {padding-block:clamp(56px,5.5vw,90px)}
.v3 h1 {font-size:clamp(38px,4.5vw,66px);line-height:1.09;letter-spacing:-.045em}
.v3 .section-head h1 {max-width:830px}
.v3 .section-head {gap:44px}
.v3 .section-head h2,.v3 .drawing-feature h2,.v3 .snapshot-grid h2 {font-size:clamp(30px,3vw,44px);line-height:1.17}
.v3 .section-head p,.v3 .page-top p {font-size:var(--body-size);max-width:65ch}
.v3 .eyebrow {font-size:12px;letter-spacing:.09em;line-height:1.7;flex-wrap:wrap;gap:9px}
.v3 .btn,.v3 .text-link,.v3 .print-action {font-size:15px;min-height:44px}
.v3 .btn {min-height:48px;padding:12px 20px;border-radius:7px}
.v3 .btn .arrow,.v3 .card-link .arrow {transition:translate 200ms ease}
.v3 .btn:hover .arrow,.v3 .card-link:hover .arrow {translate:3px 0}
[dir=rtl] .v3 .btn:hover .arrow,[dir=rtl] .v3 .card-link:hover .arrow {translate:-3px 0}
.v3 .tech,.v3 .level {font-size:12px;line-height:1.65}
.v3 .field-label {display:block;font:600 12px/1.7 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);margin-block:12px 5px}
.v3 .tag {font-size:12px;line-height:1.5;padding:5px 9px}
.v3 :is(.card-role,.card-category,.card-index,.project-count,.case-kind,.results-label) {font-size:13px}
.v3 .image-viewport {min-width:0}
.v3 button.text-link {background:none;border:0;padding:0;text-align:start}
.v3 :is(.section-head,.hero-grid,.contact-workspace,.drawing-feature,.project-grid)>* {min-width:0}
.v3 bdi {overflow-wrap:anywhere}
/* NAVIGATION */
.v3 .nav-wrap {gap:20px;min-height:84px}
.v3 .site-header.scrolled .nav-wrap {min-height:72px}
.v3 .brand-note {font-size:12px;max-width:116px}
.v3 .brand-mark {font-size:23px}
.v3 .nav-links {gap:23px}
.v3 .nav-links a,.v3 .more-toggle {font-size:15px;padding-block:25px}
.v3 .nav-cta {min-height:44px;padding:9px 15px}
.v3 .lang-control {min-width:76px}
.v3 .language-code {font-size:13px}
.v3 .nav-more {position:relative}
.v3 .more-toggle {display:flex;align-items:center;gap:5px;background:none;border:0;font-weight:600;padding-inline:0;position:relative}
.v3 .more-toggle svg {width:14px}
.v3 .current-more::after {content:'';position:absolute;inset-inline:0;bottom:13px;height:2px;background:var(--copper)}
.v3 .more-links {position:absolute;inset-block-start:100%;inset-inline-end:0;min-width:250px;background:white;border:1px solid var(--line);padding:10px;border-radius:6px;box-shadow:var(--shadow-raised);animation:menu-in 180ms ease both}
.v3 .more-links a {display:block;padding:12px 14px;white-space:normal;border-radius:3px}
.v3 .more-links a:hover {background:var(--mist)}
.v3 .more-links a::after {inset-inline:14px;inset-block-end:5px}
.v3 .mobile-extra {display:none}
.v3 .menu-toggle {width:44px;height:44px}
.v3 .reading-progress {position:absolute;inset:100% 0 auto;height:2px;display:none;background:transparent;overflow:hidden}
.v3.case-active .reading-progress {display:block}
.v3 .reading-progress span {display:block;height:100%;background:var(--copper);transform:scaleX(0);transform-origin:left}
[dir=rtl] .v3 .reading-progress span {transform-origin:right}
@supports(backdrop-filter:blur(8px)) {.v3 .site-header {background:#fffffff0;backdrop-filter:blur(8px)}}
/* VIEW TRANSITIONS — short entrances; content stays available to fast readers. */
.v3 #page-view,.v3 #catalog-view {min-height:70vh}
.v3 .view-enter {animation:view-in 240ms cubic-bezier(.2,.6,.25,1) both}
.v3 .is-revealed {animation:evidence-in 320ms ease both}
@keyframes view-in {from {opacity:.45;transform:translateY(10px)} to {opacity:1;transform:none}}
@keyframes evidence-in {from {opacity:.65;transform:translateY(7px)} to {opacity:1;transform:none}}
@keyframes menu-in {from {opacity:0;transform:translateY(-4px)} to {opacity:1;transform:none}}
/* HOME — original engineering imagery, drawing paper and controlled depth. */
.v3 .v3-hero {position:relative;background:linear-gradient(110deg,#fafbfb 38%,#e8eef0 100%);isolation:isolate}
.v3 .hero-wallpaper {position:absolute;z-index:-1;inset:0 0 0 32%;opacity:.07;pointer-events:none;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black)}
.v3 .hero-wallpaper .image-viewport {height:100%;width:100%}
.v3 .hero-wallpaper img {height:100%;width:100%;object-fit:cover;object-position:top left}
.v3 .hero-grid {grid-template-columns:1.04fr 1fr;gap:clamp(35px,5vw,76px);padding-block:46px 40px;align-items:center}
.v3 .hero-copy h1 {font-size:clamp(42px,4.6vw,68px);line-height:1.02;letter-spacing:-.05em;margin-block:12px 25px}
.v3 .hero-copy .positioning {font-size:clamp(25px,2.2vw,33px);max-width:590px;line-height:1.22;color:var(--blue);font-weight:550}
.v3 .hero-copy .intro {font-size:var(--body-size);max-width:53ch;margin-block-end:27px}
.v3 .hero-copy .btn {font-size:15px;padding-inline:17px}
.v3 .hero-copy .employer-route {font-size:15px;margin-block-start:13px}
.v3 .hero-copy .eyebrow {font-size:12px;max-width:560px}
.v3 .hero-disciplines {font-size:12px;line-height:1.9;max-width:590px;margin-block-start:23px}
.v3 .hero-evidence {display:block;padding:0 0 0 12px;width:100%;max-width:550px;justify-self:end}
.v3 .hero-evidence::before {inset:-16px -28px 30px -16px;background-size:32px 32px;border-inline-start:1px solid #a9bdc777;border-block-start:1px solid #a9bdc777}
.v3 .hero-main {box-shadow:0 18px 40px #0b30451a;border-radius:7px;rotate:-1deg}
.v3 .hero-main .image-viewport {max-height:none}
.v3 .hero-visual-button {display:block;width:100%;position:relative;padding:0;border:0;background:white;overflow:hidden}
.v3 .hero-visual-button .image-viewport {transition:filter 200ms ease}
.v3 .hero-visual-button:hover .image-viewport {filter:contrast(1.04)}
.v3 .visual-corner {position:absolute;bottom:10px;right:10px;width:38px;height:38px;display:grid;place-items:center;background:white;border:1px solid var(--line);border-radius:4px;color:var(--blue)}
.v3 .evidence-bar {font-size:12px;padding:12px 15px;letter-spacing:.025em}
.v3 .hero-main .hero-caption {font-size:13px;padding:10px 15px;gap:12px}
.v3 .hero-bottom {display:grid;grid-template-columns:1.07fr 1fr;gap:13px;margin-block-start:15px}
.v3 .hero-fragment {box-shadow:0 7px 18px #0b304510}
.v3 .hero-fragment .image-viewport {aspect-ratio:2.25}
.v3 .hero-fragment .fragment-label {font-size:12px;padding:9px 11px}
.v3 .hero-person {position:relative;display:flex;align-items:center;gap:13px;padding:13px;background:var(--blue);color:white;border-radius:6px;border-block-end:3px solid var(--copper)}
.v3 .hero-person img {width:63px;height:85px;object-fit:cover;flex:none;border-radius:3px}
.v3 .hero-person figcaption {font-size:12px;line-height:1.65}
.v3 .hero-person strong {display:block;font-size:14px;font-weight:600}
.v3 .hero-person figcaption>span {display:block;color:#c4d3db}
.v3 .hero-person .text-link {font-size:12px;color:white;min-height:30px;gap:6px}
.v3 .hero-person svg {width:14px}
.v3 .credential-line {font-size:13px;line-height:1.5;gap:12px 24px;position:relative}
.v3 .proof {padding-block:25px}
.v3 .proof-item strong {font-size:34px;font-weight:650}
.v3 .proof-label {font-size:14px!important}
.v3 .proof-item p {font-size:13px;max-width:270px;line-height:1.55}
.v3 .proof-item {padding-inline:30px}
.v3 .proof-item:first-child {padding-inline-start:0}
/* PROJECTS */
.v3 .project-grid {gap:26px;grid-template-columns:repeat(3,minmax(0,1fr))}
.v3 .project-card {border:1px solid #cbd5da;background:white;border-radius:8px;overflow:hidden;transition:box-shadow 220ms ease,translate 220ms ease,border-color 220ms ease}
.v3 .card-image {position:relative;aspect-ratio:1.58;background:#eef2f3}
.v3 .card-content {padding:26px}
.v3 .project-card h3 {font-size:clamp(24px,1.65vw,28px);line-height:1.2;margin-block:10px 14px}
.v3 .card-summary {font-size:16px;line-height:1.65}
.v3 .card-role {font-size:13px;line-height:1.65}
.v3 .card-category {font-size:12px;letter-spacing:.04em;line-height:1.7}
.v3 .card-outcome {font-size:15px;line-height:1.6;padding-block:15px}
.v3 .card-link {font-size:15px;min-height:44px}
.v3 .card-index {font-size:12px;background:#fffffff3}
.v3 .v3-featured {grid-template-columns:repeat(3,minmax(0,1fr))}
.v3 .v3-featured .project-card:first-child {display:grid;grid-column:1/-1;grid-template-columns:1.08fr 1fr}
.v3 .v3-featured .project-card:first-child .card-image {aspect-ratio:auto;height:100%;border-inline-end:1px solid var(--line);border-block-end:0;min-height:365px}
.v3 .v3-featured .project-card:first-child h3 {font-size:clamp(28px,2.7vw,41px)}
.v3 .v3-featured .project-card:first-child .card-content {padding:34px}
.v3 .v3-featured .project-card:first-child .card-image .image-viewport {height:100%;display:flex;align-items:center}
.v3 .v3-featured .project-card:first-child .card-image img {object-fit:contain}
.v3 .page-top {padding-block:55px 38px;background:linear-gradient(120deg,var(--paper),#e8eef1);border-block-end:1px solid var(--line)}
.v3 .page-top h1 {margin-block-end:20px}
.v3 .catalog {padding-block:30px 85px}
.v3 .filter {font-size:14px;min-height:44px;padding:9px 15px}
@media(hover:hover) and (pointer:fine) {
 .v3 .project-card:hover {translate:0 -3px;border-color:#92aab7;box-shadow:var(--shadow-raised)}
 .v3 .card-image:hover img:not(.cropped-image) {transform:scale(1.025)}
 .v3 .drawing-card:hover {box-shadow:var(--shadow-raised);border-color:#9bb1bd}
}
/* HOME / ENGINEERING APPROACH */
.v3 .home-method {padding-block:64px;background:var(--blue);color:var(--blue-light);position:relative;overflow:hidden}
.v3 .home-method::after {content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:48px 48px}
.v3 .home-method .wrap {position:relative;z-index:1}
.v3 .method-heading {display:flex;justify-content:space-between;gap:30px;align-items:end;margin-block-end:37px}
.v3 .method-heading h2 {color:white;font-size:clamp(30px,3vw,43px);max-width:670px}
.v3 .home-method .eyebrow,.v3 .home-method .text-link {color:#d1e0e8}
.v3 .method-preview {padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;list-style:none}
.v3 .method-preview li {margin:0;border-block-start:1px solid #668395;padding-block-start:16px}
.v3 .method-preview .tech {color:#f0b088;font-size:14px}
.v3 .method-preview h3 {color:white;font-size:24px;margin-block:12px}
.v3 .method-preview p {font-size:16px;line-height:1.65;color:#c2d3de}
.v3 .drawing-home {background:linear-gradient(135deg,#eef1f1,#f8faf9);border-block-end:1px solid var(--line);overflow:hidden}
.v3 .drawing-feature {display:grid;grid-template-columns:1.04fr 1fr;gap:70px;align-items:center}
.v3 .drawing-paper {background:white;position:relative;border:1px solid #c2cdd3;box-shadow:10px 12px 0 -2px #e6ebed,10px 12px 0 -1px #c5d0d5,0 18px 40px #0b304515;border-radius:2px;padding:0;text-align:start}
.v3 .drawing-paper>button {display:block;width:100%;background:white;border:0;padding:0;position:relative}
.v3 .drawing-paper .image-viewport {max-height:480px;overflow:hidden}
.v3 .paper-label {display:flex;justify-content:space-between;align-items:center;padding:12px 17px;gap:18px;border-block-start:1px solid var(--line);font-size:12px;color:var(--steel)}
.v3 .drawing-feature-copy>p {font-size:var(--body-size);line-height:1.75;margin-block:22px;max-width:56ch}
.v3 .drawing-feature-evidence {margin-block:26px}
.v3 .drawing-feature-evidence p {font-size:15px;display:flex;gap:12px;margin-block:12px}
.v3 .drawing-feature-evidence svg {color:var(--accent-text);margin-block-start:3px}
.v3 .compact-capabilities {display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.v3 .compact-capabilities article {border-block-start:1px solid var(--line);padding-block-start:22px}
.v3 .compact-capabilities h3 {font-size:25px;margin-block:15px}
.v3 .compact-capabilities p {font-size:16px;color:var(--muted)}
.v3 .career-snapshot {background:#e8eef0;padding-block:44px;border-block-start:1px solid var(--line)}
.v3 .snapshot-grid {display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.v3 .snapshot-grid p {font-size:17px;max-width:60ch;margin-block-end:10px}
.v3 .contact-band {background:var(--blue);padding-block:55px;color:#d8e5ec;border-block-end:1px solid #557080}
.v3 .contact-band>.wrap {display:grid;grid-template-columns:1fr .75fr;gap:40px;align-items:center}
.v3 .contact-band h2 {color:white;font-size:clamp(32px,3vw,44px);margin-block-end:15px}
.v3 .contact-band p {font-size:17px;max-width:55ch}
.v3 .contact-band .eyebrow {color:#cbdde6}
.v3 .contact-band .actions {align-items:stretch;justify-content:end}
.v3 .contact-band .btn {background:white;color:var(--blue);border-color:white}
.v3 .contact-band .btn.secondary {color:white;background:transparent;border-color:#9ab0bf}
/* DRAWINGS — a neutral drawing table, with complete sheets for inspection. */
.v3 .drawing-page-top {background:var(--blue);color:#dce7ee;position:relative}
.v3 .drawing-page-top h1 {color:white}
.v3 .drawing-page-top .eyebrow {color:#baceda}
.v3 .drawing-page-top p {color:#dce7ee}
.v3 .drawing-intro-note {max-width:86ch;font-size:15px;line-height:1.7;border-inline-start:2px solid var(--copper);padding-inline-start:18px;margin-block-start:27px}
.v3 .drawing-table {background-color:#e6ebed;background-image:linear-gradient(#afbec521 1px,transparent 1px),linear-gradient(90deg,#afbec521 1px,transparent 1px);background-size:40px 40px;padding-block:28px 75px}
.v3 .drawing-index-heading {display:flex;justify-content:space-between;gap:24px;align-items:center;margin-block-end:24px}
.v3 .drawing-index-heading .filters,.v3 .drawing-index-heading .results-label {margin:0}
.v3 .drawing-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.v3 .drawing-card {border:1px solid #bfcbd1;box-shadow:0 8px 20px #0b304508;border-radius:5px;background:var(--paper);overflow:hidden;scroll-margin-top:110px;transition:border-color 200ms ease,box-shadow 200ms ease}
.v3 .drawing-card-top {display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 21px;border-block-end:1px solid var(--line)}
.v3 .drawing-card-top .level {margin:0;color:var(--accent-text)}
.v3 .drawing-preview {border:0;border-block-end:1px solid var(--line);display:block;padding:20px;width:100%;position:relative;background:#f4f6f6}
.v3 .drawing-preview .image-viewport {box-shadow:0 4px 12px #0b30451a;background:white;aspect-ratio:1.414}
.v3 .drawing-preview img {width:100%;height:100%;object-fit:contain}
.v3 .drawing-inspect {position:absolute;bottom:30px;inset-inline-end:30px;display:flex;gap:8px;align-items:center;background:var(--blue);color:white;padding:8px 12px;border:1px solid #537589;border-radius:4px;font-size:13px;opacity:0;transition:opacity 180ms ease;pointer-events:none}
.v3 .drawing-preview:hover .drawing-inspect,.v3 .drawing-preview:focus-visible .drawing-inspect {opacity:1}
.v3 .drawing-card-content {padding:25px 28px}
.v3 .drawing-kind {font:12px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.03em;color:var(--steel)}
.v3 .drawing-card h2 {font-size:27px;line-height:1.22;margin-block:9px 23px}
.v3 .drawing-card h3 {font-size:16px;letter-spacing:0;margin-block-end:10px}
.v3 .drawing-card li {font-size:16px;line-height:1.7;padding-inline-start:4px}
.v3 .drawing-card ul {margin-block:0 24px}
.v3 .drawing-metadata {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-block:24px 0;border-block-start:1px solid var(--line);gap:0 17px}
.v3 .drawing-metadata>div {padding-block:12px;border-block-end:1px solid #dce3e6}
.v3 .drawing-metadata dt {font-size:12px;line-height:1.5;color:var(--steel);margin-block-end:6px}
.v3 .drawing-metadata dd {font:13px/1.6 var(--mono);margin:0;overflow-wrap:anywhere}
.v3 .drawing-card-links {display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-block-start:24px}
.v3 .drawing-card-links .text-link {font-size:14px}
.v3 .drawing-sheet-note {font-size:14px;line-height:1.65;color:var(--steel);margin-block-start:30px;max-width:100ch}
.v3 .associated-drawings {display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-block-end:25px}
.v3 .compact-drawing .drawing-card-top {flex-direction:column;align-items:start;gap:4px;padding:12px 17px}
.v3 .compact-drawing .drawing-card-content {padding:17px}
.v3 .compact-drawing h2 {font-size:22px;margin-block:8px 13px}
.v3 .compact-drawing .drawing-card-links {margin-block-start:10px}
.v3 .compact-drawing .drawing-preview {padding:12px}
/* EXPERIENCE */
.v3 .career-list {grid-template-columns:1fr 1fr;gap:0 65px}
.v3 .career-item {padding-block:32px;grid-template-columns:30px 1fr;gap:20px}
.v3 .career-item h3 {font-size:30px}
.v3 .career-item:first-child {grid-column:1/-1;padding:35px;background:#edf2f4;border:1px solid var(--line);margin-block-end:20px;grid-template-columns:38px 1fr}
.v3 .career-item:first-child h3 {font-size:38px}
.v3 .career-item:first-child p {max-width:90ch}
.v3 .career-item .job-label {font-size:15px;line-height:1.65;margin-block:14px}
.v3 .career-item p {font-size:17px;line-height:1.75}
.v3 .career-item .job-detail,.v3 .career-no {font-size:14px}
.v3 .career-evidence {padding-block:60px;background:var(--blue);color:#d3e2ea}
.v3 .career-evidence h2 {font-size:36px;color:white}
.v3 .career-evidence .eyebrow,.v3 .career-evidence .text-link {color:#d3e2ea}
.v3 .career-evidence .case-metrics {margin-block:35px;border-block:1px solid #5a7585;padding-block:24px}
.v3 .career-evidence .case-metrics strong {color:#efae86}
.v3 .career-evidence .case-metrics span {color:#e0ebf1;font-size:15px}
.v3 .career-evidence p {max-width:88ch;margin-block-end:22px}
/* CAPABILITIES / STANDARDS */
.v3 .capability-grid {grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);gap:0;background:#fff}
.v3 .capability,.v3 .capability:not(:nth-child(3n+1)),.v3 .capability:nth-child(2n) {padding:32px;border:0;border-block-end:1px solid var(--line);display:block}
.v3 .capability:nth-child(2n) {border-inline-start:1px solid var(--line)}
.v3 .capability h3 {font-size:28px;margin-block:12px 20px}
.v3 .capability p {font-size:17px;line-height:1.7;max-width:60ch;margin-block-end:15px}
.v3 .capability .field-label {font-size:12px;margin-block:17px 6px}
.v3 .capability .tech {font-size:13px;margin-block-end:13px}
.v3 .software-item h4 {font-size:18px}
.v3 .software-item p {font-size:16px}
.v3 .software-item .level {font-size:12px}
.v3 .standards-grid {gap:26px}
.v3 .standard-card {padding:32px;background:white;border:1px solid var(--line)}
.v3 .standard-card h3 {font-size:28px;margin-block:13px 19px}
.v3 .standard-card p {font-size:17px;line-height:1.75}
.v3 .standard-codes {display:flex;flex-wrap:wrap;gap:9px 20px;margin-block-end:20px}
.v3 .standard-codes .tech {font-size:14px}
.v3 .standards-evidence {background:#e7eef1;border-block-start:1px solid var(--line);overflow:hidden}
.v3 .standards-evidence h2 {margin-block-end:24px}
.v3 .standards-evidence .level {display:block;margin-block:25px 7px}
/* APPROACH */
.v3 .engineering-path {padding:0;margin:55px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 30px;list-style:none;counter-reset:none}
.v3 .engineering-path li {position:relative;border-block-start:1px solid #a7bac4;padding-block-start:24px;margin:0}
.v3 .engineering-path li::before {content:'';position:absolute;top:-3px;inset-inline-start:0;width:5px;height:5px;background:var(--copper);border-radius:50%}
.v3 .engineering-path li.is-revealed::after {content:'';position:absolute;top:-1px;inset-inline-start:0;height:1px;width:100%;background:var(--copper);transform-origin:left;animation:path-in 500ms ease both}
@keyframes path-in {from {transform:scaleX(0)} to {transform:scaleX(1)}}
.v3 .engineering-path .step-no {font-size:15px;color:var(--accent-text)}
.v3 .engineering-path h3 {font-size:27px;margin-block:15px}
.v3 .engineering-path p {font-size:16px;color:var(--muted);line-height:1.75}
.v3 .workshop-band {background:var(--blue);color:#cfdee7;padding-block:64px}
.v3 .workshop-grid {display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.v3 .workshop-grid .image-viewport {aspect-ratio:1.5;border:1px solid #6c8999;box-shadow:0 15px 40px #051c2b66}
.v3 .workshop-grid figcaption {font-size:13px;margin-block-start:15px;line-height:1.65}
.v3 .workshop-grid h2 {color:white;font-size:clamp(33px,3.5vw,47px);margin-block-end:25px}
.v3 .workshop-grid .eyebrow {color:#c3d5df}
.v3 .workshop-grid p {font-size:17px;line-height:1.8}
.v3 .workshop-grid .btn {margin-block-start:26px}
/* ABOUT */
.v3 .about-grid {grid-template-columns:240px 1fr;gap:60px;align-items:start}
.v3 .about-portrait {max-width:240px}
.v3 .about-portrait figcaption {font-size:14px;line-height:1.75}
.v3 .about-copy {grid-template-columns:1fr;gap:23px;max-width:780px}
.v3 .about-copy p {font-size:18px;line-height:1.8}
.v3 .principle-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.v3 .principle h4 {font-size:22px;line-height:1.3}
.v3 .principle p,.v3 .development-item p {font-size:16px;line-height:1.75}
/* CONTACT — route first, explicit email or local clipboard second. */
.v3 .contact-page-hero {position:relative;isolation:isolate;background:var(--blue);color:#d7e5ed;padding-block:60px 75px;overflow:hidden}
.v3 .contact-wallpaper {position:absolute;inset:0 0 0 35%;z-index:-1;opacity:.12;pointer-events:none;mask-image:linear-gradient(90deg,transparent,black)}
.v3 .contact-wallpaper .image-viewport,.v3 .contact-wallpaper img {height:100%;width:100%;object-fit:cover}
.v3 .contact-page-hero h1 {color:white;max-width:900px;font-size:clamp(40px,5vw,70px);margin-block:15px 22px}
.v3 .contact-page-hero .eyebrow {color:#ccdde7}
.v3 .contact-page-hero p {font-size:18px;max-width:64ch;color:#d0e1eb}
.v3 .contact-workbench {padding-block:0 75px;background:#edf2f4}
.v3 .contact-choices {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-block-start:-28px;margin-block-end:40px}
.v3 .contact-choice {display:grid;grid-template-columns:1fr 28px;text-align:start;gap:9px 18px;background:white;border:1px solid #bbcbd4;border-radius:7px;box-shadow:0 5px 12px #0b304509;padding:26px;transition:border-color 180ms ease,box-shadow 180ms ease}
.v3 .contact-choice>.level,.v3 .contact-choice>strong,.v3 .contact-choice>span:not(.level) {grid-column:1}
.v3 .contact-choice .level {font-size:12px;margin:0}
.v3 .contact-choice strong {font-size:26px;line-height:1.25;color:var(--blue);font-weight:650}
.v3 .contact-choice>span:not(.level) {font-size:16px;line-height:1.65;color:var(--muted)}
.v3 .contact-choice>svg {grid-column:2;grid-row:2;align-self:center}
.v3 .contact-choice.active {border-color:var(--copper);box-shadow:inset 0 3px 0 var(--copper),0 8px 20px #0b304512}
.v3 .contact-choice:hover {border-color:var(--blue)}
.v3 .contact-workspace {display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.75fr);gap:45px;align-items:start}
.v3 .contact-address {padding-block:14px;color:var(--steel)}
.v3 .contact-address h2 {font-size:26px;line-height:1.2;margin-block-end:17px}
.v3 .contact-address p {font-size:16px;line-height:1.8}
.v3 .contact-address-item {margin-block:27px;padding-block-start:18px;border-block-start:1px solid #bfced6;font-size:16px}
.v3 .contact-address-item a {display:block;padding-block:8px;min-height:44px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9db2bf;color:var(--blue)}
.v3 .copy-small {display:flex;align-items:center;gap:9px;background:none;border:0;padding:7px 0;color:var(--blue);font-size:14px;min-height:44px}
.v3 .inquiry-builder {padding:34px 38px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #0b304508}
.v3 .inquiry-builder h2 {font-size:30px;margin-block:12px 25px}
.v3 .inquiry-builder label {display:block;font-size:16px;font-weight:600;margin-block:22px 9px;color:var(--blue)}
.v3 .inquiry-builder :is(select,textarea) {width:100%;max-width:100%;display:block;font:16px/1.7 var(--sans);color:var(--ink);background:white;border:1px solid #91a6b3;border-radius:5px;padding:12px 14px;min-height:48px}
.v3 .inquiry-builder textarea {resize:vertical;min-height:95px}
.v3 .inquiry-builder select {padding-inline-end:32px}
.v3 #inquiry-preview {background:#f2f6f7;border-color:#c4d1d8;min-height:245px;font-size:16px}
.v3 .inquiry-actions {display:flex;flex-wrap:wrap;gap:12px;margin-block-start:24px}
.v3 .inquiry-actions .btn {font-size:14px}
.v3 .form-note {font-size:13px;color:var(--steel);margin-block:18px 0;line-height:1.7}
.v3 .contact-feedback {min-height:28px;font-size:15px;color:#1e563f;font-weight:600;margin-block-start:17px}
.v3 .copied {box-shadow:inset 0 0 0 2px #7ab196}
.v3 .copy-fallback {padding:18px;margin-block-start:20px;background:#f5eee6;border:1px solid #d5b58f;border-radius:5px}
.v3 .copy-fallback label {margin-block:0 10px;font-size:14px}
/* CASE STUDIES — V2 technical content retained at a comfortable reading width. */
.v3 .case-wrap {padding-block:35px 75px}
.v3 .case-header {grid-template-columns:1.12fr 1fr;gap:50px;align-items:center;margin-block:32px 48px}
.v3 .case-header h1 {font-size:clamp(35px,3.6vw,55px)}
.v3 .case-header .case-deck {font-size:18px;line-height:1.75}
.v3 .case-hero {border:1px solid var(--line);box-shadow:var(--shadow-raised);border-radius:7px}
.v3 .case-hero figcaption {font-size:14px;line-height:1.7;padding:17px}
.v3 .case-meta {grid-template-columns:1fr 1fr;margin-block-start:27px}
.v3 .case-meta div {padding:15px}
.v3 .case-meta div:nth-child(3n) {border-inline-end:1px solid var(--line)}
.v3 .case-meta div:nth-child(2n) {border-inline-end:0}
.v3 .case-meta dt {font-size:12px;line-height:1.5}
.v3 .case-meta dd {font-size:14px;line-height:1.65}
.v3 .case-content {grid-template-columns:220px minmax(0,850px);gap:60px;justify-content:center}
.v3 .case-aside {position:sticky;top:106px;align-self:start}
.v3 .case-aside nav a {font-size:14px;min-height:38px;line-height:1.6;padding-block:9px}
.v3 .case-aside .case-kind {font-size:12px}
.v3 .case-section h2 {font-size:clamp(29px,2.4vw,36px)}
.v3 .case-section p,.v3 .case-section li {font-size:17px;line-height:1.8}
.v3 .decision h3 {font-size:23px;line-height:1.3}
.v3 .decision p {font-size:16px;line-height:1.8}
.v3 .decision {padding-block:26px}
.v3 .calc-item span {font-size:13px;line-height:1.65}
.v3 .case-metrics span {font-size:13px}
.v3 .gallery-figure figcaption {font-size:14px;line-height:1.75}
.v3 .project-pagination {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-block-start:26px}
.v3 .adjacent-project {display:grid;grid-template-columns:85px 1fr;gap:16px;position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white;padding:13px;transition:border-color 180ms ease}
.v3 .adjacent-project:hover {border-color:var(--copper)}
.v3 .adjacent-image {align-self:stretch;overflow:hidden}
.v3 .adjacent-image .image-viewport {height:100%;min-height:92px}
.v3 .adjacent-image img {object-fit:contain}
.v3 .adjacent-project .field-label {font-size:11px;margin:0 0 6px}
.v3 .adjacent-project strong {font-size:17px;line-height:1.3;color:var(--blue);display:block;margin-block-end:8px}
.v3 .adjacent-project span:not(.field-label) {font-size:12px;line-height:1.5;color:var(--muted)}
.v3 .adjacent-project>.arrow {display:none}
.v3 .adjacent-image .record-art {min-height:100%;padding:8px}
.v3 .adjacent-image .record-art strong {font-size:19px}
.v3 .adjacent-image .record-art span,.v3 .adjacent-image .record-art::before {display:none}
/* VIEWER */
.v3 .viewer {width:calc(100vw - 36px);height:calc(100dvh - 36px);max-width:1920px;max-height:100dvh;border-radius:7px}
.v3 .viewer:fullscreen {width:100vw;height:100dvh;max-width:none;border-radius:0}
.v3 .viewer-top {display:grid;grid-template-columns:minmax(200px,1fr) auto 44px;padding:13px 17px;gap:12px}
.v3 .viewer-title {font-size:16px;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere;max-width:620px}
.v3 .viewer-toolbar {gap:6px;flex-wrap:wrap;justify-content:end;order:0;width:auto}
.v3 .viewer-toolbar .icon-btn {width:44px;height:44px}
.v3 .viewer-toolbar output {font-size:13px;width:48px}
.v3 .toolbar-word {border:1px solid var(--line);border-radius:5px;min-height:44px;padding:8px 11px;background:white;font-size:13px;line-height:1.45}
.v3 .toolbar-word:hover {background:var(--mist)}
.v3 .viewer-workspace {display:flex;min-height:0;min-width:0;position:relative;overflow:hidden}
.v3 .viewer-stage {flex:1;min-width:0;min-height:0;background:#cbd5db;background-image:linear-gradient(#ffffff1f 1px,transparent 1px),linear-gradient(90deg,#ffffff1f 1px,transparent 1px);background-size:36px 36px}
.v3 .viewer-frame {will-change:transform}
.v3 .viewer-notes {width:320px;flex:none;padding:24px;background:#f5f8f9;overflow:auto;border-inline-start:1px solid #b2c4cf}
.v3 .viewer-notes h3 {font-size:19px;line-height:1.4;margin-block:20px 12px}
.v3 .viewer-notes p,.v3 .viewer-notes li {font-size:15px;line-height:1.8}
.v3 .viewer-notes .drawing-metadata {grid-template-columns:1fr 1fr}
.v3 .viewer-bottom {padding:13px 19px;grid-template-columns:1fr auto;gap:15px}
.v3 .viewer-caption {font-size:14px;line-height:1.6}
.v3 .viewer-hint {font-size:12px;line-height:1.5}
.v3 .viewer-pagination .image-count {font-size:13px}
.v3 .viewer-close {margin:0;align-self:start}
/* FOOTER */
.v3 .footer-inner {padding-block:25px;gap:25px;align-items:center}
.v3 .footer-inner p {font-size:13px;line-height:1.8}
.v3 .footer-links {display:flex;align-items:center;gap:30px}
/* RESPONSIVE — large screens, laptop, tablet, phone. */
@media(min-width:1920px) {
 .v3 .wrap {--max:1500px}
 .v3 .hero-grid {gap:100px;padding-block:60px 50px}
 .v3 .hero-evidence {max-width:580px}
 .v3 .hero-copy h1 {font-size:74px}
 .v3 .card-image {aspect-ratio:1.6}
}
@media(max-width:1350px) {
 .v3 .brand-note {display:none}
 .v3 .nav-wrap {gap:17px}
 .v3 .nav-links {gap:20px}
 .v3 .hero-grid {gap:35px}
 .v3 .hero-person {padding:10px;gap:10px}
 .v3 .hero-person img {width:53px;height:72px}
 .v3 .hero-person strong {font-size:13px}
 .v3 .case-header {gap:30px}
 .v3 .viewer-top {grid-template-columns:1fr 44px}
 .v3 .viewer-toolbar {grid-column:1/-1;grid-row:2;justify-content:center}
 .v3 .viewer-close {grid-row:1;grid-column:2}
}
@media(max-width:1180px) {
 .v3 .wrap {width:calc(100% - 64px)}
 .v3 .nav-wrap,.v3 .site-header.scrolled .nav-wrap {min-height:72px;gap:16px}
 .v3 .brand-note {display:block;max-width:none}
 .v3 .menu-toggle {display:inline-flex;order:4}
 .v3 .nav-links {display:none;position:absolute;inset-block-start:100%;inset-inline:0;padding:18px 32px 26px;background:white;border-block-end:1px solid var(--line);box-shadow:0 16px 20px #0b30451a;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;max-height:calc(100dvh - 72px);overflow:auto}
 .v3 .nav-links.open {display:grid}
 .v3 .nav-links a {font-size:16px;padding:14px 10px;min-height:48px;border-block-end:1px solid #d5dfe4;white-space:normal}
 .v3 .nav-links a::after {inset-block-end:0}
 .v3 .nav-more {display:none}
 .v3 .mobile-extra {display:contents}
 .v3 .hero-copy h1 {font-size:clamp(42px,5vw,58px)}
 .v3 .hero-copy .eyebrow {font-size:12px}
 .v3 .hero-copy .positioning {font-size:27px}
 .v3 .hero-grid {gap:30px;padding-block:40px}
 .v3 .hero-evidence {padding:0}
 .v3 .hero-bottom {grid-template-columns:1fr 1fr;gap:10px}
 .v3 .hero-person {display:block;padding:12px}
 .v3 .hero-person img {display:none}
 .v3 .hero-person strong {font-size:14px}
 .v3 .hero-fragment .image-viewport {aspect-ratio:1.9}
 .v3 .project-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .v3 .project-card h3 {font-size:26px}
 .v3 .v3-featured .project-card:first-child .card-content {padding:27px}
 .v3 .v3-featured {grid-template-columns:repeat(2,minmax(0,1fr))}
 .v3 .v3-featured .project-card:first-child {grid-column:auto;display:flex}
 .v3 .v3-featured .project-card:first-child .card-image {aspect-ratio:1.58;height:auto;min-height:0;border-inline-end:0;border-block-end:1px solid var(--line)}
 .v3 .v3-featured .project-card:first-child h3 {font-size:26px}
 .v3 .v3-featured .project-card:first-child .card-image .image-viewport {height:auto;display:block}
 .v3 .drawing-feature {gap:40px}
 .v3 .case-content {grid-template-columns:1fr;gap:25px;max-width:850px;margin-inline:auto}
 .v3 .case-aside {position:static}
 .v3 .case-aside nav {display:flex;gap:4px 22px;flex-wrap:wrap;border-block-end:1px solid var(--line);padding-block-end:20px}
 .v3 .case-aside .case-kind {display:block}
 .v3 .method-preview {gap:22px}
 .v3 .contact-workspace {gap:30px;grid-template-columns:260px minmax(0,1fr)}
 .v3 .inquiry-builder {padding:28px}
}
@media(max-width:900px) {
 .v3 .hero-grid {grid-template-columns:1fr;padding-block:38px;gap:32px}
 .v3 .hero-copy {max-width:760px}
 .v3 .hero-copy h1 {font-size:clamp(45px,7vw,63px)}
 .v3 .hero-copy .positioning {max-width:680px;font-size:30px}
 .v3 .hero-copy .intro {max-width:67ch}
 .v3 .hero-disciplines {max-width:none}
 .v3 .hero-evidence {display:grid;grid-template-columns:1.45fr 1fr;gap:18px;max-width:none;width:100%;align-items:center}
 .v3 .hero-main {rotate:0}
 .v3 .hero-bottom {display:grid;grid-template-columns:1fr;gap:15px;margin:0}
 .v3 .hero-person {display:flex;padding:17px}
 .v3 .hero-person img {display:block;width:62px;height:83px}
 .v3 .hero-fragment .image-viewport {aspect-ratio:1.9}
 .v3 .evidence-bar {font-size:12px}
 .v3 .hero-main .hero-caption {font-size:12px}
 .v3 .proof-grid {grid-template-columns:1fr 1fr;gap:24px 0}
 .v3 .proof-item:nth-child(3) {border:0;padding-inline-start:0}
 .v3 .proof-item p {font-size:13px}
 .v3 .section-head {grid-template-columns:1fr;gap:20px}
 .v3 .section-head p {max-width:67ch}
 .v3 .section-head h1 {font-size:49px}
 .v3 .method-preview {grid-template-columns:1fr 1fr;gap:30px}
 .v3 .method-heading {align-items:start;flex-direction:column;gap:20px}
 .v3 .drawing-feature {gap:35px;grid-template-columns:1fr 1fr}
 .v3 .drawing-feature h2 {font-size:32px}
 .v3 .drawing-feature-evidence p {font-size:14px}
 .v3 .compact-capabilities {gap:23px}
 .v3 .compact-capabilities h3 {font-size:23px}
 .v3 .snapshot-grid {gap:30px}
 .v3 .contact-band>.wrap {grid-template-columns:1fr;gap:25px}
 .v3 .contact-band .actions {justify-content:start}
 .v3 .drawing-card-content {padding:23px}
 .v3 .drawing-grid {gap:22px}
 .v3 .drawing-card-top {display:block;padding:13px 18px}
 .v3 .drawing-card-top .level {display:block;margin-block-start:5px}
 .v3 .drawing-metadata {grid-template-columns:1fr 1fr}
 .v3 .drawing-card h2 {font-size:26px}
 .v3 .drawing-card li {font-size:16px}
 .v3 .drawing-preview {padding:12px}
 .v3 .drawing-index-heading {display:block}
 .v3 .drawing-index-heading .results-label {display:block;margin-block-start:15px}
 .v3 .career-list {gap:0 30px}
 .v3 .career-item h3 {font-size:28px}
 .v3 .capability,.v3 .capability:nth-child(2n),.v3 .capability:not(:nth-child(3n+1)) {padding:27px}
 .v3 .engineering-path {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .v3 .workshop-grid {gap:35px}
 .v3 .contact-workspace {grid-template-columns:1fr;gap:28px}
 .v3 .contact-address {display:grid;grid-template-columns:1fr 1fr;gap:0 35px;align-items:start}
 .v3 .contact-address h2 {grid-column:1}
 .v3 .contact-address>p {grid-column:1}
 .v3 .contact-address-item {grid-column:2;margin-block:0 15px;padding-block-start:0}
 .v3 .contact-address-item:nth-of-type(1) {grid-row:1/3}
 .v3 .contact-address>.btn {justify-self:start}
 .v3 .contact-choice {padding:22px}
 .v3 .contact-choice strong {font-size:25px}
 .v3 .case-header {grid-template-columns:1fr}
 .v3 .case-header h1 {font-size:47px}
 .v3 .case-hero {max-width:750px}
 .v3 .case-hero .image-viewport {aspect-ratio:1.65}
 .v3 .about-grid {grid-template-columns:190px 1fr;gap:35px}
 .v3 .about-copy p {font-size:17px}
 .v3 .principle-grid {grid-template-columns:1fr 1fr}
 .v3 .viewer-notes {width:290px;padding:20px}
 .v3 .footer-inner {flex-direction:row;align-items:center}
}
@media(max-width:620px) {
 .v3 .wrap {width:calc(100% - 36px)}
 .v3 .section {padding-block:50px}
 .v3 h1,.v3 .section-head h1,.v3 .case-header h1 {font-size:clamp(35px,9vw,44px);overflow-wrap:break-word}
 .v3 .section-head h2 {font-size:31px}
 .v3 .nav-wrap,.v3 .site-header.scrolled .nav-wrap {min-height:68px;gap:10px}
 .v3 .brand {gap:0}
 .v3 .brand-note {display:none}
 .v3 .brand-mark {font-size:21px}
 .v3 .nav-cta {font-size:13px;padding:8px 10px;gap:6px}
 .v3 .nav-cta svg {display:none}
 .v3 .nav-links {grid-template-columns:1fr 1fr;padding:12px 18px 22px;gap:0 16px}
 .v3 .nav-links a {font-size:15px;padding-inline:7px}
 .v3 .lang-control {min-width:69px}
 .v3 .menu-toggle {width:44px;height:44px}
 .v3 .hero-grid {gap:28px;padding-block:29px 25px}
 .v3 .hero-copy h1 {font-size:clamp(39px,9.9vw,54px);margin-block:12px 22px}
 .v3 .hero-copy .eyebrow {font-size:12px;letter-spacing:.03em}
 .v3 .hero-copy .positioning {font-size:26px;line-height:1.3}
 .v3 .hero-copy .intro {font-size:17px;line-height:1.75}
 .v3 .hero-copy .actions {display:grid;grid-template-columns:1fr;gap:10px}
 .v3 .hero-copy .btn {font-size:15px;width:100%;justify-content:space-between;min-height:48px}
 .v3 .hero-copy .employer-route {font-size:15px}
 .v3 .hero-disciplines {font-size:12px;line-height:1.8}
 .v3 .hero-evidence {display:block}
 .v3 .hero-main .hero-caption {font-size:12px;padding:10px 13px}
 .v3 .hero-main .image-viewport {max-height:none}
 .v3 .hero-bottom {display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-block-start:13px;align-items:stretch}
 .v3 .hero-fragment .image-viewport {aspect-ratio:1.7}
 .v3 .hero-fragment .fragment-label {font-size:11px;padding:9px}
 .v3 .hero-person {padding:12px;display:block}
 .v3 .hero-person img {display:none}
 .v3 .hero-person strong {font-size:14px}
 .v3 .hero-person .text-link {font-size:12px}
 .v3 .credential-line {display:grid;grid-template-columns:1fr;gap:10px;font-size:13px;padding-block:17px}
 .v3 .proof {padding-block:24px}
 .v3 .proof-item {padding-inline:17px}
 .v3 .proof-item strong {font-size:32px}
 .v3 .proof-label {font-size:13px!important}
 .v3 .proof-item p {font-size:12px;line-height:1.65}
 .v3 .project-grid,.v3 .v3-featured {grid-template-columns:1fr;gap:23px}
 .v3 .v3-featured .project-card:first-child {display:flex;grid-column:auto}
 .v3 .v3-featured .project-card:first-child .card-image {aspect-ratio:1.48;min-height:0;height:auto;border-inline-end:0;border-block-end:1px solid var(--line)}
 .v3 .card-image {aspect-ratio:1.48}
 .v3 .card-content,.v3 .v3-featured .project-card:first-child .card-content {padding:23px}
 .v3 .project-card h3,.v3 .v3-featured .project-card:first-child h3 {font-size:28px;line-height:1.2}
 .v3 .card-summary {font-size:16px}
 .v3 .project-actions {flex-wrap:wrap;gap:14px;align-items:center}
 .v3 .home-method {padding-block:48px}
 .v3 .method-preview {grid-template-columns:1fr 1fr;gap:25px 23px}
 .v3 .method-preview h3 {font-size:23px}
 .v3 .method-preview p {font-size:15px}
 .v3 .drawing-feature {grid-template-columns:1fr;gap:38px}
 .v3 .drawing-feature-copy {order:-1}
 .v3 .drawing-feature-copy>p {font-size:17px}
 .v3 .drawing-feature-evidence {margin-block:20px}
 .v3 .drawing-feature-evidence p {font-size:15px}
 .v3 .drawing-paper {max-width:100%;margin-inline-end:10px}
 .v3 .paper-label {font-size:12px;padding:11px}
 .v3 .compact-capabilities {grid-template-columns:1fr;gap:22px}
 .v3 .compact-capabilities article {display:grid;grid-template-columns:25px 1fr;column-gap:18px;padding-block-start:20px}
 .v3 .compact-capabilities .cap-no {grid-column:1;grid-row:1/3;margin-block-start:4px}
 .v3 .compact-capabilities h3 {grid-column:2;margin:0 0 12px}
 .v3 .compact-capabilities p {grid-column:2}
 .v3 .snapshot-grid {grid-template-columns:1fr;gap:18px}
 .v3 .career-snapshot {padding-block:40px}
 .v3 .contact-band {padding-block:45px}
 .v3 .contact-band .actions {display:grid;grid-template-columns:1fr}
 .v3 .contact-band .btn {justify-content:space-between}
 .v3 .page-top {padding-block:35px}
 .v3 .drawing-grid {grid-template-columns:1fr;gap:27px}
 .v3 .drawing-card-top {display:flex;padding:14px 17px;gap:13px}
 .v3 .drawing-card-top .level {margin:0;font-size:11px;max-width:45%;text-align:end}
 .v3 .drawing-card-content {padding:23px}
 .v3 .drawing-preview {padding:13px}
 .v3 .drawing-inspect {display:none}
 .v3 .drawing-card-links {display:grid;gap:8px;justify-content:start}
 .v3 .drawing-table {padding-block:24px 50px}
 .v3 .drawing-intro-note {font-size:14px}
 .v3 .associated-drawings {grid-template-columns:1fr}
 .v3 .career-list {grid-template-columns:1fr}
 .v3 .career-item:first-child {padding:24px 20px;grid-template-columns:25px 1fr;gap:13px}
 .v3 .career-item:first-child h3 {font-size:31px}
 .v3 .career-item {grid-template-columns:25px 1fr;gap:13px}
 .v3 .career-item p {font-size:17px}
 .v3 .career-evidence {padding-block:45px}
 .v3 .career-evidence .case-metrics {grid-template-columns:1fr;gap:25px}
 .v3 .career-evidence .case-metrics>div {display:grid;grid-template-columns:100px 1fr;gap:15px;align-items:center}
 .v3 .capability-grid {grid-template-columns:1fr}
 .v3 .capability,.v3 .capability:nth-child(2n),.v3 .capability:not(:nth-child(3n+1)) {padding:24px;display:block;border-inline-start:0}
 .v3 .capability h3 {font-size:27px}
 .v3 .capability .cap-no {padding:0}
 .v3 .capability p {font-size:17px}
 .v3 .software-grid {grid-template-columns:1fr;gap:28px}
 .v3 .standards-grid {grid-template-columns:1fr;gap:20px}
 .v3 .standard-card {padding:26px 23px}
 .v3 .standard-codes .tech {font-size:14px}
 .v3 .engineering-path {display:block;margin-block-start:36px;padding-inline-start:12px}
 .v3 .engineering-path li {display:grid;grid-template-columns:36px 1fr;gap:6px 20px;border-block-start:0;border-inline-start:1px solid #a7bac4;padding:0 0 29px 0;padding-inline-start:25px}
 .v3 .engineering-path li::before {top:11px;inset-inline-start:-3px}
 .v3 .engineering-path li::after {display:none}
 .v3 .engineering-path .step-no {grid-column:1;grid-row:1/3;font-size:14px;margin-block-start:6px}
 .v3 .engineering-path h3 {grid-column:2;margin:0 0 7px;font-size:27px}
 .v3 .engineering-path p {grid-column:2;font-size:16px}
 .v3 .workshop-grid {grid-template-columns:1fr;gap:34px}
 .v3 .workshop-band {padding-block:45px}
 .v3 .workshop-grid figure {order:2}
 .v3 .about-grid {grid-template-columns:1fr;gap:28px}
 .v3 .about-portrait {display:flex;max-width:none;align-items:center;gap:22px}
 .v3 .about-portrait img {width:124px;height:167px;object-fit:cover}
 .v3 .about-portrait figcaption {font-size:14px;padding:0;max-width:185px}
 .v3 .about-copy p {font-size:17px}
 .v3 .principle-grid {grid-template-columns:1fr;gap:25px}
 .v3 .principle h4 {font-size:23px}
 .v3 .contact-page-hero {padding-block:42px 65px}
 .v3 .contact-page-hero h1 {font-size:43px}
 .v3 .contact-page-hero p {font-size:17px}
 .v3 .contact-choices {grid-template-columns:1fr;gap:15px;margin-block-end:28px}
 .v3 .contact-choice {padding:23px}
 .v3 .contact-choice strong {font-size:26px}
 .v3 .contact-address {display:block;padding:0}
 .v3 .contact-address-item {margin-block:22px;padding-block-start:14px}
 .v3 .contact-address h2 {font-size:27px}
 .v3 .inquiry-builder {padding:25px 21px;border-radius:6px}
 .v3 .inquiry-builder h2 {font-size:28px}
 .v3 .inquiry-actions {display:grid;grid-template-columns:1fr}
 .v3 .inquiry-actions .btn {font-size:15px;justify-content:start}
 .v3 #inquiry-preview {min-height:275px}
 .v3 .case-meta {grid-template-columns:1fr}
 .v3 .case-meta div {border-inline-end:0!important;padding:13px 15px}
 .v3 .case-meta dt {font-size:12px}
 .v3 .case-meta dd {font-size:14px}
 .v3 .case-header .case-deck {font-size:17px}
 .v3 .case-content {padding-block-start:26px}
 .v3 .case-aside nav {gap:0 17px}
 .v3 .case-aside nav a {font-size:13px;min-height:44px}
 .v3 .case-section p,.v3 .case-section li {font-size:17px}
 .v3 .case-section h2 {font-size:29px}
 .v3 .case-hero .image-viewport {aspect-ratio:1.45}
 .v3 .case-result {padding:24px 21px}
 .v3 .decision-list {grid-template-columns:1fr}
 .v3 .project-pagination {grid-template-columns:1fr;gap:16px}
 .v3 .adjacent-project {grid-template-columns:95px 1fr}
 .v3 .case-ending {align-items:start}
 .v3 .viewer {width:100vw;height:100dvh;max-width:none;border-radius:0;max-height:none}
 .v3 .viewer-top {padding:10px 12px;gap:9px;grid-template-columns:1fr 44px}
 .v3 .viewer-title {font-size:14px;max-width:none;line-height:1.4}
 .v3 .viewer-toolbar {justify-content:start;gap:6px;grid-column:1/-1;grid-row:2;order:0;max-height:112px;overflow:auto}
 .v3 .toolbar-word {font-size:12px;padding-inline:9px}
 .v3 .viewer-toolbar .icon-btn {width:44px;height:44px}
 .v3 .viewer-toolbar output {width:45px}
 .v3 .viewer-workspace {display:block}
 .v3 .viewer-stage {width:100%;height:100%}
 .v3 .viewer-notes {position:absolute;inset:0 0 0 auto;width:min(310px,88vw);padding:20px;background:#f7fafaff;box-shadow:-10px 0 25px #0b304526}
 [dir=rtl] .v3 .viewer-notes {inset:0 auto 0 0}
 .v3 .viewer-bottom {grid-template-columns:1fr;gap:9px;padding:11px 13px}
 .v3 .viewer-caption {font-size:12px;line-height:1.5}
 .v3 .viewer-hint {display:none}
 .v3 #viewer-feedback:not(:empty) {display:block;font-size:12px}
 .v3 .viewer-pagination {justify-content:center;gap:18px}
 .v3 .footer-inner {display:block}
 .v3 .footer-links {margin-block-start:13px;justify-content:space-between;gap:15px}
 [dir=rtl] .v3 .hero-copy h1 {font-size:clamp(37px,9.5vw,50px);line-height:1.15;letter-spacing:-.035em}
 [dir=rtl] .v3 .hero-copy .positioning {font-size:27px;line-height:1.5}
}
@media(max-width:380px) {
 .v3 .nav-wrap {gap:8px}
 .v3 .nav-cta {padding-inline:9px}
 .v3 .brand-mark {font-size:20px;padding-inline:7px}
 .v3 .method-preview {column-gap:18px}
 .v3 .hero-person {padding:10px}
 .v3 .hero-person strong {font-size:13px}
}
/* PRINT — condensed Home, complete current case, or the current routed page. */
@media print {
 .v3 {font-size:10pt;background:white;color:#18262f}
 .v3 .wrap {width:100%;max-width:none}
 .v3 [hidden] {display:none!important}
 .v3 .hero-wallpaper,.v3 .contact-wallpaper,.v3 .contact-band,.v3 .home-method,.v3 .drawing-home,.v3 .project-pagination,.v3 .drawing-card-links,.v3 .drawing-index-heading,.v3 .inquiry-actions,.v3 .contact-choices,.v3 .copy-small,.v3 .copy-fallback,.v3 .form-note,.v3 .contact-feedback,.v3 .reading-progress,.v3 .standards-evidence,.v3 .workshop-band {display:none!important}
 .v3 .section {padding-block:5mm}
 .v3 .hero-grid {display:block;padding-block:3mm}
 .v3 .hero-copy h1 {font-size:25pt;margin-block:2mm}
 .v3 .hero-copy .positioning {font-size:15pt;margin-block:2mm}
 .v3 .hero-copy .intro {font-size:10pt;max-width:none}
 .v3 .credential-line {font-size:8pt;padding-block:2mm;gap:3mm}
 .v3 .proof {padding-block:4mm}
 .v3 .proof-grid {grid-template-columns:repeat(4,1fr);gap:0}
 .v3 .proof-item {padding-inline:3mm}
 .v3 .proof-item strong {font-size:20pt}
 .v3 .proof-label {font-size:8pt!important}
 .v3 .proof-item p {font-size:7.5pt;line-height:1.4}
 .v3 .section-head {display:block;margin-block-end:3mm}
 .v3 .section-head h2,.v3 .snapshot-grid h2 {font-size:16pt}
 .v3 .section-head p {font-size:9pt;max-width:none}
 .v3 .eyebrow {font-size:7pt;margin-block-end:2mm}
 .v3 .project-grid,.v3 .v3-featured {display:block}
 .v3 .project-card,.v3 .v3-featured .project-card:first-child {display:grid;grid-template-columns:40mm 1fr;box-shadow:none;break-inside:avoid;margin-block-end:4mm}
 .v3 .card-content,.v3 .v3-featured .project-card:first-child .card-content {padding:3mm}
 .v3 .card-image,.v3 .v3-featured .project-card:first-child .card-image {min-height:0;aspect-ratio:auto;height:100%}
 .v3 .project-card h3,.v3 .v3-featured .project-card:first-child h3 {font-size:14pt;margin-block:1mm 2mm}
 .v3 .card-summary {font-size:9pt;line-height:1.5}
 .v3 .card-role,.v3 .card-category {font-size:7.5pt}
 .v3 .tag {font-size:7pt;padding:1mm 2mm}
 .v3 .card-outcome {font-size:9pt;padding-block:2mm}
 .v3 .compact-capabilities {display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}
 .v3 .compact-capabilities article {display:block;padding-block-start:2mm}
 .v3 .compact-capabilities h3 {font-size:12pt;margin-block:2mm}
 .v3 .compact-capabilities p {font-size:8.5pt;line-height:1.5}
 .v3 .compact-capabilities .cap-no {display:none}
 .v3 .career-snapshot {padding-block:4mm;background:white}
 .v3 .snapshot-grid {display:block}
 .v3 .snapshot-grid p {font-size:9pt;max-width:none}
 .v3 .page-top,.v3 .contact-page-hero {padding-block:5mm;background:white;color:#18262f}
 .v3 h1,.v3 .section-head h1,.v3 .case-header h1,.v3 .contact-page-hero h1 {font-size:25pt;color:#0b3045}
 .v3 .page-top p,.v3 .contact-page-hero p {font-size:10pt;color:#18262f}
 .v3 .page-top .eyebrow {color:#4f6c7b}
 .v3 .drawing-intro-note {font-size:9pt;margin-block-start:3mm}
 .v3 .drawing-table {padding:4mm 0;background:white}
 .v3 .drawing-grid {display:block}
 .v3 .drawing-card {display:grid;grid-template-columns:45mm 1fr;margin-block-end:5mm;border:1px solid #cbd5da;box-shadow:none;break-inside:avoid}
 .v3 .drawing-card-top {grid-column:1/-1;display:flex;padding:2mm 3mm}
 .v3 .drawing-card-top .tech,.v3 .drawing-card-top .level {font-size:7pt}
 .v3 .drawing-preview {padding:2mm;align-self:start;border:0}
 .v3 .drawing-card-content {padding:3mm}
 .v3 .drawing-card h2 {font-size:13pt;margin:1mm 0 3mm}
 .v3 .drawing-card h3,.v3 .drawing-kind {font-size:8pt}
 .v3 .drawing-card li {font-size:8pt;line-height:1.5}
 .v3 .drawing-card ul {margin-block:2mm}
 .v3 .drawing-metadata {grid-template-columns:repeat(3,1fr);margin-block-start:3mm;gap:0 3mm}
 .v3 .drawing-metadata>div {padding-block:2mm}
 .v3 .drawing-metadata dt,.v3 .drawing-metadata dd,.v3 .drawing-sheet-note {font-size:7.5pt}
 .v3 .drawing-inspect {display:none}
 .v3 .case-content {display:block;max-width:none;margin:0}
 .v3 .case-section {margin-block-end:5mm}
 .v3 .case-section h2 {font-size:16pt}
 .v3 .case-section p,.v3 .case-section li {font-size:9.5pt;line-height:1.65}
 .v3 .case-header {display:block;margin-block:2mm 4mm}
 .v3 .case-header .case-deck {font-size:10pt}
 .v3 .case-meta {grid-template-columns:repeat(3,1fr);margin-block:4mm}
 .v3 .case-meta div {padding:2mm;border-inline-end:1px solid #cbd5da!important}
 .v3 .case-meta dt {font-size:7pt}
 .v3 .case-meta dd {font-size:8pt}
 .v3 .case-hero {box-shadow:none;max-width:115mm}
 .v3 .case-hero figcaption,.v3 .gallery-figure figcaption {font-size:8pt;padding:2mm}
 .v3 .case-result {padding:4mm}
 .v3 .decision {padding-block:3mm}
 .v3 .decision h3 {font-size:12pt}
 .v3 .calc-item span,.v3 .case-metrics span {font-size:8pt}
 .v3 .associated-drawings {display:block}
 .v3 #page-view .standards-section,.v3 #page-view .about-section,.v3 #page-view .development-section,.v3 #page-view .approach-section {display:block!important}
 .v3 .standard-card {padding:4mm;break-inside:avoid}
 .v3 .standard-card h3,.v3 .capability h3 {font-size:14pt}
 .v3 .standard-card p,.v3 .capability p,.v3 .career-item p,.v3 .about-copy p {font-size:10pt;line-height:1.6}
 .v3 .standard-codes .tech,.v3 .level {font-size:8pt}
 .v3 .career-item,.v3 .career-item:first-child {padding:4mm;break-inside:avoid}
 .v3 .career-item h3,.v3 .career-item:first-child h3 {font-size:16pt}
 .v3 .job-label,.v3 .career-item .job-detail {font-size:9pt}
 .v3 .career-evidence {padding:5mm 0;background:white;color:#18262f}
 .v3 .career-evidence h2 {font-size:16pt;color:#0b3045}
 .v3 .career-evidence p {font-size:9pt;max-width:none}
 .v3 .career-evidence .case-metrics {margin:4mm 0;padding:3mm}
 .v3 .career-evidence .case-metrics span {color:#18262f;font-size:8pt}
 .v3 .capability-grid {grid-template-columns:1fr 1fr}
 .v3 .capability,.v3 .capability:nth-child(2n),.v3 .capability:not(:nth-child(3n+1)) {padding:4mm}
 .v3 .field-label,.v3 .capability .field-label,.v3 .capability .tech {font-size:7pt;margin-block:2mm}
 .v3 .engineering-path {display:grid;grid-template-columns:1fr 1fr;gap:5mm}
 .v3 .engineering-path li {display:block;padding:3mm;border:1px solid #cbd5da;break-inside:avoid}
 .v3 .engineering-path h3 {font-size:13pt}
 .v3 .engineering-path p {font-size:9pt}
 .v3 .contact-workspace {display:block}
 .v3 .contact-address {display:block}
 .v3 .contact-address h2 {font-size:16pt}
 .v3 .contact-address p,.v3 .contact-address-item {font-size:10pt}
 .v3 .inquiry-builder {display:none}
 .v3 .contact-workbench {background:white;padding:4mm 0}
}
/* REDUCED MOTION — function and evidence never depend on movement. */
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
 .v3 *,.v3 *::before,.v3 *::after {animation:none!important;transition:none!important}
 .v3 .project-card:hover {translate:none}
 .v3 .hero-main {rotate:0}
 .v3 .btn .arrow,.v3 .card-link .arrow {translate:none!important}
 .v3 .card-image:hover img:not(.cropped-image) {transform:none}
}
/* IMAGE EVIDENCE / AUTHOR REVIEW — rotations affect presentation, never source pixels. */
.v3 .rotation-plane {position:absolute;left:50%;top:50%;transform-origin:center center}
.v3 .rotation-plane>.image-viewport {height:100%;width:100%}
.v3 .date-note {font-size:13px;line-height:1.7;color:var(--muted);margin-block-start:15px;max-width:72ch}
@media print {.v3 .date-note {font-size:8pt}}
/* A card may crop its preview; it must not reveal a neighbouring collage caption. */
.v3 .card-image {display:flex;align-items:center;justify-content:center}
.v3 .card-image>.image-viewport.crop {height:auto!important;flex:none}
/* Long German engineering terms wrap without widening mobile cards. */
.v3 h1,.v3 h2,.v3 h3,.v3 h4 {overflow-wrap:anywhere;hyphens:none}
.v3 .adjacent-project .field-label {font-size:12px}

/* HOME / DRAWING DESK — scoped to the assembly preview in the hero.
   A white sheet sits within a transparent edge; source imagery stays untouched.
   Existing responsive tilt, reduced-motion rules and viewer behavior still apply. */
@media screen {
  #home-view .v3-hero .hero-main {
    isolation:isolate;
    overflow:visible;
    border:0;
    border-radius:2px;
    background:#fff;
    box-shadow:
      0 2px 3px rgb(11 48 69 / 5%),
      7px 13px 24px rgb(11 48 69 / 9%),
      16px 27px 42px rgb(11 48 69 / 7%);
  }

  /* The rim lives outside the paper, so it never obscures the drawing. */
  #home-view .v3-hero .hero-main::before {
    content:"";
    position:absolute;
    inset:-7px;
    z-index:-1;
    pointer-events:none;
    border:1px solid rgb(255 255 255 / 76%);
    border-radius:6px;
    background:linear-gradient(135deg,
      rgb(255 255 255 / 30%),
      rgb(255 255 255 / 6%) 52%,
      rgb(255 255 255 / 17%));
    box-shadow:
      inset 0 0 0 1px rgb(79 108 123 / 5%),
      0 1px 1px rgb(255 255 255 / 40%);
  }

  #home-view .v3-hero .hero-main .evidence-bar {
    padding:15px 18px 9px;
    background:#fff;
    color:var(--blue);
    border-radius:2px 2px 0 0;
  }

  #home-view .v3-hero .hero-main .evidence-bar b {
    color:var(--copper);
  }

  #home-view .v3-hero .hero-main .hero-caption {
    padding:10px 18px 15px;
    border-block-start:0;
    border-radius:0 0 2px 2px;
    background:#fff;
  }

  #home-view .v3-hero .hero-main .hero-visual-button {
    cursor:zoom-in;
  }

  #home-view .v3-hero .hero-main .visual-corner {
    border-color:rgb(79 108 123 / 22%);
    border-radius:3px;
    background:rgb(250 251 251 / 88%);
    box-shadow:0 2px 8px rgb(11 48 69 / 5%);
    transition:background 190ms ease,border-color 190ms ease;
  }

  #home-view .v3-hero .hero-main .hero-visual-button:is(:hover,:focus-visible) .visual-corner {
    background:#fff;
    border-color:var(--steel);
  }
}

@media screen and (max-width:620px) {
  #home-view .v3-hero .hero-main::before {inset:-5px}
  #home-view .v3-hero .hero-main .evidence-bar {padding-inline:13px}
  #home-view .v3-hero .hero-main .hero-caption {padding-inline:13px}
}

/* NAVIGATION BRAND — open, interlocking profiles with a copper key.
   All selectors are confined to the header; the mark stays sharp at any scale. */
#header .brand {
  gap:11px;
  min-height:48px;
  border-radius:3px;
  text-decoration:none;
}

#header .brand-symbol {
  display:block;
  width:54px;
  height:54px;
  flex:none;
  direction:ltr;
}

#header .brand-emblem {
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:none;
  overflow:visible;
}

#header .brand-profile {fill:var(--blue)}
#header .brand-key {fill:var(--copper);transition:transform 240ms cubic-bezier(.2,.65,.3,1)}
#header .brand-key-edge {fill:none;stroke:#e1a780;stroke-width:1;stroke-linecap:butt}

#header .brand-note {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  max-width:160px;
  font-family:'Bahnschrift','DIN Alternate','Aptos Display','Segoe UI Variable Display','Segoe UI',Arial,sans-serif;
  font-stretch:semi-condensed;
  letter-spacing:normal;
  color:var(--blue);
}

#header .brand-title {
  font-size:18px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.04em;
  white-space:nowrap;
}

#header .brand-subtitle {
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--steel);
  white-space:nowrap;
}

#header .brand-note::after {
  content:"";
  position:absolute;
  inset-inline-start:0;
  bottom:-6px;
  width:46px;
  height:1px;
  background:var(--copper);
  transform:scaleX(.3);
  transform-origin:left;
  transition:transform 240ms cubic-bezier(.2,.65,.3,1);
}

#header .brand:focus-visible .brand-key {transform:translate(1.5px,-1.5px)}
#header .brand:focus-visible .brand-note::after {transform:scaleX(1)}

@media(hover:hover) and (pointer:fine) {
  #header .brand:hover .brand-key {transform:translate(1.5px,-1.5px)}
  #header .brand:hover .brand-note::after {transform:scaleX(1)}
}

/* Preserve the existing navigation's compact breakpoints. */
@media(min-width:1181px) and (max-width:1350px) {
  #header .brand-note {display:none}
}
@media(max-width:620px) {
  #header .brand {gap:0}
  #header .brand-symbol {width:44px;height:44px}
  #header .brand-note {display:none}
}

[dir=rtl] #header .brand-title,
[dir=rtl] #header .brand-subtitle {letter-spacing:normal;text-transform:none}
[dir=rtl] #header .brand-note::after {transform-origin:right}

@media(prefers-reduced-motion:reduce) {
  #header .brand-key,
  #header .brand-note::after {transition:none!important;transform:none!important}
}

/* TOOLING CAPTIONS — image and label layer share one coordinate system. */
.v3 .tooling-caption-sheet {position:relative}
.v3 .tooling-caption-sheet>.tooling-caption-layer {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:none;
  pointer-events:none;
}
.v3 .tooling-caption-sheet .tooling-footer {fill:#fcfcfc;stroke:#d5d5d5;stroke-width:1.5}
.v3 .tooling-caption-sheet .tooling-border-repair {fill:none;stroke:#d5d5d5;stroke-width:1.5}
.v3 .tooling-caption-sheet .tooling-caption-text {fill:#18262f;stroke:none;font:26px "Segoe UI","Aptos","Helvetica Neue",Arial,sans-serif;text-anchor:middle}
/* Keep source and labels registered when a project card is hovered. */
.v3 .card-image .tooling-caption-sheet>img {transform:none!important}


/* MV100 — optional engineering detail within the existing case-study system. */
.case-wrap[data-project="bench-vise"] .calc-item {min-width:0}
.case-wrap[data-project="bench-vise"] .calc-item strong {
  font-size:clamp(21px, 2vw, 26px);
  overflow-wrap:anywhere;
}
.calc-emphasis {border-inline-start:3px solid var(--copper);background:var(--mist)}
.decision-drawing {margin-block-start:8px;min-height:44px}
.calculation-details {margin-block-start:28px}
.calculation-details>h3 {font-size:21px;margin-block-end:16px}
.calc-detail h4 {font-size:18px;line-height:1.45;margin-block-end:12px}
.v3 .calc-detail p {font-size:16px;line-height:1.7}
.equation-list {margin-block:20px}
.equation-list>div {margin-block:12px}
.equation-list dt {font-size:13px;color:var(--steel);margin-block-end:5px}
.equation-list dd {margin:0;font:15px/1.8 var(--mono);color:var(--blue);overflow-wrap:anywhere}
.equation-list bdi {direction:ltr;unicode-bidi:isolate}
.v3 .calculation-conclusion {font-weight:650;color:var(--blue)}
.calculation-qualifier {border-inline-start:3px solid var(--copper);padding-inline-start:18px}
.material-matrix {width:100%;border-collapse:collapse;table-layout:fixed;margin-block-start:26px}
.material-matrix caption {text-align:start;font-size:21px;font-weight:650;color:var(--blue);padding-block-end:14px}
.material-matrix th,.material-matrix td {padding:14px 12px;text-align:start;vertical-align:top;border-block-end:1px solid var(--line);font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.material-matrix thead {background:var(--mist)}
.material-matrix thead th {font-size:13px;font-weight:650}
.material-matrix th:first-child {width:20%}
.material-matrix th:nth-child(2) {width:30%}
.material-matrix tbody th {font-family:var(--mono);font-weight:500;color:var(--blue)}
.material-matrix td {color:var(--muted)}

@media screen and (max-width:620px) {
  .case-wrap[data-project="bench-vise"] .calc-grid {grid-template-columns:minmax(0,1fr)}
  .case-wrap[data-project="bench-vise"] .decision-list {grid-template-columns:minmax(0,1fr)}
  .material-matrix thead {position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
  .material-matrix tbody,.material-matrix tr {display:block}
  .material-matrix tr {padding-block:14px;border-block-end:1px solid var(--line)}
  .material-matrix th,.material-matrix td {display:block;width:auto!important;border:0;padding:3px 0}
  .material-matrix tbody th {font-weight:650;font-size:17px}
  .material-matrix td:first-of-type {font-weight:600;color:var(--blue)}
}
@media print {
  .decision-drawing {display:none}
  .case-wrap[data-project="bench-vise"] .calc-item strong {font-size:15pt}
  .case-wrap[data-project="bench-vise"] .calculation-details .calc-grid {display:block;break-inside:auto}
  .calc-detail {break-inside:avoid;margin-block:3mm}
  .calculation-details>h3,.material-matrix caption {font-size:12pt}
  .calc-detail h4 {font-size:11pt}
  .v3 .calc-detail p,.v3 .calculation-qualifier p {font-size:9.5pt;line-height:1.65}
  .equation-list {margin-block:3mm}
  .equation-list dt,.equation-list dd {font-size:9pt}
  .material-matrix th,.material-matrix td,.material-matrix thead th {font-size:8.5pt;padding:2mm}
  .material-matrix tr {break-inside:avoid}
}

/* HOME / SELECTABLE EVIDENCE STACK
   Same-sized source cards; idle offsets and a short, contained fan on interaction. */
.hero-stack-layout .hero-evidence-stack {
  --deck-fan:0;
  --deck-direction:1;
  width:100%;
  max-width:620px;
  min-width:0;
  justify-self:end;
  align-self:center;
  padding-block:12px;
}
.hero-stack-layout .evidence-deck {
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  aspect-ratio:1/1.07;
  width:100%;
}
.hero-stack-layout .evidence-deck::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:72%;
  height:14%;
  bottom:8%;
  border-radius:50%;
  background:rgb(11 48 69 / 9%);
  filter:blur(20px);
  pointer-events:none;
}
.hero-stack-layout .deck-card {
  --card-side:-1;
  --card-lift:0px;
  position:relative;
  grid-area:1/1;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:78%;
  aspect-ratio:1/1.08;
  min-width:0;
  margin:0;
  padding:0;
  overflow:visible;
  border:1px solid rgb(255 255 255 / 92%);
  border-radius:9px;
  background:#fff;
  color:var(--blue);
  font:inherit;
  text-align:start;
  cursor:pointer;
  box-shadow:0 2px 4px rgb(11 48 69 / 5%),0 15px 35px rgb(11 48 69 / 13%);
  transform:translateX(calc(var(--card-side)*var(--deck-direction)*(10px + var(--deck-fan)*16px))) translateY(calc(var(--card-lift) + var(--card-side)*5px)) rotate(calc(var(--card-side)*var(--deck-direction)*(3deg + var(--deck-fan)*3deg)));
  transform-origin:50% 85%;
  transition:transform 280ms cubic-bezier(.2,.65,.25,1),box-shadow 220ms ease,border-color 220ms ease;
  z-index:1;
  -webkit-tap-highlight-color:transparent;
}
.hero-stack-layout .deck-card[data-hero-card="manufacturing"] {--card-side:1}
.hero-stack-layout .deck-card.is-selected {z-index:2;--card-lift:-4px}
.hero-stack-layout .deck-card::before {
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border:1px solid rgb(255 255 255 / 75%);
  border-radius:13px;
  background:linear-gradient(130deg,rgb(255 255 255 / 26%),rgb(255 255 255 / 3%) 52%,rgb(255 255 255 / 15%));
  box-shadow:inset 0 0 0 1px rgb(79 108 123 / 6%);
  pointer-events:none;
}
.hero-stack-layout .deck-card-top {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 24px;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:10px 16px;
}
.hero-stack-layout .deck-number {font:600 12px/1.5 var(--mono);color:var(--accent-text);direction:ltr;unicode-bidi:isolate}
.hero-stack-layout .deck-category {font:600 12px/1.5 var(--mono);color:var(--steel);overflow-wrap:anywhere}
.hero-stack-layout .deck-open {display:grid;place-items:center;color:var(--steel)}
.hero-stack-layout .deck-open svg {width:19px;height:19px}
.hero-stack-layout .deck-image-frame {display:block;min-height:0;min-width:0;padding:0 9px;background:#fff}
.hero-stack-layout .deck-media {display:block;width:100%;height:100%;overflow:hidden}
.hero-stack-layout .deck-card-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:75px;
  padding:12px 16px;
}
.hero-stack-layout .deck-card-bottom strong {display:block;font-size:clamp(15px,1.3vw,18px);font-weight:650;line-height:1.4}
.hero-stack-layout .deck-detail {display:block;color:var(--steel);font-size:12px;line-height:1.5;margin-block-start:3px}
.hero-stack-layout .deck-bottom-arrow {display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:50%}
.hero-stack-layout .deck-bottom-arrow svg {width:16px;height:16px}
.hero-stack-layout .deck-card:focus-visible {outline:3px solid var(--copper);outline-offset:8px}
.hero-stack-layout .hero-evidence-stack:focus-within {--deck-fan:1}
.hero-stack-layout .deck-selector {
  display:flex;
  justify-content:center;
  gap:8px;
  position:relative;
  z-index:3;
  width:fit-content;
  max-width:100%;
  margin:6px auto 0;
  padding:5px;
  border:1px solid rgb(255 255 255 / 90%);
  border-radius:11px;
  background:rgb(250 251 251 / 85%);
  box-shadow:0 3px 12px rgb(11 48 69 / 5%);
}
.hero-stack-layout .deck-selector button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  min-height:44px;
  padding:9px 13px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:var(--steel);
  font-size:14px;
  line-height:1.5;
  font-weight:600;
  transition:background 180ms ease,color 180ms ease,border-color 180ms ease;
}
.hero-stack-layout .deck-selector button[aria-pressed="true"] {color:var(--blue);background:white;border-color:var(--line);box-shadow:0 2px 5px rgb(11 48 69 / 5%)}
.hero-stack-layout .deck-selector-number {font:12px/1.5 var(--mono);color:var(--accent-text);direction:ltr;unicode-bidi:isolate}

/* HOME / PROFILE — the portrait belongs with the introduction.
   Translucent surface, quiet rim highlights and an opaque fallback for legibility. */
.hero-stack-layout .hero-profile-glass {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  gap:14px;
  width:fit-content;
  max-width:100%;
  min-height:98px;
  margin-block-start:28px;
  padding:12px 18px 12px 12px;
  border:1px solid rgb(255 255 255 / 92%);
  border-radius:20px;
  color:var(--blue);
  background:rgb(250 252 253 / 94%);
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 1px rgb(79 108 123 / 12%),0 10px 28px rgb(11 48 69 / 8%);
  transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease;
}
.hero-stack-layout .hero-profile-glass::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(115deg,rgb(255 255 255 / 55%),transparent 44%,rgb(255 255 255 / 24%));
  pointer-events:none;
}
.hero-stack-layout .hero-profile-glass::after {
  content:"";
  position:absolute;
  inset:1px;
  border:1px solid rgb(255 255 255 / 45%);
  border-inline-end-color:rgb(79 108 123 / 13%);
  border-block-end-color:rgb(79 108 123 / 10%);
  border-radius:18px;
  pointer-events:none;
}
.hero-stack-layout .hero-profile-glass img {display:block;flex:none;width:55px;height:74px;object-fit:cover;border-radius:10px;box-shadow:0 1px 3px rgb(11 48 69 / 10%)}
.hero-stack-layout .hero-profile-info {display:grid;gap:3px;min-width:0}
.hero-stack-layout .hero-profile-info strong {font-size:16px;font-weight:650;line-height:1.4}
.hero-stack-layout .hero-profile-info>span {font-size:13px;line-height:1.5;color:var(--steel)}
.hero-stack-layout .hero-profile-action {display:flex;align-items:center;gap:8px;flex:none;margin-inline-start:9px;font-size:14px;font-weight:600}
.hero-stack-layout .hero-profile-action svg {width:18px;height:18px;transition:transform 200ms ease}
.hero-stack-layout .hero-profile-glass:focus-visible {outline:3px solid var(--copper);outline-offset:4px}
@supports (backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px)) {
  .hero-stack-layout .hero-profile-glass {
    background:rgb(243 249 251 / 35%);
    backdrop-filter:blur(18px) saturate(145%);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
  }
}
@media (hover:hover) and (pointer:fine) {
  .hero-stack-layout .hero-evidence-stack:hover {--deck-fan:1}
  .hero-stack-layout .deck-card.is-selected:hover {--card-lift:-10px;box-shadow:0 3px 7px rgb(11 48 69 / 6%),0 22px 40px rgb(11 48 69 / 16%)}
  .hero-stack-layout .hero-profile-glass:hover {transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 1px rgb(79 108 123 / 14%),0 14px 32px rgb(11 48 69 / 11%)}
  .hero-stack-layout .hero-profile-glass:hover .arrow {transform:translateX(3px)}
  [dir=rtl] .hero-stack-layout .hero-profile-glass:hover .arrow {transform:translateX(-3px)}
}
[dir=rtl] .hero-stack-layout .hero-evidence-stack {--deck-direction:-1}

/* The stack stays contained at every size. Touch selection never needs hover. */
@media screen and (max-width:1180px) {
  .hero-stack-layout .deck-card {width:80%}
  .hero-stack-layout .hero-profile-glass {gap:11px;padding-inline-end:13px}
  .hero-stack-layout .hero-profile-action {margin-inline-start:3px}
}
@media screen and (max-width:900px) {
  .hero-stack-layout .hero-evidence-stack {justify-self:center;max-width:600px;padding-block:0}
  .hero-stack-layout .hero-profile-glass {margin-block-start:22px}
}
@media screen and (max-width:620px) {
  .hero-stack-layout .hero-evidence-stack {max-width:440px;--deck-fan:0}
  .hero-stack-layout .evidence-deck {aspect-ratio:1/1.13}
  .hero-stack-layout .deck-card {width:84%;aspect-ratio:1/1.1;transform:translateX(calc(var(--card-side)*var(--deck-direction)*9px)) translateY(calc(var(--card-lift) + var(--card-side)*4px)) rotate(calc(var(--card-side)*var(--deck-direction)*2.5deg))}
  .hero-stack-layout .deck-card-top {gap:8px;min-height:43px;padding:9px 12px}
  .hero-stack-layout .deck-card-bottom {padding:10px 12px;min-height:75px}
  .hero-stack-layout .deck-selector {gap:2px;margin-block-start:4px}
  .hero-stack-layout .deck-selector button {padding-inline:10px;font-size:13px}
  .hero-stack-layout .deck-selector-number {font-size:11px}
  .hero-stack-layout .hero-profile-glass {width:100%;max-width:390px;gap:11px;padding:10px 13px 10px 10px;min-height:89px;border-radius:17px}
  .hero-stack-layout .hero-profile-glass::after {border-radius:15px}
  .hero-stack-layout .hero-profile-glass img {width:48px;height:65px;border-radius:8px}
  .hero-stack-layout .hero-profile-info {flex:1}
  .hero-stack-layout .hero-profile-info strong {font-size:15px}
  .hero-stack-layout .hero-profile-info>span {font-size:12px}
  .hero-stack-layout .hero-profile-action {font-size:13px;gap:5px;margin-inline-start:0}
}
@media (prefers-reduced-motion:reduce) {
  .hero-stack-layout .deck-card,.hero-stack-layout .deck-selector button,.hero-stack-layout .hero-profile-glass,.hero-stack-layout .hero-profile-action svg {transition:none!important}
  .hero-stack-layout .hero-evidence-stack {--deck-fan:0!important}
  .hero-stack-layout .deck-card {--card-lift:0px!important}
  .hero-stack-layout .hero-profile-glass:hover,.hero-stack-layout .hero-profile-glass:hover .arrow {transform:none}
}
@media (prefers-reduced-transparency:reduce) {
  .hero-stack-layout .hero-profile-glass {background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media (forced-colors:active) {
  .hero-stack-layout .deck-card,.hero-stack-layout .deck-selector,.hero-stack-layout .hero-profile-glass {background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}
  .hero-stack-layout .deck-selector button[aria-pressed="true"] {border-color:Highlight}
}
@media print {
  .hero-stack-layout .hero-evidence-stack,.hero-stack-layout .hero-profile-glass {display:none!important}
}

/* IDENTITY / SHARED GLASS SURFACE — confined to the nameplate and Home monogram. */
.glass-surface {
  position:relative;
  isolation:isolate;
  border:1px solid rgb(255 255 255 / 95%);
  background:rgb(246 250 251 / 95%);
  box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px rgb(79 108 123 / 12%),0 10px 30px rgb(11 48 69 / 7%);
}
.glass-surface::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(125deg,rgb(255 255 255 / 62%),rgb(255 255 255 / 4%) 48%,rgb(255 255 255 / 24%));
  pointer-events:none;
}
.glass-surface::after {
  content:"";
  position:absolute;
  inset:1px;
  border:1px solid rgb(255 255 255 / 50%);
  border-inline-end-color:rgb(79 108 123 / 12%);
  border-block-end-color:rgb(79 108 123 / 9%);
  border-radius:inherit;
  pointer-events:none;
}
@supports (backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px)) {
  .glass-surface {
    background:rgb(230 242 246 / 32%);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
  }
}

/* HOME / ONE IDENTITY — portrait, name, role and About belong together. */
.v3 .hero-identity {
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:22px;
  width:fit-content;
  max-width:100%;
  margin-block-end:29px;
  padding:25px 27px 25px 22px;
  border-radius:22px;
}
.v3 .hero-identity-portrait {
  display:block;
  width:92px;
  height:125px;
  object-fit:cover;
  border:1px solid rgb(255 255 255 / 80%);
  border-radius:12px;
  box-shadow:0 3px 9px rgb(11 48 69 / 11%);
}
.v3 .hero-identity-copy {min-width:0}
.v3 .hero-copy .hero-identity h1 {
  font-size:clamp(40px,3.65vw,60px);
  line-height:1.04;
  letter-spacing:-.048em;
  margin:0 0 14px;
  text-align:start;
}
.v3 .hero-identity .identity-role {
  font-size:15px;
  line-height:1.55;
  font-weight:550;
  color:var(--blue);
  margin:0 0 7px;
  max-width:35ch;
}
.v3 .hero-identity .identity-meta {
  display:flex;
  align-items:center;
  gap:4px 17px;
  flex-wrap:wrap;
  color:var(--steel);
  font-size:13px;
  line-height:1.5;
}
.v3 .hero-identity .identity-about {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  color:var(--blue);
  font-size:14px;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-color:rgb(79 108 123 / 35%);
}
.v3 .hero-identity .identity-about .arrow {width:17px;height:17px;transition:translate 200ms ease}
.v3 .hero-identity .identity-about:hover .arrow {translate:3px 0}
[dir=rtl] .v3 .hero-identity .identity-about:hover .arrow {translate:-3px 0}
.v3 .hero-identity .identity-about:focus-visible {outline:2px solid var(--copper);outline-offset:5px;border-radius:2px}
.v3 .about-next {display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-block-start:38px;padding-block-start:27px;border-block-start:1px solid var(--line)}

/* NAVIGATION / INTERLOCKING M + A — the existing label and Home route stay intact. */
#header .brand-symbol.glass-surface {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  padding:4px;
  border-radius:16px;
  box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px rgb(79 108 123 / 12%),0 4px 12px rgb(11 48 69 / 8%);
}
#header .brand-letter-m,
#header .brand-letter-a,
#header .brand-joint {
  fill:none;
  stroke-width:5.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform-origin:32px 32px;
  transition:transform 240ms cubic-bezier(.2,.65,.3,1);
}
#header .brand-letter-m,#header .brand-joint {stroke:var(--blue)}
#header .brand-letter-a {stroke:var(--copper)}
#header .brand-joint {pointer-events:none}
#header .brand:focus-visible .brand-letter-m {transform:translate(-1px,1px)}
@media (hover:hover) and (pointer:fine) {
  #header .brand:hover .brand-letter-m {transform:translate(-1px,1px)}
}
#header .is-assembling .brand-letter-m {animation:ma-lock-m 380ms cubic-bezier(.2,.65,.3,1)}
#header .is-assembling .brand-letter-a {animation:ma-lock-a 380ms cubic-bezier(.2,.65,.3,1)}
#header .is-assembling .brand-joint {animation:ma-lock-joint 380ms ease}
@keyframes ma-lock-m {0%,100%{transform:translate(0,0)}35%{transform:translate(-2px,1px)}70%{transform:translate(.5px,0)}}
@keyframes ma-lock-a {0%,100%{transform:translate(0,0)}35%{transform:translate(2px,-1px)}70%{transform:translate(-.5px,0)}}
@keyframes ma-lock-joint {0%,100%{opacity:1}35%{opacity:0}70%{opacity:1}}

/* RESPONSIVE / a portrait above the name on phones; readable full name at every size. */
@media screen and (max-width:1180px) {
  .v3 .hero-identity {grid-template-columns:76px minmax(0,1fr);gap:17px;padding:21px 19px;}
  .v3 .hero-identity-portrait {width:76px;height:103px}
  .v3 .hero-copy .hero-identity h1 {font-size:clamp(36px,3.6vw,44px)}
}
@media screen and (max-width:900px) {
  .v3 .hero-identity {grid-template-columns:92px minmax(0,1fr);padding:24px;gap:22px}
  .v3 .hero-identity-portrait {width:92px;height:125px}
  .v3 .hero-copy .hero-identity h1 {font-size:clamp(43px,5.9vw,53px)}
}
@media screen and (max-width:620px) {
  .v3 .hero-identity {grid-template-columns:minmax(0,1fr);width:100%;gap:17px;padding:22px;border-radius:20px;margin-block-end:27px}
  .v3 .hero-identity-portrait {width:65px;height:88px;border-radius:10px}
  .v3 .hero-copy .hero-identity h1 {font-size:clamp(36px,9.4vw,48px);margin-block-end:13px}
  .v3 .hero-identity .identity-role {font-size:15px}
  .v3 .hero-identity .identity-meta {gap:2px 20px}
  #header .brand-symbol.glass-surface {width:46px;height:46px;padding:3px;border-radius:13px}
}
@media (prefers-reduced-motion:reduce) {
  #header .brand-letter-m,#header .brand-letter-a,#header .brand-joint {animation:none!important;transition:none!important;transform:none!important}
  .v3 .hero-identity .identity-about .arrow {transition:none;translate:none!important}
}
@media (prefers-reduced-transparency:reduce) {
  .glass-surface {background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media (forced-colors:active) {
  .glass-surface {background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none;backdrop-filter:none}
  .glass-surface::before,.glass-surface::after {display:none}
  #header .brand-letter-m,#header .brand-letter-a,#header .brand-joint {stroke:CanvasText}
}
/* PRINT / preserve the name and professional title without a decorative panel. */
@media print {
  .v3 .hero-identity {display:block;width:auto;margin:0 0 3mm;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .v3 .hero-identity::before,.v3 .hero-identity::after,.v3 .hero-identity-portrait,.v3 .identity-about,.v3 .about-next {display:none!important}
  .v3 .hero-copy .hero-identity h1 {font-size:25pt;line-height:1.1;margin:0 0 2mm}
  .v3 .hero-identity .identity-role {font-size:10pt;margin:0}
  .v3 .hero-identity .identity-meta {font-size:9pt}
}
/* V5 / TYPOGRAPHY — automatic hyphenation never splits a headline. */
.v3 :is(h1,h2,h3,h4,.positioning) {
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  text-wrap:balance;
}

/* V5 / HOME IDENTITY — larger portrait, aligned with the name. */
.v3 .hero-identity {grid-template-columns:132px minmax(0,1fr);gap:24px;width:100%;padding:25px 26px 25px 22px}
.v3 .hero-identity-portrait {width:132px;height:180px;object-fit:cover;align-self:center}
.v3 .hero-copy .hero-identity h1 {font-size:clamp(38px,3.4vw,54px)}
.v3 .hero-identity .identity-role {font-size:16px}
.v3 .hero-identity .identity-meta {font-size:14px}

/* V5 / EVIDENCE — translucent rim and refraction, with readable opaque fallback. */
.v3 .proof-glass {
  position:relative;
  padding-block:22px 34px;
  border:0;
  background:linear-gradient(160deg,#edf4f6 0%,#f8fafb 54%,#e8eff2 100%);
}
.v3 .proof-glass::before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(112deg,transparent 18%,#c66a3209 18.3%,transparent 43%),repeating-linear-gradient(90deg,transparent 0 81px,#0b304504 82px 83px);
}
.v3 .proof-glass .proof-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-radius:21px;padding:8px;background:rgb(247 251 252 / 86%);overflow:hidden}
.v3 .proof-glass .proof-item {position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:26px 27px 31px;border:0;border-inline-start:1px solid #7c99a426;border-radius:0;color:var(--blue);text-decoration:none;transition:background 200ms ease}
.v3 .proof-glass .proof-item:first-child {border:0}
.v3 .proof-glass .proof-item strong {font:650 clamp(24px,2vw,31px)/1.25 var(--display);letter-spacing:-.035em;min-height:2.5em;display:flex;align-items:center}
.v3 .proof-glass .proof-item:first-child strong {font-size:40px;min-height:1.94em}
.v3 .proof-glass .proof-label {font-size:15px!important;line-height:1.5;font-weight:650;margin-block:8px 0}
.v3 .proof-glass .proof-item p {font-size:14px;line-height:1.6;max-width:31ch;margin:10px 0 0;color:var(--steel)}
.v3 .proof-arrow {margin-block-start:auto;padding-block-start:18px;color:var(--accent-text)}
.v3 .proof-arrow svg {width:19px;height:19px}
.v3 .proof-item:focus-visible {outline:3px solid var(--copper);outline-offset:-3px;border-radius:12px}
@supports (backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px)) {
  .v3 .proof-glass .proof-grid {background:rgb(237 247 250 / 42%);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
  .v3 .inquiry-builder.glass-surface {background:rgb(248 252 253 / 70%)}
}
@media (hover:hover) and (pointer:fine) {
  .v3 .proof-glass .proof-item:hover {background:rgb(255 255 255 / 48%)}
}

/* V5 / THREE EVIDENCE CARDS — same dimensions; existing keyboard/touch selection. */
.hero-stack-layout .deck-card {width:76%;--card-side:0}
.hero-stack-layout .deck-card:nth-child(1) {--card-side:-1}
.hero-stack-layout .deck-card:nth-child(2) {--card-side:0}
.hero-stack-layout .deck-card:nth-child(3) {--card-side:1}
.hero-stack-layout .deck-card.is-selected {z-index:3}
.hero-stack-layout .deck-selector {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:530px;gap:3px}
.hero-stack-layout .deck-selector button {font-size:13px;padding-inline:8px;min-height:48px;flex-wrap:wrap;gap:5px;overflow-wrap:anywhere}
.hero-stack-layout .deck-card-bottom {min-height:94px}
.hero-stack-layout .deck-card-bottom strong {font-size:clamp(15px,1.2vw,18px)}

/* V5 / RETURN CONTEXT — visible at each destination, independent of the catalog. */
.v3 .route-return {background:#f4f8fa;border-block-end:1px solid #cbd5da85;padding-block:7px}
.v3 .route-return .wrap {display:flex;min-width:0}
.v3 .context-back {gap:9px;text-align:start;max-width:100%;font-size:14px;line-height:1.5}
.v3 .context-back svg {flex:none}
.v3 .context-back span {min-width:0;overflow-wrap:anywhere}
.v3 .case-ending {display:flex;flex-wrap:wrap;gap:14px 25px;align-items:center}
.v3 .case-experience {margin-block:12px 0}
.v3 .case-experience .field-label {margin-inline-end:12px}
.v3 .career-item {scroll-margin-block-start:110px}
.v3 .career-projects {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-block-start:22px}
.v3 .career-project-link {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:11px 14px;background:#f3f7f8;border:1px solid #d8e2e7;border-radius:7px;font-size:15px;line-height:1.5;text-decoration:none;color:var(--blue)}
.v3 .career-project-link .arrow {flex:none;width:18px;height:18px}
.v3 .career-project-link:hover {border-color:var(--copper)}

/* COMPANY CONTEXT — compact employer identity and optional public background. */
.v3 .company-heading {display:flex;align-items:center;gap:18px;margin-block-end:14px}
.v3 .company-heading-copy {min-width:0}
.v3 .company-heading h3 {margin:0 0 6px}
.v3 .company-heading .job-label {margin:0}
.v3 .company-logo {
  flex:0 0 76px;width:76px;height:76px;display:grid;place-items:center;overflow:hidden;
  border:1px solid rgb(160 180 190 / 72%);border-radius:16px;background:rgb(255 255 255 / 88%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 96%),0 10px 24px rgb(11 48 69 / 10%);
}
.v3 .company-logo img {width:100%;height:100%;object-fit:contain}
.v3 .company-logo.logo-tuborco img {width:122%;height:122%;max-width:none;transform:translateY(-8%)}
.v3 .company-context {
  margin-block:22px 4px;border:1px solid rgb(170 188 197 / 72%);border-radius:10px;
  background:linear-gradient(135deg,rgb(255 255 255 / 82%),rgb(235 242 245 / 72%));
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 96%),0 12px 28px rgb(11 48 69 / 7%);
  backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%);
  transition:border-color var(--ease),box-shadow var(--ease),background-color var(--ease);
}
.v3 .company-context summary {
  position:relative;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 16px;list-style:none;color:var(--blue);font-size:15px;font-weight:650;cursor:pointer;
  border-radius:9px;overflow:hidden;
  transition:color var(--ease),background-color var(--ease),transform 120ms ease;
}
.v3 .company-context summary::-webkit-details-marker {display:none}
.v3 .company-context summary::before {
  content:"";position:absolute;inset:auto 16px 0;height:2px;background:var(--copper);
  transform:scaleX(0);transform-origin:left;transition:transform var(--ease);
}
.v3 .company-context summary > * {position:relative;z-index:1}
.v3 .company-context summary .arrow {transition:transform var(--ease),translate var(--ease)}
.v3 .company-context summary:hover {color:#08283a;background:rgb(255 255 255 / 58%)}
.v3 .company-context summary:hover::before,
.v3 .company-context summary:focus-visible::before,
.v3 .company-context[open] summary::before {transform:scaleX(1)}
.v3 .company-context summary:hover .arrow {translate:3px 0}
.v3 .company-context summary:active {transform:translateY(1px)}
.v3 .company-context summary:focus-visible {outline:3px solid var(--copper);outline-offset:3px}
.v3 .company-context:has(summary:hover),
.v3 .company-context:has(summary:focus-visible) {
  border-color:rgb(116 145 159 / 82%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 98%),0 16px 34px rgb(11 48 69 / 12%);
}
.v3 .company-context[open] summary {border-block-end:1px solid rgb(176 192 200 / 70%)}
.v3 .company-context[open] summary .arrow {transform:rotate(90deg)}
.v3 .company-context[open] .company-context-body {animation:company-context-in 220ms ease both}
@keyframes company-context-in {
  from {opacity:0;transform:translateY(-6px)}
  to {opacity:1;transform:translateY(0)}
}
.v3 .company-context-body {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);gap:24px;padding:20px 22px 22px}
.v3 .company-context-copy p {margin:0;font-size:16px;line-height:1.7;color:var(--ink)}
.v3 .company-facts {margin:0;display:grid;gap:12px}
.v3 .company-facts div {display:grid;gap:3px;padding-block-end:10px;border-block-end:1px solid rgb(176 192 200 / 60%)}
.v3 .company-facts dt {font:11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--steel)}
.v3 .company-facts dd {margin:0;font-size:14px;line-height:1.55;color:var(--ink)}
.v3 .company-source {display:inline-flex;align-items:center;gap:7px;margin-block-start:17px;color:var(--blue);font-size:14px;font-weight:650}
.v3 .company-source .arrow {transition:transform var(--ease)}
.v3 .company-source:hover .arrow {transform:translateX(3px)}
@media(max-width:800px){
  .v3 .company-heading {align-items:flex-start;gap:14px}
  .v3 .company-logo {flex-basis:64px;width:64px;height:64px;border-radius:13px}
  .v3 .company-context-body {grid-template-columns:1fr;gap:18px;padding:18px}
  .v3 .company-context summary {min-height:52px;padding-inline:14px}
}
@media(max-width:430px){
  .v3 .company-logo {flex-basis:56px;width:56px;height:56px;border-radius:11px}
  .v3 .company-heading h3 {font-size:23px}
}
@media print{
  .v3 .company-logo {width:16mm;height:16mm;flex-basis:16mm;border-radius:2mm;box-shadow:none}
  .v3 .company-context {margin-block:2mm;border-radius:0;box-shadow:none;background:white}
  .v3 .company-context summary {min-height:0;padding:2mm 3mm;font-size:8pt}
  .v3 .company-context summary .arrow {display:none}
  .v3 .company-context-body {display:grid!important;grid-template-columns:1.5fr 1fr;gap:4mm;padding:3mm}
  .v3 .company-context-copy p,.v3 .company-facts dd {font-size:7.5pt;line-height:1.4}
  .v3 .company-source {display:none}
}

.v3 .catalog-drawings-link {margin-block:8px 22px}

/* V5 / TOOLBOX — a typographic contents panel, never a fabricated screenshot. */
/* TOOLBOX SYMBOL — decorative vector; card copy supplies the project description. */
.v3 .toolbox-art {padding:20px;display:grid;place-items:center;background:#eef2f3;min-height:265px;overflow:hidden}
.v3 .toolbox-art::before {display:none}
.v3 .toolbox-art .toolbox-symbol {display:block;width:100%;height:100%;max-height:340px;stroke:none;fill:none;overflow:visible}
.v3 .adjacent-image .toolbox-art {padding:0;min-height:0}
.v3 .adjacent-image .toolbox-symbol {max-height:none}
.v3 .toolbox-art .toolbox-body {filter:drop-shadow(0 9px 10px #0b30450d)}
.v3 .tool-file-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:25px}
.v3 .tool-file {min-width:0;display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:8px;background:#f7fafb}
.v3 .tool-file h3 {font-size:23px;margin-block:13px}
.v3 .tool-file p {font-size:16px}
.v3 .tool-file button {margin-block-start:auto;align-self:flex-start;text-align:start}
.v3 .download-feedback {font-size:15px;color:var(--blue);min-height:1.5em}

/* V5 / CONTACT — optional inquiry fields, then an explicit email handoff. */
.v3 .inquiry-builder {border-radius:18px}
.v3 .inquiry-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.v3 .inquiry-field {min-width:0}
.v3 .inquiry-field:last-child:nth-child(odd) {grid-column:1/-1}
.v3 .inquiry-builder input {width:100%;min-height:48px;max-width:100%;padding:11px 13px;border:1px solid #91a6b3;border-radius:5px;color:var(--ink);background:#fff;font:16px/1.6 var(--sans)}
.v3 .inquiry-builder input:focus-visible {outline:3px solid var(--copper);outline-offset:3px}
.v3 #inquiry-heading {scroll-margin-block-start:110px}
.v3 .inquiry-message {margin-block-start:24px;border-block-start:1px solid var(--line);padding-block-start:15px}
.v3 .inquiry-message summary {font-size:16px;min-height:44px;padding-block:8px;cursor:pointer;color:var(--blue)}
.v3 .delivery-options {margin-block-start:28px;padding:25px;border:1px solid #b5cad4;border-inline-start:3px solid var(--copper);border-radius:8px;background:#f0f6f8;scroll-margin-block-start:110px}
.v3 .delivery-options h3 {font-size:25px;margin-block:0 14px}
.v3 .delivery-options p {font-size:16px}
.v3 .delivery-options:focus {outline:2px solid var(--blue);outline-offset:4px}
.v3 .delivery-buttons {display:flex;flex-wrap:wrap;gap:12px;margin-block:22px}
.v3 .delivery-buttons .btn {text-align:start;font-size:14px}
.v3 .linkedin-actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px 25px;border-block-start:1px solid var(--line);padding-block-start:14px}
.v3 .linkedin-actions .text-link {font-size:14px;text-align:start}
.v3 .form-note {line-height:1.7}

/* V5 / RESPONSIVE — preserve the portrait/name relationship and usable controls. */
@media screen and (max-width:1180px) {
  .v3 .hero-identity {grid-template-columns:108px minmax(0,1fr);gap:18px;padding:21px 19px}
  .v3 .hero-identity-portrait {width:108px;height:147px}
  .v3 .hero-copy .hero-identity h1 {font-size:clamp(32px,3.3vw,43px)}
  .v3 .proof-glass .proof-item {padding:20px}
}
@media screen and (max-width:900px) {
  .v3 .hero-identity {grid-template-columns:136px minmax(0,1fr);gap:24px;padding:24px}
  .v3 .hero-identity-portrait {width:136px;height:185px}
  .v3 .hero-copy .hero-identity h1 {font-size:clamp(41px,5.7vw,53px)}
  .v3 .proof-glass .proof-grid {grid-template-columns:repeat(2,minmax(0,1fr));padding:6px}
  .v3 .proof-glass .proof-item:nth-child(3) {border-inline-start:0}
  .v3 .proof-glass .proof-item:nth-child(n+3) {border-block-start:1px solid #7c99a426}
  .v3 .proof-glass .proof-item strong {min-height:1.5em;font-size:29px}
  .v3 .proof-glass .proof-item:first-child strong {min-height:1.13em}
}
@media screen and (max-width:620px) {
  .v3 .hero-identity {grid-template-columns:96px minmax(0,1fr);gap:17px;padding:18px 15px;border-radius:18px}
  .v3 .hero-identity-portrait {width:96px;height:140px;border-radius:11px}
  .v3 .hero-copy .hero-identity h1 {font-size:clamp(26px,7.1vw,40px);letter-spacing:-.035em;line-height:1.1;margin-block-end:11px}
  .v3 .hero-identity .identity-role {font-size:14px;line-height:1.5}
  .v3 .hero-identity .identity-meta {font-size:13px;line-height:1.5;gap:6px 13px}
  .v3 .proof-glass {padding-block:15px 24px}
  .v3 .proof-glass .proof-item {padding:18px 13px 20px}
  .v3 .proof-glass .proof-item strong {font-size:23px;min-height:2.5em}
  .v3 .proof-glass .proof-item:first-child strong {font-size:36px;min-height:1.6em}
  .v3 .proof-glass .proof-label {font-size:14px!important}
  .v3 .proof-glass .proof-item p {font-size:13px;line-height:1.6}
  .hero-stack-layout .deck-card {width:79%;aspect-ratio:1/1.15}
  .hero-stack-layout .deck-selector button {font-size:12px;padding:8px 6px;gap:4px}
  .hero-stack-layout .deck-card-bottom {min-height:96px}
  .hero-stack-layout .deck-card-bottom strong {font-size:15px}
  .v3 .career-projects,.v3 .inquiry-fields,.v3 .tool-file-grid {grid-template-columns:1fr}
  .v3 .inquiry-builder {padding:24px 19px}
  .v3 .delivery-options {padding:22px 16px}
  .v3 .delivery-buttons {display:grid;grid-template-columns:1fr}
  .v3 .delivery-buttons .btn {font-size:15px;justify-content:flex-start}
  .v3 .toolbox-art {padding:24px}
  .v3 .tool-file {padding:22px}
}
@media screen and (max-width:380px) {
  .v3 .hero-identity {grid-template-columns:88px minmax(0,1fr);gap:13px;padding:16px 12px}
  .v3 .hero-identity-portrait {width:88px;height:134px}
  .v3 .hero-copy .hero-identity h1 {font-size:26px}
}

/* V5 / ACCESSIBILITY AND PRINT — glass and motion are optional. */
@media (prefers-reduced-transparency:reduce) {
  .v3 .proof-glass .proof-grid,.v3 .inquiry-builder.glass-surface {background:#f5f9fa;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media (prefers-reduced-motion:reduce) {
  .v3 .proof-item,.hero-stack-layout .deck-card,.hero-stack-layout .deck-selector button {transition:none!important}
}
@media (forced-colors:active) {
  .v3 .proof-glass .proof-grid,.v3 .proof-item,.v3 .delivery-options,.v3 .tool-file {background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}
}
@media print {
  .v3 .route-return,.v3 .case-experience,.v3 .career-projects,.v3 .catalog-drawings-link,.v3 .tool-file button,.v3 .download-feedback,.v3 .proof-arrow {display:none!important}
  .v3 .proof-glass {background:none;padding-block:4mm}
  .v3 .proof-glass::before,.v3 .proof-glass .glass-surface::before,.v3 .proof-glass .glass-surface::after {display:none!important}
  .v3 .proof-glass .proof-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:none;padding:0;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .v3 .proof-glass .proof-item {padding:2mm 3mm;border:0;background:none;break-inside:avoid}
  .v3 .proof-glass .proof-item strong,.v3 .proof-glass .proof-item:first-child strong {font-size:14pt;min-height:0;display:block}
  .v3 .proof-glass .proof-label {font-size:8.5pt!important;margin-block:2mm}
  .v3 .proof-glass .proof-item p {font-size:8pt;margin:0;line-height:1.4}
  .v3 .tool-file-grid {display:block}
  .v3 .tool-file {padding:3mm;margin-block:3mm;break-inside:avoid;background:none}
  .v3 .tool-file h3 {font-size:12pt!important}
  .v3 .tool-file p {font-size:9pt}
  .v3 .toolbox-art {min-height:0;padding:4mm;background:#fff;border:1px solid #cbd5da}
  .v3 .toolbox-art .toolbox-body {filter:none}
  .v3 .hero-copy .hero-identity h1 {font-size:25pt!important}
  .v3 .case-header h1 {font-size:24pt!important}
  .v3 .case-section h2 {font-size:16pt!important}
  .v3 .case-section h3 {font-size:12pt!important}
}

/* SHOWCASE-ONLY CASE HEADER — no empty image column after removing the panel. */
.v3 .case-header.case-header-text {grid-template-columns:minmax(0,850px);align-items:start}


/* IDENTITY CARD / LIGHT DRAWING-PAPER GLASS — quiet separation from the page. */
@media screen {
  .v3 .hero-identity.glass-surface {
    background:linear-gradient(135deg,rgb(255 255 255 / 92%),rgb(244 248 249 / 87%));
    border-color:rgb(157 178 188 / 48%);
    box-shadow:inset 0 1px 1px rgb(255 255 255 / 100%),inset 0 -1px 1px rgb(106 132 144 / 10%),0 19px 44px rgb(11 48 69 / 11%),0 3px 9px rgb(11 48 69 / 6%);
  }
  .v3 .hero-identity.glass-surface::before {
    background:linear-gradient(125deg,rgb(255 255 255 / 74%),rgb(255 255 255 / 10%) 54%,rgb(218 229 233 / 15%));
  }
  .v3 .hero-identity.glass-surface::after {
    border-color:rgb(255 255 255 / 86%);
    border-inline-end-color:rgb(104 132 144 / 16%);
    border-block-end-color:rgb(104 132 144 / 18%);
  }
}
@media (forced-colors:active) {
  .v3 .hero-identity.glass-surface {background:Canvas;border-color:CanvasText;box-shadow:none}
  .v3 .hero-identity.glass-surface::before,.v3 .hero-identity.glass-surface::after {display:none}
}
/* COPYRIGHT / one quiet, wrapping line beneath the existing footer controls. */
.v3 .footer-legal {padding-block:15px 25px;border-block-start:1px solid var(--line)}
.v3 .footer-legal p {margin:0;max-width:120ch;font-size:13px;line-height:1.75;color:var(--steel)}
@media print {
  .v3 .site-footer {display:block!important;padding:0;background:none;border:0}
  .v3 .footer-inner {display:none!important}
  .v3 .footer-legal {padding-block:3mm 0;border-block-start:1px solid #cbd5da}
  .v3 .footer-legal p {font-size:8pt;line-height:1.5;color:#18262f}
}

/* EXPERIENCE / SELECTED WORKPLACE PHOTOGRAPHS
   Quiet photo strips follow the existing career hierarchy. The preview may
   crop to its frame; the shared viewer always receives the complete JPEG. */
.v3 .career-content {min-width:0}
.v3 .career-photographs {margin-block:28px 8px}
.v3 .career-photo-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-end:13px;padding-block-end:10px;border-block-end:1px solid var(--line)}
.v3 .career-photo-heading h4 {margin:0;font-size:13px;font-weight:650;letter-spacing:.025em;color:var(--steel)}
.v3 .career-photo-count {font:12px var(--mono);color:var(--steel);direction:ltr}
.v3 .career-photo-grid {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}
.v3 .career-photo-grid.is-single {grid-template-columns:minmax(0,1fr)}
.v3 .career-photo {min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.v3 .career-photo-button {position:relative;display:block;width:100%;height:clamp(185px,18vw,260px);padding:0;border:0;border-block-end:1px solid var(--line);border-radius:0;background:var(--mist);color:var(--blue);cursor:zoom-in;overflow:hidden}
.v3 .career-photo-button:focus-visible {outline:3px solid var(--copper);outline-offset:-4px}
.v3 .career-photo-button .image-viewport {width:100%;height:100%}
.v3 .career-photo-button .image-viewport img {display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%);transition:transform 220ms ease}
.v3 .career-photo-grid.is-single .career-photo-button {height:auto;aspect-ratio:4/3}
.v3 .career-photo-expand {position:absolute;inset-inline-end:12px;inset-block-end:12px;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgb(255 255 255 / 75%);border-radius:5px;background:rgb(250 251 251 / 94%);box-shadow:0 2px 8px rgb(11 48 69 / 10%)}
.v3 .career-photo-expand svg {width:19px;height:19px}
.v3 .career-photo figcaption {padding:15px 16px 17px}
.v3 .career-photo-title {display:block;font-size:16px;font-weight:650;line-height:1.4;color:var(--blue);hyphens:none;overflow-wrap:normal}
.v3 .career-item .career-photo-caption {margin:7px 0 0;font-size:14px;line-height:1.65;color:var(--steel)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .v3 .career-photo-button:hover img {transform:scale(1.025)}
}
@media (max-width:760px) {
  .v3 .career-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .v3 .career-photo-grid:not(.is-single) .career-photo:first-child {grid-column:1/-1}
  .v3 .career-photo-grid:not(.is-single) .career-photo:first-child .career-photo-button {height:auto;aspect-ratio:16/9}
  .v3 .career-photo-grid:not(.is-single) .career-photo-button {height:clamp(150px,32vw,240px)}
  .v3 .career-photo figcaption {padding:13px}
}
@media (max-width:540px) {
  .v3 .career-photographs {margin-block-start:24px}
  .v3 .career-photo-grid {grid-template-columns:minmax(0,1fr);gap:16px}
  .v3 .career-photo-grid:not(.is-single) .career-photo-button {height:190px}
  .v3 .career-photo-title {font-size:15px}
  .v3 .career-photo figcaption {padding:12px 10px 14px}
  .v3 .career-photo-expand {inset-inline-end:8px;inset-block-end:8px;width:30px;height:30px}
}
@media (prefers-reduced-motion:reduce) {
  .v3 .career-photo-button img {transition:none;transform:none}
}
@media (forced-colors:active) {
  .v3 .career-photo,.v3 .career-photo-heading,.v3 .career-photo-button {border-color:CanvasText}
  .v3 .career-photo-expand {background:Canvas;border-color:CanvasText;color:CanvasText}
}
@media print {
  .v3 .career-photographs {margin-block:4mm 2mm;break-inside:avoid}
  .v3 .career-photo-heading {margin-block-end:2mm;padding-block-end:1mm}
  .v3 .career-photo-heading h4 {font-size:8pt}
  .v3 .career-photo-count,.v3 .career-photo-expand {display:none}
  .v3 .career-photo-grid {display:grid;grid-template-columns:1.5fr 1.15fr .85fr;gap:3mm}
  .v3 .career-photo-grid.is-single {grid-template-columns:minmax(0,1fr);max-width:90mm}
  .v3 .career-photo-grid .career-photo {grid-column:auto!important;border-radius:0;break-inside:avoid;box-shadow:none}
  .v3 .career-photo-grid .career-photo-button,.v3 .career-photo-grid.is-single .career-photo-button,.v3 .career-photo-grid:not(.is-single) .career-photo-button,.v3 .career-photo-grid:not(.is-single) .career-photo:first-child .career-photo-button {display:block;height:35mm;aspect-ratio:auto}
  .v3 .career-photo-button .image-viewport img {object-fit:contain;transform:none}
  .v3 .career-photo figcaption {padding:2mm}
  .v3 .career-photo-title {font-size:9pt}
  .v3 .career-item .career-photo-caption {font-size:8pt;line-height:1.5;margin-block-start:1mm}
}


/* PRIVACY PAGE */
.privacy-top {background:linear-gradient(135deg,var(--blue),#123f56);color:white;padding-block:92px 78px}
.privacy-top h1 {color:white;font-size:clamp(38px,5vw,64px);max-width:780px}
.privacy-top p {font-size:18px;color:#d8e3e8;max-width:760px;margin-block-start:22px}
.privacy-top .eyebrow {color:#c8d6dc}
.privacy-grid {max-width:900px;display:grid;gap:0}
.privacy-grid article {padding-block:28px;border-block-end:1px solid var(--line)}
.privacy-grid article:first-child {border-block-start:1px solid var(--line)}
.privacy-grid h2 {font-size:clamp(22px,2.2vw,29px);margin-block-end:10px}
.privacy-grid p {max-width:780px;color:var(--muted);font-size:17px}
.privacy-updated {margin-block-start:28px;color:var(--steel)}
.employment-contact .contact-workspace {align-items:start}

@media (max-width:760px) {
  .privacy-top {padding-block:68px 56px}
  .privacy-grid article {padding-block:24px}
}
