@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');
:root{color-scheme:dark;--bg:#111110;--paper:#f1efe8;--muted:#b5b3a9;--line:#383832;--accent:#f0aa65}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.6 'DM Sans',Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a:hover,button:hover{color:var(--accent)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-family:'Playfair Display',Georgia,serif;font-weight:400}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5%}.brand{font-size:18px;font-weight:600;letter-spacing:1px;line-height:1.3}.brand small{display:block;font-size:12px;letter-spacing:3px;font-weight:400;margin-top:5px;color:var(--muted)}nav{display:flex;gap:32px;font-size:14px}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--bg);padding:12px}.skip:focus{top:12px}.hero{position:relative;min-height:640px;height:calc(100svh - 96px);max-height:950px;isolation:isolate;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-3}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0e0a08b8,#0e0a080d 85%),linear-gradient(0deg,#0c0a08b3,transparent 45%)}.hero-copy{padding:65px 7%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500}.hero h1{font-size:clamp(70px,9vw,142px);line-height:1.02;letter-spacing:-5px;margin:28px 0}.hero h1 em{color:#ffd0a3}.hero-copy>p{color:#fff0df}.explore{font-size:14px;margin-top:32px;border-bottom:1px solid #bba28a;padding-bottom:9px;display:flex;gap:38px;align-items:center}.hero-foot{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.7px}.work{padding:80px 7% 65px;max-width:1700px;margin:auto}.section-top{display:flex;justify-content:space-between;color:var(--accent);font-size:12px}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:30px 0 45px}h2{font-size:clamp(42px,5vw,75px);line-height:1.13;letter-spacing:-2px}.work-heading h2 em{color:var(--accent)}.work-heading>p{color:var(--muted)}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid var(--line);margin-bottom:35px}.filters{display:flex;gap:26px;flex-wrap:wrap}.filters button{border:0;background:transparent;padding:20px 0;font-size:14px;position:relative;color:var(--muted)}.filters button[aria-pressed=true]{color:var(--paper)}.filters button[aria-pressed=true]:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:-1px;left:0;right:0}sup{font-size:12px;color:var(--accent);margin-left:5px}.filter-bar>p{font-size:12px;color:var(--muted);white-space:nowrap}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.gallery figure:nth-child(2){margin-top:100px}.gallery.filtered{grid-template-columns:minmax(0,1000px);justify-content:center}.gallery.filtered figure{margin-top:0}[hidden]{display:none!important}.image-button{border:0;padding:0;background:#1d1c18;display:block;width:100%;position:relative;text-align:left;overflow:hidden}.image-button img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transition:filter .4s}.image-button:hover img{filter:brightness(.85)}.view-label{position:absolute;bottom:16px;right:16px;background:#111e;color:#fff;padding:8px 12px;font-size:12px;opacity:0;transition:opacity .2s}.image-button:hover .view-label,.image-button:focus-visible .view-label{opacity:1}figcaption{display:flex;gap:16px;padding-top:22px}.number{font-size:12px;color:var(--accent);border-top:1px solid var(--accent);padding-top:6px;min-width:26px}figcaption .eyebrow{color:var(--muted);letter-spacing:1.2px}h3{font-size:clamp(22px,2.3vw,34px);letter-spacing:-.6px;line-height:1.4;margin-top:4px}.gallery-end{margin-top:55px;color:var(--muted);text-align:center;font-size:14px}.about{border-top:1px solid var(--line);padding:80px 7%;display:grid;grid-template-columns:1fr 2.3fr;gap:45px;max-width:1700px;margin:auto}.about>.eyebrow{color:var(--accent);padding-top:12px}.about h2{font-size:clamp(36px,4.2vw,62px)}.about h2 em{color:var(--muted)}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px;color:var(--muted);max-width:780px}.signature{font:italic 28px 'Playfair Display',Georgia,serif;margin-top:35px}.contact{padding:65px 7%;background:#be462c;display:flex;align-items:end;justify-content:space-between;gap:30px;color:#fff1de}.contact h2{margin-top:25px;font-size:clamp(42px,5vw,74px)}.contact>p{font-size:16px}footer{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}footer .brand{color:var(--paper);font-size:26px}dialog{border:0;padding:20px 30px;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#10100f;color:var(--paper)}dialog::backdrop{background:#000}dialog[open]{display:flex;flex-direction:column}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.viewer-top{min-height:50px;border-bottom:1px solid var(--line);font-size:14px}.viewer-top button{background:none;border:0;padding:10px}.viewer-stage{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:1;min-height:0;padding:20px 0}.viewer-stage img{width:calc(100% - 130px);height:100%;object-fit:contain;min-height:0}.viewer-stage button{flex-shrink:0;width:45px;height:45px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:24px}.viewer-stage button:disabled{opacity:.25;cursor:default}.viewer-bottom{padding-top:15px;border-top:1px solid var(--line)}.viewer-bottom h2{font-size:24px;letter-spacing:-.4px;margin:6px 0}.viewer-bottom .eyebrow{color:var(--accent)}.viewer-bottom>p{font-size:12px;color:var(--muted)}body.viewing{overflow:hidden}@media(max-width:760px){header{padding:22px 5%;gap:15px}.brand{font-size:15px}.brand small{letter-spacing:1.5px}nav{gap:16px;font-size:14px}nav a:nth-child(2){display:none}.hero{height:78svh;min-height:560px}.hero-copy{padding:45px 6%}.hero h1{font-size:clamp(65px,13vw,100px);letter-spacing:-3px}.hero .eyebrow{max-width:250px;line-height:1.7}.hero-foot{letter-spacing:1px}.work{padding:55px 6%}.work-heading{display:block}.work-heading>p{margin-top:24px}.filter-bar{display:block}.filters{gap:16px}.filters button{font-size:14px;padding:16px 0}.filter-bar>p{padding:8px 0 12px}.gallery{grid-template-columns:1fr;gap:36px}.gallery figure:nth-child(2){margin-top:0}.view-label{opacity:1;font-size:12px;padding:6px 9px;right:10px;bottom:10px}.about{grid-template-columns:1fr;gap:25px;padding:55px 6%}.about-copy{grid-template-columns:1fr;gap:20px}.contact{display:block;padding:50px 6%}.contact>p{margin-top:30px}footer{flex-wrap:wrap}footer .brand{width:100%}dialog{padding:10px 12px}.viewer-stage{gap:5px}.viewer-stage img{width:calc(100% - 78px)}.viewer-stage button{width:34px;height:38px;font-size:20px}.viewer-bottom>p{display:none}.viewer-bottom h2{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* An independent, neutral portfolio identity. */
:root{--bg:#171717;--paper:#f3f2ef;--muted:#b8b8b5;--line:#3c3c3b;--accent:#deddd5}
.hero{height:auto;min-height:0;max-height:none;border-top:1px solid var(--line);overflow:visible}
.hero:after{display:none}.hero-copy{padding:80px 7% 85px;display:block;max-width:1700px;margin:auto}.hero h1{font-size:clamp(56px,7.6vw,116px);line-height:1.1;letter-spacing:-3px;margin:25px 0 30px}.hero h1 em{color:var(--paper)}.hero-copy>p{color:var(--muted)}.hero-copy>.eyebrow{color:var(--paper)}.explore{display:inline-flex;border-color:var(--muted)}.work{padding-top:40px}.section-top{border-top:1px solid var(--line);padding-top:25px}.gallery figure:nth-child(2){margin-top:0}.contact{background:#e7e6e1;color:#222}.contact .eyebrow{color:#444}.contact a:hover{color:#555}.hero .eyebrow{max-width:none}
@media(max-width:760px){.hero{height:auto;min-height:0}.hero-copy{padding:55px 6% 60px}.hero h1{font-size:clamp(46px,10vw,70px);letter-spacing:-1.7px;line-height:1.15}.hero-copy>p{max-width:300px}.work{padding-top:25px}}
.gallery img,.viewer-stage img{-webkit-user-drag:none;user-select:none}
.stories{border-top:1px solid var(--line);padding:80px 7% 90px;max-width:1700px;margin:auto}.stories-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:30px 0 45px}.stories-heading h2 em{color:var(--muted)}.stories-heading>p{color:var(--muted);max-width:330px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.story-card{background:#20201e}.story-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;-webkit-user-drag:none;user-select:none}.story-card-offset{margin-top:100px}.story-copy{padding:25px 26px 30px}.story-copy .eyebrow{color:var(--accent)}.story-copy h3{font-size:clamp(28px,3vw,45px);margin:10px 0}.story-copy p:not(.eyebrow){color:var(--muted);max-width:390px}.story-copy a{display:inline-block;margin-top:22px;border-bottom:1px solid var(--muted);padding-bottom:5px;font-size:14px}@media(max-width:760px){.stories{padding:55px 6% 65px}.stories-heading{display:block}.stories-heading>p{margin-top:22px}.story-grid{grid-template-columns:1fr;gap:35px}.story-card-offset{margin-top:0}nav a:nth-child(2){display:inline}}
.contact{display:grid;grid-template-columns:1fr 1fr;align-items:start}.contact-intro{max-width:420px;margin-top:25px;color:#4b4b47}.contact-form{display:grid;gap:18px;max-width:520px}.contact-form label{display:grid;gap:7px;font-size:14px}.contact-form label span{font-size:12px;color:#666}.contact-form input,.contact-form textarea{width:100%;border:1px solid #aaa;background:#f4f3ef;color:#222;padding:12px 13px;font:inherit;border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #444;outline-offset:2px}.contact-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.contact-check input{width:16px}.contact-form button{justify-self:start;border:1px solid #222;background:#222;color:#fff;padding:13px 20px;font-size:14px}.contact-form button:hover{background:#444;color:#fff}.form-note{font-size:13px;color:#4b4b47;min-height:20px}@media(max-width:760px){.contact{display:block}.contact-form{margin-top:35px}.contact-intro{margin-top:22px}}
.stories{padding-top:55px}.story-card-offset{margin-top:45px}@media(max-width:760px){.stories{padding-top:40px}.story-card-offset{margin-top:0}}
