:root { --ink:#111311; --paper:#f3f1ec; --orange:#ff661e; --muted:#6d6a64; --line:#c9c5bd; --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Segoe UI',Arial,sans-serif; letter-spacing:.006em; }
a { color:inherit; text-decoration:none; }
.section-shell { max-width:var(--max); margin:auto; padding-left:32px; padding-right:32px; }
.site-header { height:88px; display:flex; align-items:center; justify-content:space-between; max-width:var(--max); margin:auto; padding:0 32px; }
.header-actions { display:flex; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; font-size:15px; font-weight:700; letter-spacing:.08em; }
.brand small { display:block; font-family:Consolas,'Courier New',monospace; font-size:8px; letter-spacing:.17em; margin-top:3px; }
.brand-mark { width:38px; height:38px; display:block; overflow:hidden; background:#c4c4c4; }
.brand-mark img { width:100%; height:100%; object-fit:cover; transform:scale(1.65); transform-origin:50% 29%; }
.site-nav { display:flex; align-items:center; gap:31px; font-family:Consolas,'Courier New',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.site-nav a:hover,.text-link:hover { color:var(--orange); }
.nav-contact { padding:13px 16px; border:1px solid var(--ink); }.nav-contact span { color:var(--orange); margin-left:11px; font-size:16px; }
.language-switch { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--ink); font:10px Consolas,'Courier New',monospace; letter-spacing:.08em; }.language-switch:hover { background:var(--orange); }
.menu-toggle { display:none; background:none; border:0; font:inherit; }
.hero { min-height:650px; position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; padding-top:40px; padding-bottom:78px; }
.eyebrow { font:11px Consolas,'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; margin:0 0 25px; color:var(--muted); }.dot { display:inline-block; width:7px; height:7px; background:var(--orange); margin-right:8px; border-radius:50%; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:clamp(58px,8vw,112px); letter-spacing:-.045em; line-height:.94; margin:0 0 38px; font-weight:600; } h1 em,h2 em { color:var(--orange); font-style:normal; } h2 { font-size:clamp(46px,6vw,82px); letter-spacing:-.04em; line-height:.97; margin:0; } h2 span { color:var(--muted); }
.hero-intro { max-width:480px; font-size:17px; line-height:1.55; color:#4f4c47; margin-bottom:31px; }.button { display:inline-flex; align-items:center; gap:30px; padding:17px 19px; font:11px Consolas,'Courier New',monospace; text-transform:uppercase; letter-spacing:.1em; }.button-dark { color:var(--paper); background:var(--ink); }.button-dark span { color:var(--orange); font-size:18px; }
.hero-art { width:min(100%,510px); aspect-ratio:1; margin-left:auto; position:relative; background:#c6c6c6; overflow:hidden; border:1px solid #aaa; box-shadow:18px 18px 0 var(--orange); }.hero-art img { width:100%; height:100%; object-fit:cover; display:block; }.hero-art:after { content:''; position:absolute; inset:0; border:18px solid rgba(243,241,236,.16); pointer-events:none; }.art-note { position:absolute; z-index:1; top:15px; left:18px; padding:6px 8px; background:var(--ink); color:var(--paper); font:8px Consolas,'Courier New',monospace; letter-spacing:.13em; }.hero-stamp { position:absolute; right:31px; bottom:39px; background:var(--ink); color:var(--paper); width:66px; height:66px; display:grid; place-content:center; text-align:center; font-size:21px; line-height:.75; transform:rotate(8deg); }.hero-stamp span { font:8px Consolas,'Courier New',monospace; color:var(--orange); margin-top:5px; }
.services-section { padding-top:110px; padding-bottom:140px; }.section-heading { margin-bottom:58px; }.service-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }.service-card { min-height:320px; padding:23px; border:1px solid var(--line); position:relative; display:flex; flex-direction:column; grid-column:span 2; }.service-card:nth-child(n+4) { grid-column:span 3; }.service-card-orange { background:var(--orange); border-color:var(--orange); }.service-card-dark { color:var(--paper); background:var(--ink); border-color:var(--ink); }.service-card-energy { background:linear-gradient(135deg,transparent 0 72%,rgba(255,102,30,.2) 72% 73%,transparent 73%),linear-gradient(45deg,transparent 0 82%,rgba(17,19,17,.12) 82% 83%,transparent 83%); }.card-number { font:11px Consolas,'Courier New',monospace; }.service-card h3 { margin-top:auto; font-size:25px; letter-spacing:-.025em; line-height:1.08; }.service-card p { color:var(--muted); font-size:13px; line-height:1.5; margin-bottom:40px; }.service-card-orange p { color:#30221c; }.service-card-dark p { color:#aaa69d; }.service-card a { position:absolute; right:22px; bottom:21px; font-size:24px; }
 .profile-section { background:var(--ink); color:var(--paper); padding:110px 0 125px; }.profile-layout { display:grid; grid-template-columns:1fr 1.7fr 1fr; gap:60px; }.profile-label p:last-child { font:11px/1.5 Consolas,'Courier New',monospace; color:#aaa69d; margin-top:30px; }.profile-label .eyebrow { color:#aaa69d; }.vertical-line { display:block; height:100px; border-left:1px solid var(--orange); margin-left:4px; }.profile-copy .large-copy { font-size:clamp(39px,5vw,68px); line-height:1.03; letter-spacing:-.035em; margin:0 0 37px; }.large-copy span { color:var(--orange); }.profile-copy strong { font-weight:500; }.profile-copy > p:not(.large-copy) { color:#aaa69d; max-width:480px; line-height:1.65; font-size:15px; }.profile-quote { max-width:480px; margin:34px 0 28px; padding:2px 0 2px 20px; border-left:2px solid var(--orange); }.profile-quote p { margin:0; color:var(--paper); font-size:18px; line-height:1.45; }.profile-quote cite { display:block; margin-top:11px; color:#aaa69d; font:10px Consolas,'Courier New',monospace; text-transform:uppercase; letter-spacing:.08em; }.text-link { display:inline-flex; gap:26px; padding-bottom:8px; border-bottom:1px solid var(--orange); margin-top:14px; font:11px Consolas,'Courier New',monospace; text-transform:uppercase; }.text-link span { color:var(--orange); }.profile-facts { border-top:1px solid #3c3e3a; }.profile-facts div { padding:20px 0; border-bottom:1px solid #3c3e3a; }.profile-facts strong,.profile-facts span { display:block; }.profile-facts strong { color:var(--orange); font-size:27px; }.profile-facts span { margin-top:7px; color:#aaa69d; font:10px Consolas,'Courier New',monospace; line-height:1.4; }
.projects-section { padding-top:115px; padding-bottom:140px; }.heading-row { display:flex; justify-content:space-between; align-items:end; }.heading-aside { width:220px; color:var(--muted); font:11px/1.5 Consolas,'Courier New',monospace; }.project-list { border-top:1px solid var(--ink); }.project-list article { display:grid; grid-template-columns:70px 1fr 30px; gap:25px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); }.project-list article > span { font:11px Consolas,'Courier New',monospace; color:var(--orange); }.project-list h3 { margin:0 0 6px; font-size:21px; letter-spacing:-.015em; }.project-list p { margin:0; font-size:13px; color:var(--muted); }.project-list b { font-size:23px; font-weight:400; }
.contact-section { background:var(--orange); padding:105px 0 120px; }.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; }.contact-card { max-width:500px; padding-top:33px; }.contact-card > p:first-child { font-size:20px; line-height:1.45; max-width:430px; }.contact-mail { display:inline-flex; gap:30px; align-items:center; font-size:clamp(20px,3vw,34px); letter-spacing:-.02em; border-bottom:2px solid var(--ink); padding-bottom:8px; margin:38px 0 22px; }.contact-mail span { font-size:24px; }.contact-note { font:11px Consolas,'Courier New',monospace; }.site-footer { background:#dedbd4; padding:55px 0 20px; }.footer-inner { display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:start; gap:30px; }.footer-inner > p { color:var(--muted); font-size:12px; line-height:1.5; max-width:260px; }.footer-links { display:grid; gap:10px; justify-items:end; font:10px Consolas,'Courier New',monospace; text-transform:uppercase; }.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid #bcb8b0; margin-top:55px; padding-top:15px; color:var(--muted); font:9px Consolas,'Courier New',monospace; }
.legal-main { border-top:1px solid var(--line); }.legal-hero { padding-top:90px; padding-bottom:55px; }.legal-hero h1 { font-size:clamp(52px,8vw,96px); }.legal-layout { display:grid; grid-template-columns:250px minmax(0,720px); gap:80px; padding-bottom:120px; }.legal-meta { position:sticky; top:30px; align-self:start; padding-top:8px; font:10px/1.6 Consolas,'Courier New',monospace; color:var(--muted); text-transform:uppercase; }.legal-meta strong { display:block; color:var(--ink); margin-bottom:8px; }.legal-content { font-size:15px; line-height:1.7; }.legal-content section { padding:30px 0; border-top:1px solid var(--line); }.legal-content h2 { font-size:24px; line-height:1.2; letter-spacing:-.015em; margin-bottom:15px; }.legal-content h3 { font-size:17px; margin-bottom:9px; }.legal-content p,.legal-content ul { margin-bottom:16px; }.legal-content ul { padding-left:20px; }.legal-content a { border-bottom:1px solid var(--orange); }.legal-content address { font-style:normal; }
@media (max-width:800px) { .site-header { height:73px; padding:0 20px; }.section-shell { padding-left:20px; padding-right:20px; }.header-actions { gap:12px; }.menu-toggle { display:block; font:11px Consolas,'Courier New',monospace; text-transform:uppercase; }.site-nav { display:none; position:absolute; z-index:5; top:73px; left:0; right:0; padding:20px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:20px; }.site-nav.open { display:flex; }.nav-contact { text-align:center; }.hero { min-height:auto; display:flex; flex-direction:column; align-items:stretch; padding-top:58px; }.hero-copy { order:1; }.hero-art { order:2; margin:25px 0 0; width:100%; }.hero-stamp { bottom:25px; }.services-section,.projects-section { padding-top:80px; padding-bottom:90px; }.service-grid { grid-template-columns:1fr 1fr; }.service-card,.service-card:nth-child(n+4) { min-height:270px; grid-column:span 1; }.profile-section { padding:80px 0 90px; }.profile-layout { display:block; }.profile-label { display:flex; align-items:center; gap:16px; margin-bottom:55px; }.profile-label .eyebrow { margin:0; }.vertical-line { height:30px; }.profile-label p:last-child { margin:0; }.profile-facts { margin-top:55px; }.heading-row { display:block; }.heading-aside { margin-top:25px; }.contact-section { padding:80px 0 90px; }.contact-layout { display:block; }.contact-card { padding-top:50px; }.footer-inner { display:block; }.footer-inner > p { margin:28px 0; }.footer-links { justify-items:start; }.footer-bottom { margin-top:40px; }.legal-hero { padding-top:60px; }.legal-layout { display:block; padding-bottom:80px; }.legal-meta { position:static; margin-bottom:45px; }.about-hero { display:flex; flex-direction:column; align-items:stretch; min-height:auto; padding-top:65px; padding-bottom:80px; gap:55px; }.about-intro-card { align-self:start; }.about-dark-section { padding:80px 0 90px; }.about-grid { display:block; }.about-section-label { display:flex; align-items:center; gap:16px; margin-bottom:50px; }.about-section-label .eyebrow { margin:0; }.about-section-label .vertical-line { height:30px; }.about-content-section,.credentials-section { padding-top:80px; padding-bottom:90px; }.about-section-aside { position:static; width:auto; margin-top:25px; }.career-list article { display:block; }.career-year { display:block; margin-bottom:13px; }.client-note { margin-top:40px; }.about-capabilities-section { padding:80px 0 90px; }.capability-grid { grid-template-columns:1fr 1fr; }.capability-grid article,.capability-grid article:nth-child(n+4) { grid-column:span 1; }.credentials-grid { grid-template-columns:1fr; gap:28px; }.credentials-grid > div { padding-top:20px; } }
@media (max-width:480px) { h1 { font-size:61px; }.service-grid { grid-template-columns:1fr; }.service-card,.service-card:nth-child(n+4) { min-height:245px; grid-column:span 1; }.project-list article { grid-template-columns:32px 1fr 20px; gap:12px; }.project-list h3 { font-size:18px; }.project-list p { font-size:12px; }.contact-mail { font-size:19px; gap:12px; } }

/* Editorial profile page */
 .profile-page { border-top:1px solid var(--line); }.profile-hero { min-height:530px; display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:center; padding-top:70px; padding-bottom:90px; }.profile-hero h1 { max-width:700px; margin-bottom:18px; font-size:clamp(58px,9vw,128px); line-height:.95; }.profile-role { margin:0; color:var(--muted); font:12px Consolas,'Courier New',monospace; text-transform:uppercase; letter-spacing:.1em; }.profile-hero-intro { max-width:430px; padding-left:30px; border-left:2px solid var(--orange); }.profile-hero-intro > p:first-child { margin:0 0 24px; font-size:clamp(27px,3vw,43px); line-height:1.08; letter-spacing:-.035em; }.profile-hero-detail { color:var(--muted); font-size:15px; line-height:1.65; }.profile-hero-intro .text-link { margin-top:13px; }.profile-statement { background:var(--ink); color:var(--paper); }.profile-statement-inner { display:grid; grid-template-columns:220px 1fr; gap:55px; align-items:center; min-height:220px; }.profile-statement .eyebrow { margin:0; color:#aaa69d; }.profile-statement blockquote { max-width:760px; margin:0; color:var(--paper); font-size:clamp(22px,3vw,36px); line-height:1.25; letter-spacing:-.025em; }.profile-section-block { display:grid; grid-template-columns:280px minmax(0,680px); gap:85px; padding-top:120px; padding-bottom:130px; }.profile-section-heading h2 { margin:0; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.04em; }.profile-section-heading .eyebrow { margin-bottom:25px; }.profile-prose { padding-top:38px; }.profile-prose p { margin:0 0 24px; color:#4f4c47; font-size:17px; line-height:1.7; }.profile-timeline-section { padding:110px 0 125px; background:#e7e4de; }.profile-timeline-section .profile-section-heading { position:relative; margin-bottom:55px; }.profile-heading-note { position:absolute; right:0; bottom:4px; width:235px; margin:0; color:var(--muted); font:11px/1.5 Consolas,'Courier New',monospace; }.profile-timeline { border-top:1px solid var(--ink); }.profile-timeline article { display:grid; grid-template-columns:205px minmax(0,700px); gap:45px; padding:28px 0 31px; border-bottom:1px solid #c8c4bc; }.profile-timeline time { color:var(--orange); font:11px Consolas,'Courier New',monospace; text-transform:uppercase; }.profile-timeline h3 { margin:0 0 10px; font-size:23px; line-height:1.2; letter-spacing:-.02em; }.profile-timeline p { max-width:650px; margin:0; color:var(--muted); font-size:14px; line-height:1.65; }.profile-client-context { max-width:760px; margin:55px 0 0 250px; padding:22px 0 0; border-top:1px solid var(--ink); }.profile-client-context .eyebrow { margin-bottom:13px; color:var(--orange); }.profile-client-context p:last-child { max-width:690px; margin:0; color:#4f4c47; font-size:14px; line-height:1.65; }.profile-focus-section { padding-bottom:135px; }.profile-focus-list { border-top:1px solid var(--ink); }.profile-focus-list article { display:grid; grid-template-columns:70px minmax(0,700px); gap:35px; padding:24px 0; border-bottom:1px solid var(--line); }.profile-focus-list article > span { color:var(--orange); font:11px Consolas,'Courier New',monospace; }.profile-focus-list h3 { margin:0 0 7px; font-size:21px; letter-spacing:-.015em; }.profile-focus-list p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }.profile-credentials { padding:100px 0 120px; background:#dedbd4; }.profile-credentials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; margin-top:52px; }.profile-credentials-grid > div { border-top:1px solid var(--ink); padding-top:20px; }.profile-credentials-grid h3 { margin:0 0 14px; font-size:20px; }.profile-credentials-grid p,.profile-credentials-grid ul { margin:0; color:#4f4c47; font:13px/1.7 Consolas,'Courier New',monospace; }.profile-credentials-grid ul { padding-left:17px; }
@media (max-width:800px) { .profile-hero { display:block; min-height:auto; padding-top:70px; padding-bottom:80px; }.profile-hero-intro { margin-top:55px; max-width:560px; }.profile-statement-inner { display:block; min-height:0; padding-top:55px; padding-bottom:58px; }.profile-statement blockquote { margin-top:22px; }.profile-section-block { display:block; padding-top:80px; padding-bottom:90px; }.profile-section-heading { margin-bottom:35px; }.profile-prose { padding-top:0; }.profile-heading-note { position:static; width:auto; margin-top:22px; }.profile-timeline-section { padding-top:80px; padding-bottom:90px; }.profile-timeline article { display:block; padding:24px 0 28px; }.profile-timeline time { display:block; margin-bottom:12px; }.profile-client-context { margin:40px 0 0; }.profile-focus-section { padding-bottom:90px; }.profile-focus-list article { grid-template-columns:38px 1fr; gap:18px; }.profile-credentials { padding-top:80px; padding-bottom:90px; }.profile-credentials-grid { grid-template-columns:1fr; gap:30px; margin-top:35px; } }
