:root {
  --ink: #17151d;
  --cream: #fff9ec;
  --pink: #f155a0;
  --purple: #5a38c9;
  --yellow: #ffd84c;
  --green: #1f7655;
  --sans: "Syne", Arial, sans-serif;
  --serif: "Bodoni Moda", Georgia, serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); font-size: 17px; line-height: 1.4; }
body::selection { color: #fff; background: var(--purple); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.site-shell { overflow: clip; }.page-grain { position: fixed; z-index: 15; inset: 0; pointer-events: none; opacity: .045; mix-blend-mode: multiply; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

.site-header { position: absolute; z-index: 5; top: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: start; width: 100%; padding: 25px clamp(22px, 4.5vw, 78px); color: var(--cream); }.monogram { width: max-content; font-size: 29px; font-weight: 800; letter-spacing: -.13em; line-height: 1; }.monogram span { margin-left: 4px; color: var(--yellow); font-size: 16px; letter-spacing: 0; }.site-header > p { justify-self: center; margin: 0; font-size: 14px; line-height: 1.15; text-align: center; }.site-header nav { display: flex; justify-content: flex-end; gap: 22px; font-size: 14px; font-weight: 700; }.site-header nav a { position: relative; padding-bottom: 4px; }.site-header nav a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }.site-header nav a:hover::after { transform: scaleX(1); transform-origin: left; }

.hero { position: relative; display: flex; flex-direction: column; min-height: min(930px, 100svh); padding: 130px clamp(22px, 6.2vw, 108px) 54px; isolation: isolate; overflow: hidden; color: var(--cream); background: #171132; }.hero::before { content: ""; position: absolute; z-index: -3; inset: -22%; background: radial-gradient(circle at 78% 20%, #2c7ce6 0 6%, transparent 23%), radial-gradient(circle at 24% 88%, #f14c9e 0 3%, transparent 26%), linear-gradient(115deg, #130e2b 10%, #163462 45%, #4b3bb5 72%, #e74d94 111%); filter: blur(5px); animation: colour-drift 15s ease-in-out infinite alternate; }.hero::after { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(8,2,23,.38), transparent 58%, rgba(39,0,41,.12)); }.hero-shape { position: absolute; z-index: -1; display: block; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; }.hero-shape--one { right: -16vw; bottom: -22vw; width: min(67vw, 930px); aspect-ratio: 1; box-shadow: inset 0 0 0 26px rgba(255,216,76,.06), inset 0 0 0 100px rgba(255,255,255,.02); animation: spin 24s linear infinite; }.hero-shape--two { top: 24%; right: 22%; width: 19px; aspect-ratio: 1; border: 0; background: var(--yellow); box-shadow: 0 0 30px rgba(255,216,76,.85); animation: glow-pulse 2.5s ease-in-out infinite alternate; }.hero-shape--three { top: 34%; right: 9%; width: 54px; aspect-ratio: 1; border-radius: 0; border-color: rgba(255,255,255,.55); transform: rotate(36deg); animation: float 6s ease-in-out infinite alternate; }
@keyframes colour-drift { to { transform: scale(1.08) rotate(-5deg); filter: blur(12px) saturate(1.24); } } @keyframes spin { to { transform: rotate(360deg); } } @keyframes glow-pulse { to { transform: scale(1.45); opacity: .58; } } @keyframes float { to { transform: translateY(32px) rotate(95deg); } }
.hero-meta, .hero-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }.hero-meta { font-family: var(--mono); font-size: 14px; letter-spacing: .02em; }.hero-meta span:last-child { text-align: right; }.hero h1 { max-width: 1160px; margin: auto 0 40px; font-size: clamp(78px, 11vw, 190px); font-weight: 700; line-height: .72; letter-spacing: -.1em; }.hero h1 em { color: var(--yellow); font-family: var(--serif); font-style: italic; font-weight: 500; letter-spacing: -.11em; }.hero h1 span { color: #feb1d7; }.hero-foot p { max-width: 410px; margin: 0; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.24; letter-spacing: -.03em; }.hero-foot a { display: flex; align-items: center; gap: 28px; min-width: 208px; padding: 13px 0; border-bottom: 2px solid currentColor; font-size: 18px; font-weight: 700; transition: gap .35s ease, color .35s ease; }.hero-foot a:hover { gap: 43px; color: var(--yellow); }.hero-foot b { font-size: 27px; line-height: .5; }

.design-section { padding: clamp(85px, 11vw, 170px) clamp(22px, 4.5vw, 78px); }.section-head { display: grid; grid-template-columns: minmax(160px, .55fr) minmax(0, 1.45fr); gap: clamp(30px, 8vw, 150px); max-width: 1500px; margin: 0 auto clamp(54px, 7vw, 98px); }.section-head > p { margin: 7px 0 0; font-family: var(--mono); font-size: 14px; letter-spacing: .02em; text-transform: uppercase; }.section-head h2 { max-width: 950px; margin: 0 0 30px; font-size: clamp(51px, 7.5vw, 122px); font-weight: 700; line-height: .76; letter-spacing: -.1em; }.section-head h2 em { color: var(--section-accent); font-family: var(--serif); font-style: italic; font-weight: 500; }.section-head div > p { max-width: 650px; margin: 0; font-size: clamp(20px, 2vw, 29px); line-height: 1.21; letter-spacing: -.037em; }

.gallery { display: grid; max-width: 1500px; margin: 0 auto; }.gallery--two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(26px, 4vw, 76px); }.gallery--five { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.7vw, 27px); }.gallery--four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(15px, 2vw, 34px); }.gallery-card { display: grid; grid-template-rows: auto auto 1fr; align-content: start; gap: 17px; min-width: 0; }.artwork { position: relative; overflow: hidden; aspect-ratio: 1; background: #dedbd2; }.artwork img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.22,1,.36,1), filter .75s ease; }.gallery-card:hover .artwork img { transform: scale(1.055); filter: saturate(1.13) contrast(1.02); }.card-meta { padding-top: 14px; border-top: 2px solid currentColor; }.card-meta p, .card-meta h3, .card-meta span, .card-copy p { margin: 0; }.card-meta p { min-height: 31px; font-size: 15px; font-weight: 700; line-height: 1.16; }.card-meta h3 { margin: 6px 0 10px; font-size: clamp(24px, 2vw, 36px); font-weight: 700; line-height: .89; letter-spacing: -.075em; }.card-meta span { display: block; font-size: 14px; line-height: 1.2; }.card-copy { display: grid; align-content: start; gap: 10px; }.card-copy p { font-size: 16px; line-height: 1.28; letter-spacing: -.02em; }.card-copy strong { font-weight: 800; }

.design-section--bands { --section-accent: #5f2fc0; background: #ffc95e; }.design-section--bands .artwork { box-shadow: 13px 13px 0 #5f2fc0; }.design-section--bands .card-meta { border-color: #5f2fc0; }.design-section--bands .card-meta h3 { color: #5f2fc0; }.artwork--night { background: #061a50; }.artwork--brass { background: #f6dfb2; }.design-section--bands .card-copy { max-width: 610px; }.design-section--bands .card-copy p:last-child { font-size: clamp(18px, 1.55vw, 23px); }
.design-section--albums { --section-accent: #e94282; background: #fff9ec; }.design-section--albums .gallery-card:nth-child(1) .card-meta { border-color: #2443a0; }.design-section--albums .gallery-card:nth-child(2) .card-meta { border-color: #e94b31; }.design-section--albums .gallery-card:nth-child(3) .card-meta { border-color: #bf5266; }.design-section--albums .gallery-card:nth-child(4) .card-meta { border-color: #7663c9; }.design-section--albums .gallery-card:nth-child(5) .card-meta { border-color: #e66f42; }
.design-section--books { --section-accent: #ffd84c; color: #fff8ec; background: #311b6c; }.design-section--books .section-head div > p { color: rgba(255,255,255,.9); }.artwork--book { padding: 7%; }.artwork--book img { object-fit: contain; }.artwork--desires { background: #171527; }.artwork--mum { background: #b84192; }.artwork--romance { background: #1c5052; }.artwork--twelve { background: #856e2f; }.design-section--books .card-meta { border-color: currentColor; }.design-section--books .card-meta h3 { color: var(--yellow); }.design-section--books .card-copy p { color: rgba(255,255,255,.89); }

.contact { position: relative; overflow: hidden; padding: clamp(75px, 10vw, 150px) clamp(22px, 7vw, 110px) 26px; color: #fff9ec; background: #16121e; }.contact::after { content: "✦"; position: absolute; right: 6vw; bottom: -10vw; color: #f255a0; font-family: var(--serif); font-size: min(40vw, 520px); line-height: 1; transform: rotate(15deg); opacity: .8; }.contact > * { position: relative; z-index: 1; }.contact > p { margin: 0 0 clamp(55px, 8vw, 125px); font-family: var(--mono); font-size: 14px; }.contact h2 { max-width: 1150px; margin: 0 0 33px; font-size: clamp(55px, 8vw, 136px); font-weight: 700; line-height: .76; letter-spacing: -.1em; }.contact h2 em { color: #f255a0; font-family: var(--serif); font-style: italic; font-weight: 500; }.contact > a { display: inline-flex; align-items: baseline; gap: 14px; padding-bottom: 7px; border-bottom: 2px solid currentColor; font-size: clamp(27px, 4vw, 65px); letter-spacing: -.065em; transition: color .3s ease; }.contact > a:hover { color: var(--yellow); }.contact > a span { font-family: var(--serif); }.contact > div { display: flex; justify-content: space-between; gap: 32px; margin-top: clamp(90px, 15vw, 220px); padding-top: 18px; border-top: 1px solid rgba(255,255,255,.45); font-size: 14px; }

.reveal { opacity: 1; transform: translateY(18px); transition: transform .8s cubic-bezier(.22,1,.36,1) var(--delay, 0ms); }.reveal.is-visible { transform: none; }

@media (max-width: 1120px) { .gallery--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }.gallery--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }.card-meta h3 { font-size: 32px; } }
@media (max-width: 760px) {
  body { font-size: 16px; }.site-header { grid-template-columns: 1fr auto; padding: 19px 20px; }.site-header > p { display: none; }.site-header nav { gap: 13px; font-size: 14px; }.site-header nav a:nth-child(1) { display: none; }.monogram { font-size: 25px; }
  .hero { min-height: 790px; padding: 106px 20px 34px; }.hero-meta { font-size: 13px; }.hero h1 { margin: auto 0 34px; font-size: clamp(65px, 18.5vw, 96px); line-height: .73; }.hero-foot p { max-width: 230px; font-size: 16px; }.hero-foot a { min-width: 100px; max-width: 112px; gap: 8px; padding: 12px 0; font-size: 14px; line-height: 1.12; }.hero-foot a:hover { gap: 8px; }.hero-shape--one { right: -42vw; bottom: -17vw; width: 110vw; }.hero-shape--two { right: 20%; top: 31%; }.hero-shape--three { display: none; }
  .design-section { padding: 78px 20px; }.section-head { grid-template-columns: 1fr; gap: 28px; margin-bottom: 48px; }.section-head > p { margin: 0; font-size: 13px; }.section-head h2 { margin-bottom: 25px; font-size: clamp(48px, 14.5vw, 70px); }.section-head div > p { font-size: 20px; }
  .gallery--two, .gallery--five, .gallery--four { grid-template-columns: 1fr; gap: 50px; }.gallery-card { gap: 15px; }.card-meta { padding-top: 12px; }.card-meta p { min-height: 0; font-size: 16px; }.card-meta h3 { font-size: 34px; }.card-meta span { font-size: 15px; }.card-copy p { font-size: 18px; }.design-section--bands .card-copy p:last-child { font-size: 20px; }.design-section--bands .artwork { box-shadow: 9px 9px 0 #5f2fc0; }.artwork--book { padding: 6%; }
  .contact { padding: 76px 20px 22px; }.contact > p { margin-bottom: 65px; font-size: 13px; }.contact h2 { font-size: clamp(53px, 15.5vw, 76px); }.contact > div { display: grid; gap: 11px; margin-top: 90px; font-size: 14px; }.contact::after { right: -3vw; bottom: -6vw; font-size: 45vw; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.hero::before, .hero-shape { animation: none; }.reveal { opacity: 1; transform: none; transition: none; }.artwork img { transition: none; } }

/* High-contrast colour and print-texture pass. */
.hero { background: #070713; }
.hero::before { background: radial-gradient(circle at 83% 16%, #00d9c2 0 5%, transparent 19%), radial-gradient(circle at 23% 84%, #ff4d31 0 4%, transparent 24%), radial-gradient(circle at 71% 67%, #ef24a3 0 5%, transparent 27%), linear-gradient(115deg, #080711 10%, #0c156d 48%, #6323b7 72%, #fd316f 116%); }
.hero::after { background: linear-gradient(90deg, rgba(0,0,0,.56), transparent 57%, rgba(0,0,0,.08)), repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 7px); }
.hero-shape--one { border-color: rgba(0, 217, 194, .6); box-shadow: inset 0 0 0 26px rgba(255,216,76,.1), inset 0 0 0 100px rgba(255,255,255,.035); }.hero-shape--three { border-color: #ffd84c; }

.design-section--bands { background-color: #ff5b31; background-image: radial-gradient(circle at 9% 20%, rgba(255,216,76,.9) 0 6%, transparent 6.3%), radial-gradient(circle at 91% 84%, rgba(53,0,125,.76) 0 11%, transparent 11.3%), repeating-linear-gradient(135deg, rgba(44,8,92,.11) 0 2px, transparent 2px 14px); }.design-section--bands .section-head h2 em { color: #4a117f; }.design-section--bands .gallery-card { padding: 10px; background: #ffd84c; box-shadow: 11px 11px 0 #431276; }.design-section--bands .gallery-card:nth-child(2) { background: #4a117f; color: #fff8e9; box-shadow: 11px 11px 0 #ffd84c; }.design-section--bands .gallery-card:nth-child(2) .card-meta { border-color: #ffd84c; }.design-section--bands .gallery-card:nth-child(2) .card-meta h3 { color: #ffd84c; }

.design-section--albums { background-color: #e8ff3e; background-image: radial-gradient(circle at 93% 8%, #ef24a3 0 6%, transparent 6.4%), radial-gradient(circle at 7% 78%, #2749ff 0 11%, transparent 11.3%), repeating-linear-gradient(0deg, rgba(23,21,29,.1) 0 1px, transparent 1px 11px); }.design-section--albums .section-head h2 em { color: #ed1e7a; }.design-section--albums .gallery-card { padding: 8px 8px 16px; background: var(--album-card, #fff9ec); box-shadow: 8px 8px 0 #17151d; }.design-section--albums .gallery-card:nth-child(1) { --album-card: #74dcff; }.design-section--albums .gallery-card:nth-child(2) { --album-card: #ff8d70; }.design-section--albums .gallery-card:nth-child(3) { --album-card: #f9a8d4; }.design-section--albums .gallery-card:nth-child(4) { --album-card: #bba9ff; }.design-section--albums .gallery-card:nth-child(5) { --album-card: #ffa448; }.design-section--albums .card-meta { border-color: #17151d !important; }

.design-section--books { background-color: #161062; background-image: radial-gradient(circle at 8% 12%, rgba(255,216,76,.9) 0 5%, transparent 5.3%), radial-gradient(circle at 92% 84%, rgba(255,55,149,.8) 0 11%, transparent 11.4%), repeating-linear-gradient(45deg, rgba(255,255,255,.065) 0 1px, transparent 1px 15px); }.design-section--books .gallery-card { padding: 8px 8px 17px; color: #17151d; background: var(--book-card, #fff9ec); box-shadow: 9px 9px 0 rgba(0,0,0,.55); }.design-section--books .gallery-card:nth-child(1) { --book-card: #f4b8d6; }.design-section--books .gallery-card:nth-child(2) { --book-card: #c1ff53; }.design-section--books .gallery-card:nth-child(3) { --book-card: #ffcc54; }.design-section--books .gallery-card:nth-child(4) { --book-card: #59e0d3; }.design-section--books .card-meta { border-color: #17151d; }.design-section--books .card-meta h3 { color: #17151d; }.design-section--books .card-copy p { color: #17151d; }

.contact { background-color: #120f1c; background-image: radial-gradient(circle at 82% 24%, #f255a0 0 10%, transparent 10.3%), linear-gradient(135deg, transparent 0 50%, rgba(255,216,76,.16) 50% 52%, transparent 52%), repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 9px); }

/* Portfolio system refinement: shared alignment, poster hero, quiet book objects. */
.site-header { grid-template-columns: 1fr auto 1fr; align-items: center; }
.brand-mark { display: block; width: clamp(138px, 13vw, 190px); line-height: 0; }
.brand-mark img { width: 100%; filter: brightness(1.28) contrast(1.12); }
.site-header > p { justify-self: center; color: #fff9ec; }
.site-header nav { justify-self: end; }

.hero { min-height: min(950px, 100svh); padding: 130px clamp(22px, 4.5vw, 78px) 54px; color: #17151d; background: #ff5b31; }
.hero::before { inset: 0; filter: none; animation: none; background:
  radial-gradient(circle at 11% 23%, transparent 0 13.5%, #00d9c2 13.7% 15.1%, transparent 15.3%),
  radial-gradient(circle at 91% 85%, transparent 0 17%, #ffd84c 17.2% 18.7%, transparent 18.9%),
  linear-gradient(115deg, transparent 0 43%, rgba(84, 20, 157, .96) 43.2% 67%, transparent 67.2%),
  repeating-linear-gradient(0deg, rgba(23,21,29,.15) 0 1px, transparent 1px 10px),
  #ff5b31; }
.hero::after { z-index: -2; background:
  repeating-linear-gradient(135deg, rgba(23,21,29,.16) 0 2px, transparent 2px 15px),
  linear-gradient(90deg, transparent 0 54%, rgba(255,255,255,.08) 54% 55%, transparent 55%); }
.hero-shape--one { right: -20vw; bottom: -25vw; border: 13px solid #00d9c2; border-radius: 0; box-shadow: none; opacity: .9; animation: spin 31s linear infinite; }
.hero-shape--two { top: 29%; right: 18%; width: clamp(42px, 4vw, 68px); border: 3px solid #17151d; background: #e8ff3e; box-shadow: none; animation: glow-pulse 2.9s ease-in-out infinite alternate; }
.hero-shape--three { top: 17%; right: 9%; width: clamp(68px, 6vw, 110px); border: 11px solid #ef24a3; background: #ef24a3; opacity: .95; }
.hero-meta { color: #17151d; font-weight: 500; }
.hero-mark { width: min(390px, 32vw); margin: clamp(34px, 6vh, 70px) 0 0; filter: brightness(.3) contrast(1.35); }
.hero h1 { max-width: 1240px; margin: auto 0 42px; font-size: clamp(71px, 10.8vw, 180px); color: #17151d; }
.hero h1 em { color: #e8ff3e; text-shadow: 4px 4px 0 #17151d; }
.hero h1 span { color: #ffd84c; text-shadow: 4px 4px 0 #17151d; }
.hero-foot p { color: #17151d; font-weight: 600; }
.hero-foot a { color: #17151d; border-color: #17151d; }
.hero-foot a:hover { color: #fff9ec; }

.gallery-card { grid-template-rows: auto minmax(132px, auto) 1fr; }
.gallery--two .gallery-card { grid-template-rows: auto minmax(142px, auto) 1fr; }
.gallery--five .gallery-card { grid-template-rows: auto minmax(139px, auto) 1fr; }
.gallery--four .gallery-card { grid-template-rows: auto minmax(142px, auto) 1fr; }
.card-meta { display: flex; flex-direction: column; }
.card-meta h3 { min-height: 2.05em; }
.card-meta span { margin-top: auto; }
.card-copy { min-height: 84px; }
.gallery--five .card-copy { min-height: 108px; }
.gallery--four .card-copy { min-height: 95px; }
.gallery--five .card-meta h3 { min-height: 3.08em; }

.artwork--vela { background: #0b167f; }
.design-section--bands .gallery-card:first-child { background: #e8ff3e; box-shadow: 11px 11px 0 #17151d; }
.design-section--bands .gallery-card:first-child .card-meta { border-color: #17151d; }
.design-section--bands .gallery-card:first-child .card-meta h3 { color: #17151d; }

.design-section--books .gallery-card { color: #17151d; background: #fbf8f2; box-shadow: 7px 7px 0 #e8ff3e; }
.design-section--books .gallery-card:nth-child(n) { --book-card: #fbf8f2; }
.design-section--books .artwork--book { padding: 0; aspect-ratio: 4 / 3; background: #fbf8f2; }
.design-section--books .artwork--book img { object-fit: contain; }
.design-section--books .gallery-card:hover .artwork img { transform: none; filter: none; }
.design-section--books .card-meta { border-color: #17151d; }
.design-section--books .card-meta h3, .design-section--books .card-copy p { color: #17151d; }

.site-signature { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px clamp(22px, 4.5vw, 78px); color: #fff9ec; background: #17151d; }
.site-signature img { width: clamp(155px, 16vw, 235px); filter: brightness(1.45) contrast(1.16); }
.site-signature span { font-family: var(--mono); font-size: 13px; }

@media (max-width: 760px) {
  .site-header { grid-template-columns: 1fr auto; }
  .brand-mark { width: 126px; }
  .hero { padding: 106px 20px 34px; }
  .hero-mark { width: min(235px, 62vw); margin-top: 54px; }
  .hero h1 { font-size: clamp(62px, 17.2vw, 90px); }
  .hero-shape--one { right: -48vw; bottom: -25vw; width: 110vw; }
  .hero-shape--two { top: 36%; right: 15%; }
  .hero-shape--three { top: 17%; right: 6%; }
  .gallery-card, .gallery--two .gallery-card, .gallery--five .gallery-card, .gallery--four .gallery-card { grid-template-rows: auto auto auto; }
  .card-meta h3, .gallery--five .card-meta h3, .card-copy, .gallery--five .card-copy, .gallery--four .card-copy { min-height: 0; }
  .site-signature { align-items: flex-start; flex-direction: column; gap: 16px; padding: 24px 20px; }
}

/* Hiring-facing refinement: larger signature and project-specific publishing fields. */
.brand-mark { width: clamp(185px, 18vw, 278px); }
.hero-mark { width: min(560px, 46vw); margin-top: clamp(28px, 4.5vh, 52px); }
.gallery--books-five { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.7vw, 27px); }
.gallery--books-five .gallery-card { grid-template-rows: auto minmax(184px, auto) 1fr; padding: 8px 8px 16px; box-shadow: 8px 8px 0 #e8ff3e; }
.gallery--books-five .artwork--book { padding: 0; aspect-ratio: 4 / 3; }
.gallery--books-five .artwork--book img { object-fit: cover; }
.gallery--books-five .card-meta { border-color: currentColor; }
.gallery--books-five .card-meta h3 { min-height: 4.05em; }
.gallery--books-five .card-copy { min-height: 100px; }
.design-section--books .book-card--futility { color: #fff8ec; background: #13241e !important; }
.design-section--books .book-card--life { color: #fff9ec; background: #1d4652 !important; }
.design-section--books .book-card--mum-new { color: #17151d; background: #d13f9c !important; }
.design-section--books .book-card--romance-new { color: #17151d; background: #e9e1d2 !important; }
.design-section--books .book-card--maps { color: #fff9ec; background: #050708 !important; }
.book-card--futility .card-meta h3, .book-card--life .card-meta h3, .book-card--maps .card-meta h3 { color: #fff8ec !important; }
.book-card--mum-new .card-meta h3, .book-card--romance-new .card-meta h3 { color: #17151d !important; }
.design-section--books .gallery--books-five .card-copy p { color: inherit; }
.scope { font-size: 15px !important; }
.practice-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #e8ff3e; border-bottom: 3px solid #17151d; color: #17151d; }
.practice-strip p { display: grid; gap: 7px; min-height: 152px; margin: 0; padding: 26px clamp(22px, 4.5vw, 78px); border-right: 3px solid #17151d; }
.practice-strip p:last-child { border-right: 0; }
.practice-strip strong { font-family: var(--serif); font-size: clamp(32px, 3.8vw, 57px); font-style: italic; font-weight: 500; line-height: .8; letter-spacing: -.075em; }
.practice-strip span { max-width: 270px; font-size: 15px; font-weight: 700; line-height: 1.18; }

@media (max-width: 1120px) {
  .gallery--books-five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .brand-mark { width: 162px; }
  .hero-mark { width: min(292px, 76vw); margin-top: 48px; }
  .gallery--books-five { grid-template-columns: 1fr; gap: 50px; }
  .gallery--books-five .gallery-card { grid-template-rows: auto auto auto; }
  .gallery--books-five .card-meta h3, .gallery--books-five .card-copy { min-height: 0; }
  .practice-strip { grid-template-columns: 1fr; }
  .practice-strip p { min-height: 0; padding: 21px 20px; border-right: 0; border-bottom: 2px solid #17151d; }
  .practice-strip p:last-child { border-bottom: 0; }
}

/* Full concept-case-study treatment and consistently large work presentation. */
.case-study-list { display: grid; gap: clamp(78px, 11vw, 158px); max-width: 1500px; margin: 0 auto; }
.case-study { position: relative; display: grid; grid-template-columns: minmax(0, .93fr) minmax(290px, .55fr); gap: clamp(28px, 4vw, 70px); padding: clamp(25px, 4vw, 65px); overflow: hidden; border: 3px solid #17151d; box-shadow: 14px 14px 0 #17151d; color: #17151d; isolation: isolate; }
.case-study::before { content: ""; position: absolute; z-index: -1; width: clamp(170px, 23vw, 390px); aspect-ratio: 1; border: 2px solid currentColor; border-radius: 50%; opacity: .25; }
.case-study::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .34; pointer-events: none; background-image: repeating-linear-gradient(135deg, currentColor 0 1px, transparent 1px 13px); mix-blend-mode: multiply; }
.case-study--vela { background: #f4bd08; }.case-study--vela::before { top: -12%; right: -6%; background: #ed321b; }
.case-study--brass { background: #d3b8ed; }.case-study--brass::before { top: -14%; right: -5%; background: #f2d68b; }
.case-study--daymark { background: #e93720; }.case-study--daymark::before { top: -11%; right: -4%; background: #f5e7ca; }
.case-study__heading { grid-column: 1; align-self: start; }.case-study__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 clamp(20px, 3vw, 42px); font-family: var(--mono); font-size: 14px; font-weight: 500; letter-spacing: .015em; text-transform: uppercase; }.case-study__eyebrow span { padding: 6px 8px; border: 1px solid currentColor; font-size: 11px; white-space: nowrap; }
.case-study__heading h3 { max-width: 800px; margin: 0 0 30px; font-size: clamp(50px, 6.8vw, 108px); font-weight: 800; line-height: .74; letter-spacing: -.105em; }.case-study__heading h3 em { font-family: var(--serif); font-weight: 500; font-style: italic; }.case-study--vela .case-study__heading h3 em { color: #1426b6; }.case-study--brass .case-study__heading h3 em { color: #2b4738; }.case-study--daymark .case-study__heading h3 em { color: #f5e7ca; }
.case-study__lede { max-width: 650px; margin: 0; font-size: clamp(20px, 2vw, 29px); font-weight: 600; line-height: 1.18; letter-spacing: -.045em; }
.case-study__brief { display: grid; align-content: start; gap: 0; border-top: 3px solid currentColor; }.case-study__brief p { display: grid; grid-template-columns: 96px 1fr; gap: 13px; margin: 0; padding: 17px 0; border-bottom: 1px solid rgba(23,21,29,.62); font-size: 16px; font-weight: 600; line-height: 1.24; }.case-study__brief strong { font-family: var(--mono); font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }
.case-study__system { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(240px, .78fr) minmax(230px, .84fr) minmax(168px, .38fr); align-items: center; gap: clamp(20px, 3vw, 56px); margin-top: clamp(2px, 1vw, 16px); padding: clamp(18px, 2vw, 32px); border: 2px solid currentColor; background: rgba(255,249,236,.38); }.case-study__system > p { margin: 0; font-size: clamp(17px, 1.5vw, 21px); font-weight: 600; line-height: 1.2; letter-spacing: -.027em; }
.case-wordmark { display: flex; align-items: baseline; gap: 10px; line-height: .8; white-space: nowrap; }.case-wordmark span { font-size: clamp(43px, 5vw, 78px); font-weight: 800; letter-spacing: -.12em; }.case-wordmark i { font-family: var(--serif); font-size: clamp(29px, 3vw, 48px); font-style: normal; }.case-wordmark small { align-self: flex-end; margin-bottom: 5px; font-family: var(--mono); font-size: 12px; letter-spacing: .22em; }.case-wordmark--vela { color: #1124b7; }.case-wordmark--brass { color: #294437; }.case-wordmark--daymark { color: #171717; }
.case-swatches { display: grid; grid-template-columns: repeat(4, 1fr); min-height: 70px; border: 2px solid currentColor; }.case-swatches span { background: var(--swatch); }.case-swatches span + span { border-left: 2px solid currentColor; }
.case-study__visuals { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 3.5vw, 58px); }.case-study__visuals figure { margin: 0; }.case-study__visuals img { width: 100%; aspect-ratio: 1 / .82; border: 2px solid #17151d; object-fit: cover; box-shadow: 9px 9px 0 #17151d; transition: transform .7s cubic-bezier(.22,1,.36,1), box-shadow .7s cubic-bezier(.22,1,.36,1); }.case-study__visuals figure:hover img { transform: translate(-5px,-5px); box-shadow: 14px 14px 0 #17151d; }.case-study__visuals figcaption { margin-top: 16px; font-family: var(--mono); font-size: 13px; font-weight: 500; text-transform: uppercase; }
.case-study__closing { grid-column: 1 / -1; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-top: 20px; border-top: 3px solid currentColor; }.case-study__closing p { max-width: 820px; margin: 0; font-size: clamp(18px, 1.65vw, 24px); font-weight: 600; line-height: 1.2; letter-spacing: -.034em; }.case-study__closing strong { display: block; margin-bottom: 5px; font-family: var(--mono); font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }.case-study__closing span { max-width: 210px; font-family: var(--mono); font-size: 13px; line-height: 1.25; text-align: right; text-transform: uppercase; }

.gallery--works-two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(36px, 5vw, 92px); max-width: 1425px; }.gallery--works-two .gallery-card { grid-template-rows: auto minmax(132px, auto) 1fr; padding: 11px 11px 21px; box-shadow: 11px 11px 0 #17151d; }.gallery--works-two .artwork { aspect-ratio: 1; }.gallery--works-two .card-meta { padding-top: 18px; }.gallery--works-two .card-meta p { font-size: 16px; }.gallery--works-two .card-meta h3 { min-height: 0; margin-top: 8px; font-size: clamp(34px, 4.2vw, 66px); }.gallery--works-two .card-meta span { font-size: 15px; }.gallery--works-two .card-copy, .gallery--works-two .card-copy p { min-height: 0; font-size: clamp(17px, 1.4vw, 20px); }.design-section--albums .gallery--works-two .gallery-card { background: var(--album-card, #fff9ec); }.design-section--albums .gallery--works-two .card-meta { border-color: #17151d !important; }
.gallery--books-two .gallery-card { min-height: 100%; }.gallery--books-two .artwork--book { aspect-ratio: 4 / 3; padding: 0; }.gallery--books-two .artwork--book img { object-fit: cover; }.gallery--books-two .gallery-card:hover .artwork img { transform: none; filter: none; }.gallery--books-two .card-meta h3 { font-size: clamp(31px, 3.6vw, 54px); }.gallery--books-two .card-copy p { color: inherit !important; }

@media (max-width: 880px) {
  .case-study { grid-template-columns: 1fr; }.case-study__heading, .case-study__brief { grid-column: 1; }.case-study__system { grid-template-columns: 1fr 1fr; }.case-swatches { grid-column: 1 / -1; min-height: 46px; }.case-study__visuals { gap: 25px; }
}
@media (max-width: 760px) {
  .hero-mark { display: none; }.case-study-list { gap: 77px; }.case-study { gap: 30px; padding: 22px; box-shadow: 8px 8px 0 #17151d; }.case-study__eyebrow { align-items: flex-start; flex-direction: column; gap: 9px; font-size: 12px; }.case-study__eyebrow span { font-size: 10px; }.case-study__heading h3 { font-size: clamp(45px, 14vw, 76px); }.case-study__lede { font-size: 20px; }.case-study__brief p { grid-template-columns: 80px 1fr; gap: 10px; font-size: 15px; }.case-study__system { grid-template-columns: 1fr; padding: 18px; }.case-wordmark span { font-size: clamp(41px, 13vw, 66px); }.case-wordmark i { font-size: 30px; }.case-wordmark small { font-size: 10px; }.case-study__visuals { grid-template-columns: 1fr; gap: 30px; }.case-study__visuals img { box-shadow: 6px 6px 0 #17151d; }.case-study__closing { align-items: flex-start; flex-direction: column; gap: 18px; }.case-study__closing p { font-size: 19px; }.case-study__closing span { text-align: left; }.gallery--works-two { grid-template-columns: 1fr; gap: 56px; }.gallery--works-two .gallery-card { grid-template-rows: auto auto auto; }.gallery--works-two .card-meta h3 { font-size: 42px; }.gallery--works-two .card-copy p { font-size: 18px; }
}

/* Readability pass: generous leading and contained display type at every breakpoint. */
.hero h1 { max-width: 1140px; line-height: .82; letter-spacing: -.078em; }
.hero-meta, .hero h1, .hero-foot { position: relative; z-index: 1; }
.hero h1 { text-shadow: 2px 2px 0 rgba(255, 249, 236, .16); }
.section-head h2 { line-height: .86; letter-spacing: -.082em; }
.section-head div > p, .hero-foot p, .case-study__lede, .case-study__brief p, .case-study__system > p, .case-study__closing p, .card-copy p { overflow-wrap: anywhere; }
.case-study__heading h3 { max-width: 720px; font-size: clamp(47px, 6vw, 94px); line-height: .9; letter-spacing: -.082em; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.case-study__lede { position: relative; z-index: 1; }
.case-study__brief, .case-study__system, .case-study__visuals, .case-study__closing { position: relative; z-index: 1; }
.case-study > *, .case-study__brief p, .case-study__system > *, .case-study__visuals figure, .gallery-card, .card-meta, .card-copy { min-width: 0; }
.case-study__brief p { grid-template-columns: 86px minmax(0, 1fr); }
.case-study__system { grid-template-columns: minmax(220px, .75fr) minmax(250px, .94fr) minmax(154px, .34fr); }
.case-wordmark { min-width: 0; gap: 8px; }.case-wordmark span { line-height: .87; letter-spacing: -.1em; }.case-wordmark i { flex: 0 0 auto; }.case-wordmark small { min-width: 0; letter-spacing: .14em; }
.case-study--daymark { color: #17203a; background: #f3ead8; }.case-study--daymark::before { background: #123b9e; opacity: .16; }.case-study--daymark .case-study__heading h3 em, .case-wordmark--daymark { color: #123b9e; }.case-wordmark--daymark i { color: #d65035; font-family: var(--mono); font-size: clamp(25px, 2.5vw, 37px); font-style: normal; letter-spacing: -.22em; }.case-study--daymark .case-study__system { background: rgba(255,255,255,.58); }
.gallery--works-two .card-meta h3 { font-size: clamp(31px, 3.45vw, 57px); line-height: .92; letter-spacing: -.065em; overflow-wrap: anywhere; }
.gallery--works-two .card-meta p, .gallery--works-two .card-meta span { line-height: 1.25; }

@media (max-width: 880px) {
  .case-study__system { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .case-study__system .case-swatches { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .case-study { grid-template-columns: minmax(0, 1fr); }
  .case-study__heading, .case-study__brief, .case-study__system, .case-study__visuals, .case-study__closing { width: 100%; }
  .case-study__system { grid-template-columns: minmax(0, 1fr); }
  .case-wordmark:not(.case-wordmark--daymark) { align-items: flex-start; flex-wrap: wrap; white-space: normal; }
  .case-wordmark:not(.case-wordmark--daymark) small { flex-basis: 100%; align-self: flex-start; margin: 0; }
  .hero h1 { font-size: clamp(56px, 15.4vw, 82px); line-height: .84; letter-spacing: -.072em; }
  .section-head h2 { line-height: .88; letter-spacing: -.074em; }
  .case-study__heading h3 { font-size: clamp(40px, 12.2vw, 64px); line-height: .89; letter-spacing: -.068em; }
  .case-study__brief p { grid-template-columns: 74px minmax(0, 1fr); }
  .case-study__system { grid-template-columns: 1fr; }
  .case-wordmark { align-items: center; }.case-wordmark span { font-size: clamp(37px, 11.5vw, 58px); }.case-wordmark small { align-self: center; margin: 0; font-size: 9px; }
  .case-wordmark--daymark i { font-size: 25px; }
  .gallery--works-two .card-meta h3 { font-size: clamp(35px, 10.5vw, 44px); line-height: .95; }
}

/* Header scale and a distinct navigation colour field. */
.site-header { padding-top: 30px; padding-bottom: 30px; }
.brand-mark { width: clamp(230px, 20vw, 330px); }
.site-header > p { font-size: clamp(15px, 1.3vw, 19px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.site-header nav { align-items: center; gap: clamp(18px, 2.2vw, 34px); padding: 14px 19px; border: 2px solid #17151d; color: #17151d; background: #e8ff3e; box-shadow: 6px 6px 0 #17151d; font-size: clamp(15px, 1.25vw, 19px); font-weight: 800; }
.site-header nav a { padding-bottom: 3px; }
.site-header nav a::after { height: 2px; }

/* Daymark title uses a deliberate two-line editorial lockup, never a text overlap. */
.case-study--daymark .case-study__heading h3 { max-width: 670px; line-height: .93; letter-spacing: -.065em; }
.case-study--daymark .case-study__heading h3 em { display: block; margin-top: 14px; line-height: .95; }
.case-study--daymark .case-study__system { grid-template-columns: minmax(300px, .72fr) minmax(0, 1.12fr) minmax(150px, .35fr); }
.case-study--daymark .case-wordmark--daymark { display: grid; grid-template-columns: 1fr; align-items: start; gap: 5px; }
.case-study--daymark .case-wordmark--daymark span { font-size: clamp(37px, 3.2vw, 48px); }
.case-study--daymark .case-wordmark--daymark i { display: none; }
.case-study--daymark .case-wordmark--daymark small { align-self: start; margin: 0; font-size: 10px; letter-spacing: .16em; }

/* Brass Garden uses a two-level festival lockup so neither word is squeezed. */
.case-wordmark--brass { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 8px; row-gap: 4px; white-space: normal; }
.case-wordmark--brass span { grid-column: 1 / -1; }
.case-wordmark--brass i { font-size: clamp(22px, 2.1vw, 32px); }
.case-wordmark--brass small { align-self: center; margin: 0; }

/* Keep Vela's long display word intact: it may break at the hyphen, never inside “performance”. */
.case-study--vela .case-study__heading h3 { font-size: clamp(44px, 4.35vw, 70px); }

@media (max-width: 760px) {
  .site-header { grid-template-columns: 1fr; gap: 11px; padding: 18px 20px; }
  .brand-mark { width: min(180px, 48vw); }
  .site-header nav { justify-self: start; gap: 12px; padding: 10px 12px; box-shadow: 4px 4px 0 #17151d; font-size: 13px; }
  .site-header nav a:nth-child(1) { display: block; }
  .hero { padding-top: 158px; }
  .hero-meta span, .hero-foot p { padding: 5px 7px; background: rgba(255, 249, 236, .88); box-shadow: 3px 3px 0 #17151d; }
  .hero-foot p { padding: 8px 9px; }
  .design-section--albums { background-image: radial-gradient(circle at 7% 78%, #2749ff 0 11%, transparent 11.3%), repeating-linear-gradient(0deg, rgba(23,21,29,.1) 0 1px, transparent 1px 11px); }
  .case-study--daymark .case-study__heading h3 { line-height: .98; }
  .case-study--daymark .case-study__heading h3 em { margin-top: 11px; }
  .case-study--daymark .case-study__system { grid-template-columns: 1fr; }
  .case-study--daymark .case-wordmark--daymark span { font-size: clamp(31px, 8.5vw, 35px); }
  .case-study--vela .case-study__heading h3 { font-size: clamp(29px, 7.8vw, 33px); }
}
