:root{--ink:#24221f;--paper:#f1ebdf;--cream:#faf7f0;--rust:#b65437;--blue:#36576c;--line:rgba(36,34,31,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:absolute;z-index:10;width:100%}.brand{font-family:"Playfair Display",serif;font-size:29px;color:inherit;text-decoration:none}.brand span{color:var(--rust)}nav{display:flex;gap:32px;align-items:center}nav a{color:inherit;text-decoration:none;font-size:13px}nav a:not(.nav-cta):hover{color:var(--rust)}.nav-cta{border:1px solid var(--ink);padding:11px 16px}.nav-cta span{margin-left:12px}.hero{min-height:100vh;padding:140px 5vw 80px;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;margin:0 0 25px}.hero h1,.section h2{font:500 clamp(64px,8vw,128px)/.88 "Playfair Display",serif;letter-spacing:-.055em;margin:0}.hero h1 em,.section h2 em{color:var(--rust);font-weight:500}.intro{font:400 17px/1.7 "DM Sans",sans-serif;max-width:430px;margin:38px 0}.text-link{display:inline-flex;gap:45px;border-bottom:1px solid;padding:0 0 8px;color:inherit;text-decoration:none;font-size:13px}.hero-art{margin:0;position:relative;transform:rotate(1.1deg);box-shadow:0 22px 65px rgba(37,28,20,.16);background:#fff;padding:10px 10px 34px}.hero-art img{width:100%;display:block}.hero-art figcaption{display:flex;justify-content:space-between;padding:13px 5px 0;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.scribble{position:absolute;right:2vw;top:17%;color:var(--rust);font:italic 18px/1.1 "Playfair Display";transform:rotate(8deg)}.marquee{background:var(--ink);color:var(--cream);overflow:hidden;padding:18px 0;white-space:nowrap}.marquee div{font-size:12px;letter-spacing:.18em;animation:scroll 24s linear infinite}.marquee i{color:var(--rust);margin:0 30px}@keyframes scroll{to{transform:translateX(-50%)}}.section{padding:140px 7vw}.section-heading{display:grid;grid-template-columns:.7fr 1.1fr .65fr;gap:4vw;align-items:end;margin-bottom:90px}.section-heading h2{font-size:clamp(48px,6vw,88px)}.section-heading>p{font-size:14px;line-height:1.8}.index{display:block;color:var(--rust);font:italic 22px "Playfair Display";margin-bottom:55px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:7vw 3vw}.art-card{margin:0}.art-card.large{grid-row:span 2}.art-card.wide{margin-top:4vw}.crop{background-image:url("assets/portrait-collection.webp");background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1/1;filter:saturate(.92);transition:transform .6s ease,filter .4s}.art-card:hover .crop{transform:scale(.985);filter:saturate(1.1)}.p1{background-position:0 0}.p2{background-position:50% 0}.p3{background-position:100% 0}.p6{background-position:100% 100%}.art-card.large .crop{aspect-ratio:4/5}.art-card.wide .crop{aspect-ratio:4/3}.art-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 0}.art-meta span{font:italic 20px "Playfair Display"}.art-meta small{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.about{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;overflow:hidden}.about-mark{font:500 30vw/.8 "Playfair Display";color:var(--rust);letter-spacing:-.12em;opacity:.85}.about h2{font-size:clamp(58px,7vw,98px);margin-bottom:45px}.about-copy>p:not(.eyebrow){line-height:1.8;max-width:570px;color:#d5cfc5}.signature{font:italic 30px "Playfair Display";margin-top:35px;color:#d98a70}.compact{grid-template-columns:.7fr 1.8fr}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:80px 1fr;padding:35px 0;border-bottom:1px solid var(--line)}.steps li>span{color:var(--rust);font:italic 18px "Playfair Display"}.steps h3{font:500 25px "Playfair Display";margin:0 0 8px}.steps p{margin:0;color:#666;line-height:1.6}.contact{background:var(--rust);color:var(--cream);text-align:center;padding-bottom:45px}.contact h2{font-size:clamp(54px,8vw,120px)}.contact h2 em{color:var(--ink)}.contact-link{max-width:750px;margin:80px auto 110px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.55);display:flex;justify-content:space-between;color:inherit;text-decoration:none;font:italic 25px "Playfair Display"}.contact-link b{font:400 28px "DM Sans"}.contact-foot{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.25);padding-top:25px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.14s}.delay-2{transition-delay:.28s}@media(max-width:800px){.site-header{height:68px}.site-header nav>a:not(.nav-cta){display:none}.hero{padding-top:110px;grid-template-columns:1fr;gap:50px}.hero h1{font-size:18vw}.scribble{display:none}.section{padding:90px 6vw}.section-heading,.compact{grid-template-columns:1fr;gap:25px;margin-bottom:55px}.index{margin-bottom:30px}.section-heading>p{max-width:420px}.gallery{gap:55px 14px}.art-card.large{grid-row:auto;grid-column:span 2}.art-card.wide{margin:0}.art-meta{display:block}.art-meta small{display:block;margin-top:7px}.about{grid-template-columns:1fr}.about-mark{font-size:55vw}.steps li{grid-template-columns:50px 1fr}.contact-foot{gap:20px}.contact-link{margin:55px auto 80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
.contact-note{max-width:560px;margin:35px auto 0;font-size:16px;line-height:1.7;color:#fff}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 32px;align-items:start}.art-card.large{grid-row:auto}.art-card.wide{margin-top:0}.art-card .crop,.art-card.large .crop,.art-card.wide .crop{aspect-ratio:4/5}.art-meta{align-items:baseline;gap:16px}@media(max-width:800px){.gallery{grid-template-columns:1fr;gap:55px}.art-card.large{grid-column:auto}.art-card .crop,.art-card.large .crop,.art-card.wide .crop{aspect-ratio:4/5}}
.portfolio-image{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#e7dfd2;transition:transform .5s ease}.art-card:hover .portfolio-image{transform:scale(.99)}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 26px;max-width:1180px;margin-inline:auto}.portfolio-image{cursor:zoom-in}.portfolio-image:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.artwork-modal{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:30px;border:0;background:rgba(24,22,19,.94);color:#fff}.artwork-modal::backdrop{background:rgba(24,22,19,.94)}.artwork-modal[open]{display:grid;place-items:center}.modal-content{position:relative;display:flex;flex-direction:column;align-items:center;max-width:min(92vw,1100px);max-height:92vh}.modal-content img{display:block;max-width:100%;max-height:82vh;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.45)}.modal-caption{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding-top:14px}.modal-caption h3{font:italic 22px "Playfair Display";margin:0}.modal-caption p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin:0;color:#c9c1b6}.modal-close{position:fixed;z-index:2;right:28px;top:20px;width:48px;height:48px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:transparent;color:#fff;font:300 32px/1 "DM Sans";cursor:pointer}.modal-close:hover{background:#fff;color:var(--ink)}body.modal-open{overflow:hidden}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gallery{grid-template-columns:1fr;max-width:390px}.artwork-modal{padding:18px}.modal-close{right:14px;top:12px}.modal-caption{display:block}.modal-caption p{margin-top:7px}}
.order-layout{max-width:1120px;margin:75px auto 110px;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;text-align:left}.order-intro>p{font:italic 24px/1.5 "Playfair Display";margin:0 0 45px}.price-display{border-top:1px solid rgba(255,255,255,.4);padding-top:25px}.price-display small,.price-display span{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.price-display strong{display:block;font:500 clamp(55px,6vw,86px) "Playfair Display";color:var(--ink);margin:8px 0 13px}.choice-group{margin-bottom:32px}.field-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice{appearance:none;border:1px solid rgba(255,255,255,.45);background:transparent;color:var(--cream);font:500 13px "DM Sans";padding:15px 10px;cursor:pointer;transition:.2s}.choice:hover,.choice.active{background:var(--cream);border-color:var(--cream);color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;background:transparent;color:#fff;padding:12px 2px;font:14px "DM Sans";outline:none}.form-grid input:focus,.form-grid textarea:focus{border-color:#fff}.form-grid input::placeholder,.form-grid textarea::placeholder{color:rgba(255,255,255,.55)}.form-grid input[type="file"]{font-size:12px}.form-grid label small{display:block;margin-top:7px;text-transform:none;letter-spacing:0;opacity:.7}.order-submit{width:100%;margin-top:35px;padding:19px 0;border:0;border-bottom:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;display:flex;justify-content:space-between;font:italic 25px "Playfair Display";cursor:pointer}.order-submit b{font:400 25px "DM Sans"}.order-submit:disabled{opacity:.45;cursor:not-allowed}.form-status{min-height:24px;font-size:13px;margin:18px 0 0}.form-status.success{color:#d7f5cf}.form-status.error{color:#39150d;background:rgba(255,255,255,.3);padding:10px}.contact-foot{margin-top:0}@media(max-width:800px){.order-layout{grid-template-columns:1fr;margin:55px auto 80px}.order-intro>p{font-size:21px}.choice-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}}
