@font-face{font-family:Gothic;src:url('assets/gothic.otf') format('opentype');font-display:swap}@font-face{font-family:Sans;src:url('assets/sans.otf') format('opentype');font-display:swap}:root{--black:#050505;--paper:#e9e7e1;--muted:#9e9e98;--gold:#b6a07a;--line:#292929}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--black);color:var(--paper);font-family:Sans,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);background:#050505ee;position:sticky;top:0;z-index:20;backdrop-filter:blur(20px)}.brand{font-family:Gothic;font-size:30px;display:flex;gap:20px;align-items:center}.brand span{font:14px Sans;color:var(--muted)}nav{display:flex;gap:32px;font-size:14px}nav a,.text-link,footer a{transition:color .2s}nav a:hover,.text-link:hover,footer a:hover{color:var(--gold)}.header-location{font-size:13px;color:var(--muted)}.menu{display:none}.hero{padding:24px 4vw 0;min-height:calc(100svh - 92px);display:flex;flex-direction:column}.hero-top,.hero-bottom{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.045em;color:var(--muted)}.hero-top span:first-child{color:var(--gold)}.hero-body{display:grid;grid-template-columns:1.04fr 1fr;flex:1;min-height:620px;align-items:center}.hero h1{font-family:Gothic;font-size:clamp(76px,10vw,170px);line-height:.95;letter-spacing:-.065em;font-weight:400;margin:30px 0}.hero h1 span{color:var(--muted)}.hero-copy p{font-family:Gothic;font-size:28px;line-height:1.3;margin:32px 0}.text-link{font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:7px;display:inline-block;width:fit-content}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.hero-art img{width:115%;max-width:none;object-fit:contain;animation:arrive 1.4s ease-out both}.art-marker{position:absolute;bottom:25px;right:0;font-size:12px;letter-spacing:.08em;text-align:right;color:var(--gold)}.art-marker em{font-style:normal;letter-spacing:0;color:var(--muted)}.hero-bottom{border-top:1px solid var(--line);padding:23px 0}.section{padding:112px 4vw;border-bottom:1px solid var(--line);scroll-margin-top:0}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:36px;align-items:start;margin-bottom:65px}.eyebrow{color:var(--gold);text-transform:uppercase;font-size:12px;letter-spacing:.13em;display:block;padding-top:12px}h2{font-family:Gothic;font-size:clamp(42px,5.7vw,90px);font-weight:400;line-height:1.04;letter-spacing:-.045em;margin:0}h2 em{font-style:normal;color:var(--muted)}.section-aside{align-self:end;margin:0;color:var(--muted);font-size:16px}.section-aside p{margin:0 0 25px}.filters{display:flex;gap:28px;overflow-x:auto;padding:12px 0 26px;margin-bottom:24px;border-bottom:1px solid var(--line)}.filters button{border:0;background:none;padding:0 0 5px;color:var(--muted);white-space:nowrap;font-size:14px}.filters button[aria-pressed=true]{color:var(--paper);border-bottom:1px solid var(--gold)}sup{font-size:10px;color:var(--gold)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:25px;row-gap:58px}.project{border:none;text-align:left;background:transparent;padding:0;min-width:0}.project-image{aspect-ratio:1.14;overflow:hidden;background:#000;position:relative}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .4s}.project:hover img{transform:scale(1.055)}.project-number{position:absolute;top:16px;left:16px;font-size:12px;color:var(--muted);z-index:1}.project-meta{display:flex;gap:12px;justify-content:space-between;align-items:start;padding-top:18px}.project-meta h3{font:20px Gothic;margin:0;line-height:1.35}.project-meta .plus{font:25px Gothic;color:var(--gold)}.project small{display:block;color:var(--muted);font-size:12px;margin-top:6px;letter-spacing:.04em}.project:nth-child(8n+2){padding-top:55px}.project:nth-child(8n+3){padding-top:110px}.craft-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}.craft-image{position:sticky;top:130px;align-self:start}.craft-image img{width:100%;display:block}.craft-image p{font-size:12px;color:var(--muted);margin:12px 0}.skills details{border-top:1px solid var(--line)}.skills details:last-child{border-bottom:1px solid var(--line)}.skills summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font:clamp(19px,2vw,29px) Gothic;padding:24px 0}.skills summary::-webkit-details-marker{display:none}.skills summary::after{content:'+';color:var(--gold);font:25px Gothic}.skills details[open] summary::after{content:'−'}.skills details p{margin:0 38px 27px 0;color:var(--muted);max-width:540px}.journey-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-left:25%}.journey h3{font:14px Sans;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);margin:0 0 35px}.timeline{border-top:1px solid var(--line);padding:25px 0}.timeline span{font-size:13px;color:var(--muted)}.timeline h4{font:24px Gothic;margin:14px 0 10px;line-height:1.25}.timeline p{color:var(--muted);margin:0;line-height:1.7}.contact .eyebrow{margin-bottom:35px}.contact h2{font-size:clamp(58px,9vw,140px);margin-left:25%}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:70px;margin-left:25%}.contact-mail{font:clamp(19px,2vw,30px) Gothic;border-bottom:1px solid var(--gold);overflow-wrap:anywhere}.phone{display:block;font:22px Gothic;margin:20px 0}.contact p{color:var(--muted)}.profile{display:flex;align-items:start;gap:25px}.profile img{width:100px;height:100px;object-fit:contain;flex-shrink:0}.profile h3{font:22px Gothic;margin:0}.profile p{font-size:14px}.profile p:first-of-type{margin-top:10px}footer{padding:28px 4vw;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}dialog{width:min(1180px,94vw);max-height:92svh;padding:0;border:1px solid var(--line);background:#070707;color:var(--paper)}dialog::backdrop{background:#000c;backdrop-filter:blur(12px)}.dialog-close{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;margin-left:auto;padding:15px 24px;background:#070707;border:0;width:120px;z-index:2;font-size:14px}.dialog-close span{font-size:24px;color:var(--gold)}.dialog-layout{display:grid;grid-template-columns:1.3fr 1fr;align-items:center}.dialog-image{background:#000;min-height:460px;display:flex;align-items:center}.dialog-image img{width:100%;max-height:65svh;object-fit:contain}.dialog-copy{padding:35px}.dialog-copy h2{font-size:38px;margin:25px 0}.dialog-copy #project-finish{font-size:12px;color:var(--gold);letter-spacing:.06em}.dialog-copy #project-description{color:var(--muted);margin:25px 0 45px}.dialog-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;gap:15px}.dialog-controls button{border:0;background:none;padding:8px 0;font-size:14px}.dialog-controls span{font-size:12px;color:var(--gold)}@keyframes arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){body{max-width:1900px;margin:auto}}@media(max-width:1000px){.brand span,.header-location{display:none}.hero-body{min-height:540px}.section-head{grid-template-columns:1fr 2fr}.section-aside{grid-column:2}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project:nth-child(n){padding-top:0}.project:nth-child(even){padding-top:60px}.journey-layout,.contact-layout,.contact h2{margin-left:0}.contact-layout{gap:35px}.profile{flex-direction:column}}@media(max-width:650px){header{height:74px;padding:0 6vw}.brand{font-size:28px}.menu{display:block;background:none;border:1px solid var(--line);padding:7px 14px;font-size:14px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#080808;padding:24px 6vw;border-bottom:1px solid var(--line);flex-direction:column;gap:22px}nav.open{display:flex}.hero{padding:20px 6vw 0;min-height:auto}.hero-top{font-size:12px;gap:25px}.hero-top span:last-child{text-align:right;max-width:130px}.hero-body{grid-template-columns:1fr;min-height:auto}.hero h1{font-size:clamp(70px,19vw,110px);margin:45px 0 20px}.hero-copy p{font-size:23px;margin:22px 0}.hero-art{margin-top:18px;min-height:300px}.hero-art img{width:100%}.art-marker{bottom:10px;right:0}.hero-bottom{font-size:12px;margin-top:25px;gap:20px;flex-wrap:wrap}.hero-bottom span:nth-child(2){display:none}.section{padding:70px 6vw}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section-aside{grid-column:auto}.eyebrow{padding-top:0}h2{font-size:53px}.filters{gap:23px}.gallery{gap:30px 14px}.project:nth-child(even){padding-top:0}.project-image{aspect-ratio:.85}.project-meta{padding-top:12px;gap:5px}.project-meta h3{font-size:18px}.project small{font-size:12px;letter-spacing:0}.project-number{top:10px;left:10px}.craft-layout{grid-template-columns:1fr;gap:35px}.craft-image{position:static}.craft-image img{max-height:330px;object-fit:contain}.skills summary{font-size:22px;padding:20px 0;gap:25px}.journey-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.journey h3{margin-bottom:20px}.contact h2{font-size:61px}.contact-layout{margin-top:40px}.profile{flex-direction:row;gap:20px}.profile img{width:85px;height:85px}.contact-mail{font-size:25px}footer{padding:25px 6vw;flex-wrap:wrap}footer span:nth-child(2){display:none}.dialog-layout{grid-template-columns:1fr}.dialog-image{min-height:240px}.dialog-image img{max-height:38svh}.dialog-copy{padding:25px}.dialog-copy h2{font-size:30px}.dialog-copy #project-description{margin-bottom:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero-art{overflow:hidden}.project[data-category=decors] img{object-fit:contain}

/* A quieter, image-led opening. */
header{height:86px;border-bottom:0;background:#000e;padding:0 5vw}
.brand{font-size:22px;letter-spacing:-.035em}
nav{gap:38px}nav a{color:#b3b3ad;font-size:14px}.header-location{font-size:12px}
.hero-refined{padding:0;min-height:0;background:#000;display:block}
.hero-stage{position:relative;height:calc(100svh - 86px);min-height:620px;max-height:1100px;overflow:hidden;background:#000}
.hero-mask{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:arrive 1.8s ease-out both}
.hero-refined .hero-copy{position:absolute;left:7vw;bottom:70px;z-index:1}
.hero-refined h1{font-size:42px;letter-spacing:-.045em;line-height:1.15;margin:0 0 22px;color:var(--paper)}
.hero-refined .text-link{font-size:13px;color:var(--muted);border-color:#5a5142;padding-bottom:6px}
.hero-signature{position:absolute;right:7vw;bottom:80px;font-family:Gothic;font-size:15px;letter-spacing:.19em;text-align:right;color:#d1d0ca}
.hero-signature span{display:block;font:12px Sans;letter-spacing:.035em;margin-top:16px;color:#8a8a85}
.introduction{padding:145px 10vw 155px;display:grid;grid-template-columns:1fr 3fr;gap:7vw;border-bottom:1px solid #202020}
.introduction .eyebrow{line-height:1.8;max-width:150px;letter-spacing:.1em}
.intro-copy{max-width:920px}.intro-copy p{font-family:Gothic;font-size:25px;line-height:1.65;letter-spacing:-.015em;color:#aaa9a3;margin:0 0 32px}
.intro-copy .intro-lead{font-size:38px;line-height:1.4;color:var(--paper);margin-bottom:40px}
.intro-copy p:last-child{margin-bottom:0}
.section{padding-top:135px;padding-bottom:135px}.section-head{margin-bottom:80px}
@media(max-width:1000px){.hero-refined .hero-copy{left:5vw;bottom:45px}.hero-signature{right:5vw;bottom:55px;font-size:13px;letter-spacing:.12em}.hero-refined h1{font-size:34px}.introduction{padding:100px 6vw;grid-template-columns:1fr 3fr;gap:5vw}.intro-copy p{font-size:23px}.intro-copy .intro-lead{font-size:32px}}
@media(max-width:650px){header{height:74px;padding:0 6vw}.brand{font-size:21px}nav{top:74px;background:#000}.hero-stage{height:calc(92svh - 74px);min-height:570px;max-height:850px}.hero-mask{height:77%;top:2%;object-fit:cover;width:100%;object-position:center}.hero-refined .hero-copy{left:6vw;bottom:38px}.hero-refined h1{font-size:31px;margin-bottom:15px}.hero-signature{right:6vw;bottom:120px;font-size:12px;letter-spacing:.12em}.hero-signature span{font-size:12px;margin-top:9px}.hero-refined .text-link{font-size:13px}.introduction{padding:85px 6vw 95px;grid-template-columns:1fr;gap:30px}.introduction .eyebrow{max-width:none}.intro-copy .intro-lead{font-size:30px;margin-bottom:30px}.intro-copy p{font-size:21px;line-height:1.6;margin-bottom:26px}.section{padding:80px 6vw}.section-head{margin-bottom:40px}}


/* Fabrication photographs, kept alongside their finished pieces. */
.card-process{display:flex;gap:8px;margin-top:18px}.card-process img{width:calc((100% - 16px)/3);height:78px;object-fit:cover;border-radius:10px}.process-label{display:block;font:12px Sans;color:var(--gold);margin-top:14px}
.project-process{padding:0 35px 35px;border-top:1px solid var(--line);margin-top:25px}.project-process[hidden]{display:none}.project-process h3{font:24px Gothic;margin:28px 0}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.process-grid figure{margin:0}.process-grid a{display:block}.process-grid img{display:block;width:100%;height:310px;object-fit:contain;background:#111;border-radius:14px}.process-grid figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.atelier-portraits{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:980px;margin:0 auto}.atelier-portraits figure{margin:0}.atelier-portraits img{width:100%;height:auto;display:block;border-radius:18px}.atelier-portraits figcaption{font-size:13px;color:var(--muted);margin-top:15px}.atelier-portraits figure:nth-child(2){padding-top:80px}
@media(max-width:650px){.card-process{gap:5px}.card-process img{height:58px;border-radius:8px}.project-process{padding:0 25px 25px}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid img{height:auto;max-height:500px}.atelier-portraits{grid-template-columns:1fr;gap:30px}.atelier-portraits figure:nth-child(2){padding-top:0}}
