:root{--paper:#f0ebe1;--card:#f8f5ef;--ink:#151613;--muted:#605e57;--dark:#111310;--accent:#f0642f;--line:#d6d1c7;--radius:9px;--max:1240px;--pad:clamp(20px,4vw,56px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{color:var(--ink);background:#ffaf89}img{display:block;max-width:100%}svg{width:21px;height:21px;flex-shrink:0}.wrap{width:min(var(--max),calc(100% - var(--pad)*2));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(240,235,225,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:32px;min-height:82px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;flex-shrink:0}.brand img{width:72px;height:46px;object-fit:contain}.brand strong{display:block;font-size:1.15rem;font-weight:800;line-height:1.2;letter-spacing:.08em}.brand small{display:block;font-size:.75rem;letter-spacing:.08em;margin-top:4px;color:var(--muted)}nav{display:flex;gap:25px;align-items:center;font-size:.875rem}nav a{padding:9px 0;border-bottom:1px solid transparent;transition:border-color .2s}nav a:hover{border-color:var(--accent)}.languages{display:flex;flex-shrink:0;gap:2px}.languages button{border:0;background:transparent;color:var(--muted);border-radius:5px;min-height:44px;min-width:40px;font-size:.8125rem;font-weight:700;cursor:pointer}.languages button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;line-height:1.5;margin:0 0 17px;color:var(--muted)}
.hero-band{background:var(--dark);color:var(--paper)}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:48px;align-items:center;padding-block:48px}.hero .eyebrow{color:#c7c5b9}.hero h1{font-size:clamp(2.6rem,4.6vw,4.2rem);line-height:1.09;letter-spacing:-.055em;margin:0 0 22px;font-weight:800}.hero h1 em{font-style:normal;color:var(--accent)}.hero-lead{max-width:500px;font-size:1.0625rem;color:#cecdc3;line-height:1.65;margin:0 0 25px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;min-height:49px;font-size:.875rem;font-weight:700;line-height:1.4;border-radius:var(--radius);transition:background .2s,box-shadow .2s,transform .2s;text-align:center}.accent{background:var(--accent);color:var(--ink);box-shadow:0 8px 20px #f0642f16}.accent:hover{background:#ff7844;transform:translateY(-1px);box-shadow:0 10px 24px #f0642f25}.text-link{display:inline-block;border-bottom:1px solid #79796d;min-height:44px;line-height:44px;font-size:.875rem}.text-link:hover{color:var(--accent);border-color:var(--accent)}.proofline{display:flex;max-width:430px;margin-top:25px;border-block:1px solid #35382f}.proofline span{flex:1;text-align:center;min-width:0;font-size:.8125rem;padding:9px 4px;color:#d6d5c9}.proofline span+span{border-left:1px solid #35382f}.hero-visual{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:#292b26;box-shadow:0 22px 45px #0004;isolation:isolate}.hero-visual>img{width:100%;height:414px;object-fit:cover;object-position:52% center;transition:transform .65s}.hero-visual:hover>img{transform:scale(1.025)}.hero-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(10,11,9,.89));z-index:0;pointer-events:none}.hero-visual figcaption{position:absolute;left:25px;right:25px;bottom:23px;z-index:1;border-top:1px solid #ffffff5a;padding-top:14px}.hero-visual figcaption span{display:block;font-size:.75rem;letter-spacing:.04em;color:#dedfd6;margin-bottom:5px}.hero-visual figcaption strong{display:block;font-weight:500;font-size:1.45rem;letter-spacing:-.025em;line-height:1.3}
.section{padding-block:48px}.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:end;margin-bottom:26px}.section-head h2,.story h2,.contact h2{font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.15;letter-spacing:-.045em;font-weight:700;margin:0}.section-head .eyebrow{margin-bottom:10px}.section-head>p{font-size:1rem;color:var(--muted);margin:0;max-width:450px;justify-self:end}.project-list{border-top:1px solid var(--ink)}.project{border-bottom:1px solid var(--line)}.project summary{display:grid;grid-template-columns:160px minmax(0,1fr) 36px;gap:28px;align-items:start;list-style:none;cursor:pointer;padding:24px 8px;transition:background .2s}.project summary::-webkit-details-marker{display:none}.project summary:hover{background:#e7e1d7}.project-meta{display:grid;gap:4px;padding-top:2px}.country{text-transform:uppercase;letter-spacing:.09em;font-size:.8125rem;font-weight:700}.role{font-size:.8125rem;color:var(--muted)}.project-heading{display:block;font-size:1.25rem;line-height:1.3;letter-spacing:-.025em;font-weight:600;margin:0 0 7px}.project-intro{display:block;max-width:750px;font-size:1rem;line-height:1.55;color:var(--muted)}.expand{width:32px;height:32px;border:1px solid #bcb6aa;border-radius:50%;position:relative;margin-top:1px}.expand:before,.expand:after{content:'';position:absolute;left:9px;right:9px;top:14px;height:1px;background:var(--ink);transition:transform .2s}.expand:after{transform:rotate(90deg)}details[open] .expand{background:var(--accent);border-color:var(--accent)}details[open] .expand:after{transform:rotate(0)}.project-body{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:0 72px 26px 8px}.tags{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.tags span{font-size:.75rem;line-height:1.5;color:var(--muted);padding:4px 7px;border:1px solid var(--line);border-radius:4px}.project ul{margin:0;padding-left:18px;color:#4a4b44;font-size:1rem;line-height:1.65}.project li{margin:0 0 8px;padding-left:3px}.project-note{padding:12px 15px;margin:17px 0 0;border-left:2px solid var(--accent);background:#e8e2d7;color:var(--muted);font-size:.8125rem;line-height:1.6}.context-note{font-size:.8125rem;color:var(--muted);line-height:1.6;margin:17px 0 0}
.story-band{background:#20231e;color:var(--paper)}.story{display:grid;grid-template-columns:.65fr 1fr;gap:56px;align-items:center;padding-block:42px}.detail-photo{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;background:#111;align-self:stretch;min-height:300px}.detail-photo img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.detail-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 20px 15px;background:linear-gradient(transparent,#000c);font-size:.8125rem}.story .eyebrow{color:#b9bdae;margin-bottom:12px}.story h2{margin-bottom:18px}.story-copy>p:not(.eyebrow):not(.signature){color:#bec3b6;max-width:630px;margin:0 0 13px;font-size:1rem;line-height:1.6}.story-copy .story-opening{color:#f2f0e6!important;font-size:1.125rem!important}.signature{font-size:1rem;font-weight:700;margin:20px 0 0;color:var(--paper)}.signature span{margin-left:12px;font-size:.8125rem;color:#b9bdae;font-weight:400}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service{border-radius:var(--radius);background:var(--card);padding:24px;border:1px solid #dcd6cb;box-shadow:0 8px 20px #11110f05;border-top:2px solid var(--accent)}.service h3{font-size:1.1875rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}.service p{font-size:1rem;line-height:1.6;margin:0;color:var(--muted)}
.contact-band{background:var(--dark);color:var(--paper)}.contact{padding-block:40px;display:grid;grid-template-columns:1.4fr .8fr;gap:70px;align-items:center}.contact .eyebrow{color:#bfc4b6;margin-bottom:12px}.contact-intro{font-size:1rem;max-width:560px;color:#c6c9bd;margin:16px 0 0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;gap:18px;border-top:1px solid #3b3f34;padding-top:16px}.steps strong{display:block;font-size:.875rem;font-weight:500;margin-bottom:5px}.steps span{display:block;font-size:.8125rem;line-height:1.5;color:#b5bbae}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.contact-links>a:not(.button){font-size:1rem;color:#d5d7ca;text-decoration:underline;text-decoration-color:#5f6356;text-underline-offset:5px;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;padding-block:19px;font-size:.75rem;color:var(--muted)}.floating-contact{display:flex;gap:10px;align-items:center;position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30;background:var(--ink);color:#fff;font-size:.875rem;padding:13px 17px;min-height:48px;border:1px solid #65685e;border-radius:var(--radius);box-shadow:0 6px 22px #0003;transition:opacity .2s,visibility .2s,background .2s}.floating-contact:hover{background:#373b30}.floating-contact.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.skip{position:absolute;top:-100px;left:15px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}
@media(max-width:1050px){.hero{gap:28px}.hero h1{font-size:clamp(2.3rem,4.5vw,3.6rem)}.hero-visual>img{height:390px}.hero-actions{gap:9px 17px}.story{gap:32px}.contact{gap:35px}.project summary{grid-template-columns:125px minmax(0,1fr) 32px;gap:20px}.project-body{grid-template-columns:125px minmax(0,1fr);gap:20px;padding-right:60px}.header-inner{gap:20px}nav{gap:18px}}
@media(max-width:760px){html{scroll-padding-top:120px}.header-inner{min-height:76px;gap:12px;flex-wrap:wrap;padding-block:12px}.brand img{width:61px;height:40px}.brand strong{font-size:1rem}.brand small{font-size:.75rem}.header-inner nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:5px;gap:16px}.header-inner nav a{padding-block:6px}.hero{grid-template-columns:1fr;gap:27px;padding-block:30px}.hero h1{font-size:clamp(2.25rem,8vw,3.6rem);letter-spacing:-.055em;margin-bottom:17px}.hero .eyebrow{font-size:.75rem;margin-bottom:16px}.hero-lead{font-size:1rem;margin-bottom:19px;max-width:580px}.hero-actions{gap:10px 20px}.hero-visual>img{height:auto;aspect-ratio:1.65;object-fit:cover}.hero-visual figcaption{bottom:17px;left:20px;right:20px;padding-top:10px}.hero-visual figcaption strong{font-size:1.25rem}.proofline{margin-top:17px;max-width:none}.section{padding-block:32px}.section-head{grid-template-columns:1fr;gap:13px;margin-bottom:19px}.section-head>p{justify-self:start;max-width:none}.section-head h2,.story h2,.contact h2{font-size:clamp(1.375rem,4.6vw,1.9rem);letter-spacing:-.04em}.project summary{grid-template-columns:minmax(0,1fr) 32px;gap:8px 16px;padding:19px 0}.project-meta{grid-column:1;display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;padding:0}.project-title{grid-column:1}.expand{grid-column:2;grid-row:1/3;align-self:center}.project-heading{font-size:1.125rem;margin-bottom:6px}.project-intro{font-size:1rem}.project-body{grid-template-columns:1fr;gap:13px;padding:0 0 21px}.tags{flex-direction:row;flex-wrap:wrap;gap:6px}.story{grid-template-columns:1fr;gap:23px;padding-block:30px}.story-copy{grid-row:1}.detail-photo{min-height:0;aspect-ratio:2.1;max-height:270px}.story-copy>p:not(.eyebrow):not(.signature){max-width:none}.services{grid-template-columns:1fr;gap:10px}.service{padding:19px 20px}.service h3{font-size:1.125rem;margin-bottom:8px}.contact{grid-template-columns:1fr;gap:25px;padding-block:30px}.steps{gap:14px}.contact-links{gap:14px}.contact-links .button{min-width:210px}.footer{padding-block:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:7px 16px;justify-content:flex-start}.floating-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:.8125rem;padding:11px 14px}.floating-contact svg{width:20px;height:20px}}
@media(max-width:370px){.brand{gap:8px}.brand img{width:52px}.header-inner{gap:8px}.hero h1{font-size:2.2rem}.hero-actions{align-items:flex-start;gap:4px 16px}.proofline span{font-size:.75rem}.steps{grid-template-columns:1fr;gap:11px}.steps strong{margin-bottom:2px}.steps span{font-size:.875rem}.hero-visual figcaption strong{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.site-header,.hero-actions,.languages,.floating-contact,.contact-links .button{display:none}.hero-band,.story-band,.contact-band{background:white;color:black}.hero-lead,.story-copy>p,.contact-intro{color:#333!important}.hero{padding-block:15px}.project{break-inside:avoid}.wrap{width:100%}body{background:white}.section{padding-block:20px}.hero-visual{box-shadow:none}}

/* Selected project photographs: full compositions, original pixels. */
.project-gallery{padding:0 26px 26px}.gallery-label{font-size:14px;color:#666b60;margin:0 0 14px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.portfolio-photo{margin:0;min-width:0}.portfolio-photo a{display:block;border-radius:12px;overflow:hidden;background:#242722}.photo-frame{display:block;position:relative;overflow:hidden;}.photo-frame img{position:absolute;width:100%;left:0;object-fit:cover}.portfolio-photo figcaption{font-size:14px;line-height:1.45;margin:9px 0 0;color:#50564b}.gallery-more{margin-top:20px}.gallery-more>summary{cursor:pointer;font-size:15px;font-weight:600;padding:12px 0;display:list-item}.gallery-more>summary span{color:#73766b}.gallery-more[open]>.photo-grid{margin-top:12px}.project-gallery a:focus-visible{outline:3px solid #f0642f;outline-offset:4px}@media(max-width:760px){.project-gallery{padding:0 16px 20px}.photo-grid{gap:14px}.photo-frame{}}@media(max-width:520px){.photo-grid{grid-template-columns:1fr}.photo-frame{}}

/* Personal name and experience slogan in the hero. */
.hero-lead{font-size:clamp(1.125rem,1.65vw,1.4rem);line-height:1.45;color:var(--paper);font-weight:500;text-wrap:balance}

/* Show the full construction photograph, clipping only screenshot margins. */
.hero-site-photo{position:relative;overflow:hidden;aspect-ratio:706/530}.hero-site-photo img{position:absolute;display:block;width:100%;height:289.811321%;top:-94.90566%;left:0;max-width:none}.hero-visual:after{display:none}.hero-visual figcaption{position:relative;inset:auto;padding:16px 20px 20px;border-top:0}.hero-visual figcaption strong{font-size:1.125rem;line-height:1.4}
