@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#171717;--muted:#6f6f6f;--paper:#f6f3ed;--line:#d8d3ca;--accent:#e8b23b;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(246,243,237,.94);backdrop-filter:blur(10px);z-index:20}.brand{font-size:27px;font-weight:700;letter-spacing:-2px}.brand span{color:var(--accent);padding-left:2px}.site-header nav{display:flex;gap:26px;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.site-header .lang{border:1px solid var(--ink);padding:8px 11px}.hero{padding:10vw 9vw 8vw;min-height:78vh;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 85% 35%,rgba(232,178,59,.18),transparent 24%)}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 20px}.hero h1{font-size:clamp(58px,9.3vw,138px);line-height:.88;letter-spacing:-.065em;max-width:1100px;margin:0}.hero h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.04em}.hero-copy{font-size:18px;line-height:1.6;max-width:600px;color:#4e4e4e;margin:36px 0 30px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-block;background:var(--ink);color:white;padding:15px 20px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.button:hover{transform:translateY(-2px)}.text-link{font-weight:600}.intro-band{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:0 5vw}.intro-band div{padding:24px 18px;border-right:1px solid var(--ink);display:flex;flex-direction:column;gap:7px}.intro-band div:first-child{border-left:1px solid var(--ink)}.intro-band span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.intro-band strong{font-size:15px}.work-section{padding:11vw 5vw 8vw}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:40px}.section-head h2,.about h2,.credentials h2,.contact h2{font-size:clamp(40px,5vw,76px);letter-spacing:-.055em;line-height:.94;margin:0}.section-head>p{color:var(--muted);line-height:1.6;max-width:430px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button{border:1px solid var(--line);background:transparent;padding:9px 13px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;cursor:pointer}.filters button.active,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{grid-column:span 4;cursor:pointer}.card.featured{grid-column:span 8}.card.wide{grid-column:span 8}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#ddd;transition:transform .45s ease}.card.featured img{aspect-ratio:16/9}.card.wide img{aspect-ratio:16/8}.card:hover img{transform:scale(.985)}.card-meta{display:flex;justify-content:space-between;border-top:1px solid var(--ink);margin-top:13px;padding-top:9px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.card-meta span:last-child{color:var(--muted)}.card h3{font-size:25px;letter-spacing:-.035em;margin:11px 0 4px}.card p{color:var(--muted);font-size:13px;margin:0 0 20px}.about,.credentials{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:9vw 9vw;border-top:1px solid var(--line)}.about-copy{font-size:20px;line-height:1.6;max-width:620px}.about-copy p{margin:0 0 22px}.credentials{background:#171717;color:#fff;border-top:0}.credentials .eyebrow{color:#b9b9b9}.cert-list{display:grid;gap:0;border-top:1px solid #444}.cert-list span{padding:18px 0;border-bottom:1px solid #444;font-size:15px}.contact{padding:12vw 9vw;background:var(--accent)}.contact h2{max-width:900px}.contact>p:not(.eyebrow){font-size:18px;margin:25px 0 30px}.contact-links{display:flex;gap:28px;flex-wrap:wrap;font-weight:700}.contact-links a{text-decoration:underline;text-underline-offset:5px}footer{padding:25px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}footer a{text-decoration:underline}.modal{display:none;position:fixed;inset:0;z-index:100}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75)}.modal-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1000px,92vw);max-height:90vh;overflow:auto;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.35)}.modal-box>img{display:block;width:100%;max-height:64vh;object-fit:contain;background:#111}.modal-copy{padding:28px 32px 36px}.modal-copy h2{font-size:46px;letter-spacing:-.05em;margin:0 0 10px}.modal-copy p:last-child{max-width:720px;line-height:1.65;color:#555}.close{position:absolute;right:12px;top:8px;z-index:2;border:0;background:rgba(255,255,255,.85);font-size:32px;width:42px;height:42px;cursor:pointer;line-height:1}.hidden{display:none!important}
@media(max-width:800px){.site-header{padding:0 5vw}.site-header nav{gap:12px;font-size:10px}.site-header nav a:nth-child(-n+2){display:none}.hero{min-height:72vh;padding:18vw 7vw 12vw}.hero h1{font-size:18vw}.hero-copy{font-size:16px}.intro-band{grid-template-columns:1fr 1fr;margin:0 4vw}.intro-band div{border-bottom:1px solid var(--ink)}.intro-band div:nth-child(odd){border-left:1px solid var(--ink)}.section-head,.about,.credentials{grid-template-columns:1fr;gap:35px}.work-section{padding:18vw 5vw 12vw}.grid{display:block}.card,.card.featured,.card.wide{margin-bottom:44px}.card img,.card.featured img,.card.wide img{aspect-ratio:4/3}.about,.credentials{padding:16vw 7vw}.about-copy{font-size:17px}.contact{padding:18vw 7vw}.contact h2{font-size:52px}footer{padding:22px 5vw;flex-direction:column}}
