:root{--cream:#faf5ec;--paper:#fffdf8;--gold:#d7af67;--pink:#eac0c3;--brown:#492c22;--ink:#36251e;--muted:#7d6e63;--line:#e7dcc8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:1rem;z-index:20;background:white;padding:.6rem}.site-header{height:84px;padding:0 clamp(20px,6vw,88px);display:flex;align-items:center;gap:40px;background:rgba(250,245,236,.96);border-bottom:1px solid #eadecb;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;min-width:180px}.brand-mark{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;overflow:hidden;background:white}.brand-logo{display:block;width:100%;height:100%;object-fit:cover}.brand b{display:block;font:500 21px var(--serif);line-height:1.2}.brand small{display:block;font:italic 12px var(--serif);color:#92744c;letter-spacing:.04em}.nav{display:flex;gap:28px;margin-left:auto;font-size:13px;color:#66574c}.nav a:hover,.text-link:hover{color:#a67a37}.head-actions{display:flex;align-items:center;gap:22px}.lang-switch{display:flex;align-items:center;gap:7px;font-size:12px;color:#938273}.lang-switch button{background:none;border:0;color:#938273;padding:4px;cursor:pointer;font-size:12px}.lang-switch button[aria-pressed=true]{color:var(--brown);font-weight:700}.menu-toggle{display:none}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.01em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--brown);color:white}.button-outline{border-color:#bd9b67;color:var(--brown);background:rgba(255,253,248,.38)}.button-light{background:var(--paper);color:var(--brown)}.button-small{min-height:40px;padding:0 17px}.section-wrap{padding-left:clamp(22px,8vw,120px);padding-right:clamp(22px,8vw,120px)}.hero{min-height:640px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:6vw;padding-top:60px;padding-bottom:72px;background:radial-gradient(ellipse at 90% 38%,#f1e4cb 0,transparent 30%),var(--cream)}.eyebrow{font-size:10px;letter-spacing:.2em;color:#98784a;font-weight:700}.hero h1{font:500 clamp(50px,7vw,88px)/.98 var(--serif);margin:16px 0 18px;color:var(--brown)}.hero h1 span{display:block;font:italic 24px var(--serif);color:#8f7755;margin-top:17px;letter-spacing:.01em}.hero h2{font:500 clamp(25px,3vw,36px)/1.3 var(--serif);max-width:570px;margin:0 0 18px}.lead{max-width:520px;color:#6e5c50;font-size:15px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-note{font-size:11px;color:#988779;margin-top:28px;letter-spacing:.04em}.hero-art{position:relative;max-width:470px;justify-self:center}.hero-frame{padding:13px;background:#fffdf8;border:1px solid #dfc590;box-shadow:0 24px 60px rgba(73,44,34,.1);transform:rotate(1.3deg);position:relative}.hero-frame:before{content:'';position:absolute;inset:7px;border:1px solid #e9d8b1;pointer-events:none}.hero-frame img{display:block;width:min(100%,390px);max-height:500px;object-fit:contain}.hero-seal{position:absolute;right:-28px;bottom:35px;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--pink);color:var(--brown);font:italic 16px/1.05 var(--serif);border:5px solid var(--cream);transform:rotate(8deg)}.hero-caption{position:absolute;left:-25px;bottom:-25px;background:var(--paper);padding:13px 20px;border:1px solid var(--line);font:italic 14px var(--serif);box-shadow:0 8px 22px #492c2210}.intro{padding-top:105px;padding-bottom:105px;background:var(--paper)}.section-label{display:flex;align-items:center;gap:12px;color:#9a7847;font-size:10px;font-weight:700;letter-spacing:.18em}.section-label span:first-child{font-family:var(--serif);font-weight:400;font-size:14px;color:#b99555}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;margin-top:30px}.intro-grid h2,.section-heading h2,.contact h2{font:500 clamp(34px,4.5vw,55px)/1.15 var(--serif);color:var(--brown);margin:0}.intro-grid p{max-width:650px;color:#68584c;margin:0 0 16px;font-size:15px}.services,.packages,.gallery,.contact{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:38px}.section-heading h2{margin-top:13px}.section-heading>p{max-width:370px;color:var(--muted);font-size:14px;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.service-card{min-height:205px;padding:24px 22px;background:var(--paper);border:1px solid #eee5d6;position:relative;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:var(--gold)}.service-number{font:italic 14px var(--serif);color:#bd9857}.service-card h3{font:500 20px/1.25 var(--serif);color:var(--brown);margin:30px 0 8px}.service-card p{font-size:12px;color:#7d6e63;margin:0}.service-card-accent{background:#f5e8e5}.packages{background:#f3ebdf}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-card{background:var(--paper);border:1px solid #e4d4b6;overflow:hidden;display:flex;flex-direction:column}.package-art{height:230px;overflow:hidden;background:#f7f1e7;position:relative}.package-art img{position:absolute;width:512px;height:768px;max-width:none;object-fit:none;left:calc(-1px * var(--x));top:calc(-1px * var(--y))}.package-meta{padding:18px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.package-meta h3{font:500 21px var(--serif);margin:0;color:var(--brown)}.package-price{font:500 20px var(--serif);color:#997239}.package-meta .button{margin-top:13px;width:100%;grid-column:1/-1}.package-meta{display:grid;grid-template-columns:1fr auto}.package-meta .button{grid-column:1/-1}.fine-print{font-size:11px;color:#87786b;margin-top:20px}.gallery{background:var(--paper)}.text-link{color:#987548;font-size:13px;border-bottom:1px solid #c4a66f;padding-bottom:3px}.gallery-empty{min-height:250px;border:1px dashed #cdbb97;background:linear-gradient(135deg,#fbf7ef,#f6ece7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.gallery-flower{color:#c5a96f;font-size:38px}.gallery-empty h3{font:500 25px var(--serif);margin:8px 0;color:var(--brown)}.gallery-empty p{font-size:13px;color:var(--muted);margin:0;max-width:480px}.booking-band{padding:75px clamp(22px,8vw,120px);display:flex;justify-content:space-between;align-items:center;gap:45px;background:var(--brown);color:white}.booking-band .eyebrow{color:#dfbd7e}.booking-band h2{font:500 clamp(32px,4vw,47px)/1.16 var(--serif);max-width:670px;margin:12px 0}.booking-band p:not(.eyebrow){max-width:590px;color:#eadfd1;font-size:14px;margin-bottom:0}.booking-band .button{flex-shrink:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact h2{margin:22px 0}.contact h2 em{font-size:24px;font-weight:400;color:#9d7f50}.contact p{color:var(--muted)}.contact-links{align-self:center;border-top:1px solid var(--line)}.contact-links>a{display:flex;justify-content:space-between;padding:18px 5px;border-bottom:1px solid var(--line);font-size:13px}.contact-links>a span{color:#8a7a6d}.contact-links>a b{color:var(--brown);font-weight:600}.contact-note{font-size:11px;color:#89796c;margin-top:16px}.site-footer{background:#f0e7d9;padding:35px clamp(22px,8vw,120px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.site-footer nav{display:flex;gap:20px;font-size:12px}.site-footer>small{font-size:10px;color:#847468;max-width:280px}.brand-footer{min-width:auto}.back-link{margin-left:auto;font-size:13px;color:#756356}.booking-page{padding-top:60px;padding-bottom:100px}.booking-title{max-width:760px;margin:0 auto 30px;text-align:center}.booking-title .section-label{justify-content:center}.booking-title h1{font:500 clamp(36px,5vw,55px)/1.1 var(--serif);color:var(--brown);margin:20px 0 10px}.booking-title>p{color:var(--muted)}.setup-alert{max-width:1000px;margin:0 auto 36px;padding:18px 22px;display:flex;gap:15px;background:#f5e8e5;border:1px solid #e5c8c2;color:var(--brown)}.alert-icon{width:24px;height:24px;border:1px solid #b5856a;border-radius:50%;display:grid;place-items:center;font:italic 15px var(--serif);flex-shrink:0}.setup-alert b{font:500 17px var(--serif)}.setup-alert p{margin:4px 0 0;font-size:12px;line-height:1.6;color:#745d52}.booking-layout{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 285px;gap:35px;align-items:start}.booking-steps{display:grid;gap:12px}.booking-step{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:24px;background:var(--paper);border:1px solid #e9dfcf}.step-index{font:italic 16px var(--serif);color:#b48e4f}.booking-step h2{font:500 22px var(--serif);color:var(--brown);margin:0 0 16px}.choice-list{display:grid;gap:8px}.choice-card{display:flex;gap:12px;border:1px solid var(--line);padding:13px}.choice-card input,.check-line input{accent-color:var(--brown)}.choice-card b{display:block;font-size:13px}.choice-card small{font-size:11px;color:#817366}.field-label,.form-grid label span{display:block;font-size:12px;font-weight:600;margin:14px 0 6px}.booking-step select,.booking-step input:not([type=radio]):not([type=checkbox]),.booking-step textarea{width:100%;border:1px solid #e0d6c7;border-radius:3px;background:#f4f0e9;padding:11px;color:#75675c}.booking-step input:disabled,.booking-step select:disabled,.booking-step textarea:disabled{opacity:.72;cursor:not-allowed}.check-line{display:flex;align-items:flex-start;gap:9px;margin-top:16px;font-size:12px;color:#64564b}.step-copy{font-size:12px;color:#76685d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px}.form-grid label{font-size:12px}.form-grid .full-field{grid-column:1/-1}.quote-list{border-top:1px solid var(--line)}.quote-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;color:#77685d}.quote-list b{color:var(--brown);font-weight:600}.quote-list .quote-total{font-size:14px;color:var(--brown)}.booking-summary{position:sticky;top:105px;background:#eee2ce;border:1px solid #ddc99f;padding:23px}.booking-summary h2{font:500 25px/1.2 var(--serif);color:var(--brown);margin:16px 0}.booking-summary p:not(.eyebrow){font-size:12px;color:#716153}.booking-summary .button{width:100%;text-align:center;font-size:12px;margin:12px 0}.booking-summary .text-link{display:block;text-align:center;border:0;margin-top:8px}.summary-foot{margin-top:24px;border-top:1px solid #d3bf97;padding-top:14px;font-size:11px;color:#77654f}.booking-page+.site-footer{margin-top:0}
@media(max-width:900px){.site-header{gap:18px;padding:0 24px}.nav{gap:15px}.hero{gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.booking-layout{grid-template-columns:1fr 250px;gap:18px}}
@media(max-width:680px){.site-header{height:72px;padding:0 18px;gap:12px}.brand{min-width:0}.brand b{font-size:18px}.brand-mark{width:39px;height:39px}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:transparent;border-radius:3px;padding:6px 10px;font-size:11px;color:var(--brown)}.nav{display:none;position:absolute;top:71px;left:0;right:0;padding:15px 20px 18px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:14px}.nav.open{display:flex}.head-actions{gap:9px}.head-actions>.button{display:none}.lang-switch{font-size:11px}.hero{grid-template-columns:1fr;min-height:0;padding-top:54px;padding-bottom:65px}.hero h1{font-size:62px}.hero h1 span{font-size:21px}.hero h2{font-size:28px}.hero-art{width:min(84%,370px);margin-top:26px}.hero-frame img{max-height:430px}.hero-seal{right:-24px;bottom:24px;width:78px;height:78px;font-size:14px}.intro,.services,.packages,.gallery,.contact{padding-top:70px;padding-bottom:70px}.intro-grid,.contact{grid-template-columns:1fr;gap:24px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:15px}.section-heading h2{font-size:38px}.service-grid{grid-template-columns:1fr 1fr;gap:9px}.service-card{padding:18px 14px;min-height:185px}.service-card h3{font-size:18px;margin-top:26px}.service-card p{font-size:11px}.package-grid{grid-template-columns:1fr 1fr;gap:10px}.package-art{height:175px}.package-art img{transform:scale(.88);transform-origin:top left}.package-meta{padding:13px}.package-meta h3{font-size:18px}.package-price{font-size:17px}.package-meta .button{font-size:11px;padding:0 8px;min-height:42px}.booking-band{padding-top:55px;padding-bottom:55px;display:block}.booking-band .button{margin-top:22px}.contact-links{width:100%}.site-footer{align-items:flex-start;flex-direction:column;padding-top:30px;padding-bottom:30px}.site-footer nav{flex-wrap:wrap}.back-link{font-size:11px}.booking-page{padding-top:42px;padding-bottom:60px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.booking-step{padding:18px 14px;grid-template-columns:29px 1fr;gap:10px}.booking-step h2{font-size:20px}.form-grid{grid-template-columns:1fr}.form-grid .full-field{grid-column:auto}.setup-alert{padding:14px}.booking-title h1{font-size:39px}}
@media(max-width:390px){.package-grid{grid-template-columns:1fr}.package-art{height:220px}.service-grid{grid-template-columns:1fr}.hero-actions .button{width:100%}.lang-switch{gap:3px}.site-header{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* KIPEvent booking-band centered layout */
.booking-band{flex-direction:column;justify-content:center;gap:24px;text-align:center}
.booking-band>div{width:100%;max-width:800px;margin-inline:auto}
.booking-band h2,.booking-band p:not(.eyebrow){margin-left:auto;margin-right:auto}
.booking-band .button{align-self:center;margin-inline:auto}
@media(max-width:680px){.booking-band{text-align:center}.booking-band>div{margin-inline:auto}.booking-band .button{display:inline-flex;justify-content:center}}

/* KIPEvent prepare-request red label and periodic vibration */
.booking-band a.button.button-light{color:#d71934!important;animation:kipRequestShake 2s ease-in-out infinite;transform-origin:center center}
@keyframes kipRequestShake{0%,5%,25%,100%{transform:translateX(0) rotate(0)}8%,16%{transform:translateX(-3px) rotate(-1.5deg)}12%,20%{transform:translateX(3px) rotate(1.5deg)}}
@media(prefers-reduced-motion:reduce){.booking-band a.button.button-light{animation:none}}
