@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{--cream:#f5f2ec;--paper:#fbf9f5;--ink:#28251f;--muted:#746f67;--terra:#bf664b;--line:#ded8ce;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1240px;padding-inline:clamp(22px,5vw,70px);margin-inline:auto}.skip-link{position:absolute;left:16px;top:-70px;background:var(--ink);color:white;padding:10px;z-index:10}.skip-link:focus{top:8px}:focus-visible{outline:2px solid var(--terra);outline-offset:4px}.site-header{border-bottom:1px solid var(--line);background:var(--cream)}.header-inner{min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:var(--serif);font-weight:600;letter-spacing:-.075em;font-size:30px;white-space:nowrap}.brand span{font-style:italic;font-weight:400}.brand i{font-style:normal;color:var(--terra)}nav{display:flex;align-items:center;gap:clamp(17px,3vw,40px);font-size:13px;font-weight:600}nav a:hover,.text-link:hover,.site-footer a:hover{color:var(--terra)}.nav-contact{border:1px solid var(--ink);padding:12px 18px}.nav-contact:hover{border-color:var(--terra)}.nav-contact span,.button span,.text-link span{margin-left:16px}.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(30px,6vw,90px);padding-top:75px;padding-bottom:90px}.eyebrow,.section-kicker{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--terra)}.eyebrow{display:flex;gap:13px;align-items:center}.eyebrow-line{width:30px;height:1px;background:var(--terra)}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.047em}h1{font-size:clamp(53px,5.8vw,86px);line-height:1.13;margin:25px 0}h1 em,h2 em{color:var(--terra);font-weight:400}.hero-copy>p{max-width:450px;color:var(--muted);line-height:1.85;font-size:15px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 22px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--terra)}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding:10px 0}.hero-visual{position:relative;padding:8px 34px 34px 0}.hero-frame{background:#e0d5c5;padding:14px;box-shadow:24px 25px 0 #e9e1d5;transform:rotate(2deg)}.hero-frame img{width:100%;height:460px;object-fit:cover}.hero-note{position:absolute;bottom:-4px;right:13px;font-family:var(--serif);font-style:italic;font-size:13px}.hero-spark{position:absolute;right:-7px;top:-34px;font-size:75px;color:var(--terra);line-height:1}.gallery-section{background:var(--paper);padding:105px 0 95px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:44px}.section-intro h2,.about h2,.contact-inner h2{font-size:clamp(43px,5vw,65px);line-height:1.14;margin:15px 0 0}.section-intro p{color:var(--muted);line-height:1.7;max-width:290px;font-size:14px;margin:0 0 7px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}.art-card{margin:0}.art-card:nth-child(even){margin-top:45px}.art-open{display:block;width:100%;border:0;padding:0;position:relative;cursor:zoom-in;background:#e7dfd3;overflow:hidden}.art-open img{width:100%;height:310px;object-fit:cover;transition:transform .35s}.art-card-tall .art-open img{height:380px}.art-open:hover img{transform:scale(1.045)}.art-card figcaption{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-top:17px}.art-card figcaption span{font-family:var(--serif);font-size:17px}.art-card figcaption small{color:var(--muted);font-size:10px;white-space:nowrap}.gallery-hint{font-size:11px;color:var(--muted);margin:36px 0 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,130px);align-items:center;padding-top:120px;padding-bottom:120px}.about-art{min-height:450px;background:#ded4c5;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-circle{position:absolute;border-radius:50%;height:350px;width:350px;top:-93px;right:-63px;background:#bd7155}.about-stroke{position:absolute;width:340px;height:440px;border:23px solid #8c9c86;border-radius:49% 51% 42% 58%;transform:rotate(31deg);bottom:-250px;left:-70px}.about-art>span{position:relative;z-index:1;font-family:var(--serif);font-style:italic;letter-spacing:-.065em;line-height:1.03;font-size:clamp(60px,8vw,105px);color:#fffaf3}.about-dot{color:#a35f43}.about-copy p{color:var(--muted);font-size:15px;line-height:1.9;max-width:460px}.about-copy h2{margin-bottom:27px}.about-copy .text-link{display:inline-block;margin-top:10px}.contact-section{background:#292d29;color:#fbf9f5;text-align:center;padding:100px 0 110px}.contact-inner h2{margin:20px auto 25px}.contact-inner h2 em{color:#de9a7a}.contact-inner>p{line-height:1.7;max-width:500px;margin:0 auto 20px;color:#d7d4cb}.contact-inner .contact-placeholder{font-size:12px;color:#d8ad9d;margin-bottom:30px}.button-light{background:#f4eee3;color:var(--ink)}.button-light:hover{background:#e3b59d}.site-footer{background:#f5f2ec}.footer-inner{min-height:125px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner>span,.footer-inner>a:last-child{font-size:12px;color:var(--muted)}.lightbox{padding:0;border:0;background:transparent;max-width:min(92vw,800px);max-height:94vh;color:white;text-align:center;overflow:visible}.lightbox::backdrop{background:rgba(20,18,17,.9)}.lightbox img{max-height:82vh;max-width:90vw;object-fit:contain}.lightbox p{margin:10px 0;font-family:var(--serif);font-size:20px}.lightbox-close{position:absolute;top:-42px;right:0;border:0;color:white;background:transparent;font-size:34px;cursor:pointer;line-height:1}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr}.hero-frame img{height:360px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:35px}.art-card:nth-child(even){margin-top:0}.art-card-tall .art-open img,.art-open img{height:380px}.about{gap:40px}.about-art{min-height:390px}}@media(max-width:650px){.header-inner{min-height:72px}.brand{font-size:25px}nav{gap:15px;font-size:12px}.nav-contact{padding:9px}.nav-contact span{display:none}.hero{grid-template-columns:1fr;gap:65px;padding-top:65px;padding-bottom:80px}.hero-visual{max-width:470px;margin-inline:auto;width:88%;padding-right:20px}.hero-frame img{height:auto;aspect-ratio:4/4.3}.hero-spark{right:-23px}.section-intro{display:block}.section-intro p{margin-top:15px}.gallery-section{padding:75px 0}.gallery-grid{gap:22px}.art-card-tall .art-open img,.art-open img{height:auto;aspect-ratio:3/4}.art-card figcaption{display:block}.art-card figcaption small{display:block;margin-top:5px}.about{grid-template-columns:1fr;padding-top:80px;padding-bottom:85px}.about-art{min-height:370px}.contact-section{padding:80px 0}.footer-inner{min-height:150px;flex-wrap:wrap;justify-content:center;text-align:center;gap:6px}.footer-inner>span{width:100%;order:3;margin-bottom:20px}}@media(max-width:390px){nav{gap:10px}.brand{font-size:23px}.gallery-grid{gap:14px}.art-card figcaption span{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}

/* Original artwork and Maggie Art identity. */
.brand{display:inline-flex;flex-shrink:0;padding-block:8px}
.brand img{width:70px;height:70px;border-radius:50%}
.hero-frame img{height:auto;aspect-ratio:3/4;object-fit:contain}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.art-card:nth-child(even){margin-top:0}
.art-open img,.art-card-tall .art-open img{height:auto;aspect-ratio:3/4;object-fit:contain}
.about-art{min-height:0;background:#e0d5c5;padding:14px;box-shadow:18px 20px 0 #e9e1d5;transform:rotate(-2deg);margin:8px 20px 20px 8px}
.about-art img{width:100%;height:auto}
.contact-email{font-size:18px;text-decoration:underline;text-underline-offset:5px}
.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;margin-top:30px;font-size:14px}
.social-links a{padding:8px 0;border-bottom:1px solid #d7d4cb}
.social-links a:hover,.contact-email:hover{color:#de9a7a}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.brand img{width:54px;height:54px}.gallery-grid{gap:26px 16px}.hero-frame img{aspect-ratio:3/4}.about-art{min-height:0}}

/* Keep an explicit source ratio before lazy images load: aspect-ratio:auto alone gives Firefox a zero-height image and prevents loading. */
/* Crop the displayed photographs to the canvas edges; retain originals for zoom. */
.artwork-crop{position:relative;aspect-ratio:var(--crop-ratio);overflow:hidden;background:transparent;padding:0;box-shadow:none;transform:none}
.artwork-crop img{position:absolute;width:var(--photo-width);max-width:none;height:auto;aspect-ratio:auto var(--photo-ratio);left:var(--photo-left);top:var(--photo-top);object-fit:initial;clip-path:var(--canvas-edge)}
.art-open:hover img{transform:none;filter:brightness(1.025)}
.crop-1{--photo-ratio:2159/2878;--crop-ratio:892/1193;--photo-width:153.36%;--photo-left:-26.07%;--photo-top:-26.76%;--canvas-edge:polygon(17.5% 17.7%,81.6% 17.5%,82.2% 82.7%,17% 82.9%)}
.crop-2{--photo-ratio:1971/2398;--crop-ratio:776/1183;--photo-width:185.57%;--photo-left:-43.98%;--photo-top:-23.69%;--canvas-edge:polygon(23.7% 16.3%,77% 16%,77.6% 83%,23.7% 83.5%)}
.crop-4{--photo-ratio:1440/1708;--crop-ratio:904/1255;--photo-width:159.29%;--photo-left:-29.79%;--photo-top:-17.42%;--canvas-edge:polygon(18.7% 12.8%,81.5% 13%,81% 85.8%,19.3% 86.3%)}
.crop-6{--photo-ratio:2048/2048;--crop-ratio:1174/1147;--photo-width:136.29%;--photo-left:-18.26%;--photo-top:-19.39%;--canvas-edge:polygon(13.4% 13.9%,86.8% 13.9%,86% 85.6%,14.3% 85.5%)}
.brand img{border-radius:0}
.contact-inner .button-light{font-size:16px}

/* Additional gallery photographs. */
.crop-7{--photo-ratio:1440/1800;--crop-ratio:881.280/1184.400;--photo-width:163.3987%;--photo-left:-31.0458%;--photo-top:-25.6839%;--canvas-edge:polygon(19% 16.9%,80.2% 17.2%,80% 82.5%,19.2% 82.7%)}
.crop-8{--photo-ratio:1440/1800;--crop-ratio:996.480/1195.200;--photo-width:144.5087%;--photo-left:-21.5318%;--photo-top:-27.7108%;--canvas-edge:polygon(15.5% 18.4%,83.8% 18.5%,84.1% 84.8%,14.9% 84.2%)}
.crop-9{--photo-ratio:1440/1800;--crop-ratio:770.400/774.000;--photo-width:186.9159%;--photo-left:-44.4860%;--photo-top:-61.8605%;--canvas-edge:polygon(23.8% 26.6%,76.6% 26.6%,77.3% 68.9%,24.7% 69.6%)}
.crop-10{--photo-ratio:1440/1766;--crop-ratio:768.960/1163.794;--photo-width:187.2659%;--photo-left:-41.3858%;--photo-top:-25.9484%;--canvas-edge:polygon(22.6% 17.3%,74.8% 17.1%,75.5% 82.9%,22.1% 83%)}
.crop-11{--photo-ratio:1440/1440;--crop-ratio:918.720/1144.800;--photo-width:156.7398%;--photo-left:-28.0564%;--photo-top:-13.8365%;--canvas-edge:polygon(18.7% 11%,81.7% 11%,81.3% 90.5%,17.9% 89.7%)}
.crop-12{--photo-ratio:1440/1440;--crop-ratio:639.360/800.640;--photo-width:225.2252%;--photo-left:-63.2883%;--photo-top:-40.8273%;--canvas-edge:polygon(28.2% 22.7%,72.5% 22.7%,72.1% 78.3%,28.1% 78.1%)}
.crop-13{--photo-ratio:1440/1440;--crop-ratio:649.440/768.960;--photo-width:221.7295%;--photo-left:-56.0976%;--photo-top:-43.6330%;--canvas-edge:polygon(25.7% 23.3%,69.8% 23.3%,70.4% 76.7%,25.3% 76.7%)}
.crop-14{--photo-ratio:1438/1438;--crop-ratio:924.634/920.320;--photo-width:155.5210%;--photo-left:-27.0607%;--photo-top:-30.0000%;--canvas-edge:polygon(17.4% 19.5%,81.7% 19.2%,81.7% 83.2%,17.5% 83.2%)}
.crop-15{--photo-ratio:1440/1920;--crop-ratio:999.360/1006.080;--photo-width:144.0922%;--photo-left:-21.0375%;--photo-top:-44.2748%;--canvas-edge:polygon(14.8% 23.2%,83.9% 23.8%,84% 75.6%,14.6% 75.4%)}

.crop-16{--photo-ratio:1440/1865;--crop-ratio:740.160/1020.155;--photo-width:194.5525%;--photo-left:-46.3035%;--photo-top:-43.3272%;--canvas-edge:polygon(24% 23.7%,74.7% 23.8%,75.2% 78.2%,23.8% 78.4%)}
.crop-17{--photo-ratio:1440/1800;--crop-ratio:666.720/658.800;--photo-width:215.9827%;--photo-left:-57.6674%;--photo-top:-78.6885%;--canvas-edge:polygon(26.7% 28.9%,72.2% 28.8%,73% 65%,26.7% 65.4%)}
.crop-18{--photo-ratio:1259/1259;--crop-ratio:581.658/767.990;--photo-width:216.4502%;--photo-left:-56.7100%;--photo-top:-30.3279%;--canvas-edge:polygon(26.2% 18.5%,72.4% 18.9%,72.1% 79.5%,26.6% 79.4%)}
