:root{
  --ground:#F3F6F8; --paper:#FFFFFF; --ink:#1B2430; --muted:#55606E; --line:#D5DDE3;
  --sky:#91CDF5; --sand:#C9A876; --sugar:#EFA6C0; --ceremony:#2E5E8C;
  --sand-deep:#7A5B2C; --sugar-deep:#8E3457; --ceremony-deep:#1F4466;
  --wrap:1200px; --gutter:clamp(20px,4vw,40px);
  --font:'Bricolage Grotesque', 'Helvetica Neue', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ceremony);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* header */
.site-head{position:sticky;top:0;z-index:5;background:rgba(243,246,248,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.mark{font-weight:800;font-size:21px;letter-spacing:-.02em;text-decoration:none}
.nav{display:flex;gap:6px 22px;flex-wrap:wrap;align-items:center}
.nav a{text-decoration:none;font-size:15px;font-weight:500;padding:10px 0}
.nav a:hover{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;font:inherit;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;border:2px solid var(--ink)}
.btn-solid{background:var(--ink);color:#fff}
.btn-solid:hover{background:#2C3A4C;border-color:#2C3A4C}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--paper)}
.nav .btn{min-height:44px;padding:8px 18px;font-size:15px;color:#fff}

/* hero */
.hero{padding:clamp(56px,9vw,112px) 0 clamp(40px,6vw,72px)}
.hero h1{margin:0;font-weight:800;font-size:clamp(46px,8.4vw,112px);line-height:.94;letter-spacing:-.045em;max-width:12ch}
.hero .lede{margin:28px 0 0;font-size:clamp(19px,2vw,22px);max-width:58ch;color:#323D4B}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(48px,7vw,80px);border-top:2px solid var(--ink)}
.roster a{display:flex;flex-direction:column;gap:10px;padding:24px 24px 28px 0;text-decoration:none;border-right:1px solid var(--line)}
.roster a + a{padding-left:24px}
.roster a:last-child{border-right:0}
.roster .swatch{width:44px;height:10px;border-radius:5px}
.roster .who{font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1.1}
.roster .what{font-size:16px;color:var(--muted)}
.roster .proof{font-size:16px;font-weight:500}
.roster a:hover .who{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}

.published{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.published p{margin:0;padding:20px 0;font-size:15px;color:var(--muted);line-height:1.8}
.published strong{color:var(--ink);font-weight:700;margin-right:6px}

/* artists */
.artist{padding:clamp(64px,8vw,104px) 0;border-bottom:1px solid var(--line)}
.artist:nth-of-type(even){background:var(--paper)}
.artist-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:end}
.artist .craft{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:700;margin:0 0 14px}
.artist .craft i{width:28px;height:8px;border-radius:4px;display:inline-block}
.artist h2{margin:0;font-weight:800;font-size:clamp(44px,6.6vw,88px);line-height:.95;letter-spacing:-.04em}
.artist .bio{margin:20px 0 0;font-size:19px;max-width:52ch;color:#323D4B}
.stats{list-style:none;margin:0;padding:0;display:grid;gap:0}
.stats li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.stats li:first-child{border-top:2px solid var(--ink)}
.stats b{white-space:nowrap;font-weight:800;font-size:clamp(28px,3.2vw,38px);letter-spacing:-.03em;line-height:1}
.stats span{font-size:16px;color:var(--muted);text-align:right}
.channels{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:16px;font-weight:700}
.channels a{text-underline-offset:4px}

.work-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:clamp(40px,5vw,56px) 0 18px}
.work-head h3{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}
.work-head p{margin:0;font-size:15px;color:var(--muted)}
.work{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin}
.post{flex:0 0 340px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.post .brand{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.post .brand i{width:10px;height:10px;border-radius:50%;display:inline-block}
.post blockquote.instagram-media{margin:0 !important;min-width:326px !important;max-width:340px !important;width:100% !important;border-radius:14px !important;border:1px solid var(--line) !important;box-shadow:none !important;background:var(--paper) !important}
.fallback{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;aspect-ratio:4/5;padding:22px;border-radius:14px;text-decoration:none;color:var(--ink);border:1px solid var(--line)}
.fallback strong{font-size:21px;line-height:1.2;letter-spacing:-.01em}
.fallback span{font-size:15px;color:var(--muted)}
.tile{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:4/5;padding:22px;border-radius:14px;color:#fff;text-decoration:none}
.tile strong{font-size:24px;line-height:1.15;letter-spacing:-.02em}
.tile span{font-size:15px;opacity:.88}
.tile em{font-style:normal;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.book-artist{margin-top:14px}

/* process */
.process{padding:clamp(64px,8vw,104px) 0;background:var(--ink);color:#EEF2F5}
.process h2,.formats h2,.inquire h2{margin:0;font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.035em;max-width:16ch}
.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s}
.steps li{padding:24px 24px 0 0;border-top:2px solid var(--sky);counter-increment:s}
.steps li + li{padding-left:24px;border-left:1px solid #34445A}
.steps li::before{content:counter(s);display:block;font-weight:800;font-size:44px;line-height:1;color:var(--sky);margin-bottom:14px}
.steps h3{margin:0 0 8px;font-size:21px;font-weight:700}
.steps p{margin:0 0 10px;font-size:16px;color:#C3CCD6}
.steps small{font-size:14px;font-weight:700;color:#EEF2F5}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:72px}
.quotes blockquote{margin:0}
.quotes p{margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:500;line-height:1.15;letter-spacing:-.02em}
.quotes cite{display:block;margin-top:10px;font-style:normal;font-size:15px;color:#C3CCD6}

.formats{padding:clamp(64px,8vw,104px) 0}
.format-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.format-list li{padding:22px 0;border-top:1px solid var(--line)}
.format-list h3{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.01em}
.format-list p{margin:0;font-size:17px;color:var(--muted);max-width:44ch}

/* inquiry */
.inquire{padding:clamp(64px,8vw,104px) 0;background:var(--paper);border-top:1px solid var(--line)}
.inquire .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px)}
.inquire .side p{font-size:18px;color:#323D4B;max-width:42ch;margin:20px 0 0}
.inquire .side a{font-weight:700}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:15px;font-weight:700}
input,select,textarea{font:inherit;font-size:17px;color:var(--ink);background:var(--ground);border:1.5px solid #B8C3CC;border-radius:10px;padding:12px 14px;min-height:50px;width:100%}
textarea{min-height:130px;resize:vertical}
.err{font-size:14px;color:#A3262A;min-height:0}
.err:empty{display:none}
.form-note{grid-column:1/-1;font-size:14px;color:var(--muted);margin:0}
form .btn{grid-column:1/-1;justify-self:start}

.site-foot{padding:32px 0;font-size:15px;color:var(--muted)}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.site-foot nav{display:flex;flex-wrap:wrap;gap:12px 24px}

@media (max-width:900px){
  .roster{grid-template-columns:1fr}
  .roster a,.roster a + a{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
  .artist-top,.inquire .wrap{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .steps li:nth-child(3){padding-left:0;border-left:0}
  .quotes,.format-list{grid-template-columns:1fr}
}
@media (max-width:560px){
  .steps{grid-template-columns:1fr}
  .steps li,.steps li + li{padding-left:0;border-left:0}
  form{grid-template-columns:1fr}
  .post{flex-basis:326px}
  .nav{gap:4px 16px}
}

/* keep anchored headings clear of the sticky header */
section[id]{scroll-margin-top:72px}
@media (max-width:560px){.site-head{position:static}}

/* self-hosted video tiles (Lynn Sun) */
.post-video{flex-basis:min(520px,82vw)}
.clip{display:block;width:100%;aspect-ratio:16/9;border-radius:14px;background:var(--ink);object-fit:cover}

/* creators page (/join) */
.nav .btn-line{color:var(--ink);background:transparent}
.nav .btn-line:hover{background:var(--paper);text-decoration:none}
.eyebrow{margin:0 0 18px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:8px;border-radius:4px;background:var(--sand)}
.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.join{padding:clamp(64px,8vw,104px) 0;background:var(--sand);color:var(--ink)}
.join h2{margin:0;font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.035em;max-width:18ch}
.join-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);margin-top:48px}
.join h3{margin:0 0 10px;font-size:20px;font-weight:700}
.join ul{margin:0 0 28px;padding:0;list-style:none}
.join ul li{padding:10px 0;border-top:1px solid rgba(27,36,48,.25);font-size:17px}
.join ul li:last-child{border-bottom:1px solid rgba(27,36,48,.25)}
.join form{background:var(--paper);border-radius:18px;padding:clamp(20px,3vw,32px)}
.join .side-note{font-size:16px;margin:0}
.join .side-note a{font-weight:700}
@media (max-width:900px){.join-grid,.steps-3{grid-template-columns:1fr}.steps-3 li,.steps-3 li + li{padding-left:0;border-left:0}}
