:root{--cream: #fbf6f1;--paper: #ffffff;--blush-50: #fdf1f3;--blush-100: #f8dfe5;--rose-500: #c4476b;--rose-600: #a93659;--rose-700: #8a2b48;--sage-100: #e5ede4;--sage-600: #4f6e53;--ink: #2b2226;--ink-2: #5d5055;--ink-3: #8f8186;--line: #ecdfd8;--danger: #b3261e;--font-display: "Playfair Display", Georgia, serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);--fs-hero: clamp(2.25rem, 1.4rem + 4vw, 4rem);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 72px;--r-sm: 8px;--r-md: 14px;--r-lg: 22px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(60, 30, 40, .06), 0 6px 18px rgba(60, 30, 40, .06);--sh-2: 0 14px 40px rgba(60, 30, 40, .16);--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;font-family:var(--font-body);font-size:var(--fs-md);line-height:1.6;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0;font-weight:600}:focus-visible{outline:3px solid var(--rose-500);outline-offset:2px}.container{width:min(1120px,100% - 2 * var(--s-5));margin-inline:auto}.state{min-height:60vh;display:grid;place-items:center;text-align:center;padding:var(--s-5);color:var(--ink-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:12px 22px;border-radius:var(--r-pill);border:1.5px solid transparent;font-weight:600;font-size:var(--fs-sm);text-decoration:none;transition:transform .15s var(--ease),background .15s,box-shadow .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:wait}.btn-primary{background:var(--rose-500);color:#fff;box-shadow:0 6px 16px #c4476b47}.btn-primary:hover{background:var(--rose-600)}.btn-ghost{background:var(--paper);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--rose-500);color:var(--rose-600)}.btn-sm{padding:8px 16px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--ink-2);transition:background .15s}.icon-btn:hover{background:var(--blush-50);color:var(--rose-600)}.icon-btn.danger:hover{background:#fdecea;color:var(--danger)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}.header{position:sticky;top:0;z-index:30;background:#fbf6f1e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-in{display:flex;align-items:center;gap:var(--s-5);height:64px}.brand{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--rose-600);text-decoration:none}.nav-links{display:flex;gap:var(--s-5);margin-left:var(--s-4)}.nav-links a{text-decoration:none;font-weight:500;font-size:var(--fs-sm);color:var(--ink-2)}.nav-links a:hover{color:var(--rose-600)}.header-cta{margin-left:auto;display:flex;gap:var(--s-2)}.hero{padding:var(--s-8) 0 var(--s-7);background:radial-gradient(900px 400px at 85% 0%,var(--blush-100),transparent 70%),radial-gradient(700px 360px at 0% 100%,var(--sage-100),transparent 70%)}.eyebrow{margin:0 0 var(--s-3);font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-600)}.hero h1{font-size:var(--fs-hero);font-weight:700}.hero h1 em{color:var(--rose-500);font-weight:500}.lead{max-width:56ch;margin:var(--s-4) 0 0;font-size:var(--fs-lg);color:var(--ink-2)}.section{padding:var(--s-7) 0}.section-alt{background:var(--paper);border-top:1px solid var(--line)}.section-title{font-size:var(--fs-xl)}.section-sub{margin:var(--s-2) 0 var(--s-5);color:var(--ink-2)}.chips{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-2);margin-bottom:var(--s-5);scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:8px 18px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--paper);font-size:var(--fs-sm);font-weight:500;color:var(--ink-2);transition:all .15s}.chip:hover{border-color:var(--rose-500)}.chip.on{background:var(--rose-500);border-color:var(--rose-500);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-5)}.card{text-align:left;padding:0;border:0;background:var(--paper);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);transition:transform .25s var(--ease),box-shadow .25s}.card:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.card-img{aspect-ratio:4 / 5;background:var(--blush-50);overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.card:hover .card-img img{transform:scale(1.05)}.card-body{display:grid;gap:2px;padding:var(--s-4) var(--s-4) var(--s-5)}.card-cat{font-size:var(--fs-xs);font-weight:600;color:var(--sage-600);text-transform:uppercase;letter-spacing:.06em}.card h3{font-size:1.15rem;font-weight:600}.card-price{margin-top:var(--s-1);font-weight:700;color:var(--rose-600)}.ph{width:100%;height:100%;display:grid;place-items:center;color:var(--rose-500);opacity:.5;background:linear-gradient(135deg,var(--blush-50),var(--sage-100))}.empty{padding:var(--s-7) 0;text-align:center;color:var(--ink-3)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);align-items:center}.info{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:var(--s-3)}.info li{display:flex;gap:var(--s-3);align-items:flex-start}.info svg{flex:none;margin-top:3px;color:var(--sage-600)}.info a{text-decoration:none;font-weight:600;color:var(--rose-600)}.map-wrap{width:100%;max-width:480px;height:320px;justify-self:end;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-1);background:var(--blush-50)}.map-wrap iframe{width:100%;height:100%;border:0;display:block}.footer{padding:var(--s-5) 0 calc(var(--s-5));text-align:center;font-size:var(--fs-xs);color:var(--ink-3)}.sticky-bar{display:none;position:fixed;inset:auto 0 0 0;z-index:25;gap:var(--s-3);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));background:#fbf6f1f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.sticky-bar .btn{flex:1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--s-4);background:#2b22268c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;animation:fade .2s}.modal{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(860px,100%);max-height:calc(100dvh - 32px);overflow:hidden;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-2);animation:pop .25s var(--ease)}.modal .close{position:absolute;top:10px;right:10px;z-index:2;background:#ffffffe6}.modal-media{background:var(--blush-50);display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 32px)}.modal-main{position:relative;width:100%;aspect-ratio:3 / 4;flex:1 1 auto;min-height:0}.modal-main img,.modal-main .ph{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6}.nav.l{left:10px}.nav.r{right:10px}.thumbs{display:flex;gap:var(--s-2);padding:var(--s-3);overflow-x:auto}.thumbs button{flex:none;width:56px;height:56px;padding:0;border:2px solid transparent;border-radius:var(--r-sm);overflow:hidden;opacity:.65}.thumbs button.on{border-color:var(--rose-500);opacity:1}.thumbs img{width:100%;height:100%;object-fit:cover}.modal-body{padding:var(--s-6);overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start}.modal-body h2{font-size:var(--fs-xl);margin-top:var(--s-3)}.tag{padding:4px 12px;border-radius:var(--r-pill);background:var(--sage-100);color:var(--sage-600);font-size:var(--fs-xs);font-weight:700}.price{margin:var(--s-2) 0 0;font-size:1.4rem;font-weight:700;color:var(--rose-600)}.desc{margin:var(--s-4) 0 0;color:var(--ink-2);white-space:pre-line}.note{margin:var(--s-4) 0 0;font-size:var(--fs-xs);color:var(--ink-3)}.field{display:grid;gap:6px;margin-bottom:var(--s-4)}.field>span{font-size:var(--fs-xs);font-weight:600;color:var(--ink-2)}input,select,textarea{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--paper)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rose-500);box-shadow:0 0 0 3px var(--blush-100)}textarea{resize:vertical}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--sh-1);max-width:640px}.panel h1,.panel h2{font-size:1.4rem;margin-bottom:var(--s-4)}.hint{margin:calc(-1 * var(--s-2)) 0 var(--s-4);color:var(--ink-3);font-size:var(--fs-sm)}.error{color:var(--danger);font-size:var(--fs-sm);margin:0 0 var(--s-3)}.ok{color:var(--sage-600);font-weight:600;font-size:var(--fs-sm)}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--s-4);background:var(--blush-50)}.login .panel{width:min(400px,100%);text-align:center}.login .field{text-align:left}.login-ico{color:var(--rose-500);margin-bottom:var(--s-2)}.back-link{display:inline-flex;align-items:center;gap:4px;margin-top:var(--s-4);font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none}.admin-head{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.admin-head-in{display:flex;align-items:center;justify-content:space-between;height:60px}.admin-head .back-link{margin:0}.admin-body{padding:var(--s-5) 0 var(--s-8)}.bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}.bar p{margin:0;color:var(--ink-2)}.rows{display:grid;gap:var(--s-3);margin-bottom:var(--s-4)}.row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md)}.row-img{flex:none;width:64px;height:64px;border-radius:var(--r-sm);overflow:hidden}.row-img img{width:100%;height:100%;object-fit:cover}.row-main{flex:1;min-width:0;display:grid}.row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main span{font-size:var(--fs-xs);color:var(--ink-3)}.inline{display:flex;gap:var(--s-2)}.modal-form{display:block;width:min(560px,100%);padding:var(--s-5);overflow-y:auto}.form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-4)}.form-head h2{font-size:1.35rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.img-row{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}.img-box,.img-add{position:relative;width:92px;height:92px;border-radius:var(--r-md);overflow:hidden}.img-box img{width:100%;height:100%;object-fit:cover}.img-box em{position:absolute;left:0;right:0;bottom:0;padding:2px;text-align:center;font-size:10px;font-style:normal;background:#2b2226a6;color:#fff}.img-box button{position:absolute;top:4px;right:4px;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:#2b2226b3;color:#fff}.img-add{display:grid;place-content:center;justify-items:center;gap:2px;border:2px dashed var(--line);background:var(--blush-50);color:var(--rose-600);font-size:var(--fs-xs);font-weight:600}.form-actions{display:flex;justify-content:flex-end;gap:var(--s-3)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.hide-sm,.nav-links{display:none}.hero{padding:var(--s-7) 0 var(--s-6)}.grid{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.card-body{padding:var(--s-3)}.card h3{font-size:1rem}.sticky-bar{display:flex}.modal{grid-template-columns:1fr;overflow-y:auto}.modal-media{max-height:none}.modal-main{min-height:0;aspect-ratio:3 / 4;flex:none}.modal-body{padding:var(--s-5);overflow:visible}.two{grid-template-columns:1fr}}.section-tint{background:linear-gradient(180deg,var(--blush-50),var(--cream))}.btn-light{background:#fff;color:var(--rose-700)}.btn-light:hover{background:var(--blush-50)}.btn-outline-light{border-color:#ffffffb3;color:#fff;background:transparent}.btn-outline-light:hover{background:#ffffff26}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.in{opacity:1;transform:none}.hero{position:relative;overflow:hidden}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s-7);align-items:center}.trust{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);padding:0;margin:var(--s-5) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.trust li{display:inline-flex;align-items:center;gap:6px}.trust svg{color:var(--sage-600)}.petals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.petals i{position:absolute;top:-30px;background:var(--blush-100);border-radius:50% 0 50% 50%;opacity:.9;animation:fall linear infinite}@keyframes fall{0%{transform:translateY(0) rotate(0) translate(0);opacity:0}10%{opacity:.9}to{transform:translateY(560px) rotate(300deg) translate(60px);opacity:0}}.collage{position:relative;height:480px}.shot{position:absolute;padding:8px;border:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s;animation:bob 7s ease-in-out infinite}.shot img,.shot .ph{width:100%;height:100%;object-fit:cover;border-radius:var(--r-md)}.s1{width:58%;height:76%;left:0;top:10%;transform:rotate(-4deg)}.s2{width:50%;height:60%;right:0;top:0;transform:rotate(5deg);animation-delay:-2s}.s3{width:44%;height:48%;right:10%;bottom:0;transform:rotate(-2deg);animation-delay:-4s}button.shot:hover{transform:rotate(0) scale(1.04);z-index:3}@keyframes bob{50%{translate:0 -8px}}.ribbon{overflow:hidden;white-space:nowrap;background:var(--rose-500);color:#fff;padding:12px 0;font-size:var(--fs-sm);font-weight:600;letter-spacing:.04em}.ribbon-track{display:inline-flex;animation:slide 36s linear infinite}.ribbon-track span{padding:0 var(--s-5)}@keyframes slide{to{transform:translate(-50%)}}.occ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s-4)}.occ{position:relative;aspect-ratio:3 / 4;padding:0;border:0;border-radius:var(--r-lg);overflow:hidden;text-align:left;color:#fff;box-shadow:var(--sh-1)}.occ img,.occ .ph{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.occ:hover img{transform:scale(1.07)}.occ:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,rgba(43,34,38,.72))}.occ-label{position:absolute;left:var(--s-4);right:var(--s-4);bottom:var(--s-4);z-index:1;display:grid;gap:2px}.occ-label strong{font-family:var(--font-display);font-size:1.2rem}.occ-label small{display:inline-flex;align-items:center;gap:4px;opacity:.9}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-5);margin-top:var(--s-5)}.why{padding:var(--s-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg)}.why-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--sage-100);color:var(--sage-600);margin-bottom:var(--s-3)}.why h3{font-size:1.1rem;margin-bottom:var(--s-1)}.why p{margin:0;color:var(--ink-2);font-size:var(--fs-sm)}.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-6);padding:0;margin:var(--s-6) 0 0}.steps li{position:relative;text-align:center;padding:0 var(--s-3)}.step-n{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--rose-500);color:#fff;font-family:var(--font-display);font-size:1.5rem;font-weight:700;box-shadow:0 8px 20px #c4476b4d;margin-bottom:var(--s-3)}.steps h3{font-size:1.2rem;margin-bottom:var(--s-1)}.steps p{margin:0 auto;max-width:30ch;color:var(--ink-2);font-size:var(--fs-sm)}@media(min-width:900px){.steps li:not(:last-child):after{content:"";position:absolute;top:28px;left:calc(50% + 44px);width:calc(100% - 88px + var(--s-6));border-top:2px dashed var(--blush-100)}}.band{padding:var(--s-7) 0;background:linear-gradient(120deg,var(--rose-600),var(--rose-500) 60%,#d9708b);color:#fff}.band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-5)}.band h2{font-size:var(--fs-xl)}.band p{margin:var(--s-2) 0 0;max-width:46ch;opacity:.92}.check{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);font-size:var(--fs-sm);color:var(--ink-2)}.check input{width:18px;height:18px;accent-color:var(--rose-500)}.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-5)}.rev-card{display:flex;flex-direction:column;padding:var(--s-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.rev-stars{color:#e59819;font-size:1.1rem;letter-spacing:2px;margin-bottom:var(--s-3)}.rev-text{margin:0 0 var(--s-4);color:var(--ink-2);font-style:italic;flex:1}.rev-imgs{display:flex;gap:var(--s-2);margin-bottom:var(--s-4)}.rev-thumb{width:68px;height:68px;padding:0;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:var(--blush-50);transition:transform .2s var(--ease)}.rev-thumb:hover{transform:scale(1.06)}.rev-thumb img{width:100%;height:100%;object-fit:cover}.rev-foot{display:flex;align-items:center;gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.rev-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--blush-100);color:var(--rose-600);font-family:var(--font-display);font-weight:700}.rev-foot div{display:grid;line-height:1.3}.rev-foot small{color:var(--ink-3);font-size:var(--fs-xs)}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-5)}.post-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);background:var(--paper);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);transition:transform .25s var(--ease),box-shadow .25s}.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.post-img{aspect-ratio:16 / 10;background:var(--blush-50);overflow:hidden}.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.post-card:hover .post-img img{transform:scale(1.05)}.post-body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);flex:1}.post-meta{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-xs);color:var(--ink-3)}.post-body h3{font-size:1.25rem;line-height:1.3}.post-body p{margin:0;color:var(--ink-2);font-size:var(--fs-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-more{margin-top:auto;padding-top:var(--s-2);display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--rose-600)}.modal-article{display:flex;flex-direction:column;width:min(680px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.article-hero{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--blush-50);flex:none}.article-hero img,.article-hero .ph{width:100%;height:100%;object-fit:cover}.article-body{padding:var(--s-6)}.article-body h2{font-size:var(--fs-xl);margin:var(--s-3) 0 var(--s-4)}.article-content{color:var(--ink-2);white-space:pre-line;line-height:1.75}@media(max-width:860px){.hero-grid,.contact-grid{grid-template-columns:1fr;gap:var(--s-6)}.collage{height:340px}.occ-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.map-wrap{max-width:100%;height:240px;justify-self:stretch}}
