:root{--ink:#171319;--bone:#f1ede4;--paper:#faf8f3;--wine:#5a142c;--magenta:#bc3158;--indigo:#29306f;--fog:#ccd4d0;--line:rgba(23,19,25,.18);--sans:"DM Sans",sans-serif;--serif:"Instrument Serif",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:16px;line-height:1.55}
img{display:block;max-width:100%;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-9999px;top:0;background:var(--bone);color:var(--ink);padding:.8rem 1rem;z-index:20}.skip:focus{left:0}
.site-header{height:76px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(241,237,228,.18);position:absolute;top:0;left:0;right:0;z-index:10}
.wordmark{font-family:var(--serif);font-style:italic;font-size:30px}
nav{display:flex;gap:clamp(14px,2.6vw,40px);font-size:13px;letter-spacing:.04em}nav a{opacity:.72;transition:opacity .2s}nav a:hover,nav a:focus{opacity:1}
.hero{min-height:900px;padding:148px clamp(20px,6vw,92px) 72px;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden}
.kicker,.meta,.section-no{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600}
.kicker{grid-column:1/3;opacity:.65}.hero h1{font-family:var(--sans);font-size:clamp(74px,13vw,190px);letter-spacing:-.085em;line-height:.72;margin:11vh 0 0;position:relative;z-index:2}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;color:var(--magenta)}
.hero-copy{grid-column:2;align-self:end;position:relative;z-index:2}.hero-copy p{font-size:clamp(18px,2vw,27px);line-height:1.35;margin:0 0 28px}.arrow-link{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid rgba(241,237,228,.4);font-size:14px}.arrow-link span{font-size:20px}
.orbit{position:absolute;width:min(62vw,820px);height:min(62vw,820px);right:-13vw;top:50px;border:1px solid rgba(241,237,228,.11);border-radius:50%;transform:rotate(-18deg)}.orbit span{position:absolute;inset:10%;border:1px solid rgba(188,49,88,.26);border-radius:50%;transform:scaleX(.56) rotate(34deg)}.orbit span:nth-child(2){inset:24%;border-color:rgba(41,48,111,.8);transform:scaleX(1.5) rotate(-38deg)}.orbit span:nth-child(3){inset:42%;background:var(--bone);border:0;transform:none}
section{padding:clamp(80px,11vw,170px) clamp(20px,6vw,92px)}.panel-light{background:var(--paper);color:var(--ink)}.panel-bone{background:var(--bone);color:var(--ink)}.panel-blue{background:var(--indigo);color:var(--bone)}.panel-wine{background:var(--wine);color:var(--bone)}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px}.statement{font-family:var(--serif);font-size:clamp(38px,6vw,88px);line-height:1.03;letter-spacing:-.025em;margin:0;max-width:1200px}
.section-heading{display:grid;grid-template-columns:1fr 3fr;margin-bottom:clamp(60px,10vw,140px)}.section-heading h2{grid-column:2;font-family:var(--sans);font-size:clamp(48px,8vw,112px);line-height:.92;letter-spacing:-.06em;margin:0}.section-heading h2 em,.contact h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}.section-intro{grid-column:2;font-size:20px;max-width:700px;margin:30px 0 0}.compact{margin-bottom:70px}
.work{padding-left:0;padding-right:0}.work>.section-heading{padding:0 clamp(20px,6vw,92px)}
.project{padding:clamp(70px,9vw,130px) clamp(20px,6vw,92px)}.project-copy{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:50px}.project-copy h3{font-family:var(--serif);font-size:clamp(52px,8vw,104px);font-weight:400;line-height:.9;margin:0}.project-copy>p:last-child{font-size:18px;max-width:620px;margin:8px 0 0}.meta{opacity:.62}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.media-grid img{aspect-ratio:1.2}.media-grid .wide{grid-column:1/3;aspect-ratio:2.2}.media-grid .shallow{aspect-ratio:2.8;object-fit:contain;background:var(--bone);padding:28px}
.hero-image{aspect-ratio:1.6;object-position:center}.two-up{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-top:14px}.two-up img{height:360px;object-fit:contain;background:#0874c8;padding:10px}
.beauty-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:start}.beauty-grid img{background:white}.beauty-grid .lookbook{grid-column:1/5;grid-row:1/3;aspect-ratio:.75;object-fit:contain}.beauty-grid img:nth-child(2){grid-column:5/13;aspect-ratio:1.34;object-fit:contain}.beauty-grid img:nth-child(3){grid-column:5/9;aspect-ratio:.82;object-fit:contain}.beauty-grid img:nth-child(4){grid-column:9/13;aspect-ratio:1.3;object-fit:contain;align-self:center}
.split-projects{display:grid;grid-template-columns:1.1fr .9fr}.mini-project{padding:clamp(70px,8vw,120px) clamp(20px,5vw,72px)}.mini-project .project-copy{display:block}.mini-project .project-copy h3{margin:12px 0 24px}.mini-project .project-copy p:last-child{margin:0}.map-stack{display:grid;gap:10px}.map-stack img{background:white;padding:8px;aspect-ratio:1.42;object-fit:contain}.map-stack img:not(:first-child){width:82%}.map-stack img:nth-child(3){margin-left:auto}.identity>img{margin-top:80px;aspect-ratio:.82;object-position:42% center}
.swizzle-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:14px;align-items:end}.swizzle-grid img{background:white;object-fit:contain;padding:8px;max-height:620px}.swizzle-grid .feature{height:620px}
.paintings{background:var(--ink)}.painting-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}.painting-grid figure{margin:0}.painting-grid img{height:auto}.painting-grid figcaption{font-size:12px;opacity:.55;margin-top:8px}.p1{grid-column:1/7}.p2{grid-column:8/13;margin-top:14vw!important}.p3{grid-column:2/12;margin-top:8vw!important}.p4{grid-column:1/6;margin-top:7vw!important}.p5{grid-column:7/13;margin-top:15vw!important}.p5 img{aspect-ratio:.84;object-fit:cover}
.photo-strip{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr;gap:10px}.photo-strip img{height:480px}.photo-strip img:nth-child(1),.photo-strip img:nth-child(2){object-position:center}.photo-strip img:nth-child(4){object-position:center}
.experience-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:10vw}.experience-intro>p{font-family:var(--serif);font-size:clamp(26px,3vw,42px);line-height:1.15;margin-top:0}.button{display:inline-block;border:1px solid rgba(241,237,228,.55);padding:13px 20px;margin-top:22px;font-size:14px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:110px 1fr;padding:18px 0;border-top:1px solid rgba(241,237,228,.2)}.timeline span{font-size:12px;opacity:.55}.timeline strong{font-weight:500}.timeline small{grid-column:2;opacity:.55;margin-top:4px}
.contact{min-height:650px;display:flex;flex-direction:column;justify-content:space-between}.contact h2{font-size:clamp(56px,9vw,130px);letter-spacing:-.06em;line-height:.86;margin:50px 0}.contact-row{display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(241,237,228,.35);padding-top:20px}.contact-row a{font-family:var(--serif);font-size:clamp(25px,3vw,42px)}.contact-row p{max-width:420px;margin:0;text-align:right;opacity:.7}
footer{height:90px;padding:0 clamp(20px,6vw,92px);display:flex;align-items:center;justify-content:space-between;font-size:12px;opacity:.65}
@media(max-width:800px){nav a:nth-child(2),nav a:nth-child(3),nav a:nth-child(4){display:none}.hero{min-height:760px;display:block;padding-top:130px}.hero h1{margin-top:110px;font-size:clamp(68px,22vw,120px)}.hero-copy{margin:100px 0 0 18%}.orbit{width:620px;height:620px;right:-390px}.intro,.section-heading,.project-copy,.experience-grid{display:block}.section-no{margin-bottom:30px}.section-heading h2{font-size:58px}.section-intro{font-size:18px}.project-copy h3{font-size:66px;margin:10px 0 24px}.split-projects{display:block}.two-up{grid-template-columns:1fr}.two-up img{height:auto}.beauty-grid{display:grid;grid-template-columns:1fr 1fr}.beauty-grid .lookbook,.beauty-grid img:nth-child(2),.beauty-grid img:nth-child(3),.beauty-grid img:nth-child(4){grid-column:auto;grid-row:auto;aspect-ratio:1;object-fit:contain}.swizzle-grid{grid-template-columns:1fr 1fr}.swizzle-grid .feature{height:auto}.painting-grid{display:block}.painting-grid figure{margin:0 0 70px!important}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip img{height:320px}.timeline{margin-top:70px}.contact-row{display:block}.contact-row p{text-align:left;margin-top:18px}.contact{min-height:580px}}
@media(max-width:480px){.hero h1{font-size:70px}.hero-copy{margin-left:0}.media-grid{display:block}.media-grid img{margin-bottom:10px}.beauty-grid{grid-template-columns:1fr}.swizzle-grid{grid-template-columns:1fr 1fr}.photo-strip{grid-template-columns:1fr}.photo-strip img{height:auto;aspect-ratio:1.2}.timeline li{grid-template-columns:86px 1fr}.contact h2{font-size:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Light editorial revision */
:root{--ink:#153b40;--bone:#f4f0e8;--paper:#fbfaf6;--wine:#d96b63;--magenta:#d74378;--indigo:#315d91;--fog:#dbe8e5;--line:rgba(21,59,64,.18)}
body{background:var(--paper);color:var(--ink)}
.site-header{height:70px;border-bottom-color:var(--line)}
.hero{min-height:700px;padding-top:125px;padding-bottom:64px;background:var(--fog)}
.hero h1{font-size:clamp(60px,9vw,132px);letter-spacing:-.07em;line-height:.78;margin-top:7vh}
.orbit{width:min(58vw,680px);height:min(58vw,680px);right:-11vw;top:40px;border-color:rgba(21,59,64,.14)}
.orbit span{border-color:rgba(215,67,120,.28)}
.orbit span:nth-child(2){border-color:rgba(49,93,145,.42)}
.orbit span:nth-child(3){background:var(--paper)}
section{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}
.panel-blue{background:#dce9f1;color:var(--ink)}
.panel-wine{background:#f1d9d3;color:var(--ink)}
.statement{font-size:clamp(32px,4.5vw,62px);line-height:1.08}
.section-heading{display:block;margin-bottom:clamp(46px,7vw,84px)}
.section-heading h2{font-size:clamp(38px,5.5vw,72px);line-height:.98;letter-spacing:-.045em;margin:16px 0 0}
.section-intro{font-size:18px;margin-top:24px}
.compact{margin-bottom:54px}
.project{padding-top:clamp(60px,7vw,94px);padding-bottom:clamp(60px,7vw,94px)}
.project-copy{display:block;margin-bottom:42px}
.project-copy .meta{margin:0}
.project-copy h3{font-size:clamp(42px,5.5vw,70px);line-height:.95;margin:10px 0 18px}
.project-copy>p:last-child{max-width:670px;margin:0}
.identity>img{margin-top:42px;aspect-ratio:auto;object-fit:contain;object-position:center;background:var(--paper)}
.swizzle-grid{grid-template-columns:repeat(4,1fr);align-items:stretch}
.swizzle-grid img,.swizzle-grid .feature{width:100%;height:430px;max-height:none;padding:12px;object-fit:contain}
.paintings{background:#d7e4e1;color:var(--ink)}
.p5 img{aspect-ratio:auto;object-fit:contain}
.button,.timeline li,.contact-row{border-color:var(--line)}
.contact{min-height:500px}
.contact h2{font-size:clamp(40px,6vw,82px);letter-spacing:-.045em;line-height:.94;margin:34px 0}
@media(max-width:800px){.hero{min-height:620px}.hero h1{margin-top:82px;font-size:clamp(58px,17vw,94px)}.section-heading h2{font-size:46px}.project-copy h3{font-size:50px}.swizzle-grid{grid-template-columns:1fr 1fr}.swizzle-grid img,.swizzle-grid .feature{height:360px}.contact{min-height:440px}}
@media(max-width:480px){.hero h1{font-size:58px}.section-heading h2{font-size:40px}.project-copy h3{font-size:44px}.contact h2{font-size:42px}.swizzle-grid img,.swizzle-grid .feature{height:270px}}
.beauty-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.beauty-grid .lookbook,.beauty-grid img:nth-child(2),.beauty-grid img:nth-child(3),.beauty-grid img:nth-child(4){grid-column:auto;grid-row:auto;aspect-ratio:auto;width:100%;height:460px;object-fit:contain;padding:10px;align-self:stretch}
.map-stack{grid-template-columns:1fr;gap:14px}
.map-stack img,.map-stack img:not(:first-child),.map-stack img:nth-child(3){width:100%;margin:0;aspect-ratio:1.42;object-fit:contain;padding:10px}
@media(max-width:800px){.beauty-grid{grid-template-columns:1fr 1fr}.beauty-grid .lookbook,.beauty-grid img:nth-child(2),.beauty-grid img:nth-child(3),.beauty-grid img:nth-child(4){height:390px}}
@media(max-width:480px){.beauty-grid{grid-template-columns:1fr}.beauty-grid .lookbook,.beauty-grid img:nth-child(2),.beauty-grid img:nth-child(3),.beauty-grid img:nth-child(4){height:auto;max-height:520px}}
.orbit span:nth-child(3){display:none}
.two-up{grid-template-columns:1.45fr 1fr;align-items:start;background:transparent}
.two-up img{height:auto;aspect-ratio:auto;object-fit:contain;background:transparent;padding:0}
@media(max-width:800px){.two-up{grid-template-columns:1fr}}

/* Vivid gradient direction */
:root{--ink:#111439;--bone:#f8f8fb;--paper:#fff;--magenta:#d947a5;--indigo:#3158d8;--fog:#f4f5fb;--line:rgba(17,20,57,.18)}
body{background:#fff;color:var(--ink)}
.hero{background:
  radial-gradient(circle at 11% 82%,rgba(255,207,111,.88) 0 8%,transparent 27%),
  radial-gradient(circle at 42% 58%,rgba(117,222,218,.96) 0 15%,transparent 38%),
  radial-gradient(circle at 79% 24%,rgba(182,140,255,.94) 0 17%,transparent 43%),
  linear-gradient(120deg,#a8ede7 7%,#93ccf5 43%,#c29aff 73%,#e876d2 100%)}
.hero h1 em{color:var(--ink)}
.orbit{border-color:rgba(17,20,57,.18)}
.orbit span{border-color:rgba(17,20,57,.22)}
.orbit span:nth-child(2){border-color:rgba(17,20,57,.34)}
.panel-light,.panel-bone{background:#fff;color:var(--ink)}
.panel-blue{background:#f0f3ff;color:var(--ink)}
.panel-wine{background:#f7f5ff;color:var(--ink)}
.paintings{background:#fff;color:var(--ink)}
.work>.section-heading h2{font-size:clamp(60px,9vw,132px);line-height:.78;letter-spacing:-.07em}
@media(max-width:800px){.work>.section-heading h2{font-size:clamp(58px,17vw,94px)}}
@media(max-width:480px){.work>.section-heading h2{font-size:58px}}

/* Rhythm, closing gradient and editorial photography */
.nowrap{white-space:nowrap}
.project,.mini-project{padding-top:clamp(68px,7.5vw,108px);padding-bottom:clamp(68px,7.5vw,108px)}
.contact{background:
  radial-gradient(circle at 88% 18%,rgba(255,207,111,.82) 0 8%,transparent 28%),
  radial-gradient(circle at 58% 54%,rgba(117,222,218,.94) 0 16%,transparent 39%),
  radial-gradient(circle at 18% 82%,rgba(182,140,255,.94) 0 17%,transparent 44%),
  linear-gradient(300deg,#a8ede7 7%,#93ccf5 43%,#c29aff 73%,#e876d2 100%)}
.photo-strip{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:260px 260px;gap:14px;align-items:stretch}
.photo-strip img{height:100%;min-height:0}
.photo-strip img:nth-child(1){grid-column:1/8;grid-row:1/3;object-position:center}
.photo-strip img:nth-child(2){grid-column:8/13;grid-row:1;object-position:center 54%}
.photo-strip img:nth-child(3){grid-column:8/11;grid-row:2;object-position:center 45%}
.photo-strip img:nth-child(4){grid-column:11/13;grid-row:2;object-position:48% center}
@media(max-width:800px){.photo-strip{grid-template-columns:1fr 1fr;grid-template-rows:340px 260px 260px}.photo-strip img:nth-child(1){grid-column:1/3;grid-row:1}.photo-strip img:nth-child(2),.photo-strip img:nth-child(3),.photo-strip img:nth-child(4){grid-column:auto;grid-row:auto}.photo-strip img:nth-child(2){grid-column:1/3}}
@media(max-width:480px){.photo-strip{display:grid;grid-template-columns:1fr;grid-template-rows:none}.photo-strip img:nth-child(1),.photo-strip img:nth-child(2),.photo-strip img:nth-child(3),.photo-strip img:nth-child(4){grid-column:1;grid-row:auto;height:auto;aspect-ratio:1.25}}

/* Selective color blocks and Swizzle art direction */
.project-beauty{background:#eee9ff;color:var(--ink)}
.identity{background:#75deda;color:var(--ink)}
.swizzle{background:#3158d8;color:#fff}
.swizzle .meta{opacity:.78}
.swizzle-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:250px 250px;gap:16px;align-items:stretch}
.swizzle-grid img,.swizzle-grid .feature{height:100%;max-height:none;width:100%;padding:14px;background:#fff;object-fit:contain}
.swizzle-grid .feature{grid-column:1/6;grid-row:1/3}
.swizzle-grid img:nth-child(2){grid-column:6/9;grid-row:1/3}
.swizzle-grid img:nth-child(3){grid-column:9/13;grid-row:1}
.swizzle-grid img:nth-child(4){grid-column:9/13;grid-row:2}
@media(max-width:800px){.swizzle-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 340px}.swizzle-grid .feature,.swizzle-grid img:nth-child(2),.swizzle-grid img:nth-child(3),.swizzle-grid img:nth-child(4){grid-column:auto;grid-row:auto}}
@media(max-width:480px){.swizzle-grid{grid-template-columns:1fr;grid-template-rows:none}.swizzle-grid .feature,.swizzle-grid img{height:360px}}
.kk-grid img:first-child{object-fit:cover;object-position:center 28%}
.swizzle{background:#e4f8f5;color:var(--ink)}
.swizzle .meta{opacity:.62}
