@import url('fonts.css');
:root{--ink:#25251f;--cream:#f6f1e8;--paper:#fffdf8;--orange:#d66a43;--sage:#a5ad8c;--line:#e4ded2;--muted:#706f66}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1160px,92%);margin:auto}.topbar{background:var(--ink);color:#fff;padding:9px 0;font-size:.78rem;letter-spacing:.08em;text-align:center}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:24px}.brand{font-family:'Playfair Display',serif;font-size:1.65rem;font-weight:700;letter-spacing:.08em;line-height:1}.brand small{display:block;font:500 .62rem 'DM Sans',sans-serif;letter-spacing:.24em;margin-top:7px}.navlinks{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:.9rem}.navlinks a:hover{color:var(--orange)}.hero{background:var(--cream);position:relative;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.03fr .97fr;min-height:590px;align-items:center;gap:42px;padding:54px 0}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:700;color:var(--orange)}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.1;margin:0 0 20px}h1{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.045em}h2{font-size:clamp(2.1rem,4vw,3.3rem)}h3{font-size:1.55rem}.hero p{font-size:1.08rem;color:#5d5b52;max-width:490px}.hero-art{height:470px;border-radius:48% 48% 8px 8px;background:linear-gradient(145deg,#b8b9a0,#e8b89d 52%,#d8d4bd);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-art:before{content:'';position:absolute;width:68%;height:82%;border-radius:50% 50% 6px 6px;background:rgba(255,253,248,.64);transform:rotate(-8deg);bottom:-8%;left:14%}.hero-art:after{content:'hecho aquí,\\A con alma';white-space:pre;position:absolute;right:8%;top:12%;font:600 1.3rem 'Playfair Display',serif;line-height:1.3;transform:rotate(8deg);color:#4d5544}.sun{position:absolute;width:170px;height:170px;background:#d66a43;border-radius:50%;top:18%;left:28%;opacity:.92}.art-label{z-index:1;font:700 clamp(2rem,4vw,3.6rem) 'Playfair Display',serif;text-align:center;letter-spacing:.08em;transform:rotate(-7deg)}.btn{display:inline-block;background:var(--ink);color:white;padding:13px 22px;border-radius:2px;font-weight:600;font-size:.9rem;border:1px solid var(--ink);cursor:pointer}.btn:hover{background:var(--orange);border-color:var(--orange)}.btn-light{background:transparent;color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:86px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-head p{max-width:430px;color:var(--muted);margin:0}.cream{background:var(--cream)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tile{background:white;border:1px solid var(--line);overflow:hidden}.tile-img{height:235px;background:linear-gradient(135deg,#e5d8c5,#b6b69e);display:flex;align-items:center;justify-content:center;color:#555;font:600 1.2rem 'Playfair Display',serif}.tile-img img{width:100%;height:100%;object-fit:cover}.tile-body{padding:22px}.tile-body p{color:var(--muted);margin:8px 0 14px}.meta{font-size:.82rem;color:var(--orange);font-weight:700;letter-spacing:.04em}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.quote{font:500 1.6rem/1.45 'Playfair Display',serif}.feature-art{min-height:380px;background:linear-gradient(135deg,#d8c2a8,#b0b39a);padding:35px;display:flex;align-items:end}.feature-art span{font:600 3rem 'Playfair Display',serif;max-width:300px}.cta{background:var(--orange);color:#fff;padding:55px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0}.cta .btn{background:white;color:var(--ink);border-color:white}.footer{background:var(--ink);color:#fff;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer p,.footer a{color:#d0cec5}.footer-bottom{border-top:1px solid #4b4b43;margin-top:35px;padding-top:18px;font-size:.8rem;color:#b9b8ae}.page-hero{background:var(--cream);padding:64px 0}.page-hero p{max-width:650px;color:var(--muted)}.form{display:grid;gap:15px;max-width:700px}.form label{font-size:.86rem;font-weight:700}.form input,.form textarea,.form select{display:block;width:100%;padding:13px;border:1px solid var(--line);background:white;font:inherit;margin-top:6px}.form textarea{min-height:130px}.notice{padding:13px;background:#e8efdf;margin:15px 0}.price{font-weight:700;font-size:1.1rem}.admin-body{background:#f4f2ed}.admin-wrap{width:min(1120px,94%);margin:35px auto}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.admin-panel{background:#fff;padding:25px;margin:22px 0;border:1px solid var(--line)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.admin-grid label{font-size:.85rem;font-weight:700}.admin-grid input,.admin-grid textarea,.admin-grid select{width:100%;padding:11px;border:1px solid #ddd;font:inherit;margin-top:5px}.admin-grid textarea{min-height:90px}.admin-grid .full{grid-column:1/-1}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--cream)}.danger{color:#a33}.small{font-size:.82rem;color:var(--muted)}@media(max-width:780px){.nav{align-items:flex-start;flex-direction:column}.navlinks{gap:12px}.hero-inner,.split{grid-template-columns:1fr}.hero-inner{padding:38px 0}.hero-art{height:330px}.grid{grid-template-columns:1fr 1fr}.section{padding:60px 0}.section-head,.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.admin-grid .full{grid-column:auto}}@media(max-width:500px){.grid{grid-template-columns:1fr}h1{font-size:3rem}.brand{font-size:1.45rem}}

/* Pulido visual, menús compactos y formularios móviles */
:root{--shadow:0 14px 40px rgba(37,37,31,.08)}
.topbar{font-size:.7rem;letter-spacing:.13em}.nav{min-height:92px}.navlinks a{transition:color .2s ease}.hero{background:radial-gradient(ellipse at 85% 10%,rgba(214,106,67,.12),transparent 38%),var(--cream)}.tile{border-radius:10px;box-shadow:0 5px 20px rgba(37,37,31,.035);transition:transform .25s ease,box-shadow .25s ease}.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tile-img{overflow:hidden}.tile-img img{transition:transform .5s ease}.tile:hover .tile-img img{transform:scale(1.04)}.btn{border-radius:5px;transition:all .2s ease}.form input,.form textarea,.form select,.admin-grid input,.admin-grid textarea,.admin-grid select{border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s}.form input:focus,.form textarea:focus,.admin-grid input:focus,.admin-grid textarea:focus,.admin-grid select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(214,106,67,.13)}
.site-logo{width:auto;height:auto;max-width:210px;max-height:62px;object-fit:contain}.footer-logo{filter:brightness(0) invert(1)}.menu-toggle{display:none;border:1px solid var(--line);background:var(--paper);padding:10px 14px;border-radius:6px;font:600 .9rem 'DM Sans',sans-serif;color:var(--ink);cursor:pointer}.admin-body{background:linear-gradient(135deg,#f5f2eb,#ece9e0)}.admin-wrap{width:min(1220px,94%);margin:26px auto 50px}.admin-head{padding:18px 4px}.admin-head h1{margin:8px 0;font-size:clamp(2rem,5vw,3rem)!important}.admin-panel{border-radius:12px;box-shadow:0 6px 25px rgba(37,37,31,.045);padding:clamp(18px,3vw,30px)}.admin-panel h2{font-size:clamp(1.7rem,3vw,2.35rem);margin-bottom:12px}.cms-menu .navlinks{gap:8px}.cms-menu .navlinks a{padding:9px 13px;border-radius:20px;background:#f6f3ed;font-size:.84rem}.cms-menu .navlinks a:hover{background:var(--ink);color:white}.admin-grid{gap:19px}.admin-grid label{display:block;color:#49483f}.admin-grid input,.admin-grid textarea,.admin-grid select{margin-top:8px}.admin-grid .full{grid-column:1/-1}.upload-control input[type=file],.file-input{background:#faf8f3;padding:12px;border:1px dashed #c7c0b3!important;border-radius:8px;cursor:pointer}.image-url{margin-bottom:10px}.form-image-preview{width:min(100%,440px);height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin:12px 0;background:#f4f0e8}.form-image-preview.is-empty{display:none}.logo-preview{min-height:115px;padding:16px;border:1px dashed var(--line);border-radius:10px;background:#faf8f3;display:flex;align-items:center;gap:14px;color:var(--muted)}.logo-preview img{max-width:220px;max-height:100px;object-fit:contain}.logo-placeholder{font-size:.9rem}.table-wrap{border:1px solid var(--line);border-radius:8px}table{min-width:620px}td,th{padding:13px}.notice{border-radius:7px}
@media(max-width:780px){.topbar{font-size:.58rem;letter-spacing:.08em;padding:8px}.nav{position:relative;align-items:center;flex-direction:row;flex-wrap:wrap;padding:15px 0;min-height:72px;gap:12px}.site-toggle{display:block;margin-left:auto}.navlinks#site-menu{display:none;flex:0 0 100%;width:100%;padding:8px 0 5px;gap:4px;align-items:stretch}.navlinks#site-menu.is-open{display:flex;flex-direction:column}.navlinks#site-menu a{padding:11px 12px;border-radius:6px;background:#f7f4ed}.navlinks#site-menu a:hover{background:var(--cream)}.site-logo{max-width:175px;max-height:48px}.hero-inner{gap:25px}.hero-art{height:300px}.page-hero{padding:44px 0}.admin-wrap{width:94%;margin:14px auto 30px}.admin-head{align-items:center}.cms-toggle{display:flex;align-items:center;gap:9px;margin:7px 0 0}.cms-menu{display:none;margin:10px 0 18px;padding:15px}.cms-menu.is-open{display:block}.cms-menu .navlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cms-menu .navlinks a{text-align:center;padding:11px 8px}.admin-panel{margin:14px 0}.admin-grid{grid-template-columns:1fr}.admin-grid .full{grid-column:auto}.admin-grid label{min-width:0}.admin-grid input,.admin-grid textarea,.admin-grid select{font-size:16px}.form-image-preview{height:190px}.table-wrap{margin:0 -5px}.admin-head>.btn{padding:10px 13px}}
@media(max-width:500px){.wrap{width:90%}.hero-inner{padding:32px 0}.hero-art{height:260px}.section{padding:48px 0}.tile-body{padding:18px}.feature-art{min-height:280px}.feature-art span{font-size:2.35rem}.cta{padding:42px 0}.admin-head{gap:10px}.admin-head>div{width:100%}.cms-menu .navlinks{grid-template-columns:1fr 1fr}.admin-panel{padding:17px}.logo-preview{align-items:flex-start;flex-direction:column}.site-logo{max-width:145px}}
.admin-head-actions{display:flex;align-items:center;gap:10px}.admin-head-actions .btn{min-width:110px;text-align:center}@media(max-width:780px){.admin-head-actions{width:100%;justify-content:flex-start}.admin-head-actions .btn{flex:1}}

/* Identidad cromática basada en el logo. La paleta anterior está en palette-original.css. */
:root{--ink:#143f69;--cream:#fff3df;--paper:#fffaf1;--orange:#ed5b18;--sage:#edaa25;--line:#ead6ba;--muted:#625b55;--blue:#15518a;--purple:#84347d;--sun:#f5a915;--shadow:0 14px 40px rgba(20,63,105,.12)}
body{background:var(--paper)}
.topbar,.footer{background:#123b64}
.hero{background:radial-gradient(ellipse at 80% 20%,rgba(245,169,21,.15),transparent 38%),linear-gradient(120deg,#fff5e6,#f9e5d3)}
.hero-art{height:470px;min-width:0;border-radius:34px;background:linear-gradient(145deg,#f9d27b 0%,#f5a915 30%,#ed5b18 64%,#84347d 100%);box-shadow:0 24px 55px rgba(132,52,125,.16);isolation:isolate}
.hero-art:before{width:76%;height:76%;left:12%;bottom:-9%;transform:none;border-radius:50% 50% 12px 12px;background:rgba(255,250,241,.86)}
.hero-art:after{right:7%;top:8%;max-width:72%;font-size:clamp(.85rem,1.4vw,1.15rem);text-align:center;transform:rotate(0);color:#143f69}
.hero-logo{position:relative;z-index:2;width:min(90%,460px);max-height:84%;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(20,63,105,.12))}
.hero-art.has-logo:before,.hero-art.has-logo:after{display:none}
.sun{background:#ed5b18;left:50%;transform:translateX(-50%);opacity:.9}
.art-label{color:#143f69;transform:none;letter-spacing:.04em}
.eyebrow,.meta{color:#c94712}
.btn{background:#143f69;border-color:#143f69}.btn:hover{background:#ed5b18;border-color:#ed5b18}
.cta{background:#ed5b18}.feature-art{background:linear-gradient(135deg,#f7c75c,#f08a35 55%,#9a4b84)}
.tile-img{background:linear-gradient(135deg,#ffe4a4,#f5b34a 52%,#d67a54)}
.admin-body{background:linear-gradient(135deg,#fff5e6,#f4e8d8)}
.cms-menu .navlinks a{background:#fff4e2}
.form input:focus,.form textarea:focus,.form select:focus,.admin-grid input:focus,.admin-grid textarea:focus,.admin-grid select:focus{border-color:#ed5b18;box-shadow:0 0 0 3px rgba(237,91,24,.14)}
@media(max-width:780px){.hero-art{height:clamp(240px,72vw,340px);width:100%;border-radius:28px}.hero-logo{width:min(88%,400px)}.hero-art:after{right:5%;top:6%;max-width:80%}}
@media(max-width:500px){.hero-art{height:250px}.hero-logo{width:86%}.hero-art:after{font-size:.82rem}}

/* La identidad del logo, suavizada en tonos pastel. */
:root{--ink:#344b63;--cream:#fbf1e4;--paper:#fffaf4;--orange:#e98b68;--sage:#a9b6a0;--line:#eadfd1;--muted:#716b66;--blue:#7398b6;--purple:#ad82a8;--sun:#edc878;--shadow:0 14px 40px rgba(52,75,99,.10)}
.topbar,.footer{background:#344b63}
.hero{background:radial-gradient(ellipse at 82% 15%,rgba(233,139,104,.13),transparent 40%),linear-gradient(120deg,#fbf4e9,#f7e8dc)}
.eyebrow,.meta{color:#bf6f52}
.btn{background:#526f88;border-color:#526f88}.btn:hover{background:#d77d5e;border-color:#d77d5e}
.cta{background:#d98568}.feature-art{background:linear-gradient(135deg,#f0d28d,#e9a37d 55%,#ba94b4)}
.hero-art{height:450px;min-width:0;overflow:hidden;isolation:isolate;position:relative;border-radius:48% 48% 28px 28px;background:linear-gradient(150deg,#eadbbd 0%,#edc7ad 47%,#d8c9bb 100%);box-shadow:0 22px 55px rgba(72,74,82,.12);transform:translateZ(0)}
.hero-art:before,.hero-art:after{display:none}
.art-sun{position:absolute;width:clamp(115px,17vw,190px);aspect-ratio:1;border-radius:50%;top:15%;left:50%;background:#e99575;opacity:.95;transform:translate3d(calc(-50% + var(--px,0px)),var(--py,0px),0);box-shadow:inset -18px -15px 0 rgba(178,93,83,.08)}
.art-arch{position:absolute;width:68%;height:75%;left:16%;bottom:-14%;border:clamp(30px,5vw,58px) solid rgba(255,250,244,.78);border-bottom:0;border-radius:50% 50% 0 0;transform:translate3d(var(--px,0px),var(--py,0px),0)}
.art-orbit{position:absolute;width:83%;height:42%;left:8%;bottom:7%;border-bottom:2px solid rgba(82,111,136,.45);border-radius:0 0 50% 50%;transform:rotate(-10deg) translate3d(var(--px,0px),var(--py,0px),0)}
.art-copy{position:absolute;z-index:2;left:50%;top:35%;width:min(78%,360px);display:flex;flex-direction:column;align-items:center;text-align:center;color:#344b63;transform:translate3d(calc(-50% + var(--px,0px)),var(--py,0px),0) rotate(-4deg)}
.art-copy span{font:italic 500 clamp(.9rem,1.5vw,1.2rem) 'Playfair Display',serif;letter-spacing:.04em;color:#526f70}
.art-copy strong{font:700 clamp(2.4rem,5vw,4.4rem)/.92 'Playfair Display',serif;letter-spacing:-.045em;margin:8px 0 14px}
.art-copy i{font:italic 500 clamp(.85rem,1.3vw,1.05rem) 'Playfair Display',serif;color:#a75f52}
.art-spark{position:absolute;z-index:2;color:#f5d58d;font-size:clamp(1.8rem,3vw,3rem);text-shadow:0 2px 12px rgba(255,250,244,.4);transform:translate3d(var(--px,0px),var(--py,0px),0)}
.spark-one{top:19%;right:16%}.spark-two{bottom:25%;left:12%;font-size:clamp(1.2rem,2vw,2rem);color:#839cb0}
.art-caption{position:absolute;z-index:3;bottom:18px;left:0;width:100%;text-align:center;color:#526f88;font-size:.68rem;font-weight:700;letter-spacing:.22em}.art-caption span{color:#dc8b6e}
@media(max-width:780px){.hero-art{height:clamp(280px,78vw,370px);width:100%;border-radius:44% 44% 24px 24px}.art-copy{top:33%;width:82%}.art-copy strong{font-size:clamp(2.5rem,10vw,4rem)}}
@media(max-width:500px){.hero-art{height:290px}.art-copy{top:34%}.art-caption{font-size:.6rem;bottom:14px}}
@media(prefers-reduced-motion:reduce){.hero-art *{transition:none!important}}
.btn.btn-light{background:#fffaf4;color:#344b63;border-color:#fffaf4;box-shadow:0 3px 12px rgba(52,75,99,.08)}
.btn.btn-light:hover{background:#f1e4d4;color:#344b63;border-color:#f1e4d4}
.footer a.footer-social-link{display:inline-flex;align-items:center;gap:8px}
.footer-icon{display:inline-block;flex:0 0 18px;width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.footer-icon .icon-dot{fill:#fff;stroke:none}
.footer-map-icon{flex-basis:17px;width:17px;height:17px}
.tile-img{position:relative;isolation:isolate;background:#f2e9dd;color:#526f88}
.tile-img:not(:has(img)){background:linear-gradient(140deg,#f7efe3,#ece5dc)}
.tile-img:not(:has(img))::before,.tile-img:not(:has(img))::after{content:"";position:absolute;display:block;pointer-events:none;z-index:0}
.tile-img:not(:has(img))::before{width:58%;height:100%;left:10%;top:8%;border-radius:48% 52% 24% 28%;background:linear-gradient(145deg,#c9d8d8,#98b4bc);box-shadow:inset -12px -8px 0 rgba(71,105,125,.08);animation:tileFloat 6s ease-in-out infinite alternate}
.tile-img:not(:has(img))::after{width:33%;height:66%;right:12%;top:24%;border-radius:45% 45% 18% 18%;background:linear-gradient(160deg,#f1cfaa,#e8a68b);transform:rotate(13deg);box-shadow:inset -8px -5px 0 rgba(173,96,76,.08);animation:tileFloat 7s ease-in-out infinite alternate-reverse}
.tile-img .tile-art-label{position:relative;z-index:1;max-width:72%;padding:8px 12px;border-radius:30px;background:rgba(255,250,244,.78);font:600 clamp(.9rem,1.35vw,1.15rem) 'Playfair Display',serif;letter-spacing:.035em;text-align:center;color:#526f88}
.tile-img:has(img)::before,.tile-img:has(img)::after{display:none}
.tile-img img{position:relative;z-index:2}
@keyframes tileFloat{from{translate:0 -3px}to{translate:0 9px}}
.hero-art [data-parallax]{will-change:transform;transition:none}
@media(prefers-reduced-motion:reduce){.tile-img:not(:has(img))::before,.tile-img:not(:has(img))::after{animation:none}.hero-art [data-parallax]{transition:none}}
.card-art:not(:has(img)){background:#f4eee5;transition:background .5s ease}
.card-art:not(:has(img))::before{width:42%;height:68%;left:29%;top:16%;border-radius:0;background:#b9cbd0;box-shadow:none;animation:none;transition:transform .45s cubic-bezier(.2,.75,.25,1)}
.card-art:not(:has(img))::after{width:48%;height:18%;left:26%;right:auto;top:auto;bottom:15%;border-radius:50%;background:#e7c6ae;box-shadow:none;transform:none;animation:none;transition:transform .45s cubic-bezier(.2,.75,.25,1)}
.card-art .tile-art-label{background:rgba(255,250,244,.88);box-shadow:0 3px 16px rgba(52,75,99,.08)}
/* 1 · Cerámica: jarrón y plato */
.art-product:not(:has(img)){background:#edf0e9}
.art-product:not(:has(img))::before{clip-path:polygon(36% 0,64% 0,60% 20%,76% 35%,70% 86%,58% 100%,42% 100%,30% 86%,24% 35%,40% 20%);background:linear-gradient(100deg,#b9cbd0,#d2ddd6 65%,#a6bdc3)}
.art-product:not(:has(img))::after{height:12%;bottom:12%;background:#e4b99e;transform:scaleX(.9)}
.art-product.is-in-view:not(:has(img))::before{animation:potRise 1.1s cubic-bezier(.2,.75,.25,1) both}
.art-product.is-in-view:not(:has(img))::after{animation:dishSettle 1.1s .08s cubic-bezier(.2,.75,.25,1) both}
/* 2 · Taller: sol y lápiz */
.art-workshop:not(:has(img)){background:#f4eadb}
.art-workshop:not(:has(img))::before{width:44%;height:55%;left:15%;top:13%;border-radius:50%;clip-path:none;background:radial-gradient(circle at 38% 34%,#f8e5af,#e8c87f 70%);box-shadow:none}
.art-workshop:not(:has(img))::after{width:12%;height:70%;left:62%;top:13%;bottom:auto;border-radius:12px 12px 4px 4px;background:linear-gradient(90deg,#d38b77,#eab49a 55%,#bd786b);clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);transform:rotate(24deg)}
.art-workshop.is-in-view:not(:has(img))::before{animation:sunBloom 1s cubic-bezier(.2,.75,.25,1) both}
.art-workshop.is-in-view:not(:has(img))::after{animation:pencilTilt 1s .08s cubic-bezier(.2,.75,.25,1) both}
/* 3 · Encuentros: banderines y estrella */
.art-events:not(:has(img)){background:#eee8f0}
.art-events:not(:has(img))::before{width:62%;height:43%;left:19%;top:18%;border-radius:6px 6px 18px 18px;background:repeating-linear-gradient(90deg,#91aabd 0 20%,#f1d59d 20% 40%,#df9d83 40% 60%);clip-path:polygon(0 0,100% 0,100% 80%,90% 100%,80% 80%,70% 100%,60% 80%,50% 100%,40% 80%,30% 100%,20% 80%,10% 100%,0 80%)}
.art-events:not(:has(img))::after{width:25%;height:38%;left:38%;top:44%;bottom:auto;border-radius:0;background:#b58bac;clip-path:polygon(50% 0,61% 34%,98% 35%,69% 57%,80% 94%,50% 71%,20% 94%,31% 57%,2% 35%,39% 34%);transform:rotate(12deg)}
.art-events.is-in-view:not(:has(img))::before{animation:garlandSway 1.1s cubic-bezier(.2,.75,.25,1) both}
.art-events.is-in-view:not(:has(img))::after{animation:starPop .8s .15s cubic-bezier(.2,.75,.25,1) both}
@keyframes potRise{from{transform:translateY(26px) scale(.82);opacity:.25}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes dishSettle{from{transform:scaleX(.45) translateY(12px)}to{transform:scaleX(1) translateY(0)}}
@keyframes sunBloom{from{transform:scale(.55);opacity:.4}to{transform:scale(1);opacity:1}}
@keyframes pencilTilt{from{transform:rotate(8deg) translateY(-20px)}to{transform:rotate(24deg) translateY(0)}}
@keyframes garlandSway{from{transform:rotate(-7deg) translateY(-10px)}to{transform:rotate(0) translateY(0)}}
@keyframes starPop{from{transform:rotate(-25deg) scale(.35);opacity:.2}to{transform:rotate(12deg) scale(1);opacity:1}}
.hero-art.is-in-view .art-spark{animation:heroSpark 1.8s ease-in-out infinite alternate}
.hero-art.is-in-view .art-orbit{animation:orbitDrift 3s ease-in-out infinite alternate}
.cms-menu .navlinks a.is-active,.cms-menu .navlinks a.is-active:hover{background:#526f88;color:#fff;box-shadow:0 4px 12px rgba(52,75,99,.18);font-weight:700}
.hero-art{transform:translate3d(0,var(--hero-y,0px),0);will-change:transform;transition:none}
@keyframes heroSpark{from{scale:.85;opacity:.55}to{scale:1.12;opacity:1}}
@keyframes orbitDrift{from{translate:0 -2px}to{translate:0 5px}}
@media(prefers-reduced-motion:reduce){.card-art.is-in-view::before,.card-art.is-in-view::after,.hero-art.is-in-view .art-spark,.hero-art.is-in-view .art-orbit{animation:none!important}.hero-art{transform:none!important;transition:none!important}}
.gallery-choices,.gallery-new-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;margin:12px 0}
.gallery-choice{position:relative;min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.gallery-choice:has(input:checked){border-color:#526f88;box-shadow:0 0 0 2px rgba(82,111,136,.17);transform:translateY(-2px)}
.gallery-choice input[type=radio]{position:absolute;z-index:2;top:12px;left:12px;width:19px;height:19px;margin:0;accent-color:#526f88}
.gallery-choice img{width:100%;height:100px;object-fit:cover;border-radius:6px;background:#f2e9dd}
.gallery-choice span{display:block;margin-top:6px;font-size:.76rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.gallery-file-input{margin-top:8px}
.gallery-empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed var(--line);border-radius:8px}
.tile-image-link{display:block;color:inherit}
.card-detail-link{font-weight:700;color:#526f88}
.detail-view{max-width:1040px;margin:0 auto}
.detail-back{display:inline-block;margin-bottom:20px;color:#526f88;font-weight:700}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(25px,5vw,60px);align-items:center}
.detail-main-image{width:100%;max-height:620px;aspect-ratio:4/3;object-fit:contain;background:#f4eee5;border-radius:18px;box-shadow:0 14px 40px rgba(52,75,99,.1)}
.detail-copy h2{margin-top:9px}
.detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;margin-top:28px}
.detail-gallery a{display:block;overflow:hidden;border-radius:12px;background:#f4eee5}
.detail-gallery img{width:100%;height:155px;object-fit:cover;transition:transform .35s ease}
.detail-gallery a:hover img{transform:scale(1.05)}
@media(max-width:700px){.detail-layout{grid-template-columns:1fr}.detail-main-image{max-height:440px}.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-choices,.gallery-new-previews{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}}
.detail-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(12px,4vw,48px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.detail-modal.is-open{opacity:1;visibility:visible}.detail-backdrop{position:absolute;inset:0;background:rgba(25,29,35,.48);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.detail-dialog{position:relative;z-index:1;width:min(1040px,100%);max-height:min(90vh,900px);overflow:auto;padding:clamp(22px,4vw,48px);border:1px solid rgba(255,255,255,.75);border-radius:22px;background:var(--paper,#fbf7f0);box-shadow:0 28px 100px rgba(21,28,36,.28);transform:translateY(14px) scale(.985);transition:transform .22s ease}.detail-modal.is-open .detail-dialog{transform:translateY(0) scale(1)}.detail-close{position:absolute;right:14px;top:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:var(--ink);font-size:1.9rem;line-height:1;cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.1)}.detail-dialog .detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(22px,4vw,48px);align-items:start}.detail-slider{min-width:0}.detail-stage{position:relative;display:grid;place-items:center;min-height:260px;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:#eee5da}.detail-stage .detail-main-image{width:100%;height:100%;max-height:62vh;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none}.detail-arrow{position:absolute;top:50%;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#263b50;font-size:2rem;line-height:1;transform:translateY(-50%);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12)}.detail-prev{left:12px}.detail-next{right:12px}.detail-counter{position:absolute;right:12px;bottom:12px;padding:4px 10px;border-radius:20px;background:rgba(30,40,49,.72);color:#fff;font-size:.76rem}.detail-gallery{display:flex;grid-template-columns:none;gap:10px;margin-top:12px;padding:3px 2px 8px;overflow-x:auto;scroll-snap-type:x mandatory}.detail-thumb{flex:0 0 76px;width:76px;height:66px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#eee5da;cursor:pointer;scroll-snap-align:start}.detail-thumb img{width:100%;height:100%;object-fit:cover}.detail-thumb.is-active{border-color:#526f88;box-shadow:0 0 0 2px rgba(82,111,136,.18)}.detail-copy{padding:18px 8px 8px 0}.detail-copy p{color:var(--muted,#62645f)}.detail-modal-open{overflow:hidden}.detail-modal-body>.detail-view{max-width:none}.detail-modal-body .detail-copy h2{font-size:clamp(2rem,4vw,3rem)}.detail-modal-body .detail-copy p{white-space:normal}.detail-modal-body .schedule-label{margin-top:20px}.detail-modal-body .detail-layout{margin:8px 0}
@media(max-width:700px){.detail-modal{padding:10px}.detail-dialog{max-height:94dvh;padding:18px 14px;border-radius:17px}.detail-close{right:8px;top:8px;width:38px;height:38px}.detail-dialog .detail-layout{grid-template-columns:1fr;gap:12px}.detail-stage{min-height:0;max-height:54dvh;aspect-ratio:1/1}.detail-stage .detail-main-image{max-height:54dvh}.detail-copy{padding:6px 4px 10px}.detail-thumb{flex-basis:66px;width:66px;height:58px}}
@media(prefers-reduced-motion:reduce){.detail-modal,.detail-dialog{transition:none}}
.admin-wrap>.notice-saved{position:sticky;top:12px;z-index:20;padding:16px 20px;border:1px solid #a8c6a3;border-radius:10px;background:#edf6e9;color:#294d31;font-weight:700;box-shadow:0 8px 24px rgba(37,65,42,.12)}.saved-row{scroll-margin:90px;background:#eff6e9;animation:savedRowFlash 2.8s ease-out both}.saved-row td:first-child{box-shadow:inset 4px 0 #6e9c63}@keyframes savedRowFlash{0%,45%{background:#d8edca}100%{background:#fff}}
.detail-artisan{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:4px 0 18px;padding:8px 14px 8px 8px;border:1px solid rgba(82,111,136,.14);border-radius:999px;background:rgba(233,239,235,.72)}.detail-artisan img{width:48px;height:48px;flex:0 0 48px;object-fit:contain;padding:3px;border-radius:50%;background:#fff}.detail-artisan span{display:grid;gap:1px}.detail-artisan small{color:var(--muted,#62645f);font-size:.7rem;line-height:1.2}.detail-artisan strong{color:#526f88;font-size:.92rem;line-height:1.25}
.admin-grid input[type=date],.admin-grid input[type=time]{min-height:46px;cursor:pointer;color:var(--ink);background:#fff}
.all-day-option{display:flex;align-items:center;gap:10px;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fbf5eb;font-size:.9rem;font-weight:600}
.all-day-option input[type=checkbox]{width:19px;height:19px;margin:0;accent-color:#526f88}
.schedule-label{display:block;margin:5px 0 10px;color:#526f88;font-size:.84rem;font-weight:700}
