@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#f7f4eb;--ink:#243c32;--muted:#5b685d;--line:#d7d8c9;--accent:#b45a3c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{max-width:1440px;margin:auto;padding:28px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:'Playfair Display',Georgia,serif;font-size:39px;line-height:1}.brand span{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:3.3px;margin-top:9px}nav{display:flex;align-items:center;gap:35px;font-size:13px}.nav-cta{border-bottom:1px solid;padding:10px 0}.hero{max-width:1440px;margin:auto;padding:66px 6% 76px;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;margin:0 0 24px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-2px;line-height:1.08;margin:0}h1{font-size:clamp(55px,6vw,91px)}em{font-weight:400;color:var(--accent)}.intro{max-width:370px;font-size:16px;line-height:1.85;margin:27px 0}.button{display:inline-flex;gap:40px;align-items:center;background:var(--ink);color:var(--paper);padding:18px 25px;font-size:13px;border-radius:2px}.button:hover{background:#365848}.small-note{font-size:11px;color:var(--muted);margin-top:20px}.hero-art{position:relative;padding:18px 18px 58px;background:#e8e4d7;transform:rotate(2deg);box-shadow:12px 18px 30px #233b3214}.hero-art img{display:block;width:100%;height:490px;object-fit:contain;background:#e0ddcf}.art-label{display:block;margin-top:17px;font-family:Georgia,serif;font-style:italic;text-align:center;font-size:14px}.art-number{position:absolute;bottom:-27px;right:0;letter-spacing:2px;font-size:9px;transform:rotate(-2deg)}.ribbon{border-block:1px solid var(--line);padding:23px 5%;display:flex;justify-content:space-around;gap:18px;font-size:12px;letter-spacing:1px}.ribbon span{color:var(--accent)}.gallery-section{max-width:1440px;margin:auto;padding:95px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}h2{font-size:clamp(37px,4vw,57px)}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted)}.filters{display:flex;gap:10px;margin:35px 0}.filters button{border:1px solid var(--line);border-radius:30px;padding:10px 20px;background:transparent;color:var(--ink);font-size:12px}.filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.paintings{columns:3;column-gap:28px}.painting{break-inside:avoid;margin:0 0 30px}.painting button{border:0;padding:13px;background:#eae7dc;display:block;width:100%;overflow:hidden}.painting img{width:100%;height:auto;display:block;transition:transform .3s}.painting button:hover img{transform:scale(1.025)}.painting figcaption{display:flex;justify-content:space-between;gap:10px;padding:12px 0;font-size:12px}.painting figcaption span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.artist{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#e9ecdf;padding:75px max(6%,calc((100vw - 1265px)/2))}.artist-image{max-width:350px;margin:auto;transform:rotate(-3deg);padding:15px;background:var(--paper)}.artist-image img{display:block;width:100%;max-height:430px;object-fit:contain}.artist p:not(.eyebrow){max-width:460px;line-height:1.9;font-size:14px;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:7px;font-size:13px;margin-top:15px}.commission{text-align:center;background:var(--ink);color:var(--paper);padding:85px 6%}.commission em{color:#e4ac8e}.commission>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:480px;margin:24px auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:950px;margin:50px auto}.steps span{font-family:Georgia,serif;color:#c8d0b8;font-size:24px}.steps h3{font-size:15px;font-weight:500}.steps p{font-size:13px;line-height:1.8;color:#d3dbcf;max-width:245px;margin:auto}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#e2ddce}.commission .contact-note{font-size:11px!important;color:#d3dbcf}footer{padding:45px 6%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px}footer p{font-family:Georgia,serif;font-style:italic}footer div{display:flex;gap:20px;font-size:12px}footer small{width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}dialog{max-width:92vw;max-height:95dvh;border:0;background:var(--paper);padding:45px 22px 12px;color:var(--ink)}dialog::backdrop{background:#13251fdf}dialog img{display:block;max-height:75dvh;max-width:80vw;width:auto;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:13px}.close{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--ink);font-size:13px}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:white;padding:15px;z-index:5}[hidden]{display:none!important}@media(min-width:1600px){.hero-art img{height:550px}}@media(max-width:750px){header{padding:22px 6%}.brand{font-size:31px}nav{gap:16px;font-size:11px}nav>a:nth-child(2){display:none}.hero{grid-template-columns:1fr;padding-top:40px;gap:45px}.hero-copy{max-width:500px}.hero h1{font-size:66px}.hero-art{max-width:460px;width:95%;margin:auto}.hero-art img{height:380px}.ribbon{font-size:10px;flex-wrap:wrap}.ribbon span:last-of-type,.ribbon span:last-of-type+*{display:none}.gallery-section{padding-block:60px}.section-heading{display:block}.paintings{columns:2;column-gap:16px}.painting{margin-bottom:18px}.painting button{padding:7px}.painting figcaption{display:block;line-height:1.8}.painting figcaption span{display:block}.artist{grid-template-columns:1fr;padding:55px 7%;gap:40px}.artist-image{max-width:250px}.steps{grid-template-columns:1fr;gap:28px;margin:35px auto}.commission{padding:60px 6%}.filters{gap:7px}.filters button{padding:10px 14px}footer{align-items:start}footer p{font-size:14px}footer div{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px}.contact-actions .text-link{margin-top:0}.commission .portrait-sizes{color:#d3dbcf}.contact-note a{text-decoration:underline;text-underline-offset:3px}
.hero-gallery-link{margin-left:20px}.filters{flex-wrap:wrap}.inquiry-panel{max-width:850px;margin:45px auto;text-align:left;padding:36px;background:var(--paper);color:var(--ink);border-radius:3px}.inquiry-heading h3{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:400;margin:0 0 14px}.inquiry-heading>p:last-child{font-size:14px;line-height:1.8;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}.form-grid label{display:block;font-size:13px;font-weight:500}.form-grid label span{font-size:11px;font-weight:400;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #9aab9d;border-radius:2px;background:#fffefa;color:var(--ink);font:14px 'DM Sans',sans-serif}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.full-width{grid-column:1/-1}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note,#inquiry-status{font-size:12px;line-height:1.8}.form-note{color:var(--muted)}.inquiry-panel button{border:0;cursor:pointer}.inquiry-panel button:disabled{opacity:.55;cursor:wait}#inquiry-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;background:#e9ecdf;padding:20px;max-height:500px;overflow:auto}@media(max-width:750px){.hero-gallery-link{margin-left:0;display:block;width:fit-content}.inquiry-panel{padding:24px 18px}.form-grid{grid-template-columns:1fr}.inquiry-heading h3{font-size:28px}}

.photo-help,#photo-status{display:block;margin-top:8px;line-height:1.7}#photo-preview{display:block;max-width:100%;width:220px;max-height:220px;object-fit:contain;object-position:left;margin-top:14px}.form-grid input[type=file]{font-size:12px}
.available-section{border-top:1px solid var(--line)}.sale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}.sale-card{min-width:0}.sale-card>button:first-child{width:100%;padding:12px;border:0;background:#eae7dc;cursor:pointer}.sale-card img{display:block;width:100%;height:280px;object-fit:contain}.sale-card h3{font:24px 'Playfair Display',Georgia,serif;margin:18px 0 10px}.sale-card p{font-size:13px;line-height:1.8;color:var(--muted)}.sale-card .button{font-size:12px;border:0;padding:14px 18px;cursor:pointer}.sale-badge{display:inline-block;border:1px solid var(--line);border-radius:20px;font-size:10px;letter-spacing:1px;padding:5px 10px;margin-bottom:6px}nav{flex-wrap:wrap}@media(max-width:1000px){.sale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){nav{justify-content:flex-end;gap:12px}.sale-grid{grid-template-columns:1fr}header{gap:20px}.sale-card img{height:320px}}
@media(max-width:750px){nav>a:nth-child(2){display:inline}nav>a[href="#artist"]{display:none}}
.sale-card{padding:16px;border:1px solid var(--line);background:#fbf9f2;display:flex;flex-direction:column;align-items:flex-start}.sale-card .sale-price{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 8px}.sale-card .sale-medium{margin:0 0 12px}.sale-card .button{margin-top:auto}.sale-email{font-size:11px;text-decoration:underline;text-underline-offset:3px;margin-top:14px;line-height:1.8}.sale-details{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:12px;line-height:1.7;margin:0 0 18px}.sale-details:empty{display:none}.sale-details dt{font-weight:600}.sale-details dd{margin:0;color:var(--muted)}.sale-card>button:first-child{height:304px}.sale-card h3{overflow-wrap:anywhere}.sale-card>.button{min-height:44px}

/* Phone and tablet layouts: keep the artwork readable and controls easy to tap. */
@media (max-width: 1000px) {
  header { flex-wrap: wrap; gap: 24px; }
  header nav { gap: 20px; }
  .hero { gap: 5%; }
  .hero-copy, .hero-art, .artist > div, .section-heading > div { min-width: 0; }
  .hero-gallery-link { margin-left: 0; display: table; }
}
@media (max-width: 750px) {
  html { scroll-padding-top: 20px; }
  header { padding: 22px 6% 16px; gap: 20px; }
  header .brand { font-size: 36px; }
  header nav { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); width: 100%; gap: 6px 12px; }
  header nav > a, header nav > a:nth-child(2), header nav > a[href="#artist"] {
    display: flex; align-items: center; min-height: 44px; padding: 10px 12px;
    font-size: 13px; line-height: 1.4; border: 1px solid var(--line); border-radius: 3px;
  }
  header nav .nav-cta { background: var(--ink); color: var(--paper); border-color: var(--ink); }
  .hero { padding: 36px 6% 54px; grid-template-columns: minmax(0,1fr); gap: 34px; }
  .hero h1 { font-size: clamp(44px, 11vw, 68px); letter-spacing: -1.5px; line-height: 1.08; }
  .eyebrow { font-size: 10px; letter-spacing: 1.6px; line-height: 1.8; margin-bottom: 18px; }
  .intro { max-width: 36ch; font-size: 16px; line-height: 1.75; margin: 22px 0; }
  .button { min-height: 48px; justify-content: center; font-size: 14px; gap: 18px; max-width: 100%; text-align: center; line-height: 1.5; }
  .hero .button { width: 100%; }
  .hero-gallery-link { display: flex; width: fit-content; align-items: center; min-height: 44px; margin: 10px 0 0; padding: 8px 0; }
  .small-note { font-size: 12px; line-height: 1.7; }
  .hero-art { width: 100%; max-width: 430px; transform: none; padding: 12px 12px 26px; }
  .hero-art img { width: 100%; height: auto; max-height: 480px; object-fit: contain; }
  .art-label { font-size: 13px; line-height: 1.6; margin-top: 13px; }
  .art-number { position: static; display: block; text-align: center; margin-top: 14px; transform: none; font-size: 9px; }
  .ribbon { padding: 18px 6%; font-size: 11px; gap: 12px; line-height: 1.7; text-align: center; }
  .gallery-section { padding: 48px 6%; }
  h2 { font-size: clamp(34px, 8.5vw, 48px); line-height: 1.15; letter-spacing: -1px; overflow-wrap: break-word; }
  .section-heading > p { font-size: 14px; margin-top: 20px; }
  .filters { margin: 24px 0; gap: 8px; }
  .filters button { min-height: 44px; max-width: 100%; padding: 10px 16px; font-size: 13px; overflow-wrap: anywhere; }
  .paintings { columns: 2; column-gap: 16px; }
  .painting figcaption { font-size: 13px; overflow-wrap: anywhere; }
  .painting figcaption span { font-size: 10px; }
  .sale-grid { margin-top: 24px; gap: 24px; grid-template-columns: minmax(0,1fr); }
  .sale-card { padding: 16px; }
  .sale-card > button:first-child { height: auto; aspect-ratio: 4 / 5; padding: 10px; }
  .sale-card img { width: 100%; height: 100%; object-fit: contain; }
  .sale-card h3 { font-size: 27px; }
  .sale-card p { font-size: 14px; }
  .sale-card .button { width: 100%; font-size: 14px; }
  .sale-email { display: flex; align-items: center; min-height: 44px; font-size: 13px; margin-top: 8px; }
  .sale-details { grid-template-columns: minmax(0,auto) minmax(0,1fr); font-size: 13px; overflow-wrap: anywhere; }
  .artist { padding: 48px 7%; grid-template-columns: minmax(0,1fr); gap: 30px; }
  .artist-image { max-width: 240px; transform: rotate(-2deg); }
  .artist p:not(.eyebrow) { font-size: 15px; }
  .commission { padding: 48px 6%; }
  .steps { gap: 26px; margin: 32px auto; }
  .steps p { max-width: 32ch; font-size: 14px; }
  .inquiry-panel { padding: 25px 18px; margin: 32px auto; }
  .inquiry-heading h3 { font-size: 30px; line-height: 1.2; }
  .form-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .form-grid label { min-width: 0; font-size: 14px; }
  .form-grid input, .form-grid select, .form-grid textarea { font-size: 16px; min-width: 0; min-height: 48px; padding: 12px; }
  .form-grid input[type=file] { font-size: 16px; padding: 10px; }
  .form-grid input::file-selector-button { max-width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); color: var(--ink); margin-right: 8px; }
  #photo-status, #form-note, #inquiry-status { overflow-wrap: anywhere; }
  .inquiry-panel button[type=submit] { width: 100%; }
  .contact-actions { gap: 12px; flex-direction: column; }
  .contact-actions .button { width: 100%; max-width: 400px; }
  .contact-actions .text-link { min-height: 44px; display: flex; align-items: center; }
  .contact-note a { overflow-wrap: anywhere; }
  footer { padding: 32px 6%; gap: 20px; }
  footer div { flex-wrap: wrap; gap: 4px 20px; }
  footer div a { display: flex; align-items: center; min-height: 44px; font-size: 13px; }
  dialog { width: calc(100vw - 24px); max-width: 600px; padding: 58px 12px 16px; max-height: calc(100dvh - 24px); }
  dialog img { max-width: 100%; max-height: calc(100dvh - 150px); }
  dialog p { line-height: 1.6; overflow-wrap: anywhere; }
  dialog .close { min-height: 44px; min-width: 80px; top: 6px; right: 6px; }
}
@media (max-width: 420px) {
  .paintings { columns: 1; }
  .painting button { padding: 12px; }
  .painting figcaption { display: flex; gap: 12px; }
  .hero h1 { font-size: clamp(40px, 11vw, 46px); }
}
.sale-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:14px;width:100%}.sale-card .sale-summary .sale-price,.sale-card .sale-summary .sale-medium{margin:0}.sale-summary .sale-medium{overflow-wrap:anywhere;min-width:0}
