:root { --navy:#080b25; --navy2:#111637; --paper:#f5f2eb; --ink:#171727; --muted:#706f75; --line:#d8d4cb; --gold:#c7ae7b; --pink:#efbad9; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
    button,a { -webkit-tap-highlight-color:transparent; }
    button { font:inherit; }
    a { color:inherit; }
    :focus-visible { outline:2px solid #d65aa3; outline-offset:5px; }
    .shell { width:min(100% - 84px, 1500px); margin-inline:auto; }
    .eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; }
    .serif { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
    .site-header { position:absolute; z-index:5; inset:0 0 auto; color:#fff; }
    .header-inner { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid rgba(255,255,255,.19); }
    .wordmark { text-decoration:none; font-size:18px; line-height:1.01; font-weight:700; letter-spacing:.19em; white-space:nowrap; }
    .wordmark span { display:block; }
    .header-right { display:flex; align-items:center; gap:clamp(28px,5vw,80px); }
    .header-nav { display:flex; align-items:center; gap:32px; }
    .header-nav a { text-decoration:none; text-transform:uppercase; font-size:14px; letter-spacing:.18em; }
    .header-nav a:hover,.header-nav a:focus-visible { color:var(--pink); }
    .preview-tag { color:#d8d6e3; font-size:10px; letter-spacing:.18em; text-transform:uppercase; border:1px solid rgba(255,255,255,.3); padding:10px 14px; white-space:nowrap; }
    .hero { background:radial-gradient(circle at 75% 52%,#19214b 0,#0b1030 42%,var(--navy) 78%); color:#fff; min-height:min(900px,100svh); position:relative; overflow:hidden; }
    .hero::after { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(255,255,255,.06); border-radius:50%; right:-170px; bottom:-230px; pointer-events:none; }
    .hero-grid { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(450px,1.1fr); gap:clamp(35px,5vw,90px); align-items:center; min-height:min(900px,100svh); padding-top:125px; padding-bottom:84px; }
    .hero-copy { position:relative; z-index:2; padding-block:40px; }
    .hero-copy .eyebrow { color:var(--gold); margin:0 0 33px; }
    .hero h1 { font-size:clamp(62px,6.6vw,116px); line-height:.91; letter-spacing:-.055em; margin:0 0 38px; max-width:770px; }
    .hero h1 em { font-weight:400; color:var(--pink); }
    .hero-lede { max-width:410px; color:#c9cbd6; font-size:16px; line-height:1.8; margin:0 0 43px; }
    .text-link { display:inline-flex; gap:17px; align-items:center; text-decoration:none; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.18em; padding-bottom:12px; border-bottom:1px solid currentColor; transition:gap .25s; }
    .text-link:hover { gap:26px; }
    .arrow { display:inline-block; width:1.2em; height:1.2em; flex:none; vertical-align:-.15em; }
    .text-link .arrow,.submit-button .arrow { width:20px; height:20px; }
    .lightbox-nav .arrow { width:24px; height:24px; vertical-align:middle; }
    .hero-art { position:relative; margin:0; justify-self:end; width:100%; max-width:690px; }
    .hero-art::before { content:""; display:block; position:absolute; inset:6% -4% -5% 7%; border:1px solid rgba(218,201,183,.22); }
    .hero-art a { display:block; padding:0; border:0; background:none; width:100%; cursor:zoom-in; position:relative; box-shadow:0 25px 60px rgba(0,0,0,.33); }
    .hero-art img { display:block; width:100%; height:min(67vw,630px); max-height:68vh; object-fit:contain; background:#080b25; }
    .hero-art figcaption { display:flex; justify-content:space-between; gap:15px; margin-top:21px; font-size:11px; text-transform:uppercase; letter-spacing:.19em; color:#c7c9d6; }
    .hero-rail { position:absolute; left:42px; bottom:60px; color:#b4b7c8; writing-mode:vertical-rl; transform:rotate(180deg); font-size:10px; letter-spacing:.19em; text-transform:uppercase; }
    .intro { background:var(--paper); padding:105px 0 90px; }
    .intro-grid { display:grid; grid-template-columns:220px 1fr; gap:clamp(30px,7vw,120px); }
    .section-marker { display:flex; align-items:flex-start; gap:16px; color:#6d6466; white-space:nowrap; }
    .section-marker b { width:33px; height:1px; background:#a58f7c; margin-top:5px; }
    .intro h2 { font-size:clamp(43px,6vw,90px); line-height:1.05; letter-spacing:-.05em; max-width:980px; margin:-11px 0 33px; }
    .intro h2 em { color:#ae7298; }
    .intro-sub { display:flex; gap:50px; justify-content:space-between; max-width:930px; align-items:flex-start; }
    .intro-sub p { max-width:480px; font-size:15px; line-height:1.8; color:#59565a; margin:0; }
    .intro-sub span { font-size:11px; letter-spacing:.16em; white-space:nowrap; text-transform:uppercase; padding-top:7px; }
    .feature { display:grid; grid-template-columns:1.25fr .75fr; gap:20px; padding-bottom:105px; }
    .art-card { margin:0; min-width:0; }
    .art-card a { display:block; width:100%; background:#eae5dc; border:0; padding:0; overflow:hidden; cursor:zoom-in; position:relative; }
    .art-card a::after { content:"VIEW ARTWORK"; position:absolute; right:18px; bottom:18px; background:#f5f2eb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23171727' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16 16 4M4 4h12v12'/%3E%3C/svg%3E") no-repeat right 14px center / 14px 14px; color:#171727; padding:14px 39px 14px 16px; font-size:10px; font-weight:700; letter-spacing:.13em; opacity:0; transform:translateY(6px); transition:.25s; }
    .art-card a:hover::after,.art-card a:focus-visible::after { opacity:1; transform:none; }
    .art-card img { display:block; width:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
    .art-card a:hover img { transform:scale(1.025); }
    .feature-large img { height:700px; object-position:center; }
    .feature-side { display:grid; grid-template-rows:1fr 1fr; gap:20px; }
    .feature-side .art-card img { height:319px; }
    .caption { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-top:14px; font-size:12px; }
    .caption strong { font-size:13px; font-weight:600; }
    .caption span { color:#8a8585; font-size:10px; letter-spacing:.12em; }
    .all-work { border-top:1px solid var(--line); padding:44px 0 120px; }
    .work-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:46px; }
    .work-heading h2 { font-size:clamp(45px,5vw,75px); line-height:1; letter-spacing:-.04em; margin:12px 0 0; }
    .work-heading p { max-width:285px; color:#686467; font-size:13px; line-height:1.65; margin:0; }
    .gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:57px 22px; align-items:start; }
    .gallery .art-card:nth-child(3n+2) { padding-top:60px; }
    .gallery .art-card img { height:clamp(300px,34vw,480px); object-fit:contain; padding:24px; }
    .artist { color:#fff; background:#0d1230; padding:105px 0; }
    .artist-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(45px,8vw,150px); align-items:center; }
    .artist-copy h2 { font-size:clamp(52px,5vw,85px); letter-spacing:-.05em; line-height:1.01; margin:25px 0 34px; }
    .artist-copy p { color:#cbcbd5; max-width:430px; font-size:15px; line-height:1.9; margin-bottom:45px; }
    .artist-visual { display:grid; grid-template-columns:.65fr 1fr; align-items:end; gap:30px; }
    .artist-visual img { width:100%; display:block; object-fit:cover; }
    .artist-visual img:first-child { aspect-ratio:3/4; margin-bottom:70px; }
    .artist-visual img:last-child { aspect-ratio:1/1; }
    .footer { background:#080b25; color:#fff; border-top:1px solid rgba(255,255,255,.15); padding:40px 0 50px; }
    .footer-grid { display:flex; align-items:end; justify-content:space-between; gap:30px; }
    .footer p { margin:20px 0 0; color:#9c9faf; font-size:11px; letter-spacing:.08em; }
    .footer-links { display:flex; gap:28px; font-size:11px; letter-spacing:.15em; text-transform:uppercase; }
    .footer-links a { text-decoration:none; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:6px; }
    .footer-links a:hover { color:var(--pink); }
    .lightbox { position:fixed; z-index:30; inset:0; display:none; background:rgba(5,7,20,.97); color:#fff; }
    .lightbox.open { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
    .lightbox-top,.lightbox-bottom { display:flex; justify-content:space-between; align-items:center; padding:22px 34px; gap:20px; }
    .lightbox-top span,.lightbox-bottom { font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
    .lightbox button { color:#fff; border:1px solid rgba(255,255,255,.28); background:none; cursor:pointer; }
    .lightbox-close { font-size:29px; line-height:1; width:46px; height:46px; }
    .lightbox-stage { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:0; padding:0 34px; }
    .lightbox-stage img { width:auto; max-width:calc(100% - 140px); max-height:100%; min-height:0; object-fit:contain; }
    .lightbox-nav { width:48px; height:54px; flex:none; font-size:26px; }
    .lightbox-bottom { color:#bbbcca; }
    .lightbox-bottom strong { color:#fff; font-weight:500; font-size:14px; letter-spacing:0; text-transform:none; }
    body.no-scroll { overflow:hidden; }
    @media(max-width:1050px) {
      .hero-grid { grid-template-columns:.9fr 1.1fr; gap:25px; }
      .hero h1 { font-size:clamp(58px,7vw,90px); }
      .preview-tag { display:none; }
      .feature-large img { height:560px; }
      .feature-side .art-card img { height:250px; }
    }
    @media(max-width:760px) {
      .shell { width:min(100% - 34px, 600px); }
      .header-inner { min-height:76px; }
      .wordmark { font-size:14px; }
      .header-nav { gap:15px; }
      .header-nav a { font-size:12px; letter-spacing:.07em; }
      .hero { min-height:auto; }
      .hero-grid { display:flex; flex-direction:column; align-items:stretch; gap:24px; min-height:0; padding-top:120px; padding-bottom:65px; }
      .hero-copy { padding:0; }
      .hero-copy .eyebrow { margin-bottom:22px; }
      .hero h1 { font-size:clamp(58px,15vw,90px); margin-bottom:20px; }
      .hero-lede { font-size:14px; line-height:1.65; margin-bottom:22px; max-width:380px; }
      .hero-art { align-self:center; width:92%; }
      .hero-art img { height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
      .hero-art figcaption { margin-top:15px; font-size:9px; }
      .hero-rail { display:none; }
      .intro { padding:70px 0 55px; }
      .intro-grid { display:block; }
      .intro h2 { margin:25px 0; }
      .intro-sub { display:block; }
      .intro-sub p { margin-bottom:20px; }
      .feature { display:block; padding-bottom:70px; }
      .feature-large { margin-bottom:35px; }
      .feature-large img { height:auto; aspect-ratio:1/1; }
      .feature-side { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
      .feature-side .art-card img { height:auto; aspect-ratio:3/4; object-fit:cover; }
      .caption { margin-top:10px; font-size:11px; }
      .caption strong { font-size:11px; }
      .all-work { padding-bottom:75px; }
      .work-heading { display:block; margin-bottom:30px; }
      .work-heading p { margin-top:17px; }
      .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 12px; }
      .gallery .art-card:nth-child(3n+2) { padding-top:0; }
      .gallery .art-card img { height:auto; aspect-ratio:4/5; padding:12px; }
      .gallery .caption span { display:none; }
      .artist { padding:72px 0; }
      .artist-grid { display:block; }
      .artist-visual { margin-top:55px; }
      .footer-grid { display:block; }
      .footer-links { margin-top:38px; }
      .lightbox-top,.lightbox-bottom { padding:15px 18px; }
      .lightbox-stage { padding:0 10px; gap:6px; }
      .lightbox-stage img { max-width:calc(100% - 82px); }
      .lightbox-nav { width:35px; height:44px; font-size:20px; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
.social-link { color:#d8d6e3; font-size:12px; letter-spacing:.17em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:7px; white-space:nowrap; }
.social-link:hover { color:var(--pink); }
.contact-page { background:var(--navy); color:#fff; min-height:100vh; }
.contact-page .site-header { position:relative; }
.contact-main { padding:clamp(75px,10vw,150px) 0 120px; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,9vw,170px); }
.contact-intro h1 { font-size:clamp(62px,7vw,105px); line-height:.96; letter-spacing:-.055em; margin:28px 0 30px; }
.contact-intro p { max-width:390px; color:#c4c5d3; line-height:1.75; font-size:15px; }
.contact-form { border-top:1px solid rgba(255,255,255,.35); padding-top:34px; }
.field { margin-bottom:27px; }
.field label { display:block; margin-bottom:12px; color:#d2d1dc; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.field input,.field textarea { display:block; width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.35); color:#fff; background:transparent; padding:12px 0 16px; border-radius:0; font:16px/1.5 Arial,Helvetica,sans-serif; outline:none; }
.field input:focus,.field textarea:focus { border-bottom-color:var(--pink); }
.field textarea { min-height:155px; resize:vertical; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.submit-button { display:inline-flex; align-items:center; justify-content:space-between; gap:65px; background:var(--paper); color:var(--navy); border:0; padding:20px 23px; cursor:pointer; text-transform:uppercase; font-size:11px; letter-spacing:.18em; font-weight:700; min-width:230px; }
.submit-button:hover { background:var(--pink); }
.contact-errors { border:1px solid #df9eb8; padding:15px 18px; color:#fff; background:#402640; line-height:1.55; margin-bottom:30px; }
.contact-errors p { margin:0 0 7px; font-weight:bold; }
.contact-errors ul { margin:0; padding-left:20px; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.message-panel { border-top:1px solid rgba(255,255,255,.35); padding-top:34px; }
.message-panel h2 { font-size:clamp(35px,4vw,60px); line-height:1.1; margin:0 0 24px; }
.message-panel p { color:#c4c5d3; line-height:1.75; max-width:500px; }
.contact-page .footer { margin-top:auto; }
@media(max-width:760px) { .social-link { display:none; } .contact-main { padding:65px 0 90px; } .contact-layout { display:block; } .contact-intro { margin-bottom:55px; } .field-row { grid-template-columns:1fr; gap:0; } }

/* Shared independent pages. */
.header-nav a[aria-current="page"] { color:var(--pink); border-bottom:1px solid currentColor; padding-bottom:7px; }
.inner-page .site-header { position:relative; background:var(--navy); }
.page-intro { padding:82px 0 66px; background:var(--navy); color:#fff; }
.page-intro .eyebrow { color:var(--gold); }
.page-intro h1 { font-size:clamp(64px,8vw,116px); letter-spacing:-.055em; line-height:.97; margin:26px 0 30px; }
.page-intro h1 em { color:var(--pink); }
.page-intro p { max-width:510px; color:#c9cbd6; font-size:16px; line-height:1.8; }
.collection-page { padding:64px 0 100px; }
.collection-summary { display:flex; justify-content:space-between; gap:30px; padding-bottom:28px; margin-bottom:35px; border-bottom:1px solid var(--line); }
.collection-summary p { margin:0; color:#686467; font-size:13px; line-height:1.6; }
.collection-gallery .art-card:nth-child(3n+2) { padding-top:0; }
.artist-profile { padding:85px 0 100px; }
.artist-profile-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(45px,8vw,130px); }
.artist-portrait { margin:0; }
.artist-portrait img { width:100%; max-height:760px; object-fit:contain; display:block; background:#eae5dc; }
.artist-profile-copy h2 { font-size:clamp(42px,4.6vw,72px); line-height:1.06; letter-spacing:-.045em; margin:22px 0 28px; }
.artist-profile-copy p { max-width:480px; font-size:16px; line-height:1.85; color:#59565a; }
.page-actions { display:flex; flex-wrap:wrap; gap:26px; margin-top:35px; }
.contact-form-note { color:#c4c5d3; font-size:13px; line-height:1.7; margin:0 0 28px; }
.preview-message { border:1px solid var(--gold); padding:18px; color:#fff; line-height:1.7; margin-top:24px; }
.field input:focus-visible,.field textarea:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
@media(max-width:760px) {
  .header-inner { gap:15px; }
  .header-nav { gap:14px; }
  .header-nav a { font-size:12px; letter-spacing:.07em; padding-block:14px; }
  .header-nav a[aria-current="page"] { padding-bottom:13px; }
  .page-intro { padding:52px 0 42px; }
  .page-intro h1 { font-size:clamp(60px,16vw,90px); }
  .collection-page { padding:35px 0 70px; }
  .collection-summary { display:block; }
  .collection-summary p { margin-top:12px; }
  .artist-profile { padding:55px 0 70px; }
  .artist-profile-grid { grid-template-columns:1fr; gap:45px; }
}
