:root{
  --ink:#11110f;
  --paper:#f4f1eb;
  --white:#fff;
  --muted:#e9e5de;
  --line:rgba(17,17,15,.18);
  --max:1440px;
  --pad:clamp(22px,4vw,68px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;line-height:1.45}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px var(--pad);background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;min-width:108px}
.brand img{width:clamp(86px,7.8vw,132px);height:auto;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);font-size:13px;letter-spacing:.02em}
.main-nav>a{position:relative;white-space:nowrap}
.main-nav>a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}
.main-nav>a:hover:after{right:0}
.language-switch{display:flex;gap:6px;align-items:center;margin-left:6px}
.lang{border:0;background:transparent;padding:4px 0;opacity:.38;font-size:12px}
.lang.active{opacity:1}
.menu-toggle{display:none;border:0;background:transparent;width:40px;height:40px;padding:10px}
.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0}
.hero{background:#ddd;overflow:hidden}
.hero img{width:100%;height:clamp(460px,72vh,920px);object-fit:cover;object-position:center 52%}
.section{max-width:var(--max);margin:0 auto;padding:clamp(78px,9vw,150px) var(--pad)}
.eyebrow{margin:0 0 28px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:.95}
h1{font-size:clamp(54px,8vw,122px);max-width:980px;margin-bottom:0}
h2{font-size:clamp(46px,6vw,88px);max-width:880px;margin-bottom:0}
h3{font-weight:500;letter-spacing:-.02em}.intro-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:clamp(40px,8vw,120px);align-items:end}.intro-copy{font-size:clamp(18px,1.6vw,25px);max-width:440px}.intro-copy p{margin-bottom:32px}.text-link{display:inline-block;font-size:13px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:5px}
.dark{background:var(--ink);color:var(--paper);max-width:none}.dark>.profile-grid,.dark>.section-heading,.dark>.process-grid{max-width:calc(var(--max) - 2*var(--pad));margin-left:auto;margin-right:auto}.profile-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,140px)}.profile-copy{font-size:17px;max-width:620px}.profile-copy p{margin-bottom:24px}.profile-copy ul{list-style:none;padding:24px 0 0;margin:30px 0 0;border-top:1px solid rgba(255,255,255,.28)}.profile-copy li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:58px}.section-heading h2{font-size:clamp(44px,5.5vw,78px)}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4vw,58px)}.project-card--tall{grid-row:span 2}.project-card .media{overflow:hidden;background:#ddd}.project-card--tall .media{height:100%}.project-card--tall img{height:100%;min-height:660px;object-fit:cover}.project-card:not(.project-card--tall) img{aspect-ratio:4/3;object-fit:cover}.project-card img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover img{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding:14px 0 26px;border-bottom:1px solid var(--line)}.project-meta h3,.project-meta p{font-size:14px;margin:0}.project-meta p{opacity:.58;text-align:right}
.muted{max-width:none;background:var(--muted)}.muted>*{max-width:calc(var(--max) - 2*var(--pad));margin-left:auto;margin-right:auto}.services-heading>p{max-width:520px;font-size:18px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:80px minmax(220px,.75fr) 1fr;gap:30px;padding:29px 0;border-bottom:1px solid var(--line)}.service-list article>span{font-size:12px}.service-list h3{font-size:24px;margin:0}.service-list p{max-width:620px;margin:0;color:rgba(17,17,15,.7)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.process-grid article{padding:34px;background:var(--ink);min-height:300px;display:flex;flex-direction:column}.process-grid span{font-size:12px;opacity:.52}.process-grid h3{margin:auto 0 16px;font-size:26px}.process-grid p{margin:0;opacity:.7;font-size:15px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.gallery figure{margin:0;grid-column:span 4;overflow:hidden;background:#ddd}.gallery figure.wide{grid-column:span 8}.gallery figure.tall{grid-row:span 2}.gallery img{width:100%;height:100%;min-height:320px;aspect-ratio:4/3;object-fit:cover}.gallery .tall img{min-height:656px}.gallery .wide img{aspect-ratio:8/4.1}
.contact{border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,130px)}.contact-grid>div>p:not(.eyebrow){font-size:18px;max-width:520px;margin-top:34px}.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:42px;font-size:14px}.contact-links a{text-decoration:underline;text-underline-offset:4px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}.field{border-bottom:1px solid var(--ink);padding-bottom:8px}.field.full{grid-column:1/-1}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:0;background:transparent;outline:none;padding:6px 0;resize:vertical}.field select{appearance:none}.submit{grid-column:1/-1;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:18px 20px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;transition:.2s}.submit:hover{background:transparent;color:var(--ink)}.form-note{grid-column:1/-1;font-size:11px;opacity:.5;margin:0}
.site-footer{background:var(--ink);color:var(--paper);padding:68px var(--pad) 28px}.footer-logo{width:clamp(150px,13vw,215px);margin:0 auto 58px}.footer-logo img{width:100%;height:auto;object-fit:contain;filter:invert(1)}.footer-copy{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px 0 54px;border-top:1px solid rgba(255,255,255,.25);font-size:14px}.footer-copy p:last-child{text-align:right}.footer-social{display:flex;justify-content:center;align-items:center;gap:18px;margin:-20px auto 34px}.footer-social a{display:inline-flex;width:24px;height:24px;color:var(--paper);opacity:.72;transition:opacity .2s ease,transform .2s ease}.footer-social a:hover{opacity:1;transform:translateY(-1px)}.footer-social svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.footer-social a:nth-child(2) svg rect,.footer-social a:nth-child(2) svg circle{fill:currentColor;stroke:none}.footer-social a:nth-child(2) svg path{fill:currentColor;stroke:none}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:11px;opacity:.6}.qabum-credit{color:inherit;text-decoration:none}.qabum-credit:hover{text-decoration:underline}
@media (max-width:900px){.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;padding:28px var(--pad);gap:20px}.main-nav.open{display:flex}.intro-grid,.profile-grid,.contact-grid{grid-template-columns:1fr}.intro-copy{max-width:640px}.project-grid{grid-template-columns:1fr}.project-card--tall{grid-row:auto}.project-card--tall img{min-height:0;aspect-ratio:4/3}.service-list article{grid-template-columns:52px 1fr}.service-list article p{grid-column:2}.process-grid{grid-template-columns:1fr 1fr}.gallery figure,.gallery figure.wide{grid-column:span 6}.section-heading{align-items:flex-start;flex-direction:column}.services-heading>p{max-width:680px}}
@media (max-width:600px){.site-header{padding-top:12px;padding-bottom:12px}.brand img{width:82px}.hero img{height:62vh;min-height:420px}.section{padding-top:74px;padding-bottom:74px}.eyebrow{margin-bottom:22px}h1{font-size:clamp(46px,14vw,72px)}h2{font-size:clamp(42px,12vw,64px)}.project-grid{gap:34px}.service-list article{grid-template-columns:40px 1fr;gap:18px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:220px}.gallery{grid-template-columns:1fr;gap:10px}.gallery figure,.gallery figure.wide{grid-column:1}.gallery img,.gallery .tall img{min-height:0;aspect-ratio:4/3}.contact-form{grid-template-columns:1fr}.field.full,.submit,.form-note{grid-column:1}.footer-copy{grid-template-columns:1fr}.footer-copy p:last-child{text-align:left}.footer-social{justify-content:center;margin:0 auto 30px}.footer-bottom{flex-direction:column}.footer-logo{width:150px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card img{transition:none}}
