:root {
  --portfolio-paper: #fbf7f1;
  --portfolio-ink: #341018;
  --portfolio-muted: rgba(52,16,24,.65);
  --portfolio-line: rgba(110,18,35,.16);
  --portfolio-wine: #6e1223;
  --portfolio-ease: cubic-bezier(.16,1,.3,1);
}

.public-portfolio-page {
  min-height: 100vh;
  color: var(--portfolio-ink);
}

.public-portfolio-page .market-shell {
  padding-top: clamp(26px,5vw,72px);
}

.public-portfolio-hero {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: start;
  gap: clamp(24px,6vw,34px);
  padding: 18px 0 clamp(42px,9vw,72px);
  border-bottom: 1px solid var(--portfolio-line);
}

.public-portfolio-portrait {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--portfolio-line);
  border-radius: clamp(26px,7vw,38px);
  background: #f3ece2;
  box-shadow: 0 24px 58px rgba(65,8,20,.14);
}

.public-portfolio-portrait img,
.public-portfolio-portrait > span {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  object-fit: cover;
  object-position: center 28%;
  border-radius: inherit;
  color: #f3ece2;
  background: linear-gradient(145deg,#8b1b31,#3d0913);
  font: 400 88px/1 Georgia,serif;
}

.public-portfolio-portrait.is-default img {
  padding: clamp(42px,14vw,72px);
  object-fit: contain;
  object-position: center;
  background: #f3ece2;
}

.public-portfolio-portrait i { display: none; }

.public-portfolio-copy {
  min-width: 0;
}

.public-portfolio-copy .eyebrow,
.public-works .eyebrow,
.public-lesson-card .eyebrow {
  color: var(--portfolio-wine);
}

.public-portfolio-copy h1 {
  margin: 14px 0 10px;
  font-size: clamp(48px,15vw,76px);
  line-height: .88;
  letter-spacing: -.07em;
  overflow-wrap: anywhere;
}

.public-portfolio-copy h2 {
  max-width: 720px;
  margin: 0 0 20px;
  color: rgba(110,18,35,.62);
  font: 400 italic clamp(27px,8vw,42px)/1.02 Georgia,serif;
  letter-spacing: -.045em;
}

.public-portfolio-copy > p {
  max-width: 720px;
  margin: 0;
  color: var(--portfolio-muted);
  font-size: 16px;
  line-height: 1.72;
}

.public-portfolio-meta,
.public-portfolio-links {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.public-portfolio-meta span,
.public-portfolio-links a {
  min-height: 44px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--portfolio-line);
  border-radius: 999px;
  color: var(--portfolio-muted);
  background: rgba(255,255,255,.26);
  font-size: 11px;
}

.public-portfolio-links a {
  color: var(--portfolio-wine);
  transition: transform .2s var(--portfolio-ease), background-color .2s ease;
}

.public-portfolio-links a:hover { transform: translateY(-2px); background: rgba(255,255,255,.58); }
.public-portfolio-links .portfolio-edit-link { color: #f3ece2; background: var(--portfolio-wine); }

.public-lesson-card {
  min-width: 0;
  padding: clamp(22px,6vw,30px);
  border: 1px solid var(--portfolio-line);
  border-radius: clamp(24px,6vw,32px);
  background:
    radial-gradient(circle at 92% 12%,rgba(160,52,74,.11),transparent 13rem),
    rgba(255,255,255,.46);
  box-shadow: 0 22px 54px rgba(65,8,20,.1), inset 0 1px 0 rgba(255,255,255,.72);
}

.public-lesson-card strong {
  display: block;
  margin: 18px 0 12px;
  color: var(--portfolio-ink);
  font-size: clamp(27px,7vw,36px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.public-lesson-card p {
  max-width: 560px;
  margin: 0;
  color: var(--portfolio-muted);
  font-size: 14px;
  line-height: 1.68;
}

.public-lesson-card a {
  min-height: 52px;
  margin-top: 22px;
  padding: 0 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 999px;
  color: #f3ece2;
  background: var(--portfolio-wine);
  box-shadow: 0 14px 30px rgba(110,18,35,.18);
  font-size: 12px;
  font-weight: 750;
  transition: transform .2s var(--portfolio-ease), box-shadow .2s ease;
}

.public-lesson-card a:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(110,18,35,.24); }
.public-lesson-card i { font-style: normal; font-size: 17px; }
.public-lesson-card--hero { display: none; }
.public-lesson-card--flow { margin: clamp(32px,8vw,60px) 0 0; }

.public-works {
  margin-top: clamp(34px,8vw,72px);
  padding: clamp(22px,5vw,38px) !important;
}

.public-works .market-section-head {
  margin-bottom: clamp(22px,5vw,34px);
  align-items: end;
  flex-direction: row;
}

.public-works .market-section-head h2 {
  margin-top: 8px;
  font-size: clamp(34px,10vw,58px);
  letter-spacing: -.055em;
}

.public-works .art-grid { gap: clamp(14px,3vw,20px); }
.public-works .art-card { border-radius: clamp(20px,5vw,28px); }
.public-works .art-card-media { background: #eadfd4; }
.public-works .art-card-media img { object-fit: cover; }

.public-lesson-form {
  width: 100%;
  max-width: 860px !important;
  margin: 24px auto clamp(72px,12vw,120px) !important;
  padding: clamp(22px,5vw,42px) !important;
  border-radius: clamp(24px,6vw,36px) !important;
  background: rgba(255,255,255,.48) !important;
  box-shadow: 0 28px 70px rgba(65,8,20,.1), inset 0 1px 0 rgba(255,255,255,.72);
}

.public-lesson-form h2 {
  margin: 10px 0 12px;
  font-size: clamp(34px,9vw,58px);
  letter-spacing: -.055em;
}

.public-lesson-form > p { margin: 0 0 26px; color: var(--portfolio-muted); line-height: 1.65; }
.public-lesson-form label { display: grid; gap: 8px; margin-top: 16px; }
.public-lesson-form select { min-height: 48px; }
.public-lesson-form button { width: 100%; min-height: 54px; margin-top: 20px; border-radius: 999px; }
.public-lesson-form .contact-pair { display: grid; grid-template-columns: 1fr; gap: 0; }
.public-lesson-form .consent-check { grid-template-columns: 22px minmax(0,1fr); align-items: start; }
.public-lesson-form .consent-check input { width: 22px; height: 22px; margin: 1px 0 0; }

.public-portfolio-page .flash {
  margin: 22px 0 0;
  border-radius: 16px;
}

@media (min-width: 620px) {
  .public-portfolio-portrait {
    width: min(100%,560px);
    aspect-ratio: 4 / 3;
  }

  .public-lesson-form .contact-pair { grid-template-columns: 1fr 1fr; gap: 16px; }
}

@media (min-width: 760px) {
  .public-portfolio-hero {
    grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr);
    gap: clamp(34px,5vw,64px);
    align-items: center;
    padding: clamp(46px,7vw,88px) 0;
  }

  .public-portfolio-portrait {
    width: 100%;
    aspect-ratio: .84 / 1;
    border-radius: 44% 44% 30px 30px;
    overflow: visible;
    perspective: 1000px;
  }

  .public-portfolio-portrait img,
  .public-portfolio-portrait > span {
    box-shadow: 0 34px 70px rgba(65,8,20,.2);
    transform: rotateY(3deg) translateZ(18px);
  }

  .public-portfolio-portrait i {
    position: absolute;
    inset: 8% -7% -4% 12%;
    display: block;
    border: 1px solid var(--portfolio-line);
    border-radius: 45% 45% 30px 30px;
    transform: translateZ(-50px) rotate(3deg);
  }

  .public-portfolio-copy h1 { font-size: clamp(68px,8vw,126px); }
  .public-portfolio-copy h2 { font-size: clamp(30px,3.2vw,52px); }
  .public-works .art-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 901px) {
  .public-lesson-card--hero {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(220px,.7fr) minmax(280px,1.3fr) auto;
    align-items: center;
    gap: 24px;
  }

  .public-lesson-card--hero strong,
  .public-lesson-card--hero p,
  .public-lesson-card--hero a { margin: 0; }

  .public-lesson-card--hero .eyebrow { display: none; }
  .public-lesson-card--hero a { min-width: 180px; }
  .public-lesson-card--flow { display: none; }
}

@media (min-width: 1150px) {
  .public-portfolio-hero {
    min-height: 680px;
    grid-template-columns: minmax(260px,.72fr) minmax(0,1.25fr) minmax(250px,.58fr);
    gap: clamp(30px,4vw,68px);
  }

  .public-lesson-card--hero {
    grid-column: auto;
    display: block;
  }

  .public-lesson-card--hero .eyebrow { display: inline-block; }
  .public-lesson-card--hero strong,
  .public-lesson-card--hero p,
  .public-lesson-card--hero a { margin-top: 20px; }
  .public-works .art-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 370px) {
  .public-portfolio-copy h1 { font-size: clamp(44px,14vw,56px); }
  .public-portfolio-copy h2 { font-size: clamp(25px,8vw,34px); }
  .public-works { padding: 18px !important; }
  .public-lesson-card,
  .public-lesson-form { padding: 19px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .public-portfolio-links a,
  .public-lesson-card a,
  .public-portfolio-portrait img { transition: none !important; transform: none !important; }
}

.public-portfolio-links .artist-social{display:inline-flex!important;align-items:center;gap:8px;color:#7d1127!important;border-color:rgba(125,17,39,.24)!important;background:rgba(125,17,39,.045)!important}
.artist-social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.artist-like-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.artist-like-row form{margin:0}.artist-like-button,.artist-like-count{display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border:1px solid rgba(125,17,39,.28);border-radius:999px;color:#7d1127;background:#fffaf4;font-weight:750}.artist-like-button{cursor:pointer}.artist-like-button.is-liked{color:#fff;background:#7d1127;box-shadow:0 10px 24px rgba(125,17,39,.2)}.artist-like-button b{padding-left:7px;border-left:1px solid currentColor}.liked-artists-link{color:#7d1127;font-size:12px;font-weight:700}
