@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-5.ttf) format('truetype');
}
500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--paper:#f4f3ef;--ink:#222420;--muted:#6b6c65;--line:#d7d8cf;--accent:#b84126}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,'PingFang SC',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header,main,footer{max-width:1600px;margin:auto;padding-left:5%;padding-right:5%}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1px}.wordmark span{font-size:14px;letter-spacing:2px;font-weight:400;margin-left:14px}nav{display:flex;gap:32px;font-size:14px}a:hover{color:var(--accent)}.hero{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:58px 0 55px}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(55px,7.2vw,116px);font-weight:500;line-height:1.15;letter-spacing:-.055em;margin:0}h1 em{color:var(--accent);font-weight:500}.identity{padding-bottom:7px;flex-shrink:0}.identity p{font-size:17px;margin:0 0 9px}.identity span{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:42px;border-bottom:1px solid var(--line);margin:0 0 32px}.tabs button{padding:17px 0;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:16px;min-height:52px}.tabs small{font-size:12px;color:var(--muted);margin-left:8px}.tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.project{border:0;background:none;padding:0;text-align:left;min-width:0;display:block;width:100%}.project-image{aspect-ratio:3/4;position:relative;overflow:hidden;background:#e5e5de}.project-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s}.project:hover .project-image img{transform:scale(1.025)}.image-hint{position:absolute;bottom:12px;right:12px;background:#222b;color:white;padding:7px 10px;font-size:12px;backdrop-filter:blur(5px)}.project h3{font-size:19px;font-weight:500;line-height:1.4;margin:14px 0 7px;overflow-wrap:anywhere}.project p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.project-role{font-size:12px;color:var(--muted);display:block;margin-top:5px}.project-grid[data-category=short]{grid-template-columns:repeat(4,minmax(0,1fr))}.project-grid[data-category=short] h3{font-size:17px}.project-grid[data-category=commercial]{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid[data-category=commercial] .project-image{aspect-ratio:16/9}.project-grid[data-category=commercial] .project-image img{object-fit:cover}.card-stills{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.card-stills img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.project-grid[data-category=ai] .project-image{aspect-ratio:4/3}.project-grid[data-category=ai] .project-image img{object-fit:contain}.archive{margin-top:50px;border-top:1px solid var(--line)}.archive-label{font-size:12px;color:var(--muted);letter-spacing:1px;margin:20px 0 10px}.archive-row{width:100%;background:none;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.6fr 1fr 1fr 20px;gap:20px;align-items:center;text-align:left;padding:22px 0}.archive-row strong{font-size:18px;font-weight:500}.archive-row span{font-size:13px;color:var(--muted)}.archive-row:hover strong{color:var(--accent)}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:240px 1fr;gap:80px;margin-top:95px;padding:75px 0;align-items:start}.about-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}.about-photo span{display:block;font-size:13px;letter-spacing:2px;margin-top:15px;color:var(--muted)}.about-copy{max-width:730px}.kicker{font-size:12px;letter-spacing:1px;color:var(--muted)}h2{font-size:34px;font-weight:500;line-height:1.35;margin:12px 0 22px;overflow-wrap:anywhere}.about-copy p{font-size:16px;line-height:1.9;color:#55594f;margin:0 0 15px}.about-links{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;margin-top:27px}.about-links a{border-bottom:1px solid var(--line);padding-bottom:6px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:25px;padding-bottom:30px;font-size:12px;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);padding:30px;width:min(960px,94vw);max-height:92vh}dialog::backdrop{background:#111b;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.close{background:none;border:0;padding:10px;font-size:14px;flex-shrink:0}dialog h2{font-family:'Playfair Display',Georgia,'PingFang SC',serif;margin:20px 0 8px}.dialog-meta{font-size:14px;color:var(--muted);margin:0 0 25px;line-height:1.7}.gallery-main{background:#e6e6df;position:relative}.gallery-main img{display:block;width:100%;height:48vh;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:10px 0;font-size:12px;color:var(--muted)}.gallery-controls button{min-width:44px;min-height:44px;background:none;border:1px solid var(--line);font-size:20px}.thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px}.thumbnails button{width:85px;height:60px;padding:0;flex-shrink:0;border:2px solid transparent;background:#e5e5de;opacity:.65}.thumbnails button[aria-pressed=true]{border-color:var(--accent);opacity:1}.thumbnails img{width:100%;height:100%;object-fit:cover}.thumbnails button:hover{opacity:1}#dialog-description{font-size:16px;line-height:1.8}#dialog-description:empty{display:none}#dialog-links{font-size:14px;display:flex;gap:25px;flex-wrap:wrap;margin-top:20px}#dialog-links:empty{display:none}#dialog-links a{border-bottom:1px solid var(--ink);padding-bottom:5px}@media(max-width:1000px){.hero{display:block;padding:40px 0 30px}.identity{margin-top:20px;display:flex;gap:16px;align-items:center}.identity p{margin:0}.tabs{gap:28px}.tabs small{display:block;margin:5px 0 0}.about{gap:45px;grid-template-columns:180px 1fr}.project-grid[data-category=short]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){header{height:75px}nav{gap:20px}.wordmark span{display:none}.hero{padding:32px 0 20px}h1{font-size:14vw;letter-spacing:-.055em}.identity{display:block;margin-top:13px}.identity p{font-size:16px;margin-bottom:5px}.identity span{font-size:12px}.tabs{gap:0;justify-content:space-between;margin-bottom:24px}.tabs button{font-size:14px}.tabs small{font-size:10px;letter-spacing:0}.project-grid,.project-grid[data-category=short],.project-grid[data-category=ai]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.project-grid[data-category=commercial]{grid-template-columns:1fr;gap:35px}.project h3,.project-grid[data-category=short] h3{font-size:16px}.project p{font-size:12px}.image-hint{bottom:8px;right:8px;padding:5px 7px}.archive{margin-top:30px}.archive-row{grid-template-columns:1fr 20px;gap:8px;padding:19px 0}.archive-row strong{font-size:16px;grid-row:1}.archive-row span:nth-child(2){grid-column:1;font-size:12px}.archive-row span:nth-child(3){display:none}.archive-row span:last-child{grid-column:2;grid-row:1/3}.about{grid-template-columns:1fr;margin-top:60px;padding:40px 0;gap:25px}.about-photo{display:flex;align-items:end;gap:20px}.about-photo img{width:105px}.about-photo span{margin:0 0 3px}.about-copy h2{font-size:28px;margin-top:8px}.about-copy p{font-size:16px}.about-links{font-size:13px;gap:18px}dialog{padding:20px}dialog h2{font-size:28px}.gallery-main img{height:40vh}.dialog-meta{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.header-right{display:flex;align-items:center;gap:30px}.language-switch{display:flex;align-items:center;gap:7px;font-size:12px}.language-switch button{background:none;border:0;padding:10px 4px;min-height:44px;color:var(--muted);font-size:14px}.language-switch button[aria-pressed=true]{color:var(--accent);font-weight:600}.language-switch>span{color:var(--line)}.tabs button{min-width:70px}.identity p{max-width:250px;line-height:1.5}@media(max-width:600px){.header-right{gap:14px}nav{gap:15px;font-size:13px}.language-switch{gap:3px}.language-switch button{font-size:13px}.tabs{justify-content:flex-start;gap:30px}.tabs button{min-width:0}.identity p{max-width:none}}
.wordmark{display:flex;align-items:center;gap:12px;letter-spacing:0;flex-shrink:0}.brand-symbol{display:block;width:59px;height:48px}.wordmark .brand-name{display:flex;flex-direction:column;margin:0;letter-spacing:0}.brand-name strong{font-size:14px;line-height:1.05;letter-spacing:2.4px;font-weight:600}.brand-name small{font-size:10px;line-height:1.3;font-weight:400;letter-spacing:1.3px;margin-top:7px;color:var(--muted)}.wordmark:hover .brand-symbol{opacity:.8}@media(max-width:600px){.brand-symbol{width:45px;height:39px}.wordmark .brand-name{display:none}.header-right{gap:12px}nav{gap:12px}} 
.brand-symbol{width:54px;height:45px}.wordmark{gap:10px}.brand-name strong{font-family:'Playfair Display',Georgia,serif;font-size:20px;line-height:1.2;letter-spacing:-.5px;font-weight:500}.about-photo img{filter:none;transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s;border-radius:2px;box-shadow:9px 9px 0 #b8412617}.about-photo:hover img{transform:rotate(-2deg) translateY(-3px);box-shadow:14px 14px 0 #b8412628}@media(max-width:600px){.brand-symbol{width:45px;height:39px}}
[hidden]{display:none!important}.blog-section{border-top:1px solid var(--line);padding:65px 0 80px}.blog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.blog-heading h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:40px}.blog-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.text-button{background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;font-size:14px;min-height:40px}.primary-button,.secondary-button{border:1px solid var(--ink);padding:11px 19px;font-size:14px;min-height:44px}.primary-button{background:var(--ink);color:var(--paper)}.secondary-button{background:transparent}.primary-button:hover{background:var(--accent);border-color:var(--accent)}button:disabled,input:disabled,textarea:disabled{opacity:.55;cursor:wait}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.blog-empty{padding:35px 0;color:var(--muted);font-size:16px;grid-column:1/-1}.blog-card{background:none;border:0;padding:0;text-align:left;min-width:0}.blog-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.blog-card-copy{padding:19px 0}.blog-card h3{font-size:24px;font-weight:500;line-height:1.4;margin:10px 0;overflow-wrap:anywhere}.blog-card p{font-size:15px;color:var(--muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.blog-meta{font-size:12px;color:var(--muted)}.blog-meta span{color:var(--accent);margin-left:10px}.blog-text-card{border-top:2px solid var(--ink);align-self:start}.blog-card:hover h3{color:var(--accent)}#blog-status:empty{display:none}#blog-status{font-size:14px;color:var(--muted)}#author-signin{font-size:13px;color:var(--muted)}#blog-reader{width:min(850px,94vw);padding:35px 45px}.article-head{margin:25px 0 32px}.article-head h2{font-size:38px;line-height:1.3}.article-head p{font-size:13px;color:var(--muted)}#article-body{white-space:pre-wrap;font-size:18px;line-height:1.95;overflow-wrap:anywhere}#article-images{display:grid;gap:20px;margin-top:30px}#article-images img{display:block;max-width:100%;max-height:85vh;margin:auto;object-fit:contain}.article-video{margin-top:30px}.article-video iframe{width:100%;aspect-ratio:16/9;border:0;background:#202420}.article-video>a{display:inline-block;font-size:14px;border-bottom:1px solid var(--line);margin-top:10px}.video-load{width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#202420;color:var(--paper);border:0;font-size:16px}.video-load>span{font-size:45px}#blog-editor{width:min(820px,94vw)}#editor-heading{font-size:28px;margin:0}#post-form{margin-top:25px}#post-form>label{display:block;font-size:15px;margin:22px 0 10px}#post-form>input:not([type=file]),#post-form>textarea{width:100%;padding:13px 14px;font:inherit;font-size:16px;line-height:1.65;border:1px solid var(--line);background:#fff9;color:var(--ink);border-radius:0}#post-form>textarea{resize:vertical}#post-form>input[type=file]{max-width:100%;font-size:14px}#post-form input:focus-visible,#post-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field-help{font-size:13px;line-height:1.6;color:var(--muted);margin-top:0}#image-previews{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.upload-thumb{width:105px;height:86px;position:relative}.upload-thumb img{width:100%;height:100%;object-fit:cover}.upload-thumb button{position:absolute;right:2px;top:2px;background:var(--paper);border:0;width:30px;height:30px;font-size:22px}.upload-thumb span{position:absolute;left:0;bottom:0;background:#222a;color:white;padding:4px 7px;font-size:11px}.editor-actions{display:flex;justify-content:end;gap:13px;margin-top:20px;position:sticky;bottom:-30px;background:var(--paper);padding:15px 0}.editor-actions>.text-button{margin-right:auto}#editor-status{font-size:14px;color:var(--accent);line-height:1.6}.identity p{max-width:300px}@media(max-width:800px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-right{gap:15px}nav{gap:18px}.wordmark .brand-name{display:none}}@media(max-width:600px){header nav>a[href^="mailto:"]{display:none}nav{gap:12px}.blog-section{padding:40px 0 55px}.blog-heading{align-items:start}.blog-heading h2{font-size:32px}.blog-actions{justify-content:end;gap:8px}.blog-grid{grid-template-columns:1fr;gap:25px}#blog-reader{padding:23px}.article-head h2{font-size:30px}#article-body{font-size:17px}.editor-actions{gap:9px;bottom:-20px}.editor-actions button{padding-left:12px;padding-right:12px}.identity p{max-width:none}}
.portrait-entry{display:block;width:100%;position:relative;background:none;border:0;padding:0;text-align:left}.about-photo .portrait-hint{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f4f3efd9;color:var(--ink);font-size:19px;margin:0;letter-spacing:0;opacity:0;transition:opacity .2s}.portrait-entry:hover .portrait-hint,.portrait-entry:focus-visible .portrait-hint{opacity:1}.photo-space{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:40px 5vw 55px;background:#141714;color:#e8e8de;overscroll-behavior:contain}.photo-header{display:flex;justify-content:space-between;align-items:start;padding-bottom:30px;border-bottom:1px solid #ffffff20}.photo-header h2{font-family:'Playfair Display',Georgia,serif;font-size:40px;margin:12px 0 0;font-weight:400}.photo-byline{font-size:12px;letter-spacing:3px;color:#aeb3a7}.photo-close{background:none;border:0;color:inherit;padding:10px 0 10px 20px;font-size:14px;min-height:44px}.photo-space::backdrop{background:#141714}#photo-owner-tools{display:flex;align-items:center;gap:20px;margin:25px 0}.photo-upload-button{position:relative;border:1px solid #ffffff60;padding:12px 18px;font-size:14px;cursor:pointer;overflow:hidden;flex-shrink:0}.photo-upload-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.photo-upload-button:focus-within{outline:2px solid #c87358;outline-offset:4px}#photo-owner-tools p,#photo-status{font-size:13px;color:#aeb3a7;line-height:1.6}#photo-status:empty{display:none}.photo-empty{padding:18vh 0;text-align:center;color:#aeb3a7;font-size:16px;grid-column:1/-1}#photo-wall{columns:3;column-gap:28px;margin-top:35px}.photo-tile{display:block;width:100%;break-inside:avoid;border:0;background:none;padding:0;margin:0 0 28px}.photo-tile img{display:block;width:100%;height:auto;transition:opacity .3s}.photo-tile:hover img{opacity:.85}#photo-stage{padding-top:20px}.photo-text-button{display:inline-block;color:#aeb3a7;background:none;border:0;border-bottom:1px solid #ffffff30;padding:9px 0;font-size:14px;min-height:40px}#photo-full{display:block;width:100%;height:calc(100dvh - 305px);object-fit:contain;margin:20px auto}.photo-stage-controls{display:flex;align-items:center;justify-content:center;gap:35px;font-size:13px}.photo-stage-controls button{color:inherit;background:none;border:1px solid #ffffff30;width:46px;height:44px;font-size:22px}#remove-photo{display:block;margin:10px auto;color:#aaa}#undo-photo{margin-top:5px}@media(max-width:800px){#photo-wall{columns:2;column-gap:20px}}@media(max-width:600px){.portrait-entry{width:105px;flex-shrink:0}.about-photo .portrait-hint{opacity:1;width:25px;height:25px;bottom:8px;right:8px;font-size:16px}.photo-space{padding:25px 5vw 35px}.photo-header h2{font-size:32px}.photo-header{padding-bottom:22px}#photo-owner-tools{align-items:start;flex-direction:column;gap:4px}#photo-wall{columns:1;margin-top:25px}.photo-tile{margin-bottom:24px}#photo-full{height:calc(100dvh - 300px)}}

/* Signature-led identity: quiet name in the header, original monogram as the focal point. */
.wordmark .header-name{display:block;margin:0;font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.2}
.hero{align-items:center;padding:36px 0 42px}.hero-signature{line-height:0;margin-left:-3.8%;width:clamp(180px,23vw,290px);flex-shrink:0}.hero-signature img{display:block;width:100%;height:auto}.hero .identity{padding-bottom:0}
@media(max-width:1000px){.hero{display:flex}.hero .identity{display:block;margin-top:0}}
@media(max-width:600px){.wordmark .header-name{font-size:19px;letter-spacing:-.5px}.hero{display:block;padding:24px 0 30px}.hero-signature{width:clamp(165px,46vw,215px);margin-left:-5%}.hero .identity{margin-top:16px}header{flex-wrap:wrap;height:auto;min-height:75px;gap:12px;padding-top:16px;padding-bottom:16px}.header-right{flex-wrap:wrap}}

.hero-signature{position:relative;margin-right:55px}.hero-signature .signature-seal{position:absolute;width:30%;height:auto;right:-19%;bottom:3%;transform:rotate(-3deg);pointer-events:none}

.case-row{grid-template-columns:90px 1.1fr 1fr 1fr auto;gap:24px}.case-cover{width:90px;height:130px;object-fit:contain}.case-row span:last-child{color:var(--accent)}.case-intro{max-width:700px;font-size:17px;line-height:1.8}.case-credit{font-size:14px;line-height:2}.case-credit span{display:inline-block;min-width:110px;color:var(--muted)}.case-note{font-size:14px;line-height:1.7;color:var(--muted);max-width:720px;margin:24px 0}.case-pages{display:grid;grid-template-columns:1fr 1fr;gap:30px 22px}.case-pages figure{margin:0;min-width:0}.case-pages img{display:block;width:100%;height:auto;background:#222}.case-pages figcaption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:10px}.case-dialog #dialog-links{margin-top:30px}@media(max-width:700px){.case-row{grid-template-columns:72px 1fr;gap:8px 16px}.case-cover{grid-row:1/5;width:72px;height:106px}.case-row strong{grid-column:2;grid-row:auto}.case-row span:nth-child(n){display:block;grid-column:2;grid-row:auto}.case-row span{font-size:13px}.case-pages{grid-template-columns:1fr}.case-intro{font-size:16px}}

.project-card{min-width:0}.project-info{display:inline-block;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);margin-top:12px;padding:5px 0}

