@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--bg:#30251f;--ink:#f0e4ca;--muted:#b3a48c;--line:#59483a;--accent:#d8b67c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px;background:var(--bg)}body{margin:0;color:var(--ink);background:var(--bg);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.header{max-width:1440px;margin:auto;padding:32px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.socials{display:flex;align-items:center;gap:24px}.socials a{color:var(--muted);display:flex;align-items:center;justify-content:center;width:24px;height:28px}.socials svg{height:21px;width:21px}.socials a:hover,nav a:hover{color:var(--accent)}nav{display:flex;gap:34px;font-size:12px}main{max-width:1440px;margin:auto}.intro{padding:68px 5% 70px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.brand{font-family:'Playfair Display',Georgia,serif;font-size:62px;letter-spacing:-2px;line-height:1.1}h1{font-size:13px;font-weight:400;margin:17px 0 7px;letter-spacing:1px}.profession{font-size:11px;color:var(--muted);margin:0}.bio{max-width:440px;color:var(--muted);font-size:14px;line-height:1.9}.bio p{margin:0}.location{display:block;margin-top:24px;color:var(--accent);font-size:11px}.portfolio{width:90%;max-width:1100px;margin:0 auto;container-type:inline-size}.sheet{position:relative;aspect-ratio:260/2040;width:100%}.position{position:absolute;left:0;top:calc((var(--y) - 118)/2040 * 100%);width:100%;margin:0;text-align:center}.section-title{font-family:'Playfair Display',Georgia,serif;font-size:4.25cqw;line-height:1.15;font-weight:400;letter-spacing:-.07cqw}.project-title{font-size:2.6cqw;line-height:1.15;font-weight:400;color:var(--muted);padding-top:.8cqw}.artwork{position:absolute;display:block;left:calc(var(--x)/260 * 100%);top:calc((var(--y) - 118)/2040 * 100%);width:calc(var(--w)/260 * 100%);height:calc(var(--h)/2040 * 100%);cursor:zoom-in}.artwork img{display:block;width:100%;height:100%;object-fit:fill;transition:filter .2s}.artwork:hover img{filter:brightness(1.05)}.contact{margin:65px 5% 0;padding:65px 0 75px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.contact h2{font-family:'Playfair Display',Georgia,serif;font-size:52px;line-height:1.15;letter-spacing:-1.5px;font-weight:400;margin:0 0 22px}em{font-weight:400;color:var(--accent)}.contact-intro>a{color:var(--muted);font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;color:var(--ink);margin-bottom:24px}label span{color:var(--muted);font-size:11px;margin-left:4px}input,textarea{display:block;width:100%;margin-top:10px;border:1px solid var(--line);border-radius:0;background:#2b211c;color:var(--ink);padding:13px;font-size:14px;outline-offset:3px}textarea{resize:vertical;min-height:145px}.form-actions{display:flex;gap:20px;align-items:center}.form-actions button{padding:12px 24px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);cursor:pointer;font-size:12px}.form-actions button span{margin-left:25px}.form-actions button:hover{background:var(--accent);border-color:var(--accent)}#form-status{font-size:11px;color:var(--muted);margin:0;line-height:1.5}footer{max-width:1440px;margin:0 auto;background:#281f1a;border-top:1px solid var(--line);padding:25px 5%;display:flex;justify-content:space-between;gap:18px;font-size:10px;color:var(--muted)}dialog{border:0;padding:40px 60px 25px;background:#211a17;color:var(--ink);max-width:96vw;max-height:96dvh;overflow:auto}dialog::backdrop{background:#100c0aee}dialog img{display:block;max-width:calc(96vw - 120px);max-height:calc(96dvh - 110px);object-fit:contain;margin:auto}dialog button{position:absolute;background:#30251f;border:1px solid var(--line);color:var(--ink);font-size:24px;cursor:pointer;width:36px;height:36px;line-height:1}dialog button:hover{border-color:var(--accent)}#close{right:8px;top:8px}#prev,#next{top:calc(50% - 18px)}#prev{left:10px}#next{right:10px}#caption{text-align:center;margin:15px 0 0;font-size:12px;color:var(--muted);line-height:1.5}body:has(dialog[open]){overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:650px){.header{padding:22px 6%}.socials{gap:16px}nav{gap:20px}.intro{padding:45px 6% 50px;grid-template-columns:1fr;gap:28px}.brand{font-size:50px}.bio{font-size:13px}.location{margin-top:17px}.portfolio{width:94%}.contact{grid-template-columns:1fr;margin:35px 6% 0;padding:40px 0 50px;gap:28px}.contact h2{font-size:42px}.form-row{gap:15px}footer{flex-wrap:wrap}footer>span{order:3;width:100%}dialog{padding:45px 38px 20px}dialog img{max-width:calc(96vw - 76px);max-height:calc(96dvh - 120px)}dialog button{width:30px;height:32px}#prev{left:4px}#next{right:4px}#caption{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.form-trap{display:none!important}.form-actions button:disabled{cursor:wait;opacity:.65}#form-status[data-state="error"]{color:#e3a996}#form-status[data-state="success"]{color:#c6d4ac}

/* Header layout from the supplied sketch. */
.header nav{order:0}.header .socials{order:1;gap:9px}.header .socials a{width:35px;height:35px;border-radius:50%;color:#e7d393;transition:transform .2s}.socials a:hover{transform:translateY(-2px)}.socials a[aria-label="LinkedIn"]{background:#475ca9}.socials a[aria-label="ArtStation"]{background:#385b8b}.socials a[aria-label="Instagram"]{background:#a97691}.socials a[aria-label="X / Twitter"]{background:#5d8790}.socials svg{height:22px;width:22px}.intro{max-width:1340px;margin:0 auto;padding:80px 36px 65px;grid-template-columns:250px 310px minmax(0,1fr);gap:48px}.portrait{display:block;width:250px;height:225px;object-fit:cover;object-position:50% 48%}.artist-identity{text-align:center}.brand{white-space:nowrap;font-size:62px}.artist-identity .location{margin-top:22px}.inquiries{font-family:'Caveat',cursive;font-size:29px;line-height:1.2;color:var(--accent);display:block;text-align:center;margin-top:24px}.inquiries span{display:block}.bio{font-size:14px}.back-to-top{position:fixed;z-index:10;right:25px;bottom:25px;display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:#30251fed;color:var(--accent);padding:12px 17px;cursor:pointer;font-size:12px;box-shadow:0 3px 18px #100c0a33}.back-to-top[hidden]{display:none}.back-to-top>span:last-child{font-size:24px;line-height:1}.back-to-top:hover{border-color:var(--accent)}body:has(dialog[open]) .back-to-top{visibility:hidden}
@media(max-width:1150px){.intro{grid-template-columns:200px 270px minmax(0,1fr);gap:28px;padding-left:5%;padding-right:5%}.portrait{width:200px;height:210px}.brand{font-size:51px}.inquiries{font-size:26px}}
@media(max-width:900px){.intro{grid-template-columns:200px 1fr;max-width:700px;padding-top:45px;gap:32px}.bio{grid-column:1/-1;max-width:none}.bio p{max-width:560px;margin:0 auto}.inquiries{margin-top:20px}.artist-identity{text-align:center}}
@media(max-width:520px){.header{padding:20px 6%}.header nav{gap:18px}.header .socials{gap:7px}.header .socials a{width:29px;height:29px}.socials svg{width:18px;height:18px}.intro{grid-template-columns:125px minmax(0,1fr);gap:22px;padding:38px 6% 45px}.portrait{width:125px;height:155px}.brand{font-size:36px;letter-spacing:-1px}h1{font-size:12px;margin-top:14px}.profession{font-size:9px}.artist-identity .location{font-size:9px;margin-top:15px}.bio{font-size:13px}.inquiries{font-size:26px}.back-to-top{right:12px;bottom:14px;padding:9px 12px;gap:9px;font-size:10px}}

.portrait-frame{width:250px;height:225px;overflow:hidden}.portrait-frame .portrait{width:100%;height:100%;transform:scale(1.35);transform-origin:50% 56%}@media(max-width:1150px){.portrait-frame{width:200px;height:210px}}@media(max-width:520px){.portrait-frame{width:125px;height:155px}}

/* Small presentation refinements. */
.header .socials a[aria-label="X / Twitter"]{background:#717171;color:#e7d393}.socials a[aria-label="ArtStation"] svg{width:21px;height:21px}.socials a[aria-label="X / Twitter"] svg{width:19px;height:19px}.inquiries{font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.9;font-style:normal;font-weight:600;user-select:text;cursor:text}.contact h2 span{font:inherit;color:var(--accent)}.ampersand{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:normal;font-size:.95em}.footer-block{display:block;max-width:none;width:100%;height:110px;padding:0;margin:0;background:#281f1a;border-top:1px solid var(--line)}@media(max-width:650px){.inquiries{font-size:13px}.footer-block{height:90px}}

/* A single reading order: identity, practice, contact. */
.header{max-width:1320px;padding:27px 40px;gap:42px;align-items:center}.header .site-wordmark{order:0;font-family:'Playfair Display',Georgia,serif;font-size:32px;line-height:1.1;letter-spacing:-1px;margin-right:auto;white-space:nowrap}.header nav{order:1;gap:30px;font-size:15px}.header .socials{order:2;gap:10px}.header .socials a{width:33px;height:33px}
.intro{max-width:1240px;padding:65px 40px 84px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:76px;align-items:center}.intro-copy{min-width:0}.hero-role{font-size:17px;line-height:1.4;letter-spacing:1.5px;color:var(--accent);margin:0 0 18px}.intro h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(52px,5.6vw,80px);line-height:1.08;letter-spacing:-2.5px;margin:0 0 19px}.hero-location{font-size:15px;color:var(--muted);line-height:1.5;margin:0 0 27px}.hero-description{font-size:19px;line-height:1.75;font-weight:400;color:var(--ink);max-width:555px;margin:0}.intro .inquiries{font-family:'DM Sans',sans-serif;text-align:left;line-height:1.5;font-size:16px;font-weight:400;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);max-width:555px;color:var(--accent)}.inquiry-label{font-size:14px;font-weight:500;margin-bottom:6px}.inquiry-address{font-size:25px;font-weight:600;letter-spacing:.15px;overflow-wrap:anywhere}.intro .portrait-frame{width:100%;height:auto;aspect-ratio:4/4.7;max-width:410px;justify-self:end;background:#281f1a;overflow:hidden}.intro .portrait{width:100%;height:100%;object-fit:cover;object-position:50% 58%;transform:none;display:block}.portfolio{scroll-margin-top:20px}
@media(max-width:1050px){.header{padding:25px 5%;gap:26px}.intro{padding:52px 5% 65px;gap:40px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.intro h1{font-size:60px}.hero-description{font-size:18px}.inquiry-address{font-size:23px}.intro .portrait-frame{aspect-ratio:4/5}}
@media(max-width:760px){.header{padding:23px 6%;gap:22px;flex-wrap:wrap}.header .site-wordmark{font-size:29px}.header nav{gap:22px;font-size:14px}.header .socials{width:100%;justify-content:flex-start;gap:10px}.header .socials a{width:30px;height:30px}.intro{padding:42px 6% 55px;grid-template-columns:1fr;gap:35px}.intro h1{font-size:clamp(47px,9vw,65px);letter-spacing:-1.7px}.hero-role{font-size:16px;margin-bottom:14px}.hero-location{font-size:14px;margin-bottom:22px}.hero-description{font-size:18px;line-height:1.7;max-width:600px}.intro .inquiries{margin-top:26px;padding-top:21px;max-width:none}.inquiry-label{font-size:14px}.inquiry-address{font-size:24px}.intro .portrait-frame{justify-self:start;max-width:none;aspect-ratio:1.45;width:100%}.intro .portrait{object-position:50% 52%}}
@media(prefers-reduced-motion:reduce){.header .socials a{transition:none}}

/* Nickname leads; the artist's name is the supporting identity. */
.intro h1{font-size:clamp(64px,7.3vw,104px);letter-spacing:-3px;line-height:1.02;margin-bottom:18px}.hero-real-name{font-size:23px;line-height:1.4;font-weight:400;letter-spacing:.15px;margin:0 0 12px;color:var(--ink)}.intro .hero-location{margin-bottom:25px}
/* The viewer occupies a stable viewport; artwork never moves the controls. */
dialog#viewer{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:64px 100px 132px;background:#211a17;overflow:hidden}dialog#viewer[open]{display:block}#viewer #full-image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0}#viewer button{width:48px;height:48px;font-size:26px;background:#30251f;border:1px solid var(--line);z-index:2}#viewer #prev,#viewer #next{position:absolute;top:50%;transform:translateY(-50%);bottom:auto}#viewer #prev{left:24px;right:auto}#viewer #next{right:24px;left:auto}#viewer #close{position:absolute;top:20px;right:24px;left:auto;bottom:auto;transform:none}#viewer #caption{position:absolute;left:100px;right:100px;bottom:25px;margin:0;min-height:75px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center;color:var(--ink)}.viewer-title{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.3;font-weight:400}.viewer-count{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.3;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:1px}
@media(max-width:1050px){.intro h1{font-size:76px;letter-spacing:-2.5px}.hero-real-name{font-size:22px}}
@media(max-width:760px){.intro h1{font-size:clamp(62px,12.5vw,88px);letter-spacing:-2px}.hero-real-name{font-size:21px;margin-bottom:11px}dialog#viewer{padding:70px 56px 140px}#viewer button{width:40px;height:44px;font-size:24px}#viewer #prev{left:8px}#viewer #next{right:8px}#viewer #close{top:14px;right:12px}#viewer #caption{left:24px;right:24px;bottom:22px;min-height:90px;gap:10px}.viewer-title{font-size:21px}.viewer-count{font-size:14px}}

#contact-security{margin:20px 0;max-width:100%}#contact-form button:disabled{opacity:.6;cursor:wait}
