:root{--ink:#22201f;--muted:#77716e;--line:#e8e4e1;--purple:#7753a5;--paper:#fff;--warm:#faf9f8;--shadow:0 20px 70px rgba(18,14,25,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:4px}img{max-width:100%}.site-header{max-width:1340px;margin:0 auto;padding:43px 52px 21px;display:flex;justify-content:space-between;align-items:end;gap:28px;border-bottom:1px solid var(--line)}.brand{display:block;flex-shrink:0}.brand-name{font-size:39px;line-height:1;font-weight:800;letter-spacing:-2.3px;text-transform:lowercase}.brand-tag{margin:8px 0 0 3px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#777}.desktop-nav{display:flex;align-items:center;flex-wrap:wrap;gap:22px;padding-bottom:3px}.desktop-nav a,.mobile-nav a{font-size:11px;white-space:nowrap;letter-spacing:1.1px;text-transform:uppercase;color:#696567;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active,.mobile-nav a.active{color:var(--purple)}.desktop-nav a.active{font-weight:700}.mobile-nav-btn{display:none;border:1px solid var(--line);background:white;padding:11px 12px;border-radius:5px}.mobile-nav{display:none;max-width:1340px;margin:auto;padding:15px 26px 20px;border-bottom:1px solid var(--line)}.mobile-nav.open{display:grid;gap:18px}.site-main{max-width:1340px;margin:0 auto;padding:25px 52px 28px;min-height:calc(100vh - 204px)}.gallery-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:27px;margin-bottom:11px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.1px;color:#888}.view-toggle{border:0;background:none;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;padding:7px 0}.view-toggle:hover{color:var(--purple)}.gallery-stage{position:relative;height:min(64vh,675px);min-height:385px;display:flex;align-items:center;justify-content:center;background:#fff}.stage-image-wrap{height:100%;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.stage-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;transition:opacity .16s ease;box-shadow:0 0 0 0 transparent}.stage-image.is-changing{opacity:.35}.stage-missing{display:none;text-align:center;color:#777;background:#f8f6f5;padding:26px;max-width:360px}.stage-missing a{color:var(--purple);text-decoration:underline}.gallery-arrow{position:absolute;z-index:5;top:45%;transform:translateY(-50%);width:45px;height:66px;background:rgba(255,255,255,.75);border:0;color:#777;font-size:40px;font-weight:200;transition:color .2s,background .2s}.gallery-arrow:hover{background:white;color:var(--ink)}.gallery-arrow.prev{left:-34px}.gallery-arrow.next{right:-34px}.gallery-caption{min-height:81px;display:flex;align-items:start;justify-content:space-between;gap:20px;padding:15px 0 6px;border-bottom:1px solid var(--line)}.caption-copy{min-height:58px}.caption-title{font-size:16px;font-weight:600;letter-spacing:-.2px;line-height:1.35;margin:0 0 5px}.caption-sub,.caption-note{font-size:12px;line-height:1.5;color:#777;margin:0}.slide-counter{flex-shrink:0;font-size:12px;color:#9c9692;font-variant-numeric:tabular-nums;padding-top:4px}.gallery-actions{display:flex;align-items:center;justify-content:space-between;padding:18px 0 2px;color:#6f6967}.gallery-pager{display:flex;gap:25px}.control-btn{border:0;background:transparent;color:#67605d;font-size:12px;letter-spacing:.4px;padding:8px 0}.control-btn:hover{color:var(--purple)}.thumb-toggle{font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.thumb-panel{display:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-top:22px;padding:22px 0 12px;border-top:1px solid var(--line)}.thumb-panel.open{display:grid}.thumbnail{padding:0;background:#f8f8f8;border:2px solid transparent;aspect-ratio:1.38;overflow:hidden;transition:border .2s,opacity .2s;position:relative}.thumbnail:hover{opacity:.8}.thumbnail.selected{border-color:var(--purple)}.thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.thumb-number{position:absolute;bottom:5px;right:7px;color:#fff;text-shadow:0 1px 4px #333;font-size:10px}.grid-gallery{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:16px;padding-bottom:30px}.grid-gallery.open{display:grid}.grid-card{border:0;background:transparent;padding:0;text-align:left}.grid-card-visual{background:#fff;aspect-ratio:1.34;display:flex;align-items:center;justify-content:center;overflow:hidden}.grid-card img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.site-footer{max-width:1340px;margin:0 auto;padding:18px 52px 29px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.35px;color:#aaa;display:flex;justify-content:space-between}.site-footer a:hover{color:var(--purple)}.simple-page{margin:40px auto 90px;max-width:930px}.simple-page h1{font-size:44px;letter-spacing:-2px;font-weight:700;margin:0 0 18px}.simple-page h2{font-size:22px;letter-spacing:-.6px;margin:38px 0 14px}.simple-page p{line-height:1.75;font-size:15px;color:#555}.about-intro{display:grid;grid-template-columns:180px 1fr;align-items:start;gap:45px;margin:32px 0 40px}.avatar{width:155px;height:155px;border-radius:50%;object-fit:cover;background:#eee}.lead{font-size:19px!important;color:#343033!important}.work-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line);padding-top:2px}.work-columns ul{list-style:none;margin:0;padding:0}.work-columns li{margin:0 0 10px;color:#5f5b59;font-size:13px;line-height:1.5}.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 32px;padding:0;list-style:none}.pill-list li{font-size:12px;background:#f5f3f3;padding:9px 13px;border-radius:2px;color:#5d5754}.contact-card{max-width:625px;margin:77px 0;padding:48px;background:#faf9f8;border:1px solid var(--line)}.contact-card p{max-width:460px}.mail-link{display:inline-block;margin-top:21px;border:1px solid #332f30;background:#332f30;color:#fff;padding:15px 23px;letter-spacing:1.2px;text-transform:uppercase;font-size:11px;transition:background .2s}.mail-link:hover{background:var(--purple);border-color:var(--purple)}.contact-email{margin-top:23px;color:#777;font-size:13px}.trailer-note{font-size:12px;color:#8b8583;margin:0 auto 18px;max-width:700px;text-align:center}.sr-only{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden;white-space:nowrap}.noscript{padding:40px;background:#faf9f8;text-align:center}@media(max-width:1050px){.site-header{align-items:start;flex-direction:column;gap:30px}.desktop-nav{gap:18px}.gallery-stage{height:min(60vh,650px)}}@media(max-width:720px){.site-header{padding:25px 22px 20px;flex-direction:row;align-items:center;gap:12px}.brand-name{font-size:30px;letter-spacing:-1.7px}.brand-tag{font-size:8px;letter-spacing:1.8px}.desktop-nav{display:none}.mobile-nav-btn{display:block}.site-main{padding:20px 23px}.gallery-topline{margin-bottom:8px}.gallery-stage{height:51vh;min-height:250px}.gallery-arrow{width:30px;height:48px;font-size:29px;top:50%}.gallery-arrow.prev{left:-21px}.gallery-arrow.next{right:-21px}.gallery-caption{padding-top:14px;min-height:108px}.caption-title{font-size:14px}.caption-sub,.caption-note{font-size:11px}.thumb-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.grid-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.site-footer{padding:18px 23px 30px}.simple-page{margin:24px auto 45px}.simple-page h1{font-size:36px}.about-intro{grid-template-columns:1fr;gap:17px}.avatar{width:110px;height:110px}.work-columns{grid-template-columns:1fr;gap:8px}.contact-card{padding:27px;margin:25px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* 2026 refined design — a single Arial typeface throughout */
:root{--ink:#242424;--muted:#66666a;--line:#e9e8e7;--purple:#735678}
.grid-card{display:block;min-width:0;overflow:hidden}
.grid-card-visual{position:relative;background:#fff;isolation:isolate}
.grid-card-visual img{display:block}



.grid-card:is(:hover,:focus-visible) 

.about-page{max-width:1050px;margin:48px auto 75px}
.about-heading{margin-bottom:45px}
.about-heading .eyebrow{margin:0 0 10px}
.about-heading h1{margin:0;font-size:clamp(40px,5vw,54px);line-height:1.07;letter-spacing:-2.5px;font-weight:700}
.about-hero{display:grid;grid-template-columns:224px minmax(0,1fr);gap:60px;align-items:center}
.about-hero .avatar{width:224px;height:224px;border-radius:50%;object-fit:cover;object-position:center;background:#fff;filter:grayscale(100%)}
.about-copy{max-width:620px}
.about-copy h2{font-size:clamp(24px,2.5vw,30px);letter-spacing:-.9px;font-weight:500;line-height:1.3;margin:0 0 17px}
.about-copy p{font-size:16px;line-height:1.75;color:var(--muted);margin:0;max-width:590px}
.about-skills{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 48px;padding:0;list-style:none}
.about-skills li{font-size:12px;line-height:1.3;color:#615d5f;background:#f7f6f6;border-radius:100px;padding:10px 15px}
.credits{border-top:1px solid var(--line);padding-top:33px;display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.4fr);gap:65px}
.credits-group h2{margin:0 0 20px;font-size:19px;font-weight:600;letter-spacing:-.45px}
.credits-group ul{list-style:none;padding:0;margin:0}
.credits-group li{font-size:13px;line-height:1.5;color:#626064;margin:0 0 11px;break-inside:avoid}
.credits-long{columns:2;column-gap:32px}
@media(max-width:850px){.about-page{margin:30px auto 55px}.about-hero{grid-template-columns:180px 1fr;gap:32px}.about-hero .avatar{width:180px;height:180px}.credits{grid-template-columns:1fr 1.3fr;gap:30px}.credits-long{columns:1}}
@media(max-width:620px){.about-heading{margin-bottom:26px}.about-hero{grid-template-columns:1fr;gap:23px;align-items:start}.about-hero .avatar{width:154px;height:154px}.about-copy h2{font-size:25px;line-height:1.3}.about-copy p{font-size:15px}.about-skills{margin:28px 0 38px;gap:7px}.about-skills li{padding:8px 11px;font-size:11px}.credits{grid-template-columns:1fr;gap:30px}.credits-group h2{font-size:18px;margin-bottom:16px}.credits-group li{margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){.grid-card img{transition:none}}
/* Small-text legibility / contrast pass */
.eyebrow,.site-footer,.site-footer a,.slide-counter,.brand-tag{color:#69676a}
.caption-sub,.caption-note,.control-btn{color:#666366}

/* Minimal introduction — no taglines, secondary descriptions or skills chips. */
.about-page{margin:68px auto 80px}
.about-page .about-hero{margin-bottom:68px;gap:54px}
.about-page .about-copy h1{font-size:clamp(34px,4vw,48px);font-weight:700;line-height:1.12;letter-spacing:-1.8px;margin:0 0 16px}
.about-page .about-copy p{font-size:18px;line-height:1.55;color:#5b585c;max-width:520px;margin:0}
.about-page .credits{padding-top:38px}
@media(max-width:620px){.about-page{margin:34px auto 55px}.about-page .about-hero{gap:26px;margin-bottom:42px}.about-page .about-copy h1{font-size:36px;letter-spacing:-1.2px}.about-page .about-copy p{font-size:16px}.about-page .credits{padding-top:26px}}


/* Portfolio grid polish — consistent white artboards without cropping artwork. */
.site-header{align-items:center}
.desktop-nav{gap:clamp(12px,1.45vw,22px)}
.desktop-nav a{font-size:12px;letter-spacing:.85px;line-height:1.45}
.gallery-topline{margin-bottom:15px}
.grid-gallery{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(18px,1.9vw,28px);row-gap:clamp(18px,1.9vw,28px);margin-top:11px;align-items:start}
.grid-card{width:100%;min-width:0;align-self:start}
.grid-card-visual{width:100%;aspect-ratio:4/3;display:grid;place-items:center;background:#fff;overflow:hidden}
.grid-card-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%}
@media(max-width:1050px){.site-header{align-items:flex-start}}
@media(max-width:720px){.site-header{align-items:center}.grid-gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:17px}.grid-card-visual{aspect-ratio:4/3}}
@media(max-width:450px){.grid-gallery{grid-template-columns:1fr;row-gap:22px}.grid-card-visual{aspect-ratio:4/3}}


/* Full-artwork visibility fix: never crop or zoom portfolio images. */
.grid-card{overflow:visible}
.grid-card-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4 / 3;
  background:#fff;
  overflow:hidden; /* Keeps only the caption fade inside the artboard */
}
.grid-card-visual > img,
.grid-card img,
.grid-card:hover img,
.grid-card:focus-visible img,

/* Slideshow thumbnails should also show the entire frame. */
.thumbnail{background:#fff}
.thumbnail img{object-fit:contain;object-position:center;transform:none}

/* Minimal, accessible contact form */
.contact-form{display:grid;gap:18px;margin-top:27px}
.contact-field{display:grid;gap:8px}
.contact-field label{font-size:12px;letter-spacing:.45px;color:#514d51}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;border:1px solid #d4d1d3;border-radius:3px;background:#fff;color:#242424;padding:12px 13px;font:15px/1.5 Arial,sans-serif;transition:border-color .15s ease}
.contact-field textarea{resize:vertical;min-height:136px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid #735678;outline-offset:2px;border-color:#735678}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form .mail-link{justify-self:start;margin-top:0;min-width:105px;cursor:pointer}
.contact-form .mail-link:disabled{background:#a7a2a5;border-color:#a7a2a5;cursor:not-allowed}
.contact-status{margin:0!important;font-size:12px!important;line-height:1.5!important;color:#6a6567!important}
.contact-status:empty{display:none}
.contact-status[data-state=success]{color:#246a48!important}
.contact-status[data-state=error]{color:#a12a32!important}

/* Squarespace-style masonry gallery: five narrow columns, natural image heights. */
.site-main:has(> .gallery){
  width:100%;
  max-width:1800px;
  padding-inline:8px;
}
.gallery-topline{
  max-width:1330px;
  padding-inline:12px;
  margin-inline:auto;
  margin-bottom:12px;
}
.grid-gallery.open{
  display:grid;
  grid-template-columns:repeat(var(--gallery-columns,5),minmax(0,1fr));
  gap:8px;
  margin-top:0;
  padding-bottom:28px;
  align-items:start;
}
.grid-column{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.grid-gallery .grid-card{
  display:block;
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  margin:0;
  background:transparent;
  line-height:0;
  overflow:visible;
  cursor:pointer;
}
.grid-gallery .grid-card-visual{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  overflow:visible;
  background:#fff;
}
.grid-gallery .grid-card-visual > img,
.grid-gallery .grid-card:is(:hover,:focus-visible) .grid-card-visual > img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  transform:none!important;
  transition:none;
}
.grid-gallery .grid-card:focus-visible{
  outline:3px solid var(--purple);
  outline-offset:3px;
}
@media(max-width:720px){
  .site-main:has(> .gallery){padding-inline:6px}
  .gallery-topline{padding-inline:9px}
  .grid-gallery.open,.grid-column{gap:6px}
}
