
/* CREATIVE GLOW — cohesive details on every portfolio page */
:root{--ch-gold:#e6bb69;--ch-peach:#ffdbc9;--ch-rose:#f2b6d5;--ch-plum:#633575;--ch-purple:#8c57a5}
body{background:linear-gradient(140deg,#f0e1f8 0%,#faf0fa 42%,#fff4ed 100%)}
main{position:relative;isolation:isolate}
.site-charms{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.site-charms span{position:absolute;font-size:clamp(28px,4vw,70px);font-family:Georgia,serif;color:#ae74bd;opacity:.36}
.site-charms span:nth-child(1){top:6%;right:5%;transform:rotate(18deg);color:#c58a3a}
.site-charms span:nth-child(2){top:32%;left:2%;transform:rotate(-18deg);color:#b274b1}
.site-charms span:nth-child(3){top:61%;right:5%;transform:rotate(15deg)}
.site-charms span:nth-child(4){bottom:6%;left:7%;transform:rotate(-20deg);color:#d1a24c}
.mini-brand-line{font-size:11px;font-weight:800;letter-spacing:.17em;color:#9960a4;margin:0 0 22px}
.hero{position:relative;background:radial-gradient(circle at 91% 29%,#fae4d5 0,transparent 37%),radial-gradient(circle at 7% 96%,#d4b4eb 0,transparent 40%)}
.hero-photo{border:4px solid #68387a;box-shadow:14px 14px 0 #eac4de,21px 21px 0 #e5bb6e;transform:rotate(-1deg)}
.hero-copy{position:relative}
.hero-copy h1{color:#4b2762;text-shadow:2px 3px 0 #fff2f6}
.hero-copy .roles{border-left:3px solid var(--ch-gold);padding-left:14px}
.hero-sticker{display:inline-block;margin:26px 0 0;padding:15px 24px;border:2px solid #b7839e;border-radius:48% 52% 55% 45%;background:#ffe8ee;color:#6b3c68;font:600 19px/1.15 'Playfair Display',serif;transform:rotate(-7deg);box-shadow:6px 7px 0 #e7bb65}
.hero-sticker em{color:#a34c82}
.home-preview{background:linear-gradient(120deg,#e8d2f0 0%,#f3e0ed 58%,#f9ecd8 100%);position:relative}
.home-preview .section-head h2{color:#4d2860}
.editorial-note{font:italic 600 20px/1.4 'Playfair Display',serif;color:#88538e;text-align:center;margin:4px auto 24px;max-width:480px}
.home-preview .preview-grid a{background:linear-gradient(153deg,#fff8ec,#f7ecf8);border:2px solid #7d4d8e;box-shadow:7px 8px 0 #d3a4ce;transform:translateY(0);transition:transform .2s,box-shadow .2s}
.home-preview .preview-grid a:nth-child(2){background:linear-gradient(150deg,#f1d6eb,#fff1d6)}
.home-preview .preview-grid a:nth-child(3){background:linear-gradient(150deg,#f6e0ce,#fff9ec)}
.home-preview .preview-grid a:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:10px 14px 0 #dbb56d}
.home-preview .preview-grid a:before{content:'✦';font-size:24px;color:#aa72a1;align-self:flex-end}
.about-page{background:radial-gradient(circle at 87% 12%,#fff1dc,transparent 40%),linear-gradient(115deg,#eee0f1,#fff6ed);position:relative}
.about-photo{border:3px solid #75478a;box-shadow:-14px 14px 0 #ddb5d7,-22px 22px 0 #e6bb69}
.about-copy{position:relative}
.about-copy p:first-of-type:first-letter{font:600 35px 'Playfair Display';color:#95529d}
.about-stamp{display:inline-block;margin:22px 0 0;padding:18px 28px;background:#f8d9ea;border:1px solid #aa6d9e;box-shadow:6px 6px 0 #e6bb69;color:#663b74;font:italic 600 22px/1.1 'Playfair Display',serif;transform:rotate(7deg);border-radius:18px}
.about-stamp span{color:#b75996}
.page-hero{position:relative}
.projects-page main,.work-page main{background:radial-gradient(circle at 8% 3%,#eccbef 0,transparent 32%),radial-gradient(circle at 91% 40%,#ffe4db 0,transparent 31%),linear-gradient(150deg,#f2e2f8,#fcf2ee)}
.projects-page .page-hero h1,.work-page .page-hero h1{color:#533064}
.projects-page .page-hero h1 em,.work-page .page-hero h1 em{color:#9b59a5}
.page-flourish{text-align:center;color:#b87899;font-size:18px;letter-spacing:.3em;margin:22px auto 0}
.projects-page .card{border:2px solid #75418b;box-shadow:7px 8px 0 rgba(210,151,194,.78);transition:transform .24s,box-shadow .24s;position:relative;overflow:hidden}
.projects-page .card:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:10px 13px 0 #e2b869}
.projects-page .card::after{content:'✦';position:absolute;right:20px;top:18px;color:#f8dbac;font-size:23px;opacity:.85}
.projects-page .card:nth-child(2)::after,.projects-page .card:nth-child(3)::after{color:#9e589d}
.work-page .project{border:2px solid #75418b;box-shadow:5px 7px 0 #dbb2d6;transition:transform .24s,box-shadow .24s}
.work-page .project:hover{transform:translateY(-5px);box-shadow:8px 11px 0 #e0b66c}
.work-page .project>div:last-child{background:linear-gradient(160deg,#fffaf1,#f5e9f8)}
.work-page .project h3{color:#633575}
.work-page .project b{color:#97578c}
.contact-page{background:radial-gradient(circle at 12% 30%,#9b6ab4 0,transparent 34%),radial-gradient(circle at 92% 77%,#a44f92 0,transparent 36%),linear-gradient(125deg,#633575,#824c9c);position:relative;overflow:hidden}
.contact-page:before{content:'♡';position:absolute;top:8%;left:7%;font:100px/1 Georgia,serif;color:#e9bb70;opacity:.48;transform:rotate(-13deg)}
.contact-page:after{content:'✦';position:absolute;bottom:9%;right:7%;font:110px/1 Georgia,serif;color:#ffdcd3;opacity:.55}
.contact-charm{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#ffe5b8;margin:0 auto 12px}
.contact-page h1{position:relative;z-index:1;text-shadow:3px 3px 0 rgba(126,62,124,.45)}
.contact-page .email{position:relative;z-index:1;text-decoration-color:#e6bb69}
.contact-postmark{display:inline-block;align-self:center;margin:24px auto 0;border:1px solid #f7d8b7;border-radius:50%;padding:18px 25px;transform:rotate(-8deg);color:#ffe8ca;font:700 15px/1.3 'Playfair Display',serif;letter-spacing:.06em}
.contact-postmark em{color:#f6c8df}
.links{background:linear-gradient(135deg,#f3dff2,#fff1e0);position:relative}
.links .linkgrid a{transition:background .2s,padding .2s}
.links .linkgrid a:hover{background:rgba(255,255,255,.45);padding-left:28px}
.links .linkgrid a span{color:#ac6a9d}
.nav{box-shadow:0 2px 0 rgba(230,187,105,.40)}
.nav a:focus-visible,.button:focus-visible,.project:focus-visible,.card:focus-visible{outline:3px solid #e6bb69;outline-offset:3px}
@media(max-width:760px){
 .site-charms span{font-size:25px;opacity:.24}
 .hero-photo{transform:none;box-shadow:7px 8px 0 #eac4de,12px 13px 0 #e5bb6e}
 .hero-copy .roles{border-left:0;padding-left:0}
 .hero-sticker{font-size:14px;padding:10px 16px;margin:15px auto}
 .mini-brand-line{font-size:9px;letter-spacing:.1em}
 .editorial-note{font-size:16px;margin:0 auto 18px}
 .about-photo{box-shadow:-8px 8px 0 #ddb5d7,-13px 13px 0 #e6bb69}
 .about-stamp{font-size:16px;padding:13px 18px}
 .page-flourish{font-size:12px;margin:10px auto}
 .contact-page:before{font-size:50px}.contact-page:after{font-size:55px}
 .contact-postmark{font-size:12px;padding:12px 17px}
 .projects-page .card::after{font-size:14px;right:9px;top:8px}
}
@media(prefers-reduced-motion:reduce){.home-preview .preview-grid a,.projects-page .card,.work-page .project,.links .linkgrid a{transition:none}}

/* Artwork full-page preview: actual image shown within the frame. */
.art-intro {font-size:clamp(14px,1.3vw,17px);line-height:1.6;color:#6c4d70;margin:-12px 0 28px}
.art-images {display:grid;gap:34px;max-width:980px;margin:0 auto}
.art-image-frame {margin:0;min-width:0;position:relative}
.art-image-frame>a {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:310px;gap:12px;padding:20px;border:2px solid #71447e;border-radius:24px;background:#fffaf5;box-shadow:10px 10px 0 rgba(113,68,126,.2);text-decoration:none;overflow:hidden}
.art-image-frame img {display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:75vh!important;object-fit:contain!important;flex:0 1 auto}
.art-zoom-label {color:#633575;font-weight:700;font-size:13px;letter-spacing:.02em}
.art-image-error {background:#fff6ea;border:1px solid #dfb65f;border-radius:12px;margin:14px 4px;padding:16px;text-align:center;color:#633575;font-size:14px}
.art-image-error[hidden] {display:none}
@media(max-width:760px){.art-images{gap:20px}.art-image-frame>a{min-height:200px;padding:12px;border-radius:16px}.art-image-frame img{max-height:62vh!important}.art-intro{margin:0 0 22px}}
