:root{--paper:#FFFAF3;--ink:#443138;--muted:#78646c;--line:#ead9d9;--accent:#9c435d;--on-accent:#fff;--soft:#f8e5e8;--secondary:#FFE8A0;--radius:100px;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1;letter-spacing:-1.6px}h1{font-size:clamp(45px,5.5vw,79px)}h2{font-size:clamp(33px,4vw,52px)}h3{font-size:23px;letter-spacing:-.7px}img{display:block;width:100%;object-fit:cover}.wrap{max-width:1280px;margin:auto;padding:0 50px}section{padding:85px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.muted{color:var(--muted)}.notice{background:var(--accent);color:var(--on-accent);font-size:9px;text-align:center;letter-spacing:1px;padding:6px 15px}header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.nav{height:88px;display:flex;align-items:center;gap:25px;justify-content:space-between}.brand{font-weight:800;font-size:25px;line-height:1;letter-spacing:-1.2px}.brand small{display:block;letter-spacing:2.5px;font-size:8px;margin-top:9px;font-weight:500}.navlinks{display:flex;gap:23px;font-size:11px}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--accent)}.bag{border:1px solid var(--line);background:var(--soft);color:var(--ink);padding:9px 15px;border-radius:30px;font-size:11px;white-space:nowrap}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--accent);color:var(--on-accent);border:1px solid transparent;padding:14px 23px;font-weight:650;font-size:12px;border-radius:var(--radius);transition:transform .2s}.btn:hover{transform:translateY(-3px)}.btn.light{background:var(--paper);border-color:var(--line);color:var(--ink)}.text-link{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:4px;font-weight:600}.actions{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.hero{padding:65px 0 75px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:65px}.hero-copy p{font-size:14px;max-width:390px;color:var(--muted);margin-top:24px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-bottom{font-size:10px;color:var(--muted);margin-top:35px;display:flex;align-items:center;gap:10px}.dot{background:var(--accent);width:7px;height:7px;border-radius:50%}.hero-art{position:relative}.hero-art img{aspect-ratio:1;object-fit:cover}.art-note{display:block;font-size:10px;letter-spacing:1px;margin-top:12px}.hero-art .mini-art{position:absolute;width:36%;aspect-ratio:1;bottom:-15px;right:-25px;box-shadow:0 10px 35px #0002}.sticker{position:absolute;top:15px;left:-20px;font-size:11px;font-weight:700;background:var(--secondary);color:var(--ink);padding:10px 17px;border-radius:30px;transform:rotate(-8deg)}.divider{background:var(--secondary);color:var(--ink);display:flex;justify-content:center;gap:60px;flex-wrap:wrap;padding:18px 20px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.divider span:before{content:'✦';margin-right:15px}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:30px}.section-head p{font-size:13px;color:var(--muted);max-width:390px;margin-top:15px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--muted);padding:8px 17px;font-size:11px}.filter.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.art-card{min-width:0}.art-card .image{background:var(--soft);padding:22px;position:relative;overflow:hidden;border-radius:var(--radius)}.art-card:nth-child(2) .image{background:var(--secondary)}.art-card .image button{width:100%;display:block;padding:0;background:none;border:0}.art-card img{aspect-ratio:4/5;transition:transform .3s}.art-card:hover img{transform:scale(1.03)}.badge{position:absolute;top:12px;left:12px;z-index:1;font-size:8px;text-transform:uppercase;letter-spacing:1px;background:var(--paper);color:var(--ink);padding:4px 10px;border-radius:var(--radius)}.card-info{display:flex;align-items:start;justify-content:space-between;gap:10px;padding-top:18px}.card-info p{font-size:10px;color:var(--muted);margin-top:6px}.round{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;background:var(--paper);color:var(--ink);flex-shrink:0}.price-row{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;margin-top:18px}.price-row button{border:0;background:none;color:var(--accent);font-size:10px;font-weight:700;padding:0}.commission{background:var(--soft)}.commission-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.commission-art{padding:22px;background:var(--paper);border-radius:var(--radius);transform:rotate(-3deg)}.commission-art img{aspect-ratio:1.1}.commission-art span{display:block;text-align:center;font-size:11px;color:var(--muted);padding-top:12px}.commission p{max-width:390px;color:var(--muted);font-size:13px;margin-top:20px}.steps{margin:25px 0}.step{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.step b{font-size:18px;color:var(--accent)}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.sketch-box{background:var(--secondary);padding:35px;position:relative;border-radius:var(--radius)}.sketch-box img{aspect-ratio:1.1;mix-blend-mode:multiply}.sketch-box span{display:block;font-size:10px;text-align:right;margin-top:10px}.about p{color:var(--muted);font-size:13px;margin:22px 0;max-width:420px}.signature{color:var(--accent);font-size:20px;font-weight:650}.contact{text-align:center;background:var(--secondary);padding:65px 0}.contact p{color:var(--muted);font-size:13px;max-width:420px;margin:20px auto 25px}footer{padding:32px 0;border-top:1px solid var(--line)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:10px;color:var(--muted)}.footer-brand{font-size:22px}.page-intro{padding-top:60px}.page-intro h1{font-size:clamp(40px,5vw,65px)}.page-intro p{max-width:530px;margin-top:18px;color:var(--muted);font-size:13px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.contact-details{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.contact-details p{margin:12px 0;font-size:12px}.contact-details strong{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase}.contact-details span{color:var(--muted)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:30px;max-width:620px;width:calc(100% - 32px);max-height:90vh;overflow:auto}dialog::backdrop{background:#121820b5;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.close{background:var(--soft);color:var(--ink);border:0;border-radius:50%;width:30px;height:30px;font-size:22px;line-height:1;flex-shrink:0}.lightbox-img{max-height:62vh;object-fit:contain;background:var(--soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px}input,textarea,select{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);margin-top:5px}textarea{resize:vertical;min-height:90px}.full{grid-column:1/-1}.form-note{font-size:10px;color:var(--muted);margin-top:15px}.result{padding:18px;background:var(--soft);color:var(--ink);margin-top:15px;border-radius:var(--radius);font-size:12px}.cart-item{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.cart-item button{background:none;color:var(--accent);border:0;font-size:10px;text-decoration:underline}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;background:var(--accent);color:var(--on-accent);padding:13px 25px;border-radius:var(--radius);font-size:12px;max-width:calc(100% - 25px);width:max-content}.hidden,[hidden]{display:none!important}.compare-link{display:block;text-align:center;font-size:10px;padding:9px;background:var(--soft)}
@media(max-width:950px){.wrap{padding-left:30px;padding-right:30px}.hero-grid{gap:35px}.hero h1{font-size:56px}.navlinks{gap:13px}.grid{gap:18px}.card-info h3{font-size:20px}.commission-grid,.about{gap:40px}.divider{gap:30px}.price-row{flex-wrap:wrap}}@media(max-width:700px){.wrap{padding-left:24px;padding-right:24px}section{padding:58px 0}.nav{height:74px;gap:12px}.brand{font-size:22px}.brand small{font-size:7px}.nav>.bag{margin-left:auto}.menu{display:block;background:var(--soft);color:var(--ink);border:0;font-size:18px;width:34px;height:34px}.navlinks{display:none;position:absolute;left:0;right:0;top:74px;flex-direction:column;align-items:start;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;font-size:14px}.navlinks.open{display:flex}.hero{padding:40px 0 55px}.hero-grid,.commission-grid,.about,.contact-layout{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(42px,9vw,62px);letter-spacing:-2.5px}.hero-art{margin:0 12px}.hero-art .mini-art{right:-10px}.divider{gap:10px 22px;font-size:8px;letter-spacing:1px}.section-head{align-items:start;flex-wrap:wrap;gap:15px}.grid{grid-template-columns:1fr;gap:30px}.art-card{max-width:480px;width:100%;margin:auto}.art-card img{aspect-ratio:1}.price-row{flex-wrap:nowrap}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.footer-row{flex-wrap:wrap}.commission-art{margin:0 8px}.eyebrow{font-size:9px}.page-intro{padding-top:40px}dialog{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-2px}.brand{font-weight:500;letter-spacing:-1px;font-size:28px}.hero{background:#f8e5e8;text-align:center;padding:45px 0 40px}.hero-copy p{margin:20px auto 0;max-width:520px}.hero .actions{justify-content:center;margin-top:24px}.hero h1{font-size:clamp(43px,5vw,65px)}.hero h1 em{font-style:italic}.rose-triptych{display:grid;grid-template-columns:1fr 1.15fr 1fr;max-width:880px;gap:35px;margin:40px auto 0;align-items:end}.rose-triptych figure{margin:0}.rose-triptych img{aspect-ratio:1.15;object-fit:cover;border:10px solid #FFFAF3;box-shadow:0 7px 15px #63313f0b;border-radius:120px 120px 10px 10px}.rose-triptych figure:nth-child(2) img{aspect-ratio:1/1.08;border-radius:160px 160px 10px 10px}.rose-triptych figure:first-child{transform:rotate(-7deg)}.rose-triptych figure:last-child{transform:rotate(7deg)}.rose-triptych figcaption{font:italic 13px Georgia,serif;margin-top:12px}.divider{background:#FFE8A0}.art-card .image{border-radius:140px 140px 12px 12px;padding:23px;background:#f8e5e8}.art-card:nth-child(2) .image{background:#FFE8A0}.art-card img{border-radius:120px 120px 0 0}.card-info h3{font-weight:500}.commission-art{border-radius:150px 150px 18px 18px;padding:23px}.commission-art img{border-radius:140px 140px 8px 8px}.commission{background:#fff0be}.sketch-box{border-radius:120px 20px 120px 20px}.contact{background:#f8e5e8}.signature{font:italic 24px Georgia,serif}.lightbox-img{border-radius:0}dialog{border-radius:25px}input,select,textarea,.result{border-radius:12px}@media(max-width:700px){.rose-triptych{gap:10px;margin-top:35px}.rose-triptych img{border-width:5px}.rose-triptych figcaption{font-size:10px}.hero-copy p br{display:none}.hero .actions{gap:18px}.hero h1{font-size:44px}}
/* Motion */
@view-transition { navigation: auto; }

:root { --ease: cubic-bezier(.16,1,.3,1); --dur: .8s; }

@keyframes rise {
  from { opacity: 0; translate: 0 26px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes slideX {
  from { opacity: 0; translate: -36px 0; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes pop {
  from { opacity: 0; scale: .94; }
  to { opacity: 1; scale: 1; }
}
@keyframes dialogIn {
  from { opacity: 0; translate: 0 18px; scale: .96; }
  to { opacity: 1; translate: 0 0; scale: 1; }
}
@keyframes toastIn {
  from { opacity: 0; transform: translateX(-50%) translateY(14px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
@keyframes bagPop {
  0% { transform: scale(1); }
  35% { transform: scale(1.08); }
  100% { transform: scale(1); }
}
@keyframes sheen {
  0% { transform: translateX(-130%); opacity: 0; }
  15% { opacity: 1; }
  100% { transform: translateX(130%); opacity: 0; }
}
@keyframes drift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(22px, 16px) scale(1.06); }
}
@keyframes stickerWobble {
  0%, 100% { transform: rotate(-8deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-8px); }
}
@keyframes miniFloat {
  0%, 100% { transform: rotate(-12deg) translateY(0); }
  50% { transform: rotate(-7deg) translateY(-12px); }
}
@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: .45; }
}
@keyframes twinkle {
  0%, 100% { transform: rotate(0) scale(1); }
  50% { transform: rotate(18deg) scale(1.3); }
}
@keyframes sweep {
  from { background-position: 100% 0; }
  to { background-position: 0 0; }
}
@keyframes sway {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes swayL {
  0%, 100% { transform: rotate(-7deg) translateY(0); }
  50% { transform: rotate(-4deg) translateY(-7px); }
}
@keyframes swayR {
  0%, 100% { transform: rotate(7deg) translateY(0); }
  50% { transform: rotate(4deg) translateY(-7px); }
}
@keyframes clipUp {
  from { opacity: 0; clip-path: inset(100% 0 0 0); translate: 0 18px; }
  to { opacity: 1; clip-path: inset(0); translate: 0 0; }
}
@keyframes frameGlow {
  0%, 100% { box-shadow: 0 15px 40px #07162770; }
  50% { box-shadow: 0 22px 54px #071627b0, 0 0 42px #ffbd9433; }
}
@keyframes apricot {
  0%, 100% { color: #FFBD94; }
  50% { color: #ffe4cc; }
}

.hero { position: relative; }
.notice { animation: fade .55s both; }
.page-intro > * { animation: rise .85s var(--ease) both; }
.page-intro > *:nth-child(1) { animation-delay: .05s; }
.page-intro > *:nth-child(2) { animation-delay: .14s; }
.page-intro > *:nth-child(3) { animation-delay: .24s; }
header { transition: box-shadow .35s var(--ease); }
header.scrolled { box-shadow: 0 10px 28px #00000014; }
header .nav { animation: fade .6s .04s both; }

.hero-copy > * { animation: rise .85s var(--ease) both; }
.hero-copy > *:nth-child(1) { animation-delay: .06s; }
.hero-copy > *:nth-child(2) { animation-delay: .14s; }
.hero-copy > *:nth-child(3) { animation-delay: .24s; }
.hero-copy > *:nth-child(4) { animation-delay: .34s; }
.hero-copy > *:nth-child(5) { animation-delay: .44s; }
.hero-art { animation: pop .9s .12s var(--ease) both; }
.editorial-top { animation: fade .6s both; }
.editorial-bottom { animation: fade .7s .4s both; }
.studio-heading { animation: rise .85s var(--ease) both; }

.navlinks a { position: relative; }
.navlinks a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s var(--ease);
}
.navlinks a:hover::after,
.navlinks a[aria-current="page"]::after { transform: scaleX(1); }
.menu { transition: transform .3s var(--ease), background .3s; }
.menu[aria-expanded="true"] { transform: rotate(90deg); }

a { transition: color .2s ease; }
.btn { transition: transform .25s var(--ease), box-shadow .25s, rotate .25s, background .25s, color .25s; }
.btn:hover { box-shadow: 0 12px 26px #0000001c; }
.text-link { transition: color .2s, border-color .2s; }
.filter { transition: background .25s, color .25s, border-color .25s, translate .25s; }
.filter:hover { translate: 0 -2px; }
.filter:active { scale: .97; }
.round { transition: transform .3s var(--ease), background .3s, color .3s; }
.round:hover { transform: rotate(45deg); background: var(--accent); color: var(--on-accent); }
.close { transition: transform .25s var(--ease), background .25s; }
.close:hover { transform: rotate(90deg); }
.bag.pop { animation: bagPop .42s var(--ease); }

.art-card { transition: translate .4s var(--ease), box-shadow .4s var(--ease), rotate .4s var(--ease); }
.art-card:hover { translate: 0 -8px; box-shadow: 0 18px 34px #00000016; }
.art-card img { transition: transform .65s var(--ease); }
.art-card:hover img { transform: scale(1.06); }
.badge { z-index: 2; }
.art-card .image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(115deg, transparent 34%, rgba(255,255,255,.5) 50%, transparent 66%);
  transform: translateX(-130%);
  pointer-events: none;
}
.art-card:hover .image::after { animation: sheen .85s var(--ease); }

input, textarea, select { transition: border-color .2s, box-shadow .2s; }
input:focus, textarea:focus, select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);
}
.result:not([hidden]) { animation: rise .45s var(--ease) both; }

dialog[open] { animation: dialogIn .4s var(--ease); }
dialog::backdrop { animation: fade .3s ease; }
dialog[open] .lightbox-img { animation: fade .45s .06s both; }
.toast:not([hidden]) { animation: toastIn .42s var(--ease); }

.motion .reveal {
  opacity: 0;
  translate: 0 26px;
}
.motion .reveal.in {
  animation: rise var(--dur) var(--ease) var(--d, 0ms) both;
}

/* Coral & Sky — bouncy, soft, floating */
body[class~="01-coral-sky"] { --dur: .7s; --ease: cubic-bezier(.22,1.15,.36,1); }
body[class~="01-coral-sky"] .notice {
  background-image: linear-gradient(90deg, #b93d30, #ff7865, #b93d30);
  background-size: 200% 100%;
  animation: fade .55s both, sweep 9s linear infinite;
}
body[class~="01-coral-sky"] .hero::before,
body[class~="01-coral-sky"] .hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
}
body[class~="01-coral-sky"] .hero::before {
  width: 280px;
  height: 280px;
  background: #ffc3b6;
  top: -90px;
  left: -70px;
  opacity: .7;
  animation: drift 14s ease-in-out infinite;
}
body[class~="01-coral-sky"] .hero::after {
  width: 200px;
  height: 200px;
  background: #fff;
  right: 6%;
  bottom: -80px;
  opacity: .45;
  animation: drift 17s ease-in-out infinite reverse;
}
body[class~="01-coral-sky"] .hero-grid { position: relative; z-index: 1; }
body[class~="01-coral-sky"] .sticker { animation: stickerWobble 4.6s ease-in-out infinite; }
body[class~="01-coral-sky"] .hero-art .mini-art { animation: miniFloat 5.4s ease-in-out infinite; }
body[class~="01-coral-sky"] .dot { display: inline-block; animation: pulse 1.7s ease-in-out infinite; }
body[class~="01-coral-sky"] .divider span::before { display: inline-block; animation: twinkle 2.6s ease-in-out infinite; }
body[class~="01-coral-sky"] .divider span:nth-child(2)::before { animation-delay: .35s; }
body[class~="01-coral-sky"] .divider span:nth-child(3)::before { animation-delay: .7s; }
body[class~="01-coral-sky"] .btn:hover { rotate: -1.5deg; }
body[class~="01-coral-sky"] .art-card:hover { rotate: -.5deg; }

/* Cobalt & Peach — sharp editorial slides */
body[class~="02-cobalt-peach"] { --dur: .55s; --ease: cubic-bezier(.2,.8,.2,1); }
body[class~="02-cobalt-peach"].motion .reveal { translate: -32px 0; }
body[class~="02-cobalt-peach"].motion .reveal.in { animation-name: slideX; }
body[class~="02-cobalt-peach"] .hero h1 { animation: clipUp .85s cubic-bezier(.16,1,.3,1) .08s both; }
body[class~="02-cobalt-peach"] .hero-art > img { transition: translate .3s var(--ease), box-shadow .3s; }
body[class~="02-cobalt-peach"] .hero-art > img:hover { translate: -8px -8px; box-shadow: 20px 20px 0 #2442b3; }
body[class~="02-cobalt-peach"] .commission-art { transition: translate .3s var(--ease), box-shadow .3s; }
body[class~="02-cobalt-peach"] .commission-art:hover { translate: -6px -6px; box-shadow: 18px 18px 0 #3155D9; }
body[class~="02-cobalt-peach"] .art-card:hover { translate: -4px -4px; rotate: 0deg; box-shadow: none; }
body[class~="02-cobalt-peach"] .art-card:hover .image { box-shadow: 8px 8px 0 #3155D9; }
body[class~="02-cobalt-peach"] .btn:hover { transform: translate(-3px, -3px); box-shadow: 5px 5px 0 #172c75; }
body[class~="02-cobalt-peach"] .divider {
  background-image: linear-gradient(100deg, #FFD8BC 0 42%, #fff6 50%, #FFD8BC 58% 100%);
  background-size: 220% 100%;
  animation: sweep 7s linear infinite;
}

/* Rose & Butter — slow, swaying arches */
body[class~="03-rose-butter"] { --dur: 1s; --ease: cubic-bezier(.22,.7,.25,1); }
body[class~="03-rose-butter"] .rose-triptych figure { animation: rise 1s var(--ease) both; transition: transform .55s var(--ease); }
body[class~="03-rose-butter"] .rose-triptych figure:nth-child(1) { animation: rise 1s .1s var(--ease) both, swayL 6.8s 1.05s ease-in-out infinite; }
body[class~="03-rose-butter"] .rose-triptych figure:nth-child(2) { animation: rise 1s .22s var(--ease) both, sway 6.8s 1.15s ease-in-out infinite; }
body[class~="03-rose-butter"] .rose-triptych figure:nth-child(3) { animation: rise 1s .34s var(--ease) both, swayR 6.8s 1.25s ease-in-out infinite; }
body[class~="03-rose-butter"] .rose-triptych figure:hover {
  animation: none;
  opacity: 1;
  translate: 0 0;
  transform: rotate(0deg) translateY(-10px);
  z-index: 1;
}
body[class~="03-rose-butter"] .rose-triptych img { transition: box-shadow .45s ease; }
body[class~="03-rose-butter"] .rose-triptych figure:hover img { box-shadow: 0 18px 32px #63313f29; }

/* Terracotta & Sand — paper, shadow, a slower settle */
body[class~="04-terracotta-sand"] { --dur: .9s; --ease: cubic-bezier(.22,.6,.2,1); }
body[class~="04-terracotta-sand"] .hero-art > img { transition: translate .5s var(--ease), box-shadow .5s; }
body[class~="04-terracotta-sand"] .hero-art > img:hover { translate: -6px -6px; box-shadow: 16px 16px 0 #d1b69d; }
body[class~="04-terracotta-sand"] .sketch-box,
body[class~="04-terracotta-sand"] .commission-art { transition: translate .45s var(--ease); }
body[class~="04-terracotta-sand"] .sketch-box:hover,
body[class~="04-terracotta-sand"] .commission-art:hover { translate: 0 -6px; }

/* Navy & Apricot — cinematic glow */
body[class~="05-navy-apricot"] { --dur: .85s; }
body[class~="05-navy-apricot"] .navy-frame { animation: frameGlow 5.5s ease-in-out infinite; }
body[class~="05-navy-apricot"] .hero h1 em { animation: apricot 4.5s ease-in-out infinite; }
body[class~="05-navy-apricot"] .cursor-glow {
  position: fixed;
  left: 0;
  top: 0;
  width: 360px;
  height: 360px;
  margin: -180px 0 0 -180px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9;
  background: radial-gradient(circle, rgba(255,189,148,.2), rgba(255,189,148,0) 68%);
  mix-blend-mode: screen;
}
body[class~="05-navy-apricot"] header.scrolled { box-shadow: 0 12px 30px #07162766; }
@media (pointer: coarse) {
  .cursor-glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; }
  .cursor-glow { display: none !important; }
  .motion .reveal { opacity: 1; translate: none; }
}


/* Brand logo */
a.brand{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}
a.brand img{width:74px;height:74px;max-width:none;object-fit:cover;border-radius:50%;background:#f6efe6}
a.footer-brand img{width:62px;height:62px}
body[class~="05-navy-apricot"] a.brand img{box-shadow:0 0 0 2px #ffbd94}
@media(max-width:700px){a.brand img{width:56px;height:56px}a.footer-brand img{width:50px;height:50px}}
