
:root{--cos9-crimson:#9B2A47;--cos9-crimson-d:#7a1f38;--cos9-crimson-l:#c04060;--cos9-blush:#f5e8ec;--cos9-blush-2:#fdf5f7;--cos9-white:#fff;--cos9-off-white:#fafafa;--cos9-grey-l:#f2f2f2;--cos9-grey-m:#e0e0e0;--cos9-ink:#1a1a1a;--cos9-ink-soft:#4a4a4a;--cos9-ink-muted:#888}
.cos9-page,.cos9-section,.cos9-nav,.cos9-footer{box-sizing:border-box;font-family:'Jost',sans-serif;font-weight:300;color:var(--cos9-ink);font-size:17px}.cos9-page *,.cos9-page *::before,.cos9-page *::after,.cos9-section *,.cos9-section *::before,.cos9-section *::after,.cos9-nav *,.cos9-footer *{box-sizing:border-box}.cos9-page{background:var(--cos9-white);overflow-x:hidden}.cos9-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 3.5rem;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--cos9-grey-m);animation:cos9FadeDown .7s ease both}.cos9-logo-wrap{display:flex;align-items:center;gap:.9rem;text-decoration:none}.cos9-logo-circle{width:42px;height:42px;background:var(--cos9-crimson);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.cos9-logo-circle span:first-child{font-size:.85rem;font-weight:500;color:white;letter-spacing:.04em;line-height:1}.cos9-logo-circle span:last-child{font-size:.45rem;color:rgba(255,255,255,.8);letter-spacing:.08em;text-transform:uppercase;line-height:1.2}.cos9-logo-text{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cos9-ink)}.cos9-nav ul{list-style:none;display:flex;gap:2.5rem;margin:0;padding:0}.cos9-nav ul a{text-decoration:none;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cos9-ink-soft);transition:color .2s}.cos9-nav ul a:hover{color:var(--cos9-crimson)}.cos9-nav-cta{background:var(--cos9-crimson)!important;color:white!important;padding:.55rem 1.4rem;border-radius:2rem}.cos9-nav-cta:hover{background:var(--cos9-crimson-d)!important}.cos9-hero{min-height:88vh;display:grid;grid-template-columns:55% 45%;position:relative;overflow:hidden}.cos9-hero-left{display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem 5rem;animation:cos9FadeUp .9s .15s ease both}.cos9-hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cos9-crimson);margin-bottom:2rem}.cos9-hero-eyebrow:before,.cos9-section-label:before{content:'';display:block;width:28px;height:1px;background:var(--cos9-crimson)}.cos9-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,4.5vw,5.2rem);font-weight:300;line-height:1.08;color:var(--cos9-ink);margin:0 0 1.8rem}.cos9-hero h1 em,.cos9-section-title em{font-style:italic;color:var(--cos9-crimson)}.cos9-hero-desc{font-size:1.05rem;line-height:1.85;color:var(--cos9-ink-soft);max-width:480px;margin:0 0 3rem;border-left:2px solid var(--cos9-crimson);padding-left:1.2rem}.cos9-hero-btns{display:flex;gap:1rem;flex-wrap:wrap}.cos9-btn-primary,.cos9-btn-ghost{padding:.95rem 2.25rem;border-radius:2rem;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .25s,transform .2s,border-color .25s,color .25s;display:inline-flex;align-items:center;justify-content:center}.cos9-btn-primary{background:var(--cos9-crimson);color:white!important;border:none}.cos9-btn-primary:hover{background:var(--cos9-crimson-d);transform:translateY(-2px)}.cos9-btn-ghost{background:transparent;color:var(--cos9-ink)!important;border:1.5px solid var(--cos9-grey-m)}.cos9-btn-ghost:hover{border-color:var(--cos9-crimson);color:var(--cos9-crimson)!important}.cos9-hero-right{position:relative;overflow:hidden;animation:cos9FadeIn .9s .3s ease both}.cos9-hero-photo{position:absolute;inset:0;background:linear-gradient(160deg,#e8c4cc 0%,#c07090 35%,var(--cos9-crimson) 65%,var(--cos9-crimson-d) 100%);background-size:cover;background-position:center}.cos9-hero-photo:after,.cos9-about-img-main:before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E")}.cos9-hero-circle-1,.cos9-hero-circle-2{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.15);top:15%;left:50%;transform:translateX(-50%)}.cos9-hero-circle-1{width:300px;height:300px}.cos9-hero-circle-2{width:200px;height:200px;top:25%;border-color:rgba(255,255,255,.1)}.cos9-hero-label{position:absolute;bottom:3rem;right:3rem;background:white;border-radius:1rem;padding:1.4rem 1.8rem;box-shadow:0 20px 60px rgba(155,42,71,.15);animation:cos9FadeUp .8s .7s ease both}.cos9-hero-label .num{font-family:'WindSong',cursive;font-size:2.6rem;font-weight:400;color:var(--cos9-crimson);line-height:1}.cos9-hero-label p{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cos9-ink-muted);margin:.3rem 0 0}.cos9-hero-tag{position:absolute;top:3rem;left:3rem;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:2rem;padding:.5rem 1rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:white;animation:cos9FadeIn .8s .9s ease both}.cos9-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cos9-blush);border-top:2px solid var(--cos9-crimson);border-bottom:2px solid var(--cos9-crimson)}.cos9-stat{padding:2.2rem 2rem;text-align:center;border-right:1px solid rgba(155,42,71,.15)}.cos9-stat:last-child{border-right:none}.cos9-stat-num{font-family:'WindSong',cursive;font-size:2.4rem;font-weight:400;color:var(--cos9-crimson);line-height:1}.cos9-stat-label{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cos9-crimson-d);margin-top:.4rem;opacity:.7}.cos9-section-label{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cos9-crimson);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.cos9-section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:300;color:var(--cos9-ink);line-height:1.12;margin:0}.cos9-section{padding:6.5rem 4rem}.cos9-about{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;max-width:1200px;margin:0 auto}.cos9-about-visual{position:relative}.cos9-about-img-main{width:100%;aspect-ratio:3/4;background:linear-gradient(150deg,var(--cos9-blush) 0%,#e8a0b0 50%,var(--cos9-crimson) 100%);background-size:cover;background-position:center;border-radius:2px 60px 2px 60px;position:relative;overflow:hidden}.cos9-about-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--cos9-crimson);color:white;border-radius:50%;width:125px;height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 40px rgba(155,42,71,.3);overflow:hidden;padding:0 .6rem}.cos9-about-badge strong{font-family:'WindSong',cursive;font-size:1.8rem;font-weight:500;line-height:1}.cos9-about-badge span{font-size:.5rem;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;opacity:.85;text-align:center}.cos9-about-text .cos9-section-title{margin:.8rem 0 1.8rem;max-width:460px}.cos9-about-text p,.cos9-exp-text p,.cos9-booking-info p{font-size:1rem;line-height:1.9;color:var(--cos9-ink-soft);margin:0 0 1rem}.cos9-about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}.cos9-highlight{background:var(--cos9-blush-2);border-radius:1rem;padding:1.2rem 1.4rem;border:1px solid var(--cos9-blush)}.cos9-highlight h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:500;color:var(--cos9-crimson);margin:0 0 .3rem}.cos9-highlight p{font-size:.88rem;color:var(--cos9-ink-soft);line-height:1.6;margin:0}.cos9-services-section{background:var(--cos9-off-white)}.cos9-services-head,.cos9-testi-head{text-align:center;margin-bottom:4.5rem}.cos9-services-head .cos9-section-label,.cos9-testi-head .cos9-section-label{justify-content:center}.cos9-services-head .cos9-section-label:before,.cos9-testi-head .cos9-section-label:before{display:none}.cos9-services-head .cos9-section-title,.cos9-testi-head .cos9-section-title{text-align:center;margin:0 auto}.cos9-services-grid,.cos9-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1200px;margin:0 auto}.cos9-service-card{background:white;border-radius:1.2rem;padding:2.4rem 2rem;border:1px solid rgba(155,42,71,.10);box-shadow:0 12px 35px rgba(155,42,71,.045);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.cos9-service-card:hover{transform:translateY(-6px);box-shadow:0 26px 70px rgba(155,42,71,.11);border-color:rgba(155,42,71,.18)}.cos9-service-card:before{content:'';position:absolute;top:0;left:2rem;right:2rem;height:2px;background:var(--cos9-crimson);opacity:.35}.cos9-service-num{font-family:'WindSong',cursive;font-size:.95rem;font-weight:400;color:var(--cos9-crimson);letter-spacing:.05em;margin-bottom:1.2rem;opacity:.6}.cos9-service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;color:var(--cos9-ink);margin:0 0 .7rem;line-height:1.2}.cos9-service-card p{font-size:.95rem;line-height:1.75;color:var(--cos9-ink-soft);margin:0}.cos9-service-price{display:inline-block;margin-top:1.6rem;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cos9-crimson);border-bottom:1px solid var(--cos9-blush);padding-bottom:.2rem}.cos9-experience-section{background:var(--cos9-grey-l);position:relative;overflow:hidden}.cos9-experience-section:before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(155,42,71,.06),transparent 70%)}.cos9-exp-inner,.cos9-booking-wrap,.cos9-contact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.cos9-exp-text .cos9-section-title,.cos9-booking-info .cos9-section-title,.cos9-contact-info .cos9-section-title{max-width:420px;margin:.8rem 0 1.8rem}.cos9-exp-steps{display:flex;flex-direction:column;gap:1px}.cos9-exp-step{display:grid;grid-template-columns:60px 1fr;gap:1.5rem;align-items:start;padding:1.6rem 1.8rem;background:var(--cos9-white);border:1px solid var(--cos9-grey-m);margin-bottom:1px;transition:background .25s,border-color .25s}.cos9-exp-step:first-child{border-radius:1rem 1rem 0 0}.cos9-exp-step:last-child{border-radius:0 0 1rem 1rem}.cos9-exp-step:hover{background:var(--cos9-blush-2);border-color:var(--cos9-blush)}.cos9-exp-step-n{font-family:'WindSong',cursive;font-size:2.2rem;font-weight:400;color:var(--cos9-crimson);line-height:1;opacity:.5}.cos9-experience-section .cos9-exp-step-info h4{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;line-height:1.25;color:var(--cos9-ink);margin:0 0 .5rem;text-wrap:balance}.cos9-exp-step-info p{font-size:.92rem;line-height:1.65;color:var(--cos9-ink-soft);margin:0}.cos9-testimonials-section{background:var(--cos9-white)}.cos9-testi-grid{gap:1.5rem}.cos9-testi-card{background:var(--cos9-blush-2);border-radius:1.2rem;padding:2.2rem 2rem;border:1px solid var(--cos9-blush);position:relative}.cos9-testi-quote{font-family:'Cormorant Garamond',serif;font-size:4.5rem;line-height:.8;color:var(--cos9-crimson);opacity:.25;margin-bottom:.5rem}.cos9-stars{color:var(--cos9-crimson);font-size:.75rem;margin-bottom:.8rem;letter-spacing:.1em}.cos9-testi-text{font-size:.96rem;line-height:1.8;color:var(--cos9-ink-soft);margin:0 0 1.6rem}.cos9-testi-author{display:flex;align-items:center;gap:.8rem}.cos9-testi-av{width:38px;height:38px;border-radius:50%;background:var(--cos9-crimson);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500;color:white}.cos9-testi-name{font-size:.82rem;font-weight:500;color:var(--cos9-ink)}.cos9-testi-loc{font-size:.72rem;color:var(--cos9-ink-muted)}.cos9-booking-section{background:var(--cos9-blush-2)}.cos9-booking-wrap{align-items:start;max-width:1100px}.cos9-booking-features{display:flex;flex-direction:column;gap:.9rem}.cos9-bf{display:flex;align-items:center;gap:.9rem;font-size:.95rem;color:var(--cos9-ink-soft)}.cos9-bf-dot{width:7px;height:7px;border-radius:50%;background:var(--cos9-crimson);flex-shrink:0}.cos9-booking-form{background:white;border-radius:1.5rem;padding:3rem;border:1px solid var(--cos9-grey-m);box-shadow:0 30px 80px rgba(155,42,71,.07)}.cos9-booking-form h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--cos9-ink);margin:0 0 2rem}.cos9-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cos9-fg{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.cos9-fg label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cos9-ink-muted)}.cos9-fg input,.cos9-fg select{background:var(--cos9-off-white);border:1.5px solid var(--cos9-grey-m);border-radius:.7rem;font-family:'Jost',sans-serif;font-size:.96rem;color:var(--cos9-ink);outline:none;transition:border-color .2s;width:100%}.cos9-fg input{padding:.9rem 1rem}.cos9-fg select{padding:0 .85rem;min-height:48px;line-height:48px}.cos9-fg input:focus,.cos9-fg select:focus{border-color:var(--cos9-crimson)}.cos9-btn-book{width:100%;background:var(--cos9-crimson);color:white;padding:1.12rem;border:none;border-radius:2rem;font-family:'Jost',sans-serif;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;margin-top:.5rem;transition:background .25s,transform .2s}.cos9-btn-book:hover{background:var(--cos9-crimson-d);transform:translateY(-2px)}.cos9-form-note{font-size:.72rem;color:var(--cos9-ink-muted);text-align:center;margin:.8rem 0 0}.cos9-contact-section{background:var(--cos9-white)}.cos9-contact-inner{align-items:start}.cos9-ci{display:flex;gap:1.2rem;margin-bottom:2rem}.cos9-ci-icon{width:42px;height:42px;border-radius:.7rem;background:var(--cos9-blush-2);border:1px solid var(--cos9-blush);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;color:var(--cos9-crimson)}.cos9-ci strong{display:block;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cos9-crimson);margin-bottom:.3rem;font-weight:400}.cos9-ci span{font-size:1rem;color:var(--cos9-ink-soft);line-height:1.6}.cos9-social-links{display:flex;gap:.8rem;margin-top:2.5rem;flex-wrap:wrap}.cos9-soc{display:flex;align-items:center;gap:.5rem;background:var(--cos9-off-white);border:1px solid var(--cos9-grey-m);border-radius:2rem;padding:.55rem 1.2rem;text-decoration:none;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cos9-ink-soft)!important;transition:background .2s,border-color .2s,color .2s}.cos9-soc:hover{background:var(--cos9-blush);border-color:var(--cos9-blush);color:var(--cos9-crimson)!important}.cos9-contact-map{border-radius:1.2rem;overflow:hidden;background:linear-gradient(145deg,var(--cos9-blush-2),var(--cos9-blush));border:1px solid rgba(155,42,71,.12);height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--cos9-crimson-d);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 20px 60px rgba(155,42,71,.06)}.cos9-map-pin{font-size:2.5rem;opacity:.4}.cos9-map-note{font-size:.7rem;opacity:.65;letter-spacing:.08em;text-transform:none;color:var(--cos9-ink-soft)}.cos9-footer{background:var(--cos9-grey-l);padding:2rem 3.5rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--cos9-grey-m)}.cos9-footer p{font-size:.7rem;letter-spacing:.1em;color:var(--cos9-ink-muted);margin:0}.cos9-footer-logo{display:flex;align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cos9-ink-soft)}.cos9-footer-logo-circle{width:28px;height:28px;border-radius:50%;background:var(--cos9-crimson);display:flex;align-items:center;justify-content:center}.cos9-footer-logo-circle span{font-size:.55rem;color:white;font-weight:500;letter-spacing:.02em}@keyframes cos9FadeDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes cos9FadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes cos9FadeIn{from{opacity:0}to{opacity:1}}.cos9-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.cos9-reveal.visible{opacity:1;transform:translateY(0)}.cos9-reveal-d1{transition-delay:.1s}.cos9-reveal-d2{transition-delay:.2s}.cos9-reveal-d3{transition-delay:.3s}@media(max-width:960px){.cos9-hero-tag{top:1rem!important;left:1rem!important}.cos9-page,.cos9-section,.cos9-nav,.cos9-footer{font-size:16px}.cos9-hero{grid-template-columns:1fr}.cos9-hero-right{height:360px}.cos9-hero-left{padding:2rem 2rem 3rem}.cos9-about,.cos9-exp-inner,.cos9-booking-wrap,.cos9-contact-inner{grid-template-columns:1fr;gap:3rem}.cos9-services-grid,.cos9-testi-grid{grid-template-columns:1fr}.cos9-stats{grid-template-columns:repeat(2,1fr)}.cos9-section{padding:5rem 1.8rem}.cos9-hero h1{font-size:clamp(2.6rem,12vw,4rem)}.cos9-hero-desc{font-size:1rem}.cos9-section-title{font-size:clamp(2.2rem,10vw,3rem)}.cos9-nav ul{display:none}.cos9-nav{padding:1rem 1.5rem}.cos9-footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem 1.5rem}.cos9-form-row{grid-template-columns:1fr}.cos9-about-highlights{grid-template-columns:1fr}}

/* Leaflet / OpenStreetMap contact map */
.cos9-contact-map-shell{position:relative;border-radius:1.6rem;overflow:hidden;background:linear-gradient(180deg,#f7f1f3 0%,#fff 100%);border:1px solid rgba(155,42,71,.12);box-shadow:0 26px 70px rgba(155,42,71,.08)}
.cos9-contact-map.cos9-leaflet-map{z-index:1;position:relative;width:100%;height:500px;display:block;padding:0;background:#f7f1f3;border:none;overflow:hidden}
.cos9-contact-map .leaflet-container{font-family:'Jost',sans-serif;background:#f7f1f3!important}
.cos9-contact-map .leaflet-tile{filter:saturate(.85) contrast(.95) brightness(1.02)}
.cos9-contact-map .leaflet-control-zoom{border:none!important;box-shadow:0 14px 34px rgba(56,45,49,.12);overflow:hidden;border-radius:1rem}
.cos9-contact-map .leaflet-control-zoom a{width:36px;height:36px;line-height:36px;border:none!important;color:var(--cos9-crimson-d)!important;background:rgba(255,255,255,.96)!important}
.cos9-contact-map .leaflet-control-attribution{font-size:9px!important;padding:2px 8px!important;background:rgba(255,255,255,.7)!important;backdrop-filter:blur(4px);border-radius:8px 0 0 0!important;opacity:.6;transition:opacity .25s}
.cos9-contact-map .leaflet-control-attribution:hover{opacity:1}
.cos9-contact-map .leaflet-control-attribution a{color:var(--cos9-crimson-d)!important}
.cos9-contact-map .leaflet-bottom,.cos9-contact-map .leaflet-right{margin-bottom:7.5rem;margin-right:1rem;transition:opacity .3s}
.cos9-contact-map-topbar{position:absolute;top:1rem;left:1rem;right:1rem;z-index:700!important;pointer-events:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cos9-contact-map-topbar > *{pointer-events:auto}
.cos9-map-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:999px;background:rgba(255,248,250,.86);backdrop-filter:blur(10px);border:1px solid rgba(155,42,71,.12);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cos9-crimson)}
.cos9-map-kicker:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cos9-crimson);opacity:.6;animation:cos9KickerDot 1.6s ease-in-out infinite}
@keyframes cos9KickerDot{0%,100%{opacity:.6}50%{opacity:1}}
.cos9-map-toplink{display:inline-flex;align-items:center;padding:.65rem 1rem;border-radius:999px;background:rgba(255,248,250,.86);backdrop-filter:blur(10px);border:1px solid rgba(155,42,71,.12);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cos9-ink-soft)!important;text-decoration:none;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.cos9-map-toplink:hover{background:#fff;color:var(--cos9-crimson)!important;transform:translateY(-2px);box-shadow:0 8px 20px rgba(155,42,71,.15)}
.cos9-map-fallback{position:absolute;inset:0;z-index:800!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--cos9-crimson-d);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:2rem;background:linear-gradient(145deg,var(--cos9-blush-2),var(--cos9-blush))}
.cos9-map-marker-wrap{background:transparent;border:none}
.cos9-map-marker{position:relative;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--cos9-crimson),var(--cos9-crimson-d));box-shadow:0 12px 28px rgba(155,42,71,.35),0 0 0 6px rgba(255,255,255,.85);animation:cos9MarkerPulse 2.8s ease-in-out infinite}
.cos9-map-marker:after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(155,42,71,.16)}
.cos9-map-marker span{font-size:.68rem;font-weight:500;letter-spacing:.06em;color:#fff}
@keyframes cos9MarkerPulse{0%,100%{box-shadow:0 12px 28px rgba(155,42,71,.35),0 0 0 6px rgba(255,255,255,.85)}50%{box-shadow:0 12px 36px rgba(155,42,71,.5),0 0 0 10px rgba(255,255,255,.7)}}
@media(max-width:960px){.cos9-contact-map.cos9-leaflet-map{height:380px}.cos9-contact-map .leaflet-bottom,.cos9-contact-map .leaflet-right{margin-bottom:6.8rem;margin-right:.75rem}.cos9-contact-map-topbar{top:.85rem;left:.85rem;right:.85rem}.cos9-map-kicker,.cos9-map-toplink{font-size:.62rem}}

/* Booking form states */
.cos9-btn-loading{opacity:.7;pointer-events:none}
.cos9-form-msg-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.cos9-form-msg-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.cos9-wa-link{display:inline-block;margin-top:.6rem;padding:.4rem 1rem;background:#25D366;color:#fff!important;border-radius:2rem;font-weight:500;text-decoration:none;font-size:.9rem}
.cos9-wa-link:hover{background:#128C7E}
.cos9-booking-form-inner input:invalid,.cos9-booking-form-inner select:invalid{border-color:#e8a0b0!important}
.cos9-booking-form-inner .cos9-fg label{display:flex;align-items:center;gap:.35rem}
.cos9-booking-form-inner .cos9-fg label:after{content:'*';color:var(--cos9-crimson);font-size:.75rem}
.cos9-booking-form-inner .cos9-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cos9-booking-form-inner .cos9-fg{min-width:0}
.cos9-booking-form-inner .cos9-fg label{white-space:nowrap}
@media(max-width:960px){.cos9-booking-form-inner .cos9-form-row{grid-template-columns:1fr}}
.cos9-booking-form-inner .cos9-btn-book{background:var(--cos9-crimson)!important;background-image:none!important;color:white!important;border:none!important}
.cos9-booking-form-inner .cos9-btn-book:hover{background:var(--cos9-crimson-d)!important;background-image:none!important}


/* v1.0.7 button + map functional fixes */
.cos9-page .cos9-btn-primary,
.cos9-page a.cos9-btn-primary,
.cos9-page .cos9-nav-cta,
.cos9-page a.cos9-nav-cta,
.cos9-page .cos9-btn-book,
.cos9-page button.cos9-btn-book,
.cos9-page input.cos9-btn-book[type="submit"]{
  background:var(--cos9-crimson)!important;
  background-color:var(--cos9-crimson)!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid var(--cos9-crimson)!important;
  box-shadow:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}

.cos9-page .cos9-btn-primary:hover,
.cos9-page a.cos9-btn-primary:hover,
.cos9-page .cos9-nav-cta:hover,
.cos9-page a.cos9-nav-cta:hover,
.cos9-page .cos9-btn-book:hover,
.cos9-page button.cos9-btn-book:hover,
.cos9-page input.cos9-btn-book[type="submit"]:hover{
  background:var(--cos9-crimson-d)!important;
  background-color:var(--cos9-crimson-d)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:var(--cos9-crimson-d)!important;
}

.cos9-page .cos9-btn-book:focus,
.cos9-page .cos9-btn-primary:focus,
.cos9-page .cos9-nav-cta:focus{
  outline:2px solid rgba(155,42,71,.25)!important;
  outline-offset:3px!important;
}


@media(max-width:960px){
  .cos9-page .cos9-btn-book{
    font-size:.78rem!important;
  }
}

/* v1.0.8 Leaflet visual + interaction fixes */
.cos9-contact-map-shell{
  position:relative!important;
  border-radius:1.6rem!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(155,42,71,.14)!important;
  box-shadow:0 26px 70px rgba(155,42,71,.10)!important;
}

.cos9-contact-map.cos9-leaflet-map{
  position:relative!important;
  width:100%!important;
  height:560px!important;
  min-height:560px!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#f7f1f3!important;
  line-height:1!important;
}

.cos9-contact-map.cos9-leaflet-map .leaflet-container,
.cos9-contact-map.cos9-leaflet-map .leaflet-map-pane,
.cos9-contact-map.cos9-leaflet-map .leaflet-tile-pane,
.cos9-contact-map.cos9-leaflet-map .leaflet-overlay-pane,
.cos9-contact-map.cos9-leaflet-map .leaflet-shadow-pane,
.cos9-contact-map.cos9-leaflet-map .leaflet-marker-pane,
.cos9-contact-map.cos9-leaflet-map .leaflet-tooltip-pane,
.cos9-contact-map.cos9-leaflet-map .leaflet-popup-pane{
  box-sizing:content-box!important;
}

.cos9-contact-map.cos9-leaflet-map .leaflet-tile,
.cos9-contact-map.cos9-leaflet-map .leaflet-marker-icon,
.cos9-contact-map.cos9-leaflet-map .leaflet-marker-shadow{
  max-width:none!important;
  max-height:none!important;
  width:auto;
  height:auto;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none;
}

.cos9-contact-map.cos9-leaflet-map .leaflet-tile{
  width:256px!important;
  height:256px!important;
  filter:saturate(.78) contrast(.94) brightness(1.04) sepia(.08);
}

.cos9-contact-map .leaflet-control-container{
  font-family:'Jost',sans-serif!important;
}

.cos9-contact-map .leaflet-bottom.leaflet-right{
  margin-bottom:9rem!important;
  margin-right:1rem!important;
}

.cos9-map-overlay-card{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:650!important;
  padding:1.8rem 2rem 1.75rem!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,#fff 100%)!important;
  border-top:1px solid rgba(155,42,71,.12)!important;
  box-shadow:0 -26px 55px rgba(255,255,255,.92)!important;
  color:var(--cos9-ink)!important;
}

.cos9-map-overlay-card p,
.cos9-map-overlay-card h3{
  margin:0!important;
}

.cos9-map-overlay-label{
  margin-bottom:1.15rem!important;
  font-size:.78rem!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:var(--cos9-ink-muted)!important;
}

.cos9-map-overlay-card h3{
  margin-bottom:1rem!important;
  font-family:'Jost',sans-serif!important;
  font-size:1.35rem!important;
  line-height:1.25!important;
  font-weight:400!important;
  color:var(--cos9-ink)!important;
}

.cos9-map-overlay-address{
  font-size:.95rem!important;
  line-height:1.65!important;
  color:var(--cos9-ink-soft)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.cos9-map-overlay-actions{
  margin-top:1.05rem!important;
  display:flex!important;
  gap:.8rem!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}

.cos9-map-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--cos9-crimson-l)!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  transition:color .2s ease,transform .2s ease!important;
}

.cos9-map-link:hover{
  color:var(--cos9-crimson-d)!important;
  transform:translateY(-1px)!important;
}

.cos9-contact-map-topbar{
  z-index:660!important;
}

.cos9-map-fallback{
  border-radius:0!important;
}

@media(max-width:960px){
  .cos9-contact-map.cos9-leaflet-map{
    height:500px!important;
    min-height:500px!important;
  }
  .cos9-map-overlay-card{
    padding:1.45rem 1.35rem 1.35rem!important;
  }
  .cos9-map-overlay-card h3{
    font-size:1.18rem!important;
  }
  .cos9-contact-map .leaflet-bottom.leaflet-right{
    margin-bottom:8.6rem!important;
    margin-right:.75rem!important;
  }
}

/* v1.0.9 map height + compact overlay */
.cos9-contact-section .cos9-contact-inner{
  align-items:stretch!important;
}

.cos9-contact-section .cos9-contact-inner > .cos9-reveal-d1{
  height:100%!important;
  min-height:100%!important;
  display:flex!important;
}

.cos9-contact-section .cos9-contact-map-shell{
  width:100%!important;
  height:100%!important;
  min-height:clamp(620px,72vh,780px)!important;
  display:flex!important;
}

.cos9-contact-section .cos9-contact-map.cos9-leaflet-map{
  flex:1 1 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:clamp(620px,72vh,780px)!important;
}

.cos9-contact-section .cos9-map-overlay-card{
  padding:1.15rem 1.45rem 1.2rem!important;
  max-width:none!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.98) 100%)!important;
  box-shadow:0 -18px 42px rgba(255,255,255,.82)!important;
}

.cos9-contact-section .cos9-map-overlay-label{
  margin-bottom:.65rem!important;
  font-size:.7rem!important;
  line-height:1.25!important;
}

.cos9-contact-section .cos9-map-overlay-card h3{
  margin-bottom:.55rem!important;
  font-size:1.12rem!important;
  line-height:1.22!important;
}

.cos9-contact-section .cos9-map-overlay-address{
  font-size:.82rem!important;
  line-height:1.48!important;
}

.cos9-contact-section .cos9-map-overlay-actions{
  margin-top:.55rem!important;
}

.cos9-contact-section .cos9-map-link{
  font-size:.76rem!important;
}

.cos9-contact-section .leaflet-bottom.leaflet-right{
  margin-bottom:6.25rem!important;
}

@media(max-width:960px){
  .cos9-contact-section .cos9-contact-map-shell{
    min-height:560px!important;
  }
  .cos9-contact-section .cos9-contact-map.cos9-leaflet-map{
    min-height:560px!important;
  }
  .cos9-contact-section .cos9-map-overlay-card{
    padding:1rem 1.1rem 1.05rem!important;
  }
  .cos9-contact-section .cos9-map-overlay-card h3{
    font-size:1.02rem!important;
  }
  .cos9-contact-section .cos9-map-overlay-address{
    font-size:.78rem!important;
  }
  .cos9-contact-section .leaflet-bottom.leaflet-right{
    margin-bottom:5.8rem!important;
  }
}


/* v1.1.0 refined branded map styling */
.cos9-contact-section .cos9-contact-map-shell{
  border-radius:1.8rem!important;
  border:1px solid rgba(155,42,71,.14)!important;
  background:linear-gradient(145deg,#fff7fa 0%,#f8eef2 100%)!important;
  box-shadow:0 30px 80px rgba(155,42,71,.105)!important;
  isolation:isolate!important;
}

.cos9-contact-section .cos9-contact-map-shell:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:450;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 14%,rgba(255,240,246,.56),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.22) 0%,rgba(255,247,250,.08) 44%,rgba(155,42,71,.08) 100%);
  mix-blend-mode:multiply;
}

.cos9-contact-section .cos9-contact-map-shell:after{
  content:'';
  position:absolute;
  inset:0;
  z-index:451;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62), inset 0 -120px 105px rgba(255,247,250,.72);
  border-radius:inherit;
}

.cos9-contact-section .cos9-contact-map.cos9-leaflet-map{
  background:#f8f1f3!important;
}

.cos9-contact-section .cos9-contact-map.cos9-leaflet-map .leaflet-tile{
  filter:grayscale(.72) sepia(.2) hue-rotate(285deg) saturate(.82) brightness(1.05) contrast(.92)!important;
  opacity:.92!important;
}

.cos9-contact-section .cos9-map-kicker,
.cos9-contact-section .cos9-map-toplink{
  background:rgba(255,250,252,.9)!important;
  border:1px solid rgba(155,42,71,.13)!important;
  box-shadow:0 10px 28px rgba(155,42,71,.085)!important;
  backdrop-filter:blur(14px)!important;
}

.cos9-contact-section .cos9-map-toplink{
  color:var(--cos9-crimson-d)!important;
}

.cos9-contact-section .cos9-map-overlay-card{
  left:1.15rem!important;
  right:auto!important;
  bottom:1.15rem!important;
  width:min(360px,calc(100% - 2.3rem))!important;
  border-radius:1.35rem!important;
  padding:1.05rem 1.15rem 1.05rem!important;
  background:rgba(255,250,252,.93)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border:1px solid rgba(155,42,71,.14)!important;
  box-shadow:0 22px 58px rgba(155,42,71,.17)!important;
}

.cos9-contact-section .cos9-map-overlay-card:before{
  content:'';
  position:absolute;
  top:.85rem;
  left:.95rem;
  width:28px;
  height:2px;
  border-radius:999px;
  background:var(--cos9-crimson);
  opacity:.42;
}

.cos9-contact-section .cos9-map-overlay-label{
  padding-left:2.3rem!important;
  margin-bottom:.55rem!important;
  color:var(--cos9-crimson)!important;
  letter-spacing:.18em!important;
}

.cos9-contact-section .cos9-map-overlay-card h3{
  font-size:1.06rem!important;
  line-height:1.18!important;
  letter-spacing:.01em!important;
  color:var(--cos9-ink)!important;
}

.cos9-contact-section .cos9-map-overlay-address{
  color:var(--cos9-ink-soft)!important;
  font-size:.78rem!important;
  line-height:1.42!important;
}

.cos9-contact-section .cos9-map-link{
  padding:.42rem .82rem!important;
  border-radius:999px!important;
  background:rgba(155,42,71,.08)!important;
  color:var(--cos9-crimson-d)!important;
  font-size:.72rem!important;
}

.cos9-contact-section .cos9-map-link:hover{
  background:var(--cos9-crimson)!important;
  color:#fff!important;
}

.cos9-contact-section .cos9-map-marker{
  width:38px!important;
  height:38px!important;
  background:linear-gradient(145deg,var(--cos9-crimson) 0%,var(--cos9-crimson-d) 100%)!important;
  box-shadow:0 14px 30px rgba(155,42,71,.36),0 0 0 7px rgba(255,250,252,.86),0 0 0 13px rgba(155,42,71,.08)!important;
}

.cos9-contact-section .leaflet-control-zoom{
  margin-top:4.6rem!important;
  margin-left:1rem!important;
  border-radius:1rem!important;
  box-shadow:0 16px 34px rgba(155,42,71,.13)!important;
}

.cos9-contact-section .leaflet-control-zoom a{
  background:rgba(255,250,252,.95)!important;
  color:var(--cos9-crimson-d)!important;
}

.cos9-contact-section .leaflet-bottom.leaflet-right{
  margin-bottom:1rem!important;
  margin-right:1rem!important;
}

@media(max-width:960px){
  .cos9-contact-section .cos9-map-overlay-card{
    left:.85rem!important;
    bottom:.85rem!important;
    width:calc(100% - 1.7rem)!important;
    border-radius:1.15rem!important;
    padding:.95rem 1rem!important;
  }
  .cos9-contact-section .cos9-map-overlay-label{
    font-size:.62rem!important;
  }
  .cos9-contact-section .leaflet-bottom.leaflet-right{
    margin-bottom:.75rem!important;
    margin-right:.75rem!important;
  }
}

/* v1.1.4 mobile hero spacing fix */
@media(max-width:960px){
  .cos9-hero{
    min-height:auto!important;
  }
  .cos9-hero-left{
    padding:2rem 1.5rem 2rem!important;
    justify-content:flex-start!important;
  }
  .cos9-hero-eyebrow{
    margin-bottom:1rem!important;
  }
  .cos9-hero h1{
    margin-bottom:1rem!important;
  }
  .cos9-hero-desc{
    margin-bottom:1.5rem!important;
    line-height:1.65!important;
  }
  .cos9-hero-right{
    height:240px!important;
  }
  .cos9-hero-label{
    right:1rem!important;
    bottom:1rem!important;
    padding:.9rem 1.1rem!important;
  }
  .cos9-section{
    padding:3.5rem 1.5rem!important;
  }
}


/* Ajuste Cos9: imagen hero más grande en móvil */
@media(max-width:960px){
  .cos9-hero-right{height:360px!important;}
  .cos9-hero-photo{min-height:360px;background-size:cover;background-position:center center;}
}
@media(max-width:520px){
  .cos9-hero-right{height:340px!important;}
  .cos9-hero-photo{min-height:340px;}
}


/* Hero carousel */
.cos9-hero-slides{position:absolute;inset:0;overflow:hidden}
.cos9-hero-slide{opacity:0;pointer-events:none;transition:opacity .8s ease,transform .8s ease;will-change:opacity,transform}
.cos9-hero-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.cos9-transition-slide .cos9-hero-slide{opacity:1;transform:translateX(100%)}
.cos9-transition-slide .cos9-hero-slide.is-active{transform:translateX(0)}
.cos9-transition-vertical .cos9-hero-slide{opacity:1;transform:translateY(100%)}
.cos9-transition-vertical .cos9-hero-slide.is-active{transform:translateY(0)}
.cos9-transition-zoom .cos9-hero-slide{transform:scale(1.08)}
.cos9-transition-zoom .cos9-hero-slide.is-active{transform:scale(1)}
.cos9-hero-slides .cos9-hero-circle-1,.cos9-hero-slides .cos9-hero-circle-2{z-index:2;pointer-events:none}
.cos9-hero-carousel .cos9-hero-tag,.cos9-hero-carousel .cos9-hero-label{z-index:4}
.cos9-carousel-arrow{position:absolute;top:50%;z-index:5;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s,transform .2s}
.cos9-carousel-arrow:hover,.cos9-carousel-arrow:focus-visible{background:rgba(255,255,255,.32);transform:translateY(-50%) scale(1.05);outline:none}
.cos9-carousel-prev{left:1.25rem}.cos9-carousel-next{right:1.25rem}
.cos9-carousel-dots{position:absolute;z-index:6;left:50%;bottom:1.25rem;display:flex;gap:.55rem;transform:translateX(-50%)}
.cos9-carousel-dot{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.cos9-carousel-dot.is-active{background:#fff;transform:scale(1.2)}
@media(max-width:960px){.cos9-carousel-arrow{width:38px;height:38px}.cos9-carousel-prev{left:.75rem}.cos9-carousel-next{right:.75rem}.cos9-carousel-dots{bottom:.8rem}.cos9-hero-carousel .cos9-hero-label{bottom:2.35rem!important}}
@media(prefers-reduced-motion:reduce){.cos9-hero-slide{transition:none!important}.cos9-carousel-arrow,.cos9-carousel-dot{transition:none!important}}

/* Footer refinado */
.cos9-footer{background:linear-gradient(145deg,var(--cos9-grey-l) 0%,var(--cos9-blush-2) 100%)!important;padding:3.2rem 3.5rem 1.4rem!important;display:block!important;border-top:1px solid rgba(155,42,71,.12)!important;color:var(--cos9-ink)!important}
.cos9-footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.45fr .8fr .8fr;gap:3rem;align-items:start}
.cos9-footer-brand p{max-width:420px;margin:1rem 0 0!important;font-size:.92rem!important;line-height:1.75!important;letter-spacing:0!important;color:var(--cos9-ink-soft)!important}
.cos9-footer-logo{gap:.8rem!important;font-size:.78rem!important;letter-spacing:.22em!important;color:var(--cos9-ink)!important;font-weight:400!important}
.cos9-footer-logo-circle{width:38px!important;height:38px!important;box-shadow:0 12px 28px rgba(155,42,71,.18)}
.cos9-footer-logo-circle span{font-size:.72rem!important}
.cos9-footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--cos9-crimson);margin:0 0 1rem}
.cos9-footer-col a{display:block;width:max-content;max-width:100%;text-decoration:none;color:var(--cos9-ink-soft)!important;font-size:.86rem;line-height:1.6;margin:.45rem 0;transition:color .2s,transform .2s}
.cos9-footer-col a:hover{color:var(--cos9-crimson)!important;transform:translateX(3px)}
.cos9-footer-bottom{max-width:1200px;margin:2.4rem auto 0;padding-top:1.1rem;border-top:1px solid rgba(155,42,71,.12);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.cos9-footer-bottom p{font-size:.68rem!important;letter-spacing:.1em!important;color:var(--cos9-ink-muted)!important;margin:0!important}
@media(max-width:960px){.cos9-footer{padding:2.4rem 1.5rem 1.4rem!important;text-align:left!important}.cos9-footer-inner{grid-template-columns:1fr;gap:1.8rem}.cos9-footer-brand p{max-width:none}.cos9-footer-bottom{flex-direction:column;align-items:flex-start;text-align:left;gap:.45rem;margin-top:1.8rem}.cos9-footer-col a{width:100%}}

/* Carta completa de serveis */
.cos9-services2-section{background:var(--cos9-off-white);scroll-margin-top:80px}
.cos9-services2-head{max-width:760px;margin:0 auto 4rem;text-align:center}
.cos9-services2-head .cos9-section-label{justify-content:center}
.cos9-services2-head .cos9-section-label:before{display:none}
.cos9-services2-intro{max-width:650px;margin:1.25rem auto 0;font-size:1rem;line-height:1.8;color:var(--cos9-ink-soft)}
.cos9-services2-grid{max-width:1280px;margin:0 auto;columns:3;column-gap:1.25rem}
.cos9-services2-category{display:inline-block;width:100%;margin:0 0 1.25rem;padding:1.8rem 1.7rem;background:#fff;border:1px solid rgba(155,42,71,.11);border-radius:1.1rem;box-shadow:0 12px 34px rgba(155,42,71,.045);break-inside:avoid;vertical-align:top}
.cos9-services2-category h3{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:400;line-height:1.15;color:var(--cos9-crimson);margin:0;padding:0 0 .9rem;border-bottom:2px solid var(--cos9-blush)}
.cos9-services2-category-desc{font-size:.88rem;line-height:1.55;color:var(--cos9-ink-soft);margin:.8rem 0 0}
.cos9-services2-category ul{list-style:none;margin:.65rem 0 0;padding:0}
.cos9-services2-category li{padding:.72rem 0;border-bottom:1px solid var(--cos9-grey-m)}
.cos9-services2-category li:last-child{border-bottom:0;padding-bottom:0}
.cos9-services2-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.cos9-services2-row strong{font-size:.9rem;font-weight:500;line-height:1.35;color:var(--cos9-ink)}
.cos9-services2-row span{flex:none;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cos9-crimson);white-space:nowrap}
.cos9-services2-category li p{font-size:.78rem;line-height:1.5;color:var(--cos9-ink-muted);margin:.25rem 0 0}
@media(max-width:1050px){.cos9-services2-grid{columns:2}}
@media(max-width:640px){.cos9-services2-head{margin-bottom:2.5rem}.cos9-services2-grid{columns:1}.cos9-services2-category{padding:1.5rem 1.3rem}.cos9-services2-row{gap:.6rem}}

/* Serveis 2 grouped navigation */
.cos9-services2-tabs{max-width:1100px;margin:0 auto 2rem;display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap}
.cos9-services2-tab{appearance:none;border:1px solid rgba(155,42,71,.2);border-radius:999px;background:#fff;color:var(--cos9-ink-soft);padding:.75rem 1.2rem;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.cos9-services2-tab:hover{border-color:var(--cos9-crimson);color:var(--cos9-crimson);transform:translateY(-1px)}
.cos9-services2-tab.is-active{background:var(--cos9-crimson);border-color:var(--cos9-crimson);color:#fff;box-shadow:0 10px 24px rgba(155,42,71,.18)}
.cos9-services2-tab:focus-visible{outline:2px solid var(--cos9-crimson);outline-offset:3px}
.cos9-services2-category[hidden]{display:none!important}
.cos9-services2-panels{max-width:1200px;margin:0 auto}
.cos9-services2-panel[hidden]{display:none}
.cos9-services2-panel.is-active{animation:cos9FadeIn .35s ease both}
.cos9-services2-panel .cos9-services2-grid{columns:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;align-items:start}
.cos9-services2-panel .cos9-services2-category{display:block;margin:0;height:auto}
.cos9-services2-panel .cos9-services2-category:only-child ul{columns:2;column-gap:2.5rem}
.cos9-services2-panel .cos9-services2-category:only-child li{break-inside:avoid}
@media(max-width:640px){.cos9-services2-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 .1rem .65rem;scrollbar-width:thin}.cos9-services2-tab{flex:none}.cos9-services2-panel .cos9-services2-grid{grid-template-columns:1fr}.cos9-services2-panel .cos9-services2-category:only-child ul{columns:1}}

/* Grid real para que los resultados filtrados se ordenen por filas */
.cos9-services2-section>.cos9-services2-grid{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start}
.cos9-services2-section>.cos9-services2-grid.is-masonry{grid-auto-rows:8px;grid-auto-flow:row dense}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category{display:block;margin:0;width:auto}
.cos9-services2-category.is-wide{grid-column:span 2}
.cos9-services2-category.is-wide ul{columns:2;column-gap:2rem}
.cos9-services2-category.is-wide li{break-inside:avoid}
@media(max-width:1050px){.cos9-services2-section>.cos9-services2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cos9-services2-section>.cos9-services2-grid{grid-template-columns:1fr}}
@media(max-width:640px){.cos9-services2-category.is-wide{grid-column:span 1}.cos9-services2-category.is-wide ul{columns:1}}

/* Services 2 · focused catalogue with optional editorial imagery */
.cos9-services2-head{margin-bottom:2.5rem}
.cos9-services2-tabs{position:relative;margin-bottom:2.75rem;padding:.38rem;background:rgba(255,255,255,.72);border:1px solid rgba(155,42,71,.1);border-radius:999px;width:max-content;max-width:100%}
.cos9-services2-tab{border:0;background:transparent;padding:.78rem 1.15rem}
.cos9-services2-tab.is-active{box-shadow:0 7px 20px rgba(155,42,71,.16)}
.cos9-services2-section>.cos9-services2-grid{max-width:1040px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:1rem;align-items:start}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category{overflow:hidden;padding:0;border-radius:1.25rem;box-shadow:0 10px 32px rgba(42,30,34,.055);transition:border-color .25s,box-shadow .25s,transform .25s}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category:hover{border-color:rgba(155,42,71,.25);box-shadow:0 16px 38px rgba(90,35,52,.09);transform:translateY(-2px)}
.cos9-services2-image{height:170px;background-position:center;background-size:cover}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.has-image{display:grid;grid-column:span 2;grid-template-columns:minmax(260px,38%) minmax(0,1fr);grid-template-rows:auto 1fr}
.cos9-services2-category.has-image .cos9-services2-image{grid-column:1;grid-row:1/3;width:100%;height:100%;min-height:230px}
.cos9-services2-category.has-image .cos9-services2-category-toggle,.cos9-services2-category.has-image .cos9-services2-category-body{grid-column:2;min-width:0}
.cos9-services2-category.has-image .cos9-services2-category-toggle{grid-row:1}
.cos9-services2-category.has-image .cos9-services2-category-body{grid-row:2}
.cos9-services2-category-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.4rem 1.5rem;background:#fff;color:inherit;text-align:left}
.cos9-services2-category-toggle span{display:flex;flex-direction:column-reverse;gap:.34rem}
.cos9-services2-category-toggle strong{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:500;line-height:1.1;color:var(--cos9-crimson)}
.cos9-services2-category-toggle small{font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--cos9-ink-muted)}
.cos9-services2-category-body{padding:0 1.5rem 1.45rem;border-top:1px solid var(--cos9-grey-m)}
.cos9-services2-category-body .cos9-services2-category-desc{margin-top:1.15rem}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide{grid-column:span 2}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide ul{columns:2;column-gap:2.5rem}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide li{break-inside:avoid}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide .cos9-services2-image{height:230px}
.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide.has-image .cos9-services2-image{height:100%}
@media(max-width:760px){.cos9-services2-tabs{width:100%;justify-content:flex-start;border-radius:1rem}.cos9-services2-section>.cos9-services2-grid{grid-template-columns:1fr}.cos9-services2-image{height:150px}.cos9-services2-category-toggle{padding:1.25rem}.cos9-services2-category-body{padding:0 1.25rem 1.25rem}}
@media(max-width:760px){.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide{grid-column:span 1}.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide ul{columns:1}.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide .cos9-services2-image{height:150px}}
@media(max-width:760px){.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.has-image{grid-column:span 1;grid-template-columns:minmax(105px,34%) minmax(0,1fr)}.cos9-services2-category.has-image .cos9-services2-image,.cos9-services2-section>.cos9-services2-grid .cos9-services2-category.is-wide.has-image .cos9-services2-image{height:100%;min-height:210px}.cos9-services2-category.has-image .cos9-services2-category-toggle{padding:1.15rem 1rem}.cos9-services2-category.has-image .cos9-services2-category-body{padding:0 1rem 1.15rem}.cos9-services2-category.has-image .cos9-services2-row{align-items:flex-start;flex-direction:column;gap:.22rem}.cos9-services2-category.has-image .cos9-services2-row span{white-space:normal}}

/* Composició del mètode: text i imatge, passos horitzontals */
.cos9-exp-inner.cos9-exp-layout{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:3.5rem 5rem;align-items:center}
.cos9-exp-layout.no-image .cos9-exp-text{grid-column:1/-1;max-width:650px}
.cos9-exp-media{min-width:0}
.cos9-exp-image{width:100%;aspect-ratio:3/2;border-radius:1.2rem;background-color:var(--cos9-blush);background-size:cover;background-position:center;box-shadow:0 22px 54px rgba(155,42,71,.12)}
.cos9-exp-layout>.cos9-exp-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.cos9-exp-layout>.cos9-exp-steps .cos9-exp-step{display:block;height:100%;margin:0;padding:1.5rem 1.35rem;border-radius:1rem}
.cos9-exp-layout>.cos9-exp-steps .cos9-exp-step-n{margin-bottom:.85rem}
@media(max-width:960px){.cos9-exp-inner.cos9-exp-layout{grid-template-columns:1fr;gap:2.25rem}.cos9-exp-layout>.cos9-exp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cos9-exp-media{max-width:620px;width:100%}}
@media(max-width:560px){.cos9-exp-layout>.cos9-exp-steps{grid-template-columns:1fr}.cos9-exp-image{aspect-ratio:4/3}}

/* Resum manual de ressenyes de Google */
.cos9-google-reviews{max-width:760px;margin:2.2rem auto 0;padding:1.15rem 1.3rem;display:flex;align-items:center;gap:1rem;background:var(--cos9-off-white);border:1px solid var(--cos9-grey-m);border-radius:1rem}
.cos9-google-mark{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%;background:#fff;border:1px solid var(--cos9-grey-m);font-size:1.25rem;font-weight:500;color:#4285f4}
.cos9-google-score{display:grid;grid-template-columns:auto auto;align-items:center;gap:.15rem .6rem;min-width:0}
.cos9-google-score strong{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:500;line-height:1;color:var(--cos9-ink)}
.cos9-google-score .cos9-stars{margin:0;font-size:.8rem}
.cos9-google-score small{grid-column:1/-1;font-size:.7rem;color:var(--cos9-ink-muted)}
.cos9-google-reviews .cos9-btn-ghost{margin-left:auto;white-space:nowrap;padding:.7rem 1.25rem;font-size:.68rem}
@media(max-width:640px){.cos9-google-reviews{align-items:flex-start;flex-wrap:wrap}.cos9-google-reviews .cos9-btn-ghost{width:100%;margin:0}}

/* Carrusel de testimonis */
.cos9-testi-carousel{position:relative;max-width:1260px;margin:0 auto;padding:0 2.2rem}
.cos9-testi-viewport{overflow:hidden;padding:.4rem}
.cos9-testi-track{display:flex!important;grid-template-columns:none!important;gap:1.5rem;max-width:none!important;margin:0!important;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}
.cos9-testi-track .cos9-testi-card{flex:0 0 calc((100% - 3rem)/3);min-width:0}
.cos9-testi-arrow{position:absolute;z-index:3;top:50%;width:42px;height:42px;border:1px solid var(--cos9-blush);border-radius:50%;background:#fff;color:var(--cos9-crimson);font-size:1rem;cursor:pointer;box-shadow:0 10px 28px rgba(155,42,71,.1);transform:translateY(-70%);transition:background .2s,color .2s,transform .2s}
.cos9-testi-arrow:hover{background:var(--cos9-crimson);color:#fff;transform:translateY(-70%) scale(1.05)}
.cos9-testi-arrow:focus-visible{outline:2px solid var(--cos9-crimson);outline-offset:3px}
.cos9-testi-arrow[hidden]{display:none}
.cos9-testi-prev{left:0}.cos9-testi-next{right:0}
.cos9-testi-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.1rem}
.cos9-testi-dot{width:8px;height:8px;padding:0;border:1px solid var(--cos9-crimson);border-radius:50%;background:transparent;cursor:pointer}
.cos9-testi-dot.is-active{background:var(--cos9-crimson)}
@media(max-width:960px){.cos9-testi-track .cos9-testi-card{flex-basis:calc((100% - 1.5rem)/2)}}
@media(max-width:640px){.cos9-testi-carousel{padding:0 1.6rem}.cos9-testi-track .cos9-testi-card{flex-basis:100%}.cos9-testi-arrow{width:36px;height:36px}.cos9-testi-prev{left:-.15rem}.cos9-testi-next{right:-.15rem}}
@media(prefers-reduced-motion:reduce){.cos9-testi-track{transition:none}}

/* Ajustos selectius de llegibilitat */
.cos9-nav ul a{font-size:.79rem;font-weight:400}
.cos9-hero-eyebrow,.cos9-section-label{font-size:.72rem;font-weight:400}
.cos9-hero-desc,.cos9-about-text>p,.cos9-exp-text>p,.cos9-booking-info>p{font-weight:400}
.cos9-section-title,.cos9-hero h1{text-wrap:balance}
.cos9-highlight p,.cos9-service-card p,.cos9-exp-step-info p,.cos9-testi-text{font-weight:400}
.cos9-services2-row strong{font-weight:500}
.cos9-services2-category-desc{font-size:.92rem;font-weight:400;color:#625b5e}
.cos9-services2-category li p{font-size:.84rem;font-weight:400;color:#6d6669}
.cos9-services2-row span{font-size:.69rem;font-weight:400}
.cos9-testi-loc,.cos9-google-score small,.cos9-form-note{color:#6d6669}
.cos9-ci span,.cos9-bf{font-weight:400}
@media(max-width:960px){.cos9-nav ul a{font-size:.77rem}.cos9-services2-category li p{font-size:.86rem}}

/* Logo d'imatge compartit per la capçalera i el peu */
.cos9-brand-logo{display:block;width:48px;height:48px;flex:none;overflow:hidden;border-radius:12px;line-height:0}
.cos9-brand-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}

/* El nostre mètode: una o dues fotos quadrades */
.cos9-exp-media{width:100%;max-width:620px}
.cos9-exp-image.cos9-exp-photo{aspect-ratio:1/1;background:var(--cos9-blush);box-shadow:none;overflow:hidden}
.cos9-exp-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cos9-exp-two-images{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:1rem}
.cos9-exp-image-secondary{aspect-ratio:1/1;border-radius:1rem;overflow:hidden;background:var(--cos9-blush)}
@media(max-width:560px){.cos9-exp-two-images{grid-template-columns:1fr;gap:.85rem}.cos9-exp-image-secondary{width:60%;justify-self:end}}

/* Marques col·laboradores */
.cos9-brands-section{background:var(--cos9-white);border-top:1px solid var(--cos9-grey-m);border-bottom:1px solid var(--cos9-grey-m);padding-top:4.8rem;padding-bottom:5.2rem}
.cos9-brands-head{max-width:720px;margin:0 auto 3rem;text-align:center}
.cos9-brands-head .cos9-section-label{justify-content:center}
.cos9-brands-head .cos9-section-label:before{display:none}
.cos9-brands-head p:last-child{max-width:600px;margin:1rem auto 0;line-height:1.75;color:var(--cos9-ink-soft)}
.cos9-brands-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:stretch;border-top:1px solid var(--cos9-grey-m);border-bottom:1px solid var(--cos9-grey-m)}
.cos9-brand-item{min-width:0;min-height:135px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-decoration:none;border-right:1px solid var(--cos9-grey-m);transition:background .25s,transform .25s}
.cos9-brand-item:last-child{border-right:0}
.cos9-brand-item:hover{background:var(--cos9-blush-2);transform:translateY(-3px)}
.cos9-brand-item:focus-visible{outline:2px solid var(--cos9-crimson);outline-offset:3px}
.cos9-brand-item img{display:block;width:100%;height:64px;object-fit:contain;transition:filter .3s,opacity .3s,transform .3s}
.cos9-brand-item:hover img{transform:scale(1.04)}
.cos9-brand-item span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--cos9-ink-muted)}
.cos9-brands-grayscale .cos9-brand-item img{filter:grayscale(1);opacity:.72}
.cos9-brands-grayscale .cos9-brand-item:hover img{filter:none;opacity:1}
.cos9-brands-crimson .cos9-brand-item img{filter:grayscale(1) sepia(1) saturate(4) hue-rotate(300deg);opacity:.8}
.cos9-brands-color .cos9-brand-item img{filter:none;opacity:1}
@media(max-width:960px){.cos9-brands-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cos9-brand-item:nth-child(3n){border-right:0}}
@media(max-width:600px){.cos9-brands-section{padding-top:3.8rem;padding-bottom:4.1rem}.cos9-brands-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cos9-brand-item,.cos9-brand-item:nth-child(3n){border-right:1px solid var(--cos9-grey-m)}.cos9-brand-item:nth-child(2n){border-right:0}.cos9-brand-item{min-height:115px;padding:1.2rem}.cos9-brand-item img{height:54px}}
