:root { --ink:#111; --paper:#f6f6f4; --muted:#626262; --line:#c9c9c5; --accent:#d9d5ce; --max:1380px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Kanit,Arial,sans-serif; font-size:1.1rem; font-weight:300; line-height:1.4; } a { color:inherit; } img { display:block; max-width:100%; } button,input,textarea { font:inherit; } button { cursor:pointer; } [hidden] { display:none !important; }
.site-header { height:118px; display:flex; align-items:center; justify-content:space-between; max-width:var(--max); margin:auto; padding:18px 34px; position:relative; z-index:10; } .brand img { width:157px; height:auto; } nav { display:flex; gap:44px; align-items:center; font-family:Kanit,sans-serif; font-weight:600; } nav a { text-decoration:none; padding:12px 4px; position:relative; } nav a.active:after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--ink); }.menu-button { display:none; }
.section-shell { max-width:var(--max); margin-inline:auto; padding:110px 34px; } .eyebrow { margin:0 0 17px; font-family:Kanit,sans-serif; font-style:italic; font-size:27px; font-weight:500; } h1,h2 { font-family:Syncopate,Kanit,sans-serif; letter-spacing:-.055em; margin:0; line-height:1.12; } h2 { font-size:clamp(31px,4.2vw,63px); } h3 { font-family:Kanit,sans-serif; } p { line-height:1.62; } .hero { min-height:calc(100vh - 118px); background:#292929; color:#f5f5f2; display:grid; grid-template-columns:1.04fr .96fr; align-items:end; gap:25px; padding:70px max(34px, calc((100vw - var(--max))/2 + 34px)) 0; overflow:hidden; } .hero-copy { align-self:center; padding-bottom:7vw; } .hero h1 { font-size:clamp(55px,8vw,136px); letter-spacing:-.09em; } .hero .hero-sub { font:600 clamp(16px,1.7vw,24px) Kanit,sans-serif; margin:32px 0 0; letter-spacing:.08em; } .hero figure { margin:0; position:relative; height:min(74vh,760px); overflow:hidden; } .hero figure:before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%); } .hero figure img { width:100%; height:100%; object-fit:cover; object-position:center 18%; filter:saturate(.88); } .hero figcaption { position:absolute; z-index:2; bottom:22px; left:25px; font:700 12px Syncopate,sans-serif; letter-spacing:.12em; }
.intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; } .intro h2 { max-width:500px; } .intro h3,.services-intro h3 { margin:0 0 35px; font-size:19px; letter-spacing:.03em; max-width:540px; } .columns { display:grid; grid-template-columns:1fr 1fr; gap:34px; color:#3e3e3e; }.gallery-section { padding:80px 0 120px; overflow:hidden; }.section-heading { padding-bottom:35px; display:flex; align-items:end; justify-content:space-between; gap:30px; }.outline-button { border:1px solid var(--ink); background:transparent; border-radius:30px; padding:15px 22px; font-weight:700; transition:.15s; }.outline-button:hover { background:var(--ink); color:#fff; }.outline-button span, form button span { margin-left:16px; font-size:18px; }.gallery-filter { max-width:var(--max); margin:0 auto 42px; padding:0 34px; display:flex; gap:16px; flex-wrap:wrap; }.gallery-filter button { border:0; border-bottom:1px solid transparent; padding:8px 0; background:transparent; font:600 14px Kanit,sans-serif; text-transform:uppercase; }.gallery-filter button:not(:last-child):after { content:'/'; margin-left:16px; color:#8d8d8d; }.gallery-filter button.is-active { border-color:var(--ink); }.art-grid { max-width:var(--max); padding:0 34px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); align-items:start; gap:26px; }.art-card { min-width:0; }.art-card.lower { margin-top:120px; }.art-card img { aspect-ratio:3/4; object-fit:cover; width:100%; }.art-card:nth-child(2) img { object-position:67% center; }.art-card h3 { font-size:18px; margin:7px 0; letter-spacing:.04em; }.art-card p { font-size:13px; margin:19px 0 0; color:var(--muted); }.art-card small { color:#555; line-height:1.65; }
.dark-panel { max-width:none; background:#292929; color:#f7f7f3; display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding-left:max(34px,calc((100vw - var(--max))/2 + 34px)); padding-right:max(34px,calc((100vw - var(--max))/2 + 34px)); }.services-intro h2 { margin-bottom:36px; }.services-intro > p:last-child { max-width:510px; color:#d0d0d0; }.service-list { border-top:1px solid #606060; }.service-list article { display:grid; grid-template-columns:52px 190px 1fr; gap:20px; padding:29px 0; border-bottom:1px solid #606060; }.service-list span { font:italic 20px Kanit,sans-serif; }.service-list h3 { margin:0; font-size:17px; }.service-list p { margin:0; color:#d0d0d0; font-size:14px; }.impact { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }.stats article { border-top:2px solid var(--ink); padding-top:15px; }.stats strong { font:700 52px Kanit,sans-serif; }.stats strong span { font-size:26px; }.stats h3 { margin:7px 0; font-size:18px; }.stats p { font-size:14px; color:#555; }.quote-band { background:#c8c5bf; text-align:center; padding:90px max(26px, 18vw); }.quote-band > p { font:100px/0 Kanit,sans-serif; margin:22px 0 40px; }.quote-band blockquote { font:600 clamp(24px,3.3vw,49px)/1.2 Kanit,sans-serif; margin:0; }.quote-band cite { display:block; font:700 11px Syncopate,sans-serif; letter-spacing:.08em; margin-top:36px; }.newsletter { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }.newsletter form { border-bottom:1px solid var(--ink); display:flex; flex-wrap:wrap; align-items:center; }.newsletter input { background:transparent; border:0; outline:0; padding:18px 0; flex:1; min-width:200px; }.newsletter button,.contact-section button { color:#fff; border:0; background:var(--ink); padding:15px 22px; font-weight:700; }.form-message { flex-basis:100%; font-size:14px; margin:0 0 9px; min-height:20px; }.faq { padding-top:0; padding-bottom:110px; }.faq details { border-top:1px solid var(--ink); padding:0 0 16px; }.faq details:last-child { border-bottom:1px solid var(--ink); }.faq summary { list-style:none; font:600 20px Kanit,sans-serif; padding:22px 0; display:flex; justify-content:space-between; }.faq summary::-webkit-details-marker { display:none; }.faq details[open] summary span { transform:rotate(45deg); }.faq p { margin:0; max-width:680px; color:#555; }
.about-hero { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding-top:110px; padding-bottom:90px; }.about-hero h1 { font-size:clamp(46px,5.1vw,81px); }.about-hero h3 { font-size:16px; letter-spacing:.08em; margin:28px 0; max-width:480px; }.about-hero > div > p:last-child { color:#545454; max-width:610px; }.about-hero aside { padding-top:90px; }.quote-mark { font:100px/.4 Kanit,sans-serif; color:#d7d7d7; }.about-hero aside h2 { font:600 24px/1.2 Kanit,sans-serif; letter-spacing:0; max-width:540px; }.bio { margin-top:66px; }.bio h3 { margin:0; font-size:17px; letter-spacing:.05em; }.bio > p { margin:0; }.bio dl { display:grid; grid-template-columns:100px 1fr; gap:12px; border-bottom:1px solid var(--line); padding:28px 0; }.bio dt,.bio dd { margin:0; }.contact-line { font-weight:700; font-size:13px; }.about-image { margin:0 max(34px,calc((100vw - var(--max))/2 + 34px)); height:min(76vw,780px); overflow:hidden; }.about-image img { height:100%; width:100%; object-fit:cover; object-position:center 42%; }.exhibitions { padding-top:120px; }.award-list { margin-top:56px; border-top:1px solid var(--ink); }.award-list article { display:grid; grid-template-columns:140px 1fr 220px; gap:35px; padding:26px 0; border-bottom:1px solid var(--line); }.award-list span { font:italic 22px Kanit,sans-serif; }.award-list h3,.award-list p { margin:0; }.award-list h3 { font-size:18px; }.award-list p { color:#666; font-size:14px; }
.contact-banner { height:min(29vw,470px); background:linear-gradient(rgba(10,10,10,.45),rgba(10,10,10,.45)),url('/assets/art/IMG_8630-scaled.jpeg') center/cover; margin:40px max(22px,calc((100vw - var(--max))/2 + 34px)) 0; display:grid; place-items:center; color:#fff; }.contact-banner h1 { font-size:clamp(52px,11vw,164px); letter-spacing:.12em; }.contact-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:120px; }.contact-details { display:grid; gap:6px; margin:30px 0; }.contact-details a { font:600 20px Kanit,sans-serif; text-decoration:none; }.contact-section form { display:grid; grid-template-columns:1fr 1fr; gap:28px; }.contact-section label { font:600 13px Kanit,sans-serif; letter-spacing:.06em; }.contact-section input,.contact-section textarea { display:block; width:100%; border:0; border-bottom:1px solid var(--ink); background:transparent; outline:0; padding:12px 0; resize:vertical; }.contact-section label:has(textarea),.contact-section button,.contact-section .form-message { grid-column:1/-1; }.contact-section button { justify-self:start; }.contact-section button:disabled,.newsletter button:disabled { opacity:.6; cursor:wait; } footer { display:flex; justify-content:space-between; gap:25px; background:var(--ink); color:#eee; padding:26px max(34px,calc((100vw - var(--max))/2 + 34px)); font-size:13px; } footer p { margin:0; } footer div { display:flex; gap:25px; } footer a { text-decoration:none; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
@media (max-width:800px) { .site-header { height:86px; padding:13px 21px; }.brand img { width:142px; }.menu-button { display:flex; gap:9px; align-items:center; border:0; background:transparent; font:600 14px Kanit,sans-serif; text-transform:uppercase; }.menu-button span,.menu-button:after { content:""; width:17px; height:1px; background:var(--ink); }.site-header nav { display:none; }.site-header.menu-open nav { display:flex; position:absolute; top:86px; left:0; right:0; background:var(--paper); padding:25px; flex-direction:column; align-items:stretch; gap:0; border-top:1px solid var(--line); }.site-header.menu-open nav a { padding:13px 0; }.section-shell { padding:70px 22px; }.hero { min-height:auto; grid-template-columns:1fr; padding:60px 22px 0; }.hero-copy { padding-bottom:20px; }.hero figure { height:64vw; }.intro,.dark-panel,.impact,.newsletter,.about-hero,.contact-section { grid-template-columns:1fr; gap:35px; }.columns { grid-template-columns:1fr; gap:0; }.section-heading { display:block; }.outline-button { margin-top:24px; }.gallery-filter,.art-grid { padding-inline:22px; }.gallery-filter { gap:12px; }.gallery-filter button:not(:last-child):after { margin-left:12px; }.art-grid { grid-template-columns:1fr 1fr; gap:14px; }.art-card.lower { margin-top:52px; }.art-card h3 { font-size:14px; }.art-card small { font-size:11px; }.dark-panel { padding-inline:22px; }.service-list article { grid-template-columns:32px 1fr; gap:8px 14px; }.service-list p { grid-column:2; }.stats { grid-template-columns:1fr; gap:15px; }.quote-band { padding:70px 26px; }.newsletter form { margin-top:0; }.about-hero { padding-top:65px; }.about-hero aside { padding-top:10px; }.about-image { margin:0 22px; height:95vw; }.award-list article { grid-template-columns:60px 1fr; gap:12px; }.award-list p { grid-column:2; }.contact-banner { margin:15px 12px 0; height:48vw; }.contact-section form { grid-template-columns:1fr; gap:20px; }.contact-section label:has(textarea),.contact-section button,.contact-section .form-message { grid-column:auto; } footer { padding:22px; display:block; } footer div { margin-top:15px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
.outline-button { text-decoration:none; display:inline-block; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline:3px solid #2c5dff; outline-offset:4px; }
summary, .sr-only { cursor:pointer; }

/* Homepage replica: the live site uses an editorial white canvas, oversized outlined type and staggered work. */
.home-page .hero { display:block; min-height:0; color:var(--ink); background:var(--paper); padding:78px max(4.5vw,34px) 100px; overflow:hidden; }
.home-page .hero h1 { position:relative; z-index:1; margin:0 auto -4vw; width:100%; text-align:center; font-family:Syncopate,Kanit,sans-serif; line-height:.71; }
.home-page .hero h1 span,.home-page .hero h1 strong { display:block; white-space:nowrap; }
.home-page .hero h1 span { font-size:clamp(60px,11.7vw,190px); letter-spacing:.18em; margin-left:.19em; font-weight:700; }
.home-page .hero h1 strong { color:var(--paper); -webkit-text-stroke:2px var(--ink); font-size:clamp(46px,9vw,148px); letter-spacing:.15em; margin-left:.15em; font-weight:400; }
.home-page .hero figure { height:auto; width:min(100%,1360px); margin:0 auto; overflow:visible; }
.home-page .hero figure img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; filter:none; }
.intro { grid-template-columns:43% 1fr; align-items:start; gap:5.5vw; padding-top:190px; padding-bottom:150px; }
.intro figure { margin:95px 0 0; }.intro figure img { width:100%; aspect-ratio:.72; object-fit:cover; }.intro h2 { font-size:clamp(37px,4.7vw,73px); line-height:1.03; margin-bottom:36px; }.intro h3 { margin-bottom:38px; }.intro .columns { border-bottom:1px solid var(--line); padding-bottom:28px; }.intro .columns p { margin:0; font-size:16px; }.artist-quote { width:52%; margin-left:auto; padding-top:39px; }.artist-quote b { color:#dadada; font:100px/.25 Kanit,sans-serif; }.artist-quote p { font:700 15px/1.15 Kanit,sans-serif; margin:20px 0 31px; }.artist-quote a { display:block; font:700 16px/1.18 Syncopate,sans-serif; text-decoration:none; }.artist-quote a small { display:block; font:400 13px 'DM Sans',sans-serif; padding-left:35px; margin-top:6px; }
.gallery-section { padding:0 0 135px; }.collection-head { border-top:2px solid var(--ink); max-width:calc(var(--max) - 68px); margin:0 auto 48px; padding-top:106px; display:flex; justify-content:space-between; align-items:center; }.collection-head h3 { font-size:17px; letter-spacing:.08em; margin:0; }.collection-head a { text-decoration:none; font-weight:700; }.category-grid { max-width:calc(var(--max) - 68px); margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }.category-grid img { width:100%; aspect-ratio:.92; object-fit:cover; }.category-grid img:nth-child(1) { object-position:center; }.category-grid img:nth-child(2) { object-position:center; }.category-grid img:nth-child(3) { object-position:center; }.category-grid img:nth-child(4) { object-position:center; }.marquee { background:#090909; color:#f2f2f2; overflow:hidden; white-space:nowrap; transform:rotate(-1.3deg); margin-top:80px; font:clamp(36px,5.5vw,88px)/1 Syncopate,sans-serif; letter-spacing:.04em; padding:16px 0; }.marquee span { display:inline-block; animation:move-left 21s linear infinite; }.marquee.reverse { transform:rotate(1.4deg); background:#2d2d2d; margin-top:-4px; }.marquee.reverse span { animation-direction:reverse; }.portfolio-title { display:block; text-align:center; padding-top:145px; padding-bottom:95px; }.portfolio-title .eyebrow { margin-bottom:24px; }.portfolio-title h2 { font-size:clamp(32px,5.2vw,80px); }.gallery-filter { display:none; }.art-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:40px; min-height:1150px; padding-bottom:30px; }.art-card { display:flex; flex-direction:column; justify-content:flex-end; }.art-card:nth-child(1) { grid-column:1; grid-row:1; padding-top:540px; }.art-card:nth-child(2) { grid-column:3 / span 2; grid-row:1; padding-left:12%; }.art-card:nth-child(3) { grid-column:1 / span 2; grid-row:2; align-self:start; padding-top:70px; }.art-card:nth-child(4) { grid-column:3 / span 2; grid-row:2; align-self:start; padding-top:245px; }.art-card.lower { margin-top:0; }.art-card img { width:100%; height:auto; aspect-ratio:auto; max-height:350px; object-fit:contain; object-position:left bottom; }.art-card:nth-child(1) img,.art-card:nth-child(3) img,.art-card:nth-child(4) img { visibility:hidden; }.art-card p { margin-top:20px; }.art-card h3 { font-size:clamp(18px,2vw,34px); font-weight:500; margin:10px 0 15px; }.art-card small { font-size:14px; line-height:2; }.dark-panel { background:#111; background-image:radial-gradient(rgba(255,255,255,.08) .7px,transparent .7px); background-size:15px 15px; }.impact { padding-top:150px; padding-bottom:170px; }.impact > div:first-child h2 { font-size:clamp(38px,5vw,77px); }.stats { grid-template-columns:.7fr 2fr; grid-auto-rows:auto; gap:16px 55px; }.stats article { display:grid; grid-template-columns:140px 1fr; gap:22px; border:0; padding:0; }.stats strong { grid-row:span 2; font-size:43px; }.stats h3,.stats p { margin:0; }.stats p { grid-column:2; font-size:15px; }
@keyframes move-left { to { transform:translateX(-45%); } }

/* Measurements copied from the live site's Elementor kit at the 1400px desktop breakpoint. */
:root { --max:1400px; --paper:#f9f9f9; }
.home-page .hero { padding:6em 3em 3em; }
.home-page .hero h1 { margin-bottom:-5%; line-height:1; }
.home-page .hero h1 span { font-size:9.2rem; font-weight:700; letter-spacing:.3em; margin-left:.3em; }
.home-page .hero h1 strong { font-size:5.6rem; font-weight:700; letter-spacing:.3em; margin-left:.3em; -webkit-text-stroke:3px var(--ink); }
.home-page .hero figure { width:100%; max-width:1400px; }
.eyebrow { font-family:Fasthand,cursive; font-style:normal; font-size:2rem; font-weight:400; line-height:1; }
.intro { grid-template-columns:1fr 1fr; gap:30px; padding:6em 1em; }
.intro figure { margin:15px 15px 15px 15px; align-self:end; }
.intro figure img { border:10px solid var(--paper); filter:brightness(1.07) contrast(.88) saturate(.5) blur(.5px); aspect-ratio:auto; }
.intro .intro-body { margin:15px 15px 15px 15px; align-self:center; }
.intro h2 { font-size:3.8rem; line-height:1.2; margin-bottom:20px; }.intro h3 { font-size:1.2rem; line-height:1.2; margin-bottom:20px; }.intro .columns p { font-size:1.1rem; font-weight:300; line-height:1.4; }.artist-quote { padding-top:20px; }.artist-quote p { font-size:1.2rem; }
.collection-head { max-width:1400px; margin-bottom:30px; padding:6em 1em 0; border-top:0; }.category-grid { max-width:1400px; height:460px; gap:30px; padding:0 1em; }.category-grid img { height:460px; aspect-ratio:auto; object-fit:cover; }.marquee { font:5.2rem/1.4 Kanit,sans-serif; margin-top:80px; }.portfolio-title { padding:6em 1em 1em; }.portfolio-title h2 { font-size:3.8rem; line-height:1.2; }.art-card p { font-size:1rem; }.art-card h3 { font-size:2.6rem; line-height:1.2; }.art-card small { font-size:1rem; font-weight:300; line-height:1.4; }
@media (max-width:1024px) { .home-page .hero h1 span { font-size:4.2rem; }.home-page .hero h1 strong { font-size:4.2rem; }.intro h2,.portfolio-title h2 { font-size:2.8rem; }.collection-head { padding-top:4em; }.category-grid,.category-grid img { height:330px; }.marquee { font-size:3.6rem; } }
@media (max-width:767px) { body { font-size:1rem; }.home-page .hero { padding:4em 1em 2em; }.home-page .hero h1 span { font-size:2.2rem; letter-spacing:.3em; }.home-page .hero h1 strong { font-size:2.2rem; letter-spacing:.2em; -webkit-text-stroke-width:1px; }.intro { padding:4em 1em; }.intro h2,.portfolio-title h2 { font-size:2rem; }.intro h3,.artist-quote p { font-size:1.1rem; }.intro .columns p { font-size:1rem; }.category-grid { height:145px; padding:0 1em; gap:6px; }.category-grid img { height:145px; }.marquee { font-size:3rem; }.portfolio-title { padding:4em 1em 1em; }.art-card h3 { font-size:1.6rem; }.art-card small,.art-card p { font-size:.8rem; } }
@media (max-width:800px) { .home-page .hero { padding:48px 22px 55px; }.home-page .hero h1 { margin-bottom:-3vw; }.home-page .hero h1 span { font-size:12.2vw; -webkit-text-stroke:0; letter-spacing:.12em; }.home-page .hero h1 strong { -webkit-text-stroke:1px var(--ink); font-size:9.6vw; letter-spacing:.1em; }.intro { grid-template-columns:1fr; padding-top:75px; padding-bottom:75px; }.intro figure { margin:0; }.intro figure img { aspect-ratio:1; }.intro .intro-body { padding-top:20px; }.intro h2 { font-size:13vw; }.intro .columns { grid-template-columns:1fr; }.artist-quote { width:75%; }.collection-head { margin:0 22px 28px; padding-top:65px; }.collection-head h3 { font-size:13px; }.collection-head a { font-size:12px; }.category-grid { margin:0 22px; gap:8px; }.category-grid img { aspect-ratio:.92; }.marquee { margin-top:50px; font-size:33px; }.portfolio-title { padding:80px 22px 42px; }.portfolio-title h2 { font-size:10.5vw; }.art-grid { grid-template-columns:1fr 1fr; min-height:0; gap:18px; padding:0 22px; }.art-card:nth-child(n) { grid-column:auto; grid-row:auto; padding:0; }.art-card:nth-child(1) img,.art-card:nth-child(3) img,.art-card:nth-child(4) img { visibility:visible; }.art-card:nth-child(2) { padding-top:65px; }.art-card:nth-child(4) { padding-top:65px; }.art-card img { aspect-ratio:3/4; object-fit:cover; }.art-card h3 { font-size:15px; }.art-card p { margin-top:10px; font-size:11px; }.art-card small { font-size:10px; line-height:1.65; }.stats { grid-template-columns:1fr; }.stats article { grid-template-columns:95px 1fr; border-top:1px solid var(--ink); padding-top:16px; }.stats strong { font-size:36px; }.stats p { font-size:13px; }.impact { padding-top:80px; padding-bottom:90px; } }

/* About page — editorial layout rebuilt from the original page reference. */
.about-page .about-hero { max-width:1400px; grid-template-columns:1fr 1fr; gap:30px; padding:6em 1em; }
.about-page .about-hero > div,.about-page .about-hero > aside { margin:15px; }
.about-page .about-hero h1 { font-size:3.8rem; font-weight:700; line-height:1.2; letter-spacing:-.055em; }
.about-page .about-hero h3 { font-size:1.2rem; line-height:1.2; margin:30px 0 42px; }
.about-page .about-hero > div > p:last-child { max-width:650px; color:#646464; text-align:justify; font-size:1.1rem; line-height:1.4; }
.about-page .about-hero aside { padding-top:30px; }
.about-page .quote-mark { color:#d9d9d9; font:105px/.28 Kanit,sans-serif; }
.about-page .about-hero aside > h2 { max-width:650px; margin:30px 0 75px; font:600 1.6rem/1.2 Kanit,sans-serif; letter-spacing:0; color:#383838; }
.about-page .bio { max-width:650px; margin:0; }
.about-page .bio h3 { margin:0; font-size:1.2rem; letter-spacing:.08em; }.about-page .bio > p { margin:0; }
.about-page .bio dl { grid-template-columns:125px 1fr; gap:10px; margin:45px 0 0; padding:0 0 18px; border-bottom:1px solid var(--line); }.about-page .bio dt,.about-page .bio dd { font-size:1.1rem; }
.about-page .contact-line { display:grid; grid-template-columns:1fr 1.35fr; align-items:center; gap:22px; margin-top:30px; font-size:1.1rem; line-height:1.15; }.about-page .contact-line a { text-decoration:none; font-weight:400; }
.about-rule { width:min(86%,1205px); margin:0 0 0 auto; border-top:2px solid var(--ink); }
.about-gallery { width:min(100%,1400px); margin:0 auto; padding:6em 1em 1em; display:grid; grid-template-columns:30% 36.332% 30%; align-items:center; justify-content:space-between; gap:1.834%; }
.about-gallery img { width:100%; height:auto; object-fit:cover; }.about-gallery img:nth-child(2) { filter:brightness(1) contrast(1.1) saturate(.28) hue-rotate(35deg); }.about-gallery img:nth-child(3) { filter:contrast(1.11) saturate(1.11) blur(.2px) hue-rotate(13deg); }
.follow-section { padding:0 1em 6em; text-align:center; }.follow-section p { display:flex; justify-content:center; align-items:center; gap:14px; margin:0 auto 28px; color:#666; }.follow-section p span { width:70px; border-top:1px solid #c9c9c5; }.follow-section div { display:inline-flex; gap:22px; padding:14px 90px; border:1px solid var(--line); }.follow-section a { text-decoration:none; font-size:1.1rem; }
.about-space { max-width:1400px; padding:6em 1em 1em; }.about-space-title { text-align:center; }.about-space-title h2 { max-width:1100px; margin:auto; font-size:3.8rem; line-height:1.2; }.about-space-content { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:6em 15px; }.about-story h4 { margin:0 0 30px; font-size:1.6rem; color:#363636; }.about-story h5,.about-awards h5 { margin:0; font-size:1.2rem; line-height:1.2; letter-spacing:.06em; }.about-story > p { max-width:600px; margin:50px 0; color:#646464; }.painting-doctor { display:grid; grid-template-columns:68px 1fr; grid-template-rows:1fr 1fr; align-items:center; width:max-content; text-decoration:none; }.painting-doctor span { grid-row:span 2; display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--ink); border-radius:50%; }.painting-doctor svg { width:21px; height:21px; display:block; }.painting-doctor b { align-self:end; letter-spacing:.08em; }.painting-doctor small { align-self:start; color:#666; font-size:1rem; }
.about-awards { display:grid; gap:16px; }.about-awards article { display:grid; grid-template-columns:60% 25% 15%; align-items:center; padding:20px; min-height:110px; }.about-awards article:nth-child(even) { background:#f1f1f1; }.about-awards article p { margin:5px 0 0; color:#666; }.about-awards article > span { display:block; border-top:1px solid #c9c9c5; }.about-awards time { text-align:right; font-size:1.1rem; }
.about-stats { display:grid; grid-template-columns:repeat(4,1fr); max-width:1400px; margin:0 auto; padding:5em 1em; border-top:2px solid var(--ink); }.about-stats article { text-align:center; }.about-stats strong { display:block; font:700 4rem/1 Kanit,sans-serif; }.about-stats p { margin:30px 0 0; color:#666; font-size:1.1rem; }
.about-contact { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:6em max(1em,calc((100vw - 1400px)/2 + 1em)); color:#eee; background-color:#111; background-image:radial-gradient(rgba(255,255,255,.09) .7px,transparent .8px); background-size:15px 15px; }.about-contact .eyebrow { color:#f5f5f5; }.about-contact h2 { margin:30px 0; font-size:3rem; }.about-contact > div > p:not(.eyebrow) { display:grid; gap:13px; margin:0; }.about-contact a { color:inherit; text-decoration:none; }.about-contact .about-social { display:flex !important; gap:22px; margin-top:48px !important; }.about-contact form { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-content:start; }.about-contact input,.about-contact textarea { width:100%; padding:12px 0; color:#eee; background:transparent; border:0; border-bottom:1px solid #777; outline:0; }.about-contact textarea,.about-contact button,.about-contact .form-message { grid-column:1/-1; }.about-contact button { border:0; padding:15px; background:#f2f2f2; color:#222; font-weight:600; }.about-contact .form-message { margin:0; min-height:20px; }
@media (max-width:800px) { .about-page .about-hero { grid-template-columns:1fr; padding:4em 22px; gap:28px; }.about-page .about-hero > div,.about-page .about-hero > aside { margin:0; }.about-page .about-hero h1 { font-size:2.6rem; }.about-page .about-hero h3 { margin:25px 0 30px; }.about-page .about-hero aside { padding-top:0; text-align:center; }.about-page .quote-mark { font-size:75px; }.about-page .about-hero aside > h2 { margin:20px auto 40px; font-size:1.35rem; }.about-page .bio { text-align:left; }.about-page .bio h3,.about-page .bio > p { text-align:center; }.about-page .bio dl { grid-template-columns:30% 70%; margin-top:30px; }.about-page .contact-line { grid-template-columns:1fr; gap:12px; text-align:center; }.about-rule { width:92%; }.about-gallery { padding:4em 22px 1em; grid-template-columns:1fr; gap:20px; }.about-gallery img { max-height:none; }.about-gallery img:nth-child(1),.about-gallery img:nth-child(3) { width:78%; }.about-gallery img:nth-child(1) { justify-self:start; }.about-gallery img:nth-child(3) { justify-self:end; }.follow-section { padding:1em 22px 4em; }.follow-section div { padding:14px 20px; }.about-space { padding:4em 22px 1em; }.about-space-title h2 { font-size:2rem; }.about-space-content { grid-template-columns:1fr; gap:45px; padding:4em 0; }.about-story h4 { font-size:1.3rem; }.about-story > p { margin:28px 0; }.about-awards article { grid-template-columns:1fr auto; gap:15px; padding:18px; }.about-awards article > span { display:none; }.about-awards h5 { font-size:1rem; }.about-stats { grid-template-columns:1fr 1fr; gap:42px 15px; padding:4em 22px; }.about-stats strong { font-size:3rem; }.about-stats p { margin-top:15px; font-size:1rem; }.about-contact { grid-template-columns:1fr; gap:45px; padding:4em 22px; }.about-contact h2 { font-size:2.1rem; }.about-contact form { gap:20px; }.about-contact .about-social { margin-top:35px !important; } }

/* Mobile fidelity pass: retain the full hero name and omit the requested first gallery shot. */
@media (max-width:800px) {
  .home-page .hero h1 strong { font-size:8.6vw; letter-spacing:.07em; }
  .home-page .intro figure { display:none; }
}

/* Curated artwork catalogue: sourced from the supplied Available and Sold collections. */
.featured-grid { max-width:1400px; margin:0 auto; padding:0 1em; display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }.featured-card img { width:100%; aspect-ratio:3/4; object-fit:cover; background:#e9e7e3; }.featured-card p,.catalogue-card p { margin:15px 0 7px; color:#666; font-size:.95rem; }.featured-card h2,.catalogue-card h2 { margin:0 0 12px; font:600 1.35rem/1.15 Kanit,sans-serif; letter-spacing:.01em; }.featured-card small,.catalogue-card small { color:#555; font-size:.93rem; line-height:1.45; }.featured-catalogue { max-width:1400px; margin:50px auto 0; padding:0 1em; text-align:center; }.featured-catalogue a { display:inline-block; border-bottom:1px solid var(--ink); padding-bottom:5px; font-weight:600; text-decoration:none; }
.artworks-hero { max-width:1400px; padding-top:7em; padding-bottom:6em; }.artworks-hero h1 { max-width:900px; font-size:clamp(3.5rem,8vw,8.8rem); line-height:.98; letter-spacing:-.05em; }.artworks-hero > p:last-child { max-width:520px; margin:36px 0 0 auto; color:#606060; }.artworks-catalogue { max-width:1400px; padding-top:0; }.artwork-tabs { display:flex; border-bottom:1px solid var(--ink); gap:35px; }.artwork-tabs button { border:0; border-bottom:3px solid transparent; padding:16px 0 12px; background:transparent; color:var(--ink); -webkit-appearance:none; appearance:none; font-weight:700; letter-spacing:.05em; }.artwork-tabs button:hover,.artwork-tabs button.is-active { border-color:var(--ink); color:var(--ink); }.artwork-count { margin:25px 0 45px; color:#666; }.catalogue-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:60px 28px; }.catalogue-card img { width:100%; aspect-ratio:4/5; object-fit:cover; background:#e9e7e3; }.catalogue-card h2 { font-size:1.55rem; }
@media (max-width:800px) { .featured-grid { grid-template-columns:1fr 1fr; gap:34px 14px; padding-inline:22px; }.featured-card p { margin-top:10px; font-size:.75rem; }.featured-card h2 { font-size:1.05rem; }.featured-card small { font-size:.75rem; }.featured-catalogue { margin-top:38px; padding-inline:22px; font-size:.85rem; }.artworks-hero { padding:4em 22px; }.artworks-hero h1 { font-size:13vw; }.artworks-hero > p:last-child { margin:26px 0 0; }.artworks-catalogue { padding:0 22px 70px; }.artwork-tabs { gap:20px; overflow-x:auto; }.artwork-tabs button { flex:0 0 auto; font-size:.82rem; }.artwork-count { margin:20px 0 32px; }.catalogue-grid { grid-template-columns:1fr 1fr; gap:42px 14px; }.catalogue-card p { margin-top:10px; font-size:.75rem; }.catalogue-card h2 { font-size:1.1rem; }.catalogue-card small { font-size:.75rem; } }

/* Services section matched to the supplied two-column reference. */
.home-page .services { display:grid; grid-template-columns:42% 58%; gap:50px; max-width:none; padding:6em max(1em,calc((100vw - 1400px)/2 + 1em)); color:#f2f2f2; background-color:#0a0a0a; background-image:linear-gradient(rgba(0,0,0,.79),rgba(0,0,0,.79)),url('/assets/art/background-services.jpg'); background-position:center; background-size:cover; }
.services .services-intro { min-width:0; }.services .services-intro .eyebrow { color:#fff; }.services .services-intro h2 { margin:24px 0 38px; font-size:3.8rem; line-height:1.2; color:#f6f6f6; }.services .services-intro h3 { max-width:480px; margin:0 0 36px; font-size:1.15rem; line-height:1.25; letter-spacing:.06em; }.services .services-intro > p:last-of-type { max-width:565px; margin:0; color:#ddd; font-size:1.05rem; line-height:1.48; text-align:justify; }.services-more { display:block; width:100%; margin-top:58px; padding-top:36px; border-top:1px solid #444; color:#111; text-decoration:none; }.services-more b { display:inline-block; padding:15px 30px; background:#f5f5f5; font-weight:600; }.services-more span { display:inline-grid; place-items:center; width:20px; height:20px; margin-left:5px; color:#111; }
.services .service-list { display:grid; grid-template-columns:1fr 1fr; gap:55px 45px; padding:0; border:0; }.services .service-list article { display:block; padding:0; border:0; }.services .service-list img { width:60px; height:60px; margin:0 0 44px; object-fit:contain; }.services .service-list h3 { margin:0 0 45px; font-size:1.55rem; line-height:1.1; color:#f4f4f4; }.services .service-list p { margin:0; max-width:320px; color:#d7d7d7; font-size:1rem; line-height:1.45; }
@media (max-width:800px) { .home-page .services { grid-template-columns:1fr; gap:60px; padding:4em 22px; }.services .services-intro h2 { font-size:2.4rem; margin-bottom:28px; }.services .services-intro h3 { font-size:1rem; }.services .services-intro > p:last-of-type { font-size:1rem; text-align:left; }.services-more { margin-top:38px; }.services .service-list { gap:48px 24px; }.services .service-list img { width:46px; height:46px; margin-bottom:28px; }.services .service-list h3 { margin-bottom:22px; font-size:1.18rem; }.services .service-list p { font-size:.92rem; } }

/* Upcoming event section matched to the supplied reference. */
.home-page .upcoming-events { max-width:none; padding:6em max(1em,calc((100vw - 1400px)/2 + 1em)) 7em; border-top:2px solid var(--ink); }
.upcoming-events-heading { text-align:center; }.upcoming-events-heading .eyebrow { margin-bottom:26px; }.upcoming-events-heading h2 { font-size:3.8rem; line-height:1.2; }
.event-list { max-width:1400px; margin:6em auto 0; border-bottom:1px solid var(--line); }
.event-row { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:22px 30px; padding:0 10px 32px; }
.event-number { display:grid; place-items:center; width:48px; height:48px; background:var(--ink); color:#fff; font:400 1rem Kanit,sans-serif; }
.event-details h3 { margin:0 0 8px; font:400 2rem/1.1 Kanit,sans-serif; letter-spacing:.01em; }.event-details p { margin:0; color:#626262; font-size:1rem; line-height:1.4; }.event-details p span { padding:0 10px; color:#aaa; }
.event-cta { display:inline-flex; align-items:center; gap:5px; padding:15px 30px; background:var(--ink); color:#fff; font-weight:600; text-decoration:none; white-space:nowrap; }.event-cta span { font-size:1.1rem; line-height:1; }
.event-cta:hover { background:#333; }
@media (max-width:800px) {
  .home-page .upcoming-events { padding:4em 22px 5em; }
  .upcoming-events-heading .eyebrow { margin-bottom:20px; }.upcoming-events-heading h2 { font-size:10.5vw; }
  .event-list { margin-top:3.5em; }.event-row { grid-template-columns:42px 1fr; gap:18px 14px; padding:0 0 24px; }.event-number { width:42px; height:42px; font-size:.9rem; }.event-details h3 { font-size:1.45rem; }.event-details p { font-size:.82rem; line-height:1.5; }.event-details p span { padding:0 4px; }.event-cta { grid-column:2; justify-self:start; padding:12px 18px; font-size:.9rem; }
}

/* Restore the second image in the 01/ introduction block from the live homepage. */
.home-page .intro-lower { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; margin-top:34px; }
.home-page .intro-lower figure { margin:0; }.home-page .intro-lower figure img { width:100%; aspect-ratio:1.04; object-fit:cover; filter:none; border:0; }
.home-page .intro-lower .artist-quote { width:100%; padding-top:0; }.home-page .intro-lower .artist-quote b { display:block; }
@media (max-width:800px) { .home-page .intro-lower { grid-template-columns:1fr; }.home-page .intro-lower figure { display:none; }.home-page .intro-lower .artist-quote { width:75%; } }

/* Mobile reference pass: keep the intro story's small and large images in the live order. */
.menu-button { color:var(--ink); -webkit-appearance:none; appearance:none; }
.collection-head a span,.featured-catalogue a span { display:inline-block; margin-left:8px; font-size:1.25em; line-height:.8; }
.services-more span,.event-cta span,form button span { font-family:Arial,sans-serif; font-weight:700; }
.home-page .artist-quote > a { display:grid; grid-template-columns:56px 1fr; grid-template-rows:1fr 1fr; align-items:center; column-gap:12px; }
.home-page .artist-quote > a .quote-play { grid-row:span 2; display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--ink); border-radius:50%; }
.home-page .artist-quote > a .quote-play svg { width:21px; height:21px; display:block; }
.home-page .artist-quote > a strong { align-self:end; font:700 16px/1.15 Syncopate,sans-serif; letter-spacing:.04em; }
.home-page .artist-quote > a small { align-self:start; padding-left:0; margin-top:4px; }
@media (max-width:800px) {
  .home-page .intro { display:flex; flex-direction:column; gap:0; }
  .home-page .intro > .intro-body { display:contents; }
  .home-page .intro-body > .eyebrow { order:0; }
  .home-page .intro-body > h2 { order:1; }
  .home-page .intro-body > h3 { order:2; }
  .home-page .intro-body > .columns { order:3; }
  .home-page .intro-body > .intro-lower { order:4; display:grid; grid-template-columns:1fr; gap:0; margin-top:55px; }
  .home-page .intro-lower figure { display:block; margin:0 0 26px; }
  .home-page .intro-lower figure img { width:100%; aspect-ratio:1; object-fit:cover; border:0; }
  .home-page .intro-lower .artist-quote { width:100%; margin:0 auto; padding:0 8px; text-align:center; }
  .home-page .intro-lower .artist-quote b { margin-bottom:22px; }
  .home-page .intro-lower .artist-quote > a { width:100%; margin-inline:auto; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
  .home-page .intro-lower .artist-quote > a .quote-play { flex:none; }
  .home-page .intro-lower .artist-quote > a strong,.home-page .intro-lower .artist-quote > a small { align-self:center; }
  .home-page .intro > figure { order:5; display:block; margin:70px 0 0; }
  .home-page .intro > figure img { width:100%; aspect-ratio:auto; object-fit:contain; border:10px solid var(--paper); }
}

/* Artwork detail lightbox: enlarged image, catalogue metadata and a clear way back. */
body.modal-open { overflow:hidden; }
.artwork-card { cursor:pointer; transition:transform .16s ease, opacity .16s ease; }
.artwork-card:hover { transform:translateY(-4px); }
.artwork-card:focus-visible { outline:3px solid #2c5dff; outline-offset:6px; }
.artwork-modal[hidden] { display:none !important; }
.artwork-modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:28px; }
.artwork-modal-backdrop { position:absolute; inset:0; background:rgba(17,17,17,.78); backdrop-filter:blur(4px); }
.artwork-modal-dialog { position:relative; width:min(1080px,100%); max-height:min(860px,calc(100vh - 56px)); overflow:auto; padding:64px 34px 34px; background:var(--paper); color:var(--ink); box-shadow:0 20px 80px rgba(0,0,0,.35); }
.artwork-modal-close { position:absolute; top:18px; right:22px; border:0; border-bottom:1px solid var(--ink); padding:5px 0; background:transparent; color:var(--ink); font:600 14px Kanit,sans-serif; cursor:pointer; }
.artwork-modal-close:hover { opacity:.65; }.artwork-modal-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:44px; align-items:center; }.artwork-modal-image-wrap { display:grid; place-items:center; min-height:300px; background:#e9e7e3; }.artwork-modal-image-wrap img { width:100%; max-height:68vh; object-fit:contain; }.artwork-modal-info .eyebrow { margin-bottom:20px; font-size:1.6rem; }.artwork-modal-info h2 { margin:0 0 32px; font-size:clamp(2rem,4vw,4.2rem); line-height:1.05; }.artwork-modal-info dl { margin:0 0 34px; border-top:1px solid var(--line); }.artwork-modal-info dl div { display:grid; grid-template-columns:100px 1fr; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); }.artwork-modal-info dt { color:#666; }.artwork-modal-info dd { margin:0; }.artwork-modal-enquire { display:inline-flex; align-items:center; gap:12px; padding:14px 20px; background:var(--ink); color:#fff; font-weight:600; text-decoration:none; }.artwork-modal-enquire span { font:700 1.2rem/1 Arial,sans-serif; }.artwork-modal-enquire:hover { background:#333; }
@media (max-width:800px) {
  .artwork-modal { padding:14px; }.artwork-modal-dialog { max-height:calc(100vh - 28px); padding:58px 20px 24px; }.artwork-modal-grid { grid-template-columns:1fr; gap:28px; }.artwork-modal-image-wrap { min-height:0; }.artwork-modal-image-wrap img { max-height:46vh; }.artwork-modal-info .eyebrow { margin-bottom:14px; }.artwork-modal-info h2 { margin-bottom:24px; font-size:2rem; }.artwork-modal-info dl { margin-bottom:24px; }.artwork-modal-info dl div { grid-template-columns:86px 1fr; gap:10px; padding:10px 0; font-size:.92rem; }.artwork-modal-enquire { width:100%; justify-content:center; font-size:.9rem; }.artwork-modal-close { top:16px; right:20px; }
}

/* September collection refresh: preserve the home composition with the new artwork. */
.home-page .hero figure { aspect-ratio:2.05; overflow:hidden; }
.home-page .hero figure img { width:100%; height:100%; object-fit:cover; object-position:center 63%; }
.category-grid img:nth-child(1) { object-position:center 32%; }
.category-grid img:nth-child(2) { object-position:center 27%; }
.category-grid img:nth-child(3) { object-position:center; }
.category-grid img:nth-child(4) { object-position:center; }

/* Editorial artwork catalogue. */
.artworks-page { overflow:hidden; }
.artworks-page .artworks-hero { max-width:1400px; display:grid; grid-template-columns:minmax(520px,.9fr) minmax(0,1.1fr); gap:clamp(36px,5vw,70px); align-items:center; padding-top:90px; padding-bottom:100px; }
.artworks-hero-copy h1 { font-size:clamp(3.45rem,5.3vw,4.8rem); letter-spacing:-.075em; }
.artworks-hero-copy > p:last-child { max-width:520px; margin:42px 0 0; color:#606060; font-size:1.05rem; }
.artworks-hero-collage { min-height:650px; display:grid; grid-template-columns:1.12fr .88fr; grid-template-rows:1fr 1fr; gap:18px; }
.artworks-hero-collage figure { min-width:0; margin:0; overflow:hidden; background:#e7e4de; }
.artworks-hero-collage figure:first-child { grid-row:1 / span 2; }
.artworks-hero-collage img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.artworks-hero-collage figure:first-child img { object-position:center 38%; }
.artworks-hero-collage figure:nth-child(2) img { object-position:center 34%; }
.artworks-hero-collage figure:nth-child(3) img { object-position:center 57%; }
.artworks-hero-collage figure:hover img { transform:scale(1.025); }
.artworks-summary { display:grid; grid-template-columns:repeat(3,minmax(130px,190px)) minmax(260px,1fr); gap:36px; align-items:end; padding:54px max(34px,calc((100vw - 1400px)/2 + 34px)); background:var(--ink); color:#fff; }
.artworks-summary div { border-top:1px solid #777; padding-top:15px; }
.artworks-summary strong,.artworks-summary span { display:block; }
.artworks-summary strong { font:700 clamp(2.5rem,4.2vw,4.5rem)/1 Kanit,sans-serif; }
.artworks-summary span { margin-top:9px; color:#c9c9c9; font-size:.88rem; text-transform:uppercase; letter-spacing:.06em; }
.artworks-summary > p { max-width:430px; margin:0 0 3px auto; color:#d7d7d7; font-size:1rem; }
.artworks-page .artworks-catalogue { max-width:1400px; padding-top:110px; padding-bottom:130px; }
.artworks-catalogue-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,430px); align-items:end; gap:40px; margin-bottom:62px; }
.artworks-catalogue-heading .eyebrow { grid-column:1 / -1; margin-bottom:0; }
.artworks-catalogue-heading h2 { font-size:clamp(2.8rem,6vw,6rem); }
.artworks-catalogue-heading > p:last-child { margin:0; color:#666; }
.artwork-toolbar { position:sticky; top:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:42px; padding:13px 0; border-top:1px solid #c7c7c2; border-bottom:1px solid #c7c7c2; background:rgba(247,247,245,.96); backdrop-filter:blur(14px); }
.artworks-page .artwork-tabs { gap:10px; border:0; }
.artworks-page .artwork-tabs button { cursor:pointer; border:1px solid #bbbcb6; padding:11px 17px; transition:background .16s ease,color .16s ease,border-color .16s ease; }
.artworks-page .artwork-tabs button:hover { border-color:var(--ink); }
.artworks-page .artwork-tabs button.is-active { border-color:var(--ink); background:var(--ink); color:#fff; }
.artworks-page .artwork-tabs button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.artworks-page .artwork-count { margin:0; color:#62625e; text-align:right; text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; }
.artworks-page .catalogue-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 20px; align-items:stretch; }
.artworks-page .catalogue-card { min-width:0; display:flex; flex-direction:column; height:100%; overflow:hidden; border:1px solid #d5d5cf; background:#fff; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.artworks-page .catalogue-card:hover,.artworks-page .catalogue-card:focus-visible { border-color:#aaa9a2; transform:translateY(-5px); box-shadow:0 22px 45px rgba(24,24,22,.12); }
.artwork-card-media { position:relative; overflow:hidden; background:#e9e7e3; }
.artworks-page .catalogue-card .artwork-card-media { aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; padding:10px; border-bottom:1px solid #d5d5cf; background:#efefeb; }
.artworks-page .catalogue-card .artwork-card-media img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; background:transparent; }
.artwork-card-media img { transition:transform .45s ease,filter .25s ease; }
.artwork-card-view { position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:12px; padding:11px 14px; background:rgba(17,17,17,.92); color:#fff; font-size:.78rem; font-weight:600; opacity:0; transform:translateY(8px); transition:opacity .18s ease,transform .18s ease; }
.artwork-card-view svg { width:18px; height:18px; }
.artwork-card:hover .artwork-card-media img,.artwork-card:focus-visible .artwork-card-media img { transform:scale(1.025); filter:saturate(1.05); }
.artwork-card:hover .artwork-card-view,.artwork-card:focus-visible .artwork-card-view { opacity:1; transform:none; }
.artwork-card-copy { position:relative; padding-right:42px; }
.artworks-page .catalogue-card .artwork-card-copy { flex:1; padding:20px 48px 23px 20px; }
.artwork-card-index { position:absolute; top:14px; right:0; color:#8a8a8a; font:500 .78rem Syncopate,sans-serif; }
.artworks-page .catalogue-card .artwork-card-index { top:23px; right:18px; color:#99978f; font-size:.66rem; }
.artworks-page .catalogue-card p { margin:0 0 9px; color:#95604d; font-size:.71rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.artworks-page .catalogue-card h2 { max-width:100%; margin:0 0 15px; font-size:1.25rem; line-height:1.16; }
.artworks-page .catalogue-card small { display:block; color:#696965; font-size:.78rem; line-height:1.58; }
.form-destination { grid-column:1 / -1; margin:2px 0 0; color:#666; font-size:.78rem; line-height:1.45; }

@media (max-width:900px) {
  .artworks-page .artworks-hero { grid-template-columns:1fr; gap:50px; padding-top:65px; }
  .artworks-hero-copy h1 { font-size:clamp(2.35rem,9.8vw,4.2rem); }
  .artworks-hero-collage { min-height:560px; }
  .artworks-summary { grid-template-columns:repeat(3,1fr); }
  .artworks-summary > p { grid-column:1 / -1; max-width:620px; margin:8px 0 0; }
  .artworks-page .catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (min-width:801px) {
  .home-page .services { grid-template-columns:minmax(0,42fr) minmax(0,58fr); overflow:hidden; }
}

@media (max-width:800px) {
  .home-page .hero figure { aspect-ratio:1.12; }
  .home-page .hero figure img { object-position:center 61%; }
  .artworks-page .artworks-hero { padding:55px 22px 68px; gap:38px; }
  .artworks-hero-copy > p:last-child { margin-top:28px; }
  .artworks-hero-collage { min-height:430px; gap:9px; }
  .artworks-summary { grid-template-columns:repeat(2,1fr); gap:28px 18px; padding:42px 22px; }
  .artworks-summary div:nth-child(3) { grid-column:1 / -1; }
  .artworks-summary > p { grid-column:1 / -1; margin-top:0; }
  .artworks-summary strong { font-size:2.75rem; }
  .artworks-page .artworks-catalogue { padding:75px 22px 90px; }
  .artworks-catalogue-heading { grid-template-columns:1fr; gap:22px; margin-bottom:48px; }
  .artworks-catalogue-heading .eyebrow { grid-column:auto; }
  .artworks-catalogue-heading h2 { font-size:2.65rem; }
  .artwork-toolbar { align-items:stretch; flex-direction:column; gap:12px; margin:0 -22px 32px; padding:12px 22px; }
  .artworks-page .artwork-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .artworks-page .artwork-tabs button { padding:10px 8px; font-size:.72rem; }
  .artworks-page .artwork-count { text-align:left; font-size:.68rem; }
  .artworks-page .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
  .artworks-page .catalogue-card .artwork-card-media { padding:5px; }
  .artwork-card-view { left:10px; bottom:10px; padding:8px 10px; font-size:.68rem; opacity:1; transform:none; }
  .artwork-card-view svg { width:14px; height:14px; }
  .artworks-page .catalogue-card .artwork-card-copy { padding:14px 28px 17px 12px; }
  .artworks-page .catalogue-card .artwork-card-index { top:16px; right:10px; font-size:.52rem; }
  .artworks-page .catalogue-card p { margin-bottom:7px; font-size:.58rem; }
  .artworks-page .catalogue-card h2 { margin-bottom:11px; font-size:.96rem; }
  .artworks-page .catalogue-card small { font-size:.68rem; line-height:1.55; }
}

/* Premium selected-works gallery: an editorial exhibition wall rather than four equal cards. */
.home-page .gallery-section { padding-bottom:0; }
.featured-showcase { --showcase-ink:#191a17; --showcase-muted:#66645e; --showcase-accent:#9c5138; --showcase-sage:#65705b; position:relative; isolation:isolate; overflow:hidden; margin-top:88px; padding:125px 0 115px; background:#fff; color:var(--showcase-ink); }
.featured-showcase::before { content:"02"; position:absolute; z-index:-1; top:-.25em; right:-.04em; color:rgba(113,91,65,.065); font:700 clamp(210px,25vw,430px)/1 Syncopate,sans-serif; letter-spacing:-.12em; }
.featured-showcase::after { content:""; position:absolute; z-index:-2; inset:0; background-image:linear-gradient(rgba(82,76,65,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(82,76,65,.04) 1px,transparent 1px); background-size:72px 72px; }
.featured-showcase .portfolio-title { max-width:1400px; margin:0 auto; padding:0 34px 105px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); align-items:end; gap:clamp(45px,7vw,110px); text-align:left; }
.featured-showcase .portfolio-title .eyebrow { margin:0 0 30px; color:var(--showcase-accent); font-size:1.6rem; }
.featured-showcase .portfolio-title h2 { color:var(--showcase-ink); font-size:clamp(3.2rem,5.7vw,5.4rem); line-height:.98; letter-spacing:-.065em; }
.featured-showcase .portfolio-title h2 span { color:var(--showcase-accent); }
.portfolio-title-aside { max-width:420px; padding:8px 0 8px 34px; border-left:1px solid #aaa18f; }
.portfolio-title-aside > span { display:block; margin-bottom:20px; color:var(--showcase-sage); font:600 .72rem/1.4 Syncopate,sans-serif; letter-spacing:.05em; }
.portfolio-title-aside p { margin:0; color:var(--showcase-muted); font-size:1rem; line-height:1.6; }
.featured-showcase .featured-grid { position:relative; z-index:1; max-width:1400px; margin:0 auto; padding:0 34px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:92px 30px; align-items:start; }
.featured-showcase .featured-card { min-width:0; color:var(--showcase-ink); }
.featured-showcase .featured-card:nth-child(1) { grid-column:1 / span 7; }
.featured-showcase .featured-card:nth-child(2) { grid-column:9 / span 4; margin-top:145px; }
.featured-showcase .featured-card:nth-child(3) { grid-column:1 / span 4; margin-top:20px; }
.featured-showcase .featured-card:nth-child(4) { grid-column:6 / span 7; margin-top:-45px; }
.featured-showcase .artwork-card-media { padding:11px; border:1px solid #d4d0c8; background:#fff; box-shadow:0 28px 60px rgba(34,31,26,.13),0 3px 10px rgba(34,31,26,.07); }
.featured-showcase .featured-card img { display:block; width:100%; max-height:none; aspect-ratio:1.42; object-fit:cover; background:#e9e5dc; }
.featured-showcase .featured-card:nth-child(1) img { object-position:center 52%; }
.featured-showcase .featured-card:nth-child(2) img,.featured-showcase .featured-card:nth-child(3) img { aspect-ratio:4/5; }
.featured-showcase .featured-card:nth-child(2) img { object-position:center 45%; }
.featured-showcase .featured-card:nth-child(3) img { object-position:center 35%; }
.featured-showcase .featured-card:nth-child(4) img { object-position:center 42%; }
.featured-showcase .artwork-card-view { left:24px; bottom:24px; background:var(--showcase-ink); color:#fffaf1; }
.featured-showcase .artwork-card-copy { position:relative; min-height:148px; margin-top:20px; padding:20px 74px 0 0; border-top:1px solid #a79e8d; }
.featured-showcase .featured-card-number { position:absolute; top:22px; right:0; color:var(--showcase-accent); font:500 .72rem Syncopate,sans-serif; }
.featured-showcase .featured-card p { margin:0 0 8px; color:var(--showcase-accent); font-size:.82rem; text-transform:uppercase; letter-spacing:.07em; }
.featured-showcase .featured-card h2 { margin:0 0 16px; color:var(--showcase-ink); font:600 clamp(1.6rem,2.2vw,2.35rem)/1.08 Kanit,sans-serif; letter-spacing:-.02em; }
.featured-showcase .featured-card small { color:var(--showcase-muted); font-size:.9rem; line-height:1.55; }
.featured-showcase .featured-card:nth-child(1) h2,.featured-showcase .featured-card:nth-child(4) h2 { font-size:clamp(1.9rem,2.7vw,2.75rem); }
.featured-showcase .artwork-card:focus-visible { outline-color:var(--showcase-accent); }
.featured-showcase-footer { max-width:1332px; margin:110px auto 0; padding:32px 0 0; border-top:1px solid #a79e8d; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.featured-showcase-footer p { max-width:590px; margin:0; color:var(--showcase-muted); font-size:.9rem; }
.featured-showcase-footer a { display:inline-flex; align-items:center; gap:18px; padding:17px 24px; background:var(--showcase-ink); color:#fffaf1; font:600 .78rem Kanit,sans-serif; letter-spacing:.035em; text-decoration:none; transition:background .16s ease,transform .16s ease; }
.featured-showcase-footer a span { font:700 1.2rem/1 Arial,sans-serif; }
.featured-showcase-footer a:hover { background:var(--showcase-accent); color:#fff; transform:translateY(-2px); }
.featured-showcase-footer a:focus-visible { outline:3px solid var(--showcase-accent); outline-offset:5px; }
.featured-showcase-footer a:active { transform:translateY(0); }

@media (max-width:900px) {
  .featured-showcase .portfolio-title { grid-template-columns:1fr; gap:38px; }
  .portfolio-title-aside { max-width:650px; padding:25px 0 0; border-top:1px solid #aaa18f; border-left:0; }
  .featured-showcase-footer { margin-inline:34px; }
}

@media (max-width:800px) {
  .featured-showcase { margin-top:55px; padding:78px 0 72px; }
  .featured-showcase::before { top:.02em; right:-.08em; font-size:52vw; }
  .featured-showcase .portfolio-title { padding:0 22px 62px; gap:30px; }
  .featured-showcase .portfolio-title .eyebrow { margin-bottom:22px; font-size:1.25rem; }
  .featured-showcase .portfolio-title h2 { font-size:clamp(2.2rem,10.5vw,3.2rem); line-height:1.02; }
  .portfolio-title-aside { padding-top:22px; }
  .portfolio-title-aside > span { font-size:.62rem; }
  .portfolio-title-aside p { font-size:.92rem; }
  .featured-showcase .featured-grid { padding:0 22px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 14px; }
  .featured-showcase .featured-card:nth-child(n) { grid-column:span 1; margin-top:0; }
  .featured-showcase .featured-card:nth-child(1),.featured-showcase .featured-card:nth-child(4) { grid-column:1 / -1; }
  .featured-showcase .featured-card:nth-child(1) img,.featured-showcase .featured-card:nth-child(4) img { aspect-ratio:1.18; }
  .featured-showcase .artwork-card-media { padding:6px; }
  .featured-showcase .artwork-card-view { left:16px; bottom:16px; }
  .featured-showcase .artwork-card-copy { min-height:0; margin-top:14px; padding:15px 28px 0 0; }
  .featured-showcase .featured-card-number { top:17px; font-size:.58rem; }
  .featured-showcase .featured-card p { font-size:.66rem; }
  .featured-showcase .featured-card h2,.featured-showcase .featured-card:nth-child(1) h2,.featured-showcase .featured-card:nth-child(4) h2 { margin-bottom:10px; font-size:1.25rem; }
  .featured-showcase .featured-card small { font-size:.72rem; }
  .featured-showcase .featured-card:nth-child(2) h2,.featured-showcase .featured-card:nth-child(3) h2 { font-size:1.05rem; }
  .featured-showcase-footer { margin:72px 22px 0; padding-top:26px; display:block; }
  .featured-showcase-footer p { margin-bottom:24px; }
  .featured-showcase-footer a { width:100%; justify-content:space-between; padding:15px 18px; font-size:.72rem; }
}

@media (prefers-reduced-motion:reduce) {
  .featured-showcase .artwork-card-media img,.featured-showcase-footer a { transition:none; }
}
