
:root{
  --ivory:#F7F1E8;--cream:#FFF9EF;--sand:#D8C9B7;--wood:#A77B58;--wood-dark:#8C5D3C;
  --green:#0F5132;--green-deep:#0B3C28;--green-soft:#E4EEE8;--leaf:#45633D;--gold-dark:#8E6B20;--gold:#C8A94A;--gold-soft:#E6D28C;
  --ink:#3A342E;--muted:#746C64;--white:#FFFEFB;--line:rgba(15,81,50,.13);
  --shadow:0 24px 70px rgba(31,54,42,.11);--radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#fff;color:var(--green);padding:12px 16px;border-radius:8px}
.skip-link:focus{top:12px}
.site-header{height:78px;display:flex;align-items:center;gap:28px;padding:0 clamp(20px,5vw,76px);position:fixed;left:0;right:0;top:0;z-index:100;background:rgba(255,249,239,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,81,50,.08);transition:.25s}
.site-header.scrolled{height:68px;background:rgba(255,249,239,.96);box-shadow:0 8px 32px rgba(35,51,42,.06)}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.brand-main,.footer-brand{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:.16em;font-size:21px;background:linear-gradient(110deg,#87671e,#d2b56f,#947126);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-sub{font-size:10px;letter-spacing:.28em;color:var(--green);font-weight:800}
.main-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.main-nav a{text-decoration:none;font-size:13px;color:#4c5a50;position:relative}
.main-nav a:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-8px;background:var(--gold);transition:.2s}
.main-nav a:hover:after{right:0}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;height:2px;background:var(--green);margin:5px 0;border-radius:2px}
.btn{min-height:50px;padding:0 23px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:750;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-header{min-height:40px;padding:0 17px;background:var(--green);color:#fff}
.btn-primary{background:linear-gradient(115deg,#A77B58,#C49A6C);border:1px solid var(--gold);color:#103f2b;box-shadow:0 14px 30px rgba(140,93,60,.20)}
.btn-secondary{background:rgba(255,255,255,.72);border-color:rgba(15,81,50,.22);color:var(--green)}
.btn-light{background:#fff;color:var(--green);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.hero{min-height:830px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--green-deep)}
.hero-media{position:absolute;inset:0}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.88) contrast(.98)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,42,27,.88) 0%,rgba(8,48,31,.72) 42%,rgba(8,48,31,.25) 72%,rgba(8,48,31,.12) 100%)}
.hero-content{position:relative;z-index:2;width:min(760px,58%);padding:150px 0 95px clamp(26px,7vw,112px);color:#fff}
.environment-chip{display:inline-flex;border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.08);padding:7px 11px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:23px}
.eyebrow{margin:0 0 14px;font-size:11px;letter-spacing:.2em;font-weight:850;color:var(--green)}
.hero .eyebrow{color:#E8D29D}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(46px,5.9vw,84px);line-height:.98;letter-spacing:-.02em;margin:0 0 27px;max-width:780px}
.hero h1 span{display:block;font-size:15px;letter-spacing:.32em;color:#E8D29D;font-family:Inter,ui-sans-serif,sans-serif;font-weight:800;margin-bottom:20px}
.hero-lead{font-size:clamp(17px,1.8vw,22px);line-height:1.65;color:rgba(255,255,255,.86);max-width:680px;margin:0 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:34px;font-size:12px;color:rgba(255,255,255,.72)}
.trust-row span{position:relative;padding-left:14px}
.trust-row span:before{content:"";width:5px;height:5px;position:absolute;left:0;top:.7em;border-radius:50%;background:#E8D29D}
.demo-photo{position:absolute;right:16px;bottom:16px;z-index:3;background:rgba(19,43,31,.77);color:#fff;border:1px solid rgba(255,255,255,.2);padding:6px 9px;border-radius:999px;font-size:9px;letter-spacing:.12em;font-weight:800}
.demo-photo.small{right:12px;bottom:12px}
.scroll-cue{position:absolute;z-index:4;bottom:28px;left:50%;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;animation:float 2.2s ease-in-out infinite}
@keyframes float{50%{transform:translateY(6px)}}
.section{padding:104px clamp(24px,7vw,112px)}
.section-label{font-size:10px;letter-spacing:.22em;font-weight:850;color:var(--gold);margin-bottom:22px}
.intro{background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:clamp(42px,8vw,120px);align-items:start}
.intro h2,.section-heading h2,.experience h2,.booking h2,.faq h2,.visit h2{font-family:Georgia,"Times New Roman",serif;color:var(--green-deep);font-weight:400;font-size:clamp(36px,4.8vw,62px);line-height:1.05;margin:0}
.intro-grid>div>p{font-size:18px;color:var(--muted);margin:0 0 28px}
.intro-points{display:flex;flex-wrap:wrap;gap:9px}
.intro-points span{font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--green);background:#fff}
.services{background:var(--ivory)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:46px}
.section-heading>p{max-width:450px;margin:0;color:var(--muted)}
.section-heading.compact{align-items:center}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card{background:var(--white);border:1px solid rgba(15,81,50,.09);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 35px rgba(35,56,44,.055);transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-photo-wrap{height:285px;position:relative;overflow:hidden}
.service-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.service-card:hover .service-photo{transform:scale(1.025)}
.service-number{position:absolute;left:18px;bottom:17px;width:44px;height:44px;border-radius:50%;background:rgba(255,253,249,.93);display:grid;place-items:center;color:var(--green);font-family:Georgia,serif}
.service-body{padding:30px 30px 32px;display:flex;flex-direction:column;min-height:400px}
.service-kicker{font-size:10px;letter-spacing:.17em;color:var(--gold);font-weight:850;margin:0 0 13px}
.service-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--green-deep);font-size:29px;line-height:1.1;font-weight:400;margin:0 0 16px}
.service-card p{color:var(--muted);margin:0}
.service-card ul{padding-left:18px;color:#536157;margin:20px 0 28px}
.service-card li{margin:7px 0}
.service-link{margin-top:auto;text-decoration:none;color:var(--green);font-weight:800;font-size:13px;border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between}
.service-link span{color:var(--gold);font-size:18px}
.experience{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(44px,7vw,100px);align-items:center;background:var(--cream)}
.experience-photo{height:650px;position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.experience-img{width:100%;height:100%;object-fit:cover}
.experience-copy>p{color:var(--muted);font-size:18px;max-width:650px}
.experience-list{margin-top:34px}
.experience-list>div{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.experience-list b{font-family:Georgia,serif;color:var(--gold);font-size:24px;font-weight:400}
.experience-list span{display:flex;flex-direction:column}
.experience-list strong{color:var(--green-deep);font-size:15px}
.experience-list small{color:var(--muted);font-size:13px}
.quote-band{background:var(--green);padding:66px 24px;text-align:center;color:#fff}
.quote-band p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,53px);line-height:1.15;max-width:1000px;margin:auto;font-weight:400}
.gallery{background:var(--ivory)}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:280px 280px;gap:16px}
.gallery-grid figure{margin:0;position:relative;border-radius:24px;overflow:hidden;background:#ddd}
.gallery-main{grid-row:1/3}
.gallery-img{width:100%;height:100%;object-fit:cover}
.booking{background:var(--cream)}
.booking-card{background:linear-gradient(125deg,var(--green-deep),#174E36);color:#fff;border-radius:36px;padding:clamp(38px,6vw,72px);display:grid;grid-template-columns:1.05fr .95fr;gap:80px;box-shadow:var(--shadow)}
.booking h2{color:#fff}
.booking-copy>p{max-width:640px;color:rgba(255,255,255,.78);font-size:17px}
.eyebrow.light{color:#E6CB8A}
.booking-meta{display:grid;align-content:center;gap:15px}
.booking-meta div{border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:18px 20px;background:rgba(255,255,255,.05)}
.booking-meta span{display:block;font-size:9px;letter-spacing:.18em;color:#E6CB8A;font-weight:850;margin-bottom:5px}
.booking-meta strong{font-size:13px;font-weight:600;color:#fff}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;background:var(--ivory)}
.faq-intro>p:last-child{color:var(--muted)}
.faq-list details{border-bottom:1px solid rgba(15,81,50,.17);padding:18px 0}
.faq-list summary{cursor:pointer;list-style:none;font-family:Georgia,"Times New Roman",serif;color:var(--green-deep);font-size:23px;display:flex;justify-content:space-between;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font-family:Inter,sans-serif;color:var(--gold);font-size:24px}
.faq-list details[open] summary:after{content:"–"}
.faq-list details p{color:var(--muted);max-width:720px;margin:12px 0 4px}
.visit{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;background:var(--cream)}
.visit-copy>p{color:var(--muted);max-width:680px}
.muted{color:var(--muted)!important}
.map-placeholder{min-height:360px;border-radius:32px;background:linear-gradient(145deg,#e7ded1,#d7cab9);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;border:1px solid rgba(140,93,60,.12);position:relative;overflow:hidden}
.map-placeholder:before,.map-placeholder:after{content:"";position:absolute;width:140%;height:1px;background:rgba(15,81,50,.12);transform:rotate(24deg)}
.map-placeholder:after{transform:rotate(-24deg)}
.map-pin{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:30px;margin-bottom:16px;z-index:2}
.map-placeholder strong,.map-placeholder span{z-index:2}
.map-placeholder strong{font-family:Georgia,serif;color:var(--green-deep);font-size:25px}
.map-placeholder span{font-size:13px;color:#68736b}
.legal-note{padding:28px clamp(24px,7vw,112px);background:#EDE4D8;color:#5E675F;text-align:center;font-size:12px}
.legal-note p{max-width:900px;margin:auto}
.floating-wa{position:fixed;right:22px;bottom:22px;z-index:90;background:#176B47;color:#fff;text-decoration:none;display:flex;align-items:center;gap:9px;padding:11px 16px 11px 11px;border-radius:999px;box-shadow:0 15px 35px rgba(15,81,50,.32);font-size:12px;font-weight:800}
.wa-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#176B47;font-size:9px}
.mobile-booking{display:none}
.footer{padding:50px clamp(24px,7vw,112px);background:#FCF6ED;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:start}
.footer-brand-block p{font-size:12px;color:var(--muted);margin:8px 0 0}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;color:#56635A}
.footer-links a{text-decoration:none}
.footer-links span{color:#9b9489}
.footer-meta{grid-column:1/-1;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#879088}
.dev-note{color:#9F864B}
@media (max-width:1020px){
  .main-nav{display:none;position:fixed;inset:68px 14px auto 14px;background:rgba(255,249,239,.98);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:18px;flex-direction:column;align-items:stretch;gap:0}
  .main-nav.open{display:flex}
  .main-nav a{padding:14px;border-bottom:1px solid var(--line)}
  .menu-toggle{display:block;margin-left:auto}
  .site-header .btn-header{display:none}
  .hero-content{width:min(760px,75%)}
  .service-grid{grid-template-columns:1fr}
  .service-card{display:grid;grid-template-columns:.8fr 1.2fr}
  .service-photo-wrap{height:auto;min-height:360px}
  .service-body{min-height:360px}
  .experience,.booking-card,.faq,.visit{grid-template-columns:1fr}
  .experience-photo{height:520px}
  .gallery-grid{grid-template-rows:230px 230px}
}
@media (max-width:720px){
  .site-header{height:68px;padding:0 18px}
  .brand-main{font-size:18px}
  .hero{min-height:740px}
  .hero-overlay{background:linear-gradient(180deg,rgba(6,42,27,.44) 0%,rgba(6,42,27,.88) 62%,rgba(6,42,27,.96) 100%)}
  .hero-photo{object-position:center}
  .hero-content{width:100%;padding:150px 20px 80px;align-self:end}
  .hero h1{font-size:46px}
  .hero h1 span{font-size:12px}
  .hero-lead{font-size:17px}
  .hero-actions .btn{width:100%}
  .trust-row{gap:8px 14px}
  .scroll-cue{display:none}
  .section{padding:76px 20px}
  .intro-grid,.section-heading{display:block}
  .intro-grid>div{margin-top:22px}
  .section-heading>p{margin-top:18px}
  .service-card{display:block}
  .service-photo-wrap{height:290px;min-height:0}
  .service-body{padding:26px;min-height:0}
  .experience-photo{height:430px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 200px}
  .gallery-main{grid-row:auto;grid-column:1/-1}
  .booking-card{padding:34px 24px;gap:36px;border-radius:26px}
  .faq{gap:35px}
  .visit{gap:36px}
  .map-placeholder{min-height:280px}
  .floating-wa{display:none}
  .mobile-booking{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:95}
  .mobile-booking a{display:block;text-align:center;background:var(--green);color:#fff;text-decoration:none;padding:14px 18px;border-radius:999px;font-size:13px;font-weight:850;box-shadow:0 14px 32px rgba(15,81,50,.28)}
  .footer{display:block;padding-bottom:90px}
  .footer-links{justify-content:flex-start;margin:24px 0}
  .footer-meta{display:grid}
}
@media (max-width:420px){
  .hero h1{font-size:40px}
  .service-photo-wrap{height:250px}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:300px 200px 200px}
  .gallery-main{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}


/* V2.1 premium motion + catalog */
.brand-main,.footer-brand{background:linear-gradient(110deg,#8E6B20,#C8A94A,#E6D28C,#8E6B20);background-size:240% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:serenaGold 7s linear infinite}@keyframes serenaGold{to{background-position:240% center}}
.hero-photo{animation:serenaHeroZoom 18s cubic-bezier(.2,.7,.2,1) infinite alternate}@keyframes serenaHeroZoom{to{transform:scale(1.075)}}
.reveal-auto{opacity:1;transform:none}
.motion-ready .reveal-auto.motion-item{opacity:0;transform:translateY(22px);transition:opacity .62s cubic-bezier(.2,.7,.2,1),transform .62s cubic-bezier(.2,.7,.2,1)}
.motion-ready .reveal-auto.motion-item.in-view{opacity:1;transform:none}
.catalog{background:#FFF9EF}.catalog-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.catalog-filter{border:1px solid rgba(15,81,50,.13);background:#fff;color:#0F5132;border-radius:999px;padding:10px 15px;font-size:11px;font-weight:800;cursor:pointer;transition:.2s}.catalog-filter:hover,.catalog-filter.active{background:#0F5132;color:#fff;border-color:#0F5132}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-card{background:#fff;border:1px solid rgba(15,81,50,.08);border-radius:24px;overflow:hidden;box-shadow:0 8px 30px rgba(58,52,46,.05);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,opacity .2s;transition-delay:var(--delay,0ms)}.catalog-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(58,52,46,.11)}.catalog-card.is-hidden{display:none}.catalog-image{height:190px;position:relative;overflow:hidden}.catalog-photo{height:100%;object-fit:cover;transition:transform .6s}.catalog-card:hover .catalog-photo{transform:scale(1.045)}.catalog-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,57,37,.52),transparent 60%)}.catalog-category{position:absolute;left:14px;bottom:12px;color:#fff;font-size:9px;letter-spacing:.18em;font-weight:850}.catalog-body{padding:23px;display:flex;flex-direction:column;min-height:325px}.catalog-body small{color:#8E6B20;font-size:9px;letter-spacing:.12em}.catalog-body h3{font:400 25px/1.12 Georgia,serif;color:#0F5132;margin:7px 0 12px}.catalog-body p{color:#746C64;font-size:13px;margin:0 0 16px}.catalog-meta{display:flex;gap:18px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(15,81,50,.13)}.catalog-meta span{display:flex;flex-direction:column;font-size:11px;color:#746C64}.catalog-meta b{font-size:9px;color:#0F5132}.catalog-cta{display:flex;justify-content:space-between;text-decoration:none;color:#0F5132;font-weight:850;font-size:12px;margin-top:17px}.catalog-cta span{color:#C8A94A}
.mask-strip{background:linear-gradient(125deg,#EFE5D8,#FFF9EF);display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;overflow:hidden}.mask-copy>p{max-width:650px;color:#746C64}.mask-orbit{height:470px;position:relative;display:grid;place-items:center}.orbit-center{width:150px;height:150px;border-radius:50%;background:#0F5132;color:#fff;display:grid;place-items:center;text-align:center;font:400 23px Georgia,serif;box-shadow:0 20px 50px rgba(15,81,50,.22);z-index:2}.orbit-center small{font:700 9px Inter,sans-serif;letter-spacing:.2em;color:#E6D28C}.mask-orbit span{position:absolute;padding:9px 13px;background:rgba(255,255,255,.78);border:1px solid rgba(142,107,32,.18);border-radius:999px;color:#0F5132;font-size:9px;letter-spacing:.1em;font-weight:800;animation:floatTag 5s ease-in-out infinite}.mask-orbit span:nth-child(1){top:8%;left:34%}.mask-orbit span:nth-child(2){top:24%;right:4%;animation-delay:.6s}.mask-orbit span:nth-child(3){bottom:24%;right:1%;animation-delay:1.2s}.mask-orbit span:nth-child(4){bottom:7%;left:37%;animation-delay:1.8s}.mask-orbit span:nth-child(5){bottom:27%;left:0;animation-delay:2.4s}.mask-orbit span:nth-child(6){top:22%;left:4%;animation-delay:3s}.mask-orbit:before,.mask-orbit:after{content:"";position:absolute;border:1px solid rgba(142,107,32,.23);border-radius:50%}.mask-orbit:before{width:330px;height:330px}.mask-orbit:after{width:425px;height:425px;border-style:dashed;animation:orbitSpin 30s linear infinite}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes floatTag{50%{transform:translateY(-8px)}}
.important{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;background:#ECE3D8;border-top:1px solid rgba(142,107,32,.12);border-bottom:1px solid rgba(142,107,32,.12);padding-top:55px;padding-bottom:55px}.important-icon{width:44px;height:44px;border:1px solid #8E6B20;color:#8E6B20;border-radius:50%;display:grid;place-items:center;font:400 22px Georgia,serif}.important small{letter-spacing:.14em;color:#0F5132;font-weight:850}.important p{max-width:1000px;color:#675f57;margin:7px 0 0;font-size:13px}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.mask-strip{grid-template-columns:1fr}.mask-orbit{height:410px}}
@media(max-width:720px){.catalog-grid{grid-template-columns:1fr}.catalog-image{height:220px}.mask-orbit{height:350px;transform:scale(.82);margin:-25px}.important{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.brand-main,.footer-brand,.hero-photo,.mask-orbit span,.mask-orbit:after{animation:none!important}.reveal-auto{opacity:1!important;transform:none!important;transition:none!important}}

/* V2.2 MOBILE-FIRST + RESPONSIVE FOOTER + CLIP */
.payment{background:#F7F1E8}.payment-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,80px);align-items:center;background:#FFF9EF;border:1px solid rgba(15,81,50,.1);border-radius:32px;padding:clamp(34px,5vw,64px);box-shadow:0 20px 60px rgba(58,52,46,.06)}.payment-copy h2{font:400 clamp(34px,4.6vw,60px)/1.06 Georgia,serif;color:#0F5132;margin:0 0 18px}.payment-copy>p{color:#746C64;max-width:700px}.payment-status{display:inline-flex;align-items:center;gap:8px;margin:8px 0 20px;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800}.payment-status span{width:8px;height:8px;border-radius:50%}.payment-status.active{background:#E4EEE8;color:#0F5132}.payment-status.active span{background:#2F8B59}.payment-status.pending{background:#F4EAD5;color:#8E6B20}.payment-status.pending span{background:#C8A94A}.payment-card{background:#fff;border:1px solid #E8DDCF;border-radius:26px;padding:30px;box-shadow:0 18px 45px rgba(58,52,46,.08)}.clip-wordmark,.footer-clip{font-weight:900;font-size:34px;letter-spacing:-.06em;color:#171717;text-transform:lowercase}.payment-card>strong{display:block;color:#0F5132;font-size:17px;margin:10px 0}.payment-card>p,.payment-card>small{color:#746C64}.payment-methods{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.payment-methods span{background:#F7F1E8;border:1px solid #E5D6C5;border-radius:999px;padding:7px 10px;font-size:10px;color:#3A342E;font-weight:750}
.footer{background:#F7F1E8;border-top:1px solid rgba(15,81,50,.12);padding:52px clamp(24px,7vw,112px) 30px;display:block}.footer-top{display:grid;grid-template-columns:1.25fr .75fr 1fr .8fr;gap:clamp(28px,5vw,70px);align-items:start}.footer-brand-block p,.footer-pay p{color:#746C64;font-size:12px;line-height:1.6}.footer-wa{display:inline-flex;margin-top:10px;color:#0F5132;font-weight:850;font-size:12px;text-decoration:none;border-bottom:1px solid #C8A94A;padding-bottom:3px}.footer-nav,.footer-legal{display:flex;flex-direction:column;gap:9px}.footer-nav strong,.footer-legal strong,.footer-pay>strong{color:#0F5132;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer-nav a,.footer-legal a,.footer-legal span,.footer-pay a{font-size:12px;color:#5F695F;text-decoration:none;min-height:28px;display:flex;align-items:center}.footer-pay a{color:#0F5132;font-weight:800}.footer-clip{display:block;font-size:23px;margin-top:9px}.footer-meta{margin-top:34px;padding-top:22px;border-top:1px solid rgba(15,81,50,.12);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:10px;color:#879088}
@media(max-width:900px){.payment-shell{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}}
@media(max-width:720px){
html{scroll-padding-top:68px}.site-header{height:64px;padding:0 18px}.site-header.scrolled{height:60px}.main-nav{inset:60px 10px auto 10px;padding:8px 14px;max-height:calc(100dvh - 78px);overflow:auto}.main-nav:not(.open){display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important}
.hero{min-height:clamp(610px,78svh,760px)!important;height:auto!important}.hero-media{transform:none!important}.hero-photo{object-position:center 42%;animation:none!important}.hero-content{padding:118px 20px 54px!important}.hero h1{font-size:clamp(40px,11vw,50px);margin-bottom:18px}.hero h1 span{margin-bottom:13px}.hero-lead{font-size:16px;line-height:1.55;margin-bottom:22px}.trust-row{margin-top:20px}.environment-chip{margin-bottom:14px}.scroll-cue{display:none}
.section{padding:56px 20px!important}.section-heading{margin-bottom:26px}.intro-grid>div{margin-top:18px}.intro-grid>div>p{font-size:16px;margin-bottom:20px}
.service-grid{gap:16px}.service-card{display:block!important}.service-photo-wrap{height:auto!important;min-height:0!important;aspect-ratio:4/3}.service-photo{width:100%;height:100%;object-fit:cover}.service-body{padding:23px!important;min-height:0!important;height:auto!important}.service-card ul{margin:15px 0 18px}.service-link{margin-top:10px}
.catalog-filters{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-left:-20px;margin-right:-20px;padding:0 20px 10px;gap:7px}.catalog-filters::-webkit-scrollbar{display:none}.catalog-filter{flex:0 0 auto;white-space:nowrap}.catalog-grid{grid-template-columns:1fr;gap:15px}.catalog-card{height:auto!important}.catalog-image{height:auto!important;aspect-ratio:5/4}.catalog-photo{width:100%;height:100%;object-fit:cover}.catalog-body{min-height:0!important;height:auto!important;padding:21px}.catalog-meta{margin-top:16px}.catalog-card.is-hidden{display:none!important}
.mask-strip{display:block!important}.mask-orbit{height:auto!important;min-height:0!important;transform:none!important;margin:24px 0 0!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.mask-orbit:after{display:none!important}.mask-orbit span{position:static!important;transform:none!important;animation:none!important;width:auto!important;height:auto!important;border-radius:999px!important;padding:9px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:9px!important}.mask-orbit .orbit-center{grid-column:1/-1;position:static!important;transform:none!important;width:auto!important;height:auto!important;border-radius:18px!important;padding:14px!important;margin-top:2px}
.experience{display:block!important}.experience-photo{height:auto!important;min-height:0!important;aspect-ratio:4/5;max-height:480px;margin-bottom:28px}.experience-img{width:100%;height:100%;object-fit:cover}.experience-copy>p{font-size:16px}.experience-list{margin-top:22px}.experience-list>div{padding:14px 0}
.gallery-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:10px}.gallery-grid figure{height:auto!important;min-height:0!important;aspect-ratio:1/1}.gallery-grid .gallery-main{grid-column:1/-1!important;grid-row:auto!important;aspect-ratio:4/3}.gallery-img{width:100%;height:100%;object-fit:cover}
.booking-card{padding:30px 22px!important;gap:24px!important}.booking-meta{gap:7px}.booking-meta div{padding:12px 14px;border-radius:13px}.booking-meta strong{font-size:12px}.booking-copy>p{font-size:15px}
.payment{padding-top:50px!important;padding-bottom:50px!important}.payment-shell{padding:28px 20px;border-radius:24px;gap:24px}.payment-copy h2{font-size:36px}.payment-card{padding:22px;border-radius:20px}.payment-methods{margin:14px 0}
.faq{gap:24px!important}.faq-list details{padding:16px 0}.faq-list summary{font-size:20px}.faq-list details p{margin-top:9px}
.important{gap:16px!important}.visit{gap:26px!important}.map-placeholder{min-height:0!important;height:190px!important;padding:20px;border-radius:22px}.map-pin{width:50px;height:50px;font-size:23px}.map-placeholder strong{font-size:21px}
.legal-note{padding:22px 20px}.mobile-booking{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:95}.mobile-booking a{padding:13px 16px}.floating-wa{display:none}
.footer{padding:42px 20px calc(96px + env(safe-area-inset-bottom))!important}.footer-top{display:block}.footer-brand-block,.footer-nav,.footer-pay,.footer-legal{margin:0 0 25px}.footer-wa{min-height:44px;align-items:center}.footer-nav a,.footer-legal a,.footer-legal span,.footer-pay a{min-height:44px;border-bottom:1px solid rgba(15,81,50,.08)}.footer-pay{padding:16px 0;border-top:1px solid rgba(200,169,74,.35);border-bottom:1px solid rgba(200,169,74,.35)}.footer-pay p{margin:8px 0}.footer-meta{display:grid!important;gap:8px;margin-top:22px;padding-top:18px}
.reveal-auto{transition-duration:.38s!important;transform:translateY(14px)!important}.reveal-auto.in-view{transform:none!important}.hero-media{will-change:auto!important}
}
@media(max-width:430px){.section{padding-left:18px!important;padding-right:18px!important}.hero-content{padding-left:18px!important;padding-right:18px!important}.catalog-filters{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.footer{padding-left:18px!important;padding-right:18px!important}}
@media(prefers-reduced-motion:reduce){.reveal-auto{opacity:1!important;transform:none!important;transition:none!important}.hero-media{transform:none!important}}


/* ==========================================================
   SERENA SPA v2.2.1 MOBILE HOTFIX
   Root cause fixed: long sections were opacity:0 while still
   occupying layout space because IntersectionObserver threshold
   could never be reached on very tall mobile sections.
   ========================================================== */
@media (max-width: 720px){
  /* Sections and structural wrappers are ALWAYS visible on mobile. */
  body .section,
  body main > section,
  body .catalog,
  body .services,
  body .mask-strip,
  body .experience,
  body .gallery,
  body .booking,
  body .payment,
  body .faq,
  body .important,
  body .visit,
  body .legal-note{
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }

  /* Never let a structural reveal class create invisible vertical space. */
  body section.reveal-auto,
  body .section.reveal-auto,
  body .catalog.reveal-auto,
  body .mask-strip.reveal-auto,
  body .payment.reveal-auto,
  body .important.reveal-auto{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  /* Only small leaf elements may animate. They remain in normal flow. */
  .motion-ready .reveal-auto.motion-item{
    opacity:0;
    transform:translateY(10px);
    transition:opacity .32s ease-out,transform .32s ease-out;
  }
  .motion-ready .reveal-auto.motion-item.in-view{
    opacity:1;
    transform:none;
  }

  /* Explicitly remove inherited desktop vertical reservations. */
  .hero{height:auto!important;min-height:clamp(590px,76svh,720px)!important}
  .service-card,.catalog-card,.catalog-body,.service-body{
    min-height:0!important;height:auto!important;
  }
  .service-photo-wrap,.catalog-image{
    min-height:0!important;height:auto!important;
  }
  .experience,.gallery,.booking,.payment,.faq,.visit,.important{
    min-height:0!important;height:auto!important;
  }

  /* Compact catalog: no artificial tall cards. */
  .catalog-grid{align-items:start!important}
  .catalog-card{display:block!important}
  .catalog-body{padding:18px 18px 20px!important}
  .catalog-body h3{font-size:23px!important;margin:6px 0 9px!important}
  .catalog-body p{margin-bottom:12px!important}
  .catalog-meta{padding-top:11px!important;margin-top:11px!important}
  .catalog-cta{margin-top:12px!important}

  /* Prevent masked-facial block from reserving orbit dimensions. */
  .mask-strip{padding-top:48px!important;padding-bottom:48px!important}
  .mask-orbit{
    height:auto!important;
    min-height:0!important;
    margin:18px 0 0!important;
  }

  /* No fixed/implicit gallery rows. */
  .gallery-grid{
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
  }

  /* Compact map placeholder until a real public map exists. */
  .map-placeholder{
    height:170px!important;
    min-height:0!important;
  }
}

/* Small phones */
@media (max-width: 430px){
  .hero{min-height:clamp(570px,74svh,690px)!important}
  .section{padding-top:48px!important;padding-bottom:48px!important}
  .catalog-image{aspect-ratio:4/3!important}
  .service-photo-wrap{aspect-ratio:4/3!important}
  .map-placeholder{height:155px!important}
}


/* =========================================================
   SERENA SPA 2.3.0 - MOBILE REPAIR + OFFICIAL LOGO
   ========================================================= */
.brand-logo-link{
  display:flex!important;
  align-items:center!important;
  text-decoration:none!important;
  min-width:0!important;
}
.brand-logo-img{
  display:block!important;
  width:auto!important;
  height:58px!important;
  max-width:185px!important;
  object-fit:contain!important;
}
.footer-logo-img{
  display:block;
  width:auto;
  height:118px;
  max-width:210px;
  object-fit:contain;
  margin:0 0 8px;
}

/* Mobile is deliberately animation-free for reliability. */
@media(max-width:900px){
  *,*::before,*::after{
    animation-duration:0s!important;
    animation-delay:0s!important;
  }
  .brand-logo-img{height:52px!important;max-width:170px!important}
  .footer-logo-img{height:108px!important;max-width:190px!important}
  .hero-photo,.mask-orbit span,.mask-orbit:after{animation:none!important}
  .reveal-auto,.motion-item,.motion-ready .reveal-auto,.motion-ready .motion-item{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
  }
  .hero,.section,.catalog,.mask-strip,.experience,.gallery,.booking,
  .payment,.faq,.important,.visit,.legal-note{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}
@media(max-width:430px){
  .brand-logo-img{height:48px!important;max-width:154px!important}
}


/* =========================================================
   SERENA SPA 2.4.0 — UX / PALETTE / CLIP REFINEMENT
   ========================================================= */
:root{
  --ivory:#F7F1E8;
  --cream:#FFF9EF;
  --beige-soft:#E6D9C8;
  --sand:#D8C9B7;
  --wood:#B58A5B;
  --wood-dark:#8C5D3C;
  --green:#0F5132;
  --green-deep:#174734;
  --sage:#DCE7DF;
  --gold:#C6A552;
  --gold-deep:#A8842B;
  --ink:#3A342E;
  --muted:#6E675F;
  --surface:#FFFCF6;
  --line:rgba(140,93,60,.16);
  --shadow-soft:0 18px 52px rgba(80,62,43,.08);
  --shadow-button:0 12px 28px rgba(15,81,50,.18);
}

/* More cohesive warm surfaces */
body{background:var(--cream)!important;color:var(--ink)!important}
.intro,.experience,.booking,.visit{background:var(--cream)!important}
.services,.catalog,.gallery,.faq,.payment{background:var(--ivory)!important}
.service-card,.catalog-card,.payment-shell,.payment-card{
  background:var(--surface)!important;
  border-color:var(--line)!important;
}

/* Buttons: softer and more premium */
.btn{
  min-height:50px;
  padding:0 24px;
  font-weight:780;
  letter-spacing:.005em;
  box-shadow:none;
}
.btn-primary{
  background:linear-gradient(135deg,var(--green-deep),var(--green))!important;
  color:#fff!important;
  box-shadow:var(--shadow-button)!important;
}
.btn-primary:hover{
  box-shadow:0 16px 34px rgba(15,81,50,.24)!important;
}
.btn-secondary{
  border-color:rgba(168,132,43,.32)!important;
  background:rgba(255,252,246,.88)!important;
  color:var(--green-deep)!important;
}
.btn-light{
  background:#fffaf1!important;
  color:var(--green-deep)!important;
}

/* Improve general text hierarchy */
.section-heading>p,
.intro-grid>div>p,
.experience-copy>p,
.visit-copy>p,
.payment-copy>p,
.payment-card>p,
.payment-card>small{
  color:var(--muted)!important;
}
.eyebrow{color:var(--gold-deep)!important}
.service-kicker{color:var(--gold-deep)!important}

/* Clip area */
.payment{
  position:relative;
  overflow:hidden;
}
.payment:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-170px;
  top:-180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(198,165,82,.13),rgba(198,165,82,0) 68%);
  pointer-events:none;
}
.payment-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(32px,6vw,76px);
  align-items:center;
  border-radius:34px!important;
  padding:clamp(38px,5.2vw,68px)!important;
  box-shadow:var(--shadow-soft)!important;
  background:
    linear-gradient(145deg,rgba(255,252,246,.98),rgba(247,241,232,.94))!important;
}
.payment-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  margin:0 0 18px;
  border-radius:999px;
  background:var(--sage);
  color:var(--green-deep);
  font-size:11px;
  font-weight:850;
  letter-spacing:.04em;
}
.payment-kicker:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(198,165,82,.13);
}
.payment-copy h2{
  max-width:680px;
  color:var(--green-deep)!important;
  font-size:clamp(36px,4.6vw,61px)!important;
  line-height:1.03!important;
  margin-bottom:18px!important;
}
.payment-copy>p{
  max-width:660px;
  font-size:17px;
  line-height:1.72;
  margin-bottom:24px;
}
.payment-benefits{
  display:grid;
  gap:10px;
  margin:0 0 26px;
}
.payment-benefits>div{
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 14px;
  border:1px solid rgba(15,81,50,.09);
  background:rgba(255,255,255,.56);
  border-radius:16px;
}
.payment-benefit-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--sage);
  color:var(--green-deep);
  font-size:13px;
  font-weight:900;
}
.payment-benefits span:last-child{
  display:flex;
  flex-direction:column;
  line-height:1.25;
}
.payment-benefits strong{
  color:var(--green-deep);
  font-size:13px;
}
.payment-benefits small{
  color:var(--muted);
  font-size:11px;
  margin-top:3px;
}

.payment-card{
  position:relative;
  padding:31px!important;
  border-radius:27px!important;
  background:
    linear-gradient(180deg,#FFFDF8 0%,#FAF6EE 100%)!important;
  border:1px solid rgba(168,132,43,.24)!important;
  box-shadow:0 18px 50px rgba(80,62,43,.085)!important;
}
.payment-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:27px 0 0 27px;
  background:linear-gradient(180deg,var(--gold),var(--green));
}
.payment-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.clip-wordmark{
  font-size:32px!important;
  color:#24211e!important;
  line-height:1;
}
.payment-msi-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:linear-gradient(135deg,#E8D8A5,#C6A552);
  color:var(--green-deep);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(198,165,82,.15);
}
.payment-card>strong{
  display:block;
  color:var(--green-deep)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px!important;
  line-height:1.2;
  margin:0 0 11px!important;
}
.payment-card>p{
  font-size:14px;
  line-height:1.65;
  margin:0 0 18px;
}
.payment-methods{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 19px!important;
}
.payment-methods span{
  background:#FFF9EF!important;
  border:1px solid rgba(140,93,60,.17)!important;
  color:var(--ink)!important;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px!important;
  font-size:10px!important;
  font-weight:780!important;
}
.payment-methods .msi-chip{
  background:var(--sage)!important;
  border-color:rgba(15,81,50,.12)!important;
  color:var(--green-deep)!important;
}
.payment-trust{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 13px;
  margin-bottom:13px;
  background:rgba(220,231,223,.6);
  border-radius:14px;
  color:var(--green-deep);
  font-size:11px;
  font-weight:750;
}
.payment-trust-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3E8B62;
  box-shadow:0 0 0 4px rgba(62,139,98,.11);
}
.payment-card>small{
  display:block;
  font-size:10px;
  line-height:1.5;
}

/* Footer payment section */
.footer-pay{
  border-radius:18px;
  padding:18px;
  background:rgba(220,231,223,.42);
  border:1px solid rgba(15,81,50,.08);
}
.footer-pay strong{
  color:var(--green-deep);
}
.footer-pay p{
  color:var(--muted);
  margin:7px 0 10px;
}
.footer-pay a{
  color:var(--green-deep);
  font-weight:780;
}
.footer-pay-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(15,81,50,.09);
}
.footer-clip{font-size:25px!important}
.footer-msi{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(198,165,82,.2);
  color:var(--gold-deep);
  font-size:9px;
  font-weight:850;
}

/* Mobile-specific UX */
@media(max-width:900px){
  .payment{padding-top:44px!important;padding-bottom:44px!important}
  .payment-shell{
    grid-template-columns:1fr!important;
    gap:27px!important;
    padding:27px 19px!important;
    border-radius:25px!important;
  }
  .payment-copy h2{
    font-size:35px!important;
    line-height:1.04!important;
  }
  .payment-copy>p{
    font-size:15px!important;
    line-height:1.62!important;
  }
  .payment-benefits{gap:8px}
  .payment-benefits>div{padding:10px 11px}
  .payment-card{
    padding:23px 20px!important;
    border-radius:21px!important;
  }
  .payment-card:before{border-radius:21px 0 0 21px}
  .payment-card>strong{font-size:22px!important}
  .payment-card-top{margin-bottom:15px}
  .payment-msi-badge{min-height:31px;padding:0 11px}
  .payment-copy .btn{width:100%;margin-top:2px}
  .footer-pay{padding:16px}
}
@media(max-width:430px){
  .payment-shell{padding:23px 17px!important}
  .payment-copy h2{font-size:32px!important}
  .clip-wordmark{font-size:29px!important}
  .payment-card-top{gap:10px}
  .payment-msi-badge{font-size:10px}
}


/* =========================================================
   SERENA SPA 2.5.1 — CLIP COLORS + INTERNET DEMO PHOTOS + DESKTOP MENU
   ========================================================= */
:root{
  --clip-surface:#FFFDF9;
  --clip-surface-2:#F7F2E6;
  --clip-chip:#F2EBDD;
  --clip-green:#18533D;
  --clip-green-soft:#DCE9E0;
}

/* Better desktop navigation */
@media(min-width:1021px){
  .site-header{height:84px!important;gap:18px!important;padding:0 clamp(20px,3vw,34px)!important;background:rgba(255,250,242,.82)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(140,93,60,.10)!important}
  .site-header.scrolled{height:76px!important;background:rgba(255,250,242,.95)!important;box-shadow:0 14px 34px rgba(66,55,39,.08)!important}
  .brand-logo-img{height:62px!important;max-width:205px!important}
  .main-nav{margin-left:auto!important;margin-right:8px!important;gap:6px!important;padding:8px!important;border-radius:999px!important;background:rgba(255,255,255,.62)!important;border:1px solid rgba(140,93,60,.14)!important;box-shadow:0 10px 28px rgba(77,63,44,.08)!important}
  .main-nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 16px!important;border-radius:999px!important;font-size:12px!important;font-weight:780!important;letter-spacing:.02em!important;color:var(--green-deep)!important;transition:background .18s,color .18s,box-shadow .18s,transform .18s!important}
  .main-nav a:after{display:none!important}
  .main-nav a:hover{background:rgba(220,231,223,.92)!important;color:var(--green-deep)!important;transform:translateY(-1px)!important}
  .main-nav a[href="#pago"]{background:linear-gradient(135deg,rgba(231,217,172,.95),rgba(198,165,82,.22))!important;color:#6F5416!important;box-shadow:inset 0 0 0 1px rgba(198,165,82,.22)!important}
  .btn-header{min-height:44px!important;padding:0 20px!important;font-size:13px!important;box-shadow:0 10px 24px rgba(15,81,50,.18)!important}
}

/* Clip visual refinement */
.payment-shell{background:linear-gradient(145deg,rgba(255,252,246,.98),rgba(248,242,231,.95))!important}
.payment-kicker{background:linear-gradient(135deg,var(--clip-green-soft),#EFF5F1)!important;color:var(--clip-green)!important}
.payment-copy h2{color:var(--clip-green)!important}
.payment-benefits>div{background:rgba(255,255,255,.72)!important;border:1px solid rgba(24,83,61,.10)!important}
.payment-benefit-icon{background:linear-gradient(135deg,#EEF6F1,var(--clip-green-soft))!important;color:var(--clip-green)!important}
.payment-card{background:linear-gradient(180deg,var(--clip-surface) 0%,var(--clip-surface-2) 100%)!important;border:1px solid rgba(198,165,82,.18)!important;box-shadow:0 18px 46px rgba(83,63,34,.08)!important}
.payment-card:before{width:5px!important;background:linear-gradient(180deg,#D6BC73 0%, #3B7F60 100%)!important}
.clip-wordmark{color:#1E1B18!important;letter-spacing:-.03em!important}
.payment-msi-badge{background:linear-gradient(135deg,#F4E7BC,#D7BA67)!important;color:#6D5318!important;box-shadow:0 10px 20px rgba(198,165,82,.16)!important}
.payment-card>strong{color:var(--clip-green)!important}
.payment-methods span{background:var(--clip-chip)!important;border:1px solid rgba(140,93,60,.12)!important;color:#594A3B!important}
.payment-methods .msi-chip{background:linear-gradient(135deg,#E4F1E8,#D4E8DB)!important;border-color:rgba(24,83,61,.10)!important;color:var(--clip-green)!important}
.payment-trust{background:linear-gradient(135deg,rgba(226,240,231,.88),rgba(243,248,245,.78))!important;color:var(--clip-green)!important}
.payment-trust-dot{background:#3E8B62!important}
.footer-pay{background:linear-gradient(145deg,rgba(231,239,232,.72),rgba(248,242,231,.72))!important}
.footer-msi{background:rgba(214,188,115,.22)!important;color:#7C6121!important}
.hero-photo,.service-photo,.gallery-grid img,.experience-photo img,.catalog-image img{filter:saturate(.98) contrast(1.01)}


/* =========================================================
   SERENA SPA 2.6.0 — MOBILE UX + OFFICIAL CLIP BRANDING
   Clip button resource is provided by Clip's official checkout assets.
   Brand reference: https://www.clip.mx/servicio/logotipos-para-checkout
   ========================================================= */
.clip-wordmark,.footer-clip{display:none!important}

.payment-shell-v260{
  position:relative;
  background:linear-gradient(145deg,#FFFCF6 0%,#F7F1E8 100%)!important;
  border:1px solid rgba(140,93,60,.13)!important;
  box-shadow:0 18px 54px rgba(68,53,35,.08)!important;
}
.payment-copy-v260 h2{
  color:var(--green-deep)!important;
  max-width:690px;
  margin-bottom:12px!important;
}
.payment-msi-mobile{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(140,93,60,.16);
  color:var(--ink);
  font-size:11px;
  font-weight:850;
  margin:0 0 16px;
}
.payment-lead-v260{
  max-width:630px;
  color:var(--muted)!important;
  line-height:1.65!important;
  margin:0 0 18px!important;
}
.payment-methods-v260{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.payment-methods-v260 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#F3EEE5;
  border:1px solid rgba(140,93,60,.10);
  color:#5C5147;
  font-size:10px;
  font-weight:800;
}
.clip-brand-panel{
  max-width:560px;
  padding:18px;
  margin:0 0 20px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(57,50,43,.09);
  box-shadow:0 12px 30px rgba(55,46,36,.055);
}
.clip-brand-label{
  margin-bottom:12px;
  color:#77706A;
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
}
.clip-official-button{
  display:block;
  width:min(100%,224px);
  height:auto;
  margin:0 0 12px;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
}
.clip-brand-panel p{
  max-width:500px;
  margin:0!important;
  color:#736C65!important;
  font-size:11px!important;
  line-height:1.52!important;
}
.payment-wa-v260{min-height:52px!important}
.payment-legal-v260{
  margin:11px 0 0!important;
  color:#81786F!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.payment-summary-v260{
  padding:28px;
  border-radius:25px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(15,81,50,.09);
}
.payment-summary-head{margin-bottom:20px}
.payment-summary-eyebrow{
  display:block;
  color:var(--gold-deep);
  font-size:9px;
  font-weight:850;
  letter-spacing:.14em;
  margin-bottom:8px;
}
.payment-summary-head>strong{
  color:var(--green-deep);
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  line-height:1.18;
  font-weight:500;
}
.payment-summary-grid{display:grid;gap:10px}
.payment-summary-grid>div{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:15px;
  background:rgba(255,249,239,.72);
  border:1px solid rgba(140,93,60,.08);
}
.payment-summary-grid b{
  flex:0 0 31px;
  width:31px;height:31px;
  border-radius:50%;
  display:grid;place-items:center;
  background:var(--sage);
  color:var(--green-deep);
  font-size:9px;
}
.payment-summary-grid span{display:flex;flex-direction:column;gap:2px}
.payment-summary-grid strong{font-size:12px;color:var(--green-deep)}
.payment-summary-grid small{font-size:10px;color:var(--muted);line-height:1.4}
.payment-trust-v260{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(15,81,50,.08);
  color:var(--green-deep);
  font-size:10px;
  font-weight:760;
}
.payment-trust-v260>span{
  width:8px;height:8px;border-radius:50%;background:#3E8B62;
  box-shadow:0 0 0 4px rgba(62,139,98,.10);
}
.footer-clip-official{margin-top:13px}
.footer-clip-official img{
  display:block;
  width:132px;
  max-width:100%;
  height:auto;
  pointer-events:none;
  user-select:none;
}

@media(max-width:900px){
  .site-header{
    height:68px!important;
    padding:0 13px!important;
    background:rgba(255,249,239,.95)!important;
    backdrop-filter:blur(16px)!important;
    border-bottom:1px solid rgba(140,93,60,.10)!important;
  }
  .site-header.scrolled{height:64px!important}
  .brand-logo-img{height:47px!important;max-width:150px!important}
  .menu-toggle{
    display:block!important;
    width:44px!important;height:44px!important;
    padding:10px!important;
    border-radius:14px!important;
    border:1px solid rgba(15,81,50,.11)!important;
    background:rgba(255,255,255,.72)!important;
  }
  .main-nav{
    top:74px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    padding:10px!important;
    border-radius:20px!important;
    background:rgba(255,252,246,.98)!important;
    border:1px solid rgba(140,93,60,.12)!important;
    box-shadow:0 18px 48px rgba(52,43,33,.15)!important;
  }
  .main-nav a{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 14px!important;
    border-radius:13px!important;
    color:var(--green-deep)!important;
    font-size:14px!important;
    font-weight:760!important;
  }
  .main-nav a:hover,.main-nav a:focus-visible{background:var(--sage)!important}
  .main-nav a[href="#pago"]{background:#F5EFE4!important;color:var(--ink)!important}

  .payment{padding:36px 16px!important}
  .payment-shell-v260{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:21px 16px!important;
    border-radius:22px!important;
    box-shadow:0 12px 34px rgba(68,53,35,.07)!important;
  }
  .payment-copy-v260 h2{
    font-size:31px!important;
    line-height:1.04!important;
    margin-bottom:10px!important;
  }
  .payment-copy-v260 .eyebrow{margin-bottom:9px!important}
  .payment-msi-mobile{margin-bottom:13px}
  .payment-lead-v260{font-size:14px!important;line-height:1.55!important;margin-bottom:15px!important}
  .payment-methods-v260{gap:6px;margin-bottom:15px}
  .payment-methods-v260 span{min-height:31px;padding:0 10px;font-size:9px}
  .clip-brand-panel{padding:15px;border-radius:17px;margin-bottom:16px}
  .clip-brand-label{margin-bottom:10px}
  .clip-official-button{width:min(100%,210px);margin-bottom:10px}
  .clip-brand-panel p{font-size:10px!important}
  .payment-wa-v260{width:100%!important;min-height:51px!important;padding:0 17px!important;font-size:13px!important}
  .payment-summary-v260{padding:17px;border-radius:18px}
  .payment-summary-head{margin-bottom:13px}
  .payment-summary-head>strong{font-size:20px}
  .payment-summary-grid{gap:7px}
  .payment-summary-grid>div{padding:10px;border-radius:13px}
  .payment-summary-grid b{flex-basis:29px;width:29px;height:29px}
  .payment-trust-v260{margin-top:11px;padding-top:11px}
  .footer-clip-official img{width:120px}
}

@media(max-width:430px){
  .payment{padding:32px 14px!important}
  .payment-shell-v260{padding:19px 14px!important;border-radius:20px!important}
  .payment-copy-v260 h2{font-size:29px!important}
  .clip-brand-panel{padding:14px}
  .clip-official-button{width:min(100%,196px)}
  .payment-summary-v260{padding:15px}
}


/* =========================================================
   SERENA SPA 2.7.0 — GEO / AI foundation
   ========================================================= */
.geo-facts{background:linear-gradient(180deg,#FFF9EF,#F6EFE3)!important}
.geo-facts-head{max-width:820px;margin-bottom:28px}
.geo-facts-head h2{font:400 clamp(34px,4.4vw,56px)/1.05 Georgia,"Times New Roman",serif;color:var(--green-deep);margin:0 0 14px}
.geo-facts-head>p:last-child{color:var(--muted);line-height:1.65}
.geo-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.geo-facts-grid>a{display:flex;flex-direction:column;gap:7px;min-height:168px;padding:21px;border:1px solid rgba(140,93,60,.13);border-radius:22px;background:rgba(255,252,246,.88);text-decoration:none;box-shadow:0 12px 34px rgba(75,60,42,.05);transition:transform .18s,box-shadow .18s}
.geo-facts-grid>a:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(75,60,42,.08)}
.geo-facts-grid small{font-size:9px;font-weight:850;letter-spacing:.16em;color:var(--gold-deep)}
.geo-facts-grid strong{font:600 20px/1.2 Georgia,"Times New Roman",serif;color:var(--green-deep)}
.geo-facts-grid span{font-size:13px;line-height:1.5;color:var(--muted)}

.geo-page{background:var(--cream);color:var(--ink)}
.geo-header .geo-desktop-nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.geo-header .geo-desktop-nav a{padding:10px 12px;border-radius:999px;text-decoration:none;color:var(--green-deep);font-size:12px;font-weight:760}
.geo-header .geo-desktop-nav a:hover{background:var(--sage)}
.geo-main{padding-top:84px}
.geo-hero{display:grid;grid-template-columns:1.03fr .97fr;min-height:650px;background:linear-gradient(135deg,#F8F1E6 0%,#FFF9EF 56%,#E7EFE9 100%)}
.geo-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(28px,7vw,110px)}
.geo-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:28px;font-size:11px;color:var(--muted)}
.geo-breadcrumb a{color:var(--green-deep);text-decoration:none;font-weight:760}
.geo-hero h1{font:400 clamp(44px,5.8vw,78px)/.98 Georgia,"Times New Roman",serif;color:var(--green-deep);letter-spacing:-.025em;margin:0 0 22px;max-width:760px}
.geo-lead{max-width:700px;font-size:clamp(17px,1.7vw,21px);line-height:1.65;color:var(--muted);margin:0 0 30px}
.geo-actions{display:flex;flex-wrap:wrap;gap:10px}
.geo-hero-media{min-height:650px;overflow:hidden}
.geo-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.geo-content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;background:#FFFDF8!important}
.geo-answer-card,.geo-keyfacts{border:1px solid rgba(140,93,60,.13);border-radius:26px;padding:clamp(26px,4vw,42px);background:#FFF9EF}
.geo-answer-card small,.geo-keyfacts small{font-size:10px;font-weight:850;letter-spacing:.16em;color:var(--gold-deep)}
.geo-answer-card h2{font:400 clamp(32px,4vw,48px)/1.08 Georgia,"Times New Roman",serif;color:var(--green-deep);margin:12px 0 16px}
.geo-answer-card p{font-size:16px;line-height:1.75;color:var(--muted)}
.geo-keyfacts ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.geo-keyfacts li{position:relative;padding:12px 14px 12px 38px;border-radius:14px;background:rgba(220,231,223,.55);color:var(--green-deep);font-weight:700}
.geo-keyfacts li:before{content:"✓";position:absolute;left:14px;top:12px;color:#3E8B62}
.geo-local,.geo-cta{display:flex;align-items:center;justify-content:space-between;gap:26px;background:linear-gradient(135deg,#174734,#0F5132)!important;color:#fff!important}
.geo-local h2,.geo-cta h2{font:400 clamp(32px,4vw,50px)/1.05 Georgia,"Times New Roman",serif;color:#fff;margin:0 0 12px}
.geo-local p,.geo-cta p{max-width:780px;color:rgba(255,255,255,.78);line-height:1.65}
.geo-local .eyebrow,.geo-cta .eyebrow{color:#E8D29D!important}
.geo-faq{background:var(--ivory)!important}
.geo-footer a{color:inherit}

@media(max-width:1020px){
  .geo-header .geo-desktop-nav{display:none}
  .geo-main{padding-top:70px}
  .geo-hero{grid-template-columns:1fr;min-height:0}
  .geo-hero-copy{padding:48px 20px 36px}
  .geo-hero h1{font-size:clamp(40px,10vw,58px)}
  .geo-hero-media{min-height:320px;height:44svh;max-height:480px}
  .geo-content-grid{grid-template-columns:1fr}
  .geo-local,.geo-cta{align-items:flex-start;flex-direction:column}
  .geo-local .btn,.geo-cta .btn{width:100%}
  .geo-facts-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .geo-facts{padding-top:38px!important;padding-bottom:38px!important}
  .geo-facts-grid{grid-template-columns:1fr;gap:9px}
  .geo-facts-grid>a{min-height:0;padding:17px 18px}
  .geo-hero-copy{padding:38px 18px 30px}
  .geo-hero-media{min-height:270px;height:38svh}
  .geo-breadcrumb{margin-bottom:20px}
  .geo-actions{display:grid;grid-template-columns:1fr;width:100%}
  .geo-actions .btn{width:100%}
  .geo-content-grid{padding-top:38px!important;padding-bottom:38px!important}
  .geo-answer-card,.geo-keyfacts{padding:22px 18px;border-radius:20px}
  .geo-local,.geo-cta{padding-top:38px!important;padding-bottom:38px!important}
}


/* =========================================================
   SERENA_MOBILE_UX_V280 — REAL MOBILE REBUILD
   Root cause fixed in PHP: critical inline CSS no longer freezes layout.
   ========================================================= */
.nav-reserve-mobile{display:none}
.catalog-mobile-details>summary{display:none}
.payment-steps-mobile-v280{display:none}
.payment-shell-v280{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:stretch;max-width:1180px;margin:0 auto}
.payment-main-v280,.payment-summary-v280{border-radius:28px;border:1px solid rgba(120,83,47,.12);box-shadow:0 18px 48px rgba(65,52,38,.07)}
.payment-main-v280{padding:38px;background:linear-gradient(145deg,#fffdf9,#f8f1e8)}
.payment-title-row-v280{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.payment-title-row-v280 h2{margin:6px 0 0;font:400 clamp(34px,4vw,52px)/1.02 Georgia,serif;color:var(--green-deep)}
.payment-msi-v280{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#fff0e7;border:1px solid rgba(244,102,35,.28);color:#a94718;font-size:11px;font-weight:900;white-space:nowrap}
.payment-lead-v280{max-width:660px;margin:20px 0;color:var(--muted);font-size:15px;line-height:1.65}
.clip-brand-panel-v280{padding:20px;border-radius:20px;background:#fff;border:1px solid rgba(244,102,35,.24);box-shadow:inset 5px 0 0 rgba(244,102,35,.90)}
.clip-brand-caption-v280{display:block;margin-bottom:12px;color:#7a5544;font-size:9px;font-weight:900;letter-spacing:.16em}
.clip-official-button-v280{display:block;width:min(100%,280px);height:auto;margin:0 0 14px}
.payment-methods-v280{display:flex;gap:7px;flex-wrap:wrap}.payment-methods-v280 span{min-height:31px;display:inline-flex;align-items:center;padding:0 11px;border-radius:999px;background:#fff6f0;border:1px solid rgba(244,102,35,.16);color:#6b4b3d;font-size:10px;font-weight:800}
.payment-wa-v280{margin-top:20px}.payment-legal-v280{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.payment-summary-v280{padding:34px;background:linear-gradient(145deg,#173f31,#0f5132);color:#fff}.payment-summary-v280 .eyebrow{color:#e7cf91}.payment-summary-v280 h3{font:400 31px/1.12 Georgia,serif;margin:8px 0 22px;color:#fff}.payment-summary-v280 ol{list-style:none;margin:0;padding:0;display:grid;gap:11px}.payment-summary-v280 li{display:flex;gap:12px;align-items:center;padding:12px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}.payment-summary-v280 li>b{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(231,207,145,.15);color:#efdca7;font-size:10px}.payment-summary-v280 li span{display:flex;flex-direction:column;gap:2px}.payment-summary-v280 li strong{font-size:12px;color:#fff}.payment-summary-v280 li small{font-size:10px;line-height:1.35;color:rgba(255,255,255,.72)}.payment-trust-v280{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:rgba(255,255,255,.82)}.payment-trust-v280>span{width:8px;height:8px;border-radius:50%;background:#efdca7}

@media(min-width:901px){
  .catalog-mobile-details:not([open])>.catalog-filters{display:flex!important}
  .catalog-mobile-details:not([open])>.catalog-grid{display:grid!important}
}

@media(max-width:900px){
  body{padding-bottom:72px!important}
  .site-header{height:64px!important;padding:0 14px!important;background:rgba(255,250,242,.97)!important;box-shadow:0 7px 24px rgba(63,51,37,.07)!important}
  .site-header.scrolled{height:60px!important}
  .brand-logo-img{height:48px!important;max-width:148px!important}
  .menu-toggle{display:block!important;margin-left:auto!important;width:42px!important;height:42px!important;border-radius:50%!important;background:#fff!important;border:1px solid rgba(15,81,50,.10)!important;box-shadow:0 6px 18px rgba(59,48,35,.06)!important}
  .menu-toggle span{width:19px!important;margin:4px auto!important}
  .main-nav{display:none!important;position:fixed!important;inset:60px 0 0 0!important;background:#fffaf2!important;border:0!important;border-radius:0!important;padding:18px 16px 100px!important;box-shadow:none!important;overflow-y:auto!important;gap:5px!important;z-index:99!important}
  .main-nav.open{display:flex!important}
  .main-nav a{min-height:50px!important;padding:0 15px!important;border:0!important;border-radius:14px!important;background:rgba(255,255,255,.65)!important;color:var(--green-deep)!important;font-size:16px!important;font-weight:760!important}
  .main-nav a:hover,.main-nav a:focus-visible{background:var(--sage)!important}
  .main-nav a[href="#pago"]{background:#fff3eb!important;color:#9e4319!important}
  .main-nav .nav-reserve-mobile{display:flex!important;justify-content:center!important;background:linear-gradient(135deg,var(--green-deep),var(--green))!important;color:#fff!important;margin-top:10px!important;box-shadow:0 10px 24px rgba(15,81,50,.16)!important}
  body.menu-open{overflow:hidden!important}

  .hero{min-height:535px!important;height:auto!important;max-height:none!important;padding:0!important}
  .hero-media,.hero-photo{min-height:535px!important;height:100%!important}
  .hero-photo{object-position:center 43%!important}
  .hero-overlay{background:linear-gradient(180deg,rgba(10,53,36,.20) 0%,rgba(10,53,36,.55) 42%,rgba(8,48,31,.94) 100%)!important}
  .hero-content{width:100%!important;max-width:none!important;padding:94px 17px 38px!important}
  .environment-chip{margin-bottom:13px!important;padding:5px 9px!important;font-size:8px!important}
  .hero .eyebrow{font-size:9px!important;margin-bottom:10px!important}
  .hero h1{font-size:clamp(37px,10.5vw,47px)!important;line-height:1.02!important;margin-bottom:15px!important;max-width:520px!important}
  .hero h1 span{font-size:10px!important;letter-spacing:.24em!important;margin-bottom:10px!important}
  .hero-lead{font-size:14px!important;line-height:1.52!important;margin-bottom:20px!important;max-width:520px!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  .hero-actions .btn{width:100%!important;min-height:48px!important}
  .hero-actions .btn-secondary{min-height:42px!important;border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.08)!important}
  .trust-row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;margin-top:15px!important;padding-bottom:3px!important;scrollbar-width:none!important}
  .trust-row::-webkit-scrollbar{display:none}.trust-row span{flex:0 0 auto!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(255,255,255,.10)!important;font-size:9px!important}.trust-row span:before{display:none!important}
  .scroll-cue{display:none!important}

  .section{padding:34px 15px!important}
  .intro{padding-top:30px!important;padding-bottom:30px!important}.intro-grid{grid-template-columns:1fr!important;gap:12px!important}.intro-grid h2{font-size:31px!important}.intro-grid>div>p{font-size:14px!important;line-height:1.55!important}.intro-points{gap:6px!important}.intro-points span{font-size:9px!important;padding:7px 9px!important}
  .geo-facts{padding-top:30px!important;padding-bottom:30px!important}.geo-facts-head h2{font-size:31px!important}.geo-facts-head>p:last-child{font-size:14px!important}.geo-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.geo-facts-grid a{min-height:112px!important;padding:13px!important;border-radius:16px!important}.geo-facts-grid strong{font-size:14px!important}.geo-facts-grid span{font-size:10px!important;line-height:1.35!important}

  .section-heading{display:block!important;margin-bottom:18px!important}.section-heading h2{font-size:32px!important;line-height:1.05!important}.section-heading>p{font-size:13.5px!important;line-height:1.5!important;margin-top:10px!important}
  .service-grid{grid-template-columns:1fr!important;gap:12px!important}.service-card{border-radius:18px!important}.service-photo-wrap{height:150px!important}.service-body{padding:16px!important}.service-body h3{font-size:23px!important;margin:5px 0 8px!important}.service-body>p{font-size:13px!important;line-height:1.45!important;margin-bottom:10px!important}.service-body ul{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px 8px!important;margin:9px 0!important;padding:0!important;list-style:none!important}.service-body li{font-size:10px!important;padding:6px 8px!important;background:#f7f1e8!important;border-radius:10px!important}.service-link{margin-top:12px!important;font-size:11px!important}

  .catalog{padding-top:30px!important;padding-bottom:30px!important}.catalog-mobile-details{display:block!important}.catalog-mobile-details>summary{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:3px 12px!important;min-height:66px!important;padding:13px 14px!important;border-radius:16px!important;background:linear-gradient(145deg,#173f31,#0f5132)!important;color:#fff!important;cursor:pointer!important;list-style:none!important;box-shadow:0 10px 24px rgba(15,81,50,.14)!important}.catalog-mobile-details>summary::-webkit-details-marker{display:none!important}.catalog-mobile-details>summary span{font-size:14px!important;font-weight:850!important}.catalog-mobile-details>summary small{grid-column:1/2!important;font-size:9px!important;color:rgba(255,255,255,.70)!important;line-height:1.3!important}.catalog-mobile-details>summary b{grid-column:2!important;grid-row:1/3!important;width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.10)!important;font-size:20px!important;font-weight:400!important;transition:transform .2s!important}.catalog-mobile-details[open]>summary b{transform:rotate(45deg)!important}.catalog-mobile-details[open]>summary{margin-bottom:12px!important}
  .catalog-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;margin:0 0 10px!important;padding:2px 0 5px!important;scrollbar-width:none!important}.catalog-filters::-webkit-scrollbar{display:none}.catalog-filter{flex:0 0 auto!important;padding:8px 11px!important;font-size:9px!important}
  .catalog-grid{grid-template-columns:1fr!important;gap:9px!important}.catalog-card{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;border-radius:15px!important;min-height:148px!important}.catalog-image{height:100%!important;min-height:148px!important}.catalog-body{min-height:0!important;padding:12px!important}.catalog-body small{font-size:7.5px!important}.catalog-body h3{font-size:18px!important;margin:4px 0 6px!important}.catalog-body>p{font-size:10.5px!important;line-height:1.35!important;margin:0 0 7px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.catalog-meta{display:block!important;padding-top:7px!important;margin-top:0!important}.catalog-meta span{font-size:9px!important}.catalog-meta span:nth-child(2){display:none!important}.catalog-cta{margin-top:8px!important;font-size:10px!important}.catalog-category{left:8px!important;bottom:8px!important;font-size:7px!important}

  .mask-strip{grid-template-columns:1fr!important;gap:15px!important;padding-top:30px!important;padding-bottom:30px!important}.mask-copy h2{font-size:29px!important}.mask-copy>p{font-size:13px!important}.mask-orbit{height:auto!important;min-height:0!important;display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:center!important;justify-content:flex-start!important}.mask-orbit:before,.mask-orbit:after,.orbit-center{display:none!important}.mask-orbit span{position:static!important;transform:none!important;animation:none!important;padding:7px 9px!important;border-radius:999px!important;background:#fff!important;border:1px solid rgba(15,81,50,.10)!important;font-size:8px!important}

  .experience{grid-template-columns:1fr!important;gap:0!important;padding:0!important;background:#fffaf2!important}.experience-photo{height:175px!important;min-height:0!important}.experience-copy{padding:28px 15px 30px!important}.experience-copy h2{font-size:31px!important}.experience-copy>p{font-size:13.5px!important;line-height:1.5!important}.experience-list{gap:6px!important}.experience-list>div{padding:9px!important}.experience-list b{width:28px!important;height:28px!important;flex-basis:28px!important}.experience-list strong{font-size:11px!important}.experience-list small{font-size:9px!important}.quote-band{padding:24px 15px!important}.quote-band p{font-size:24px!important}

  .gallery{padding-top:30px!important;padding-bottom:30px!important}.gallery-grid{display:flex!important;overflow-x:auto!important;gap:9px!important;grid-template-columns:none!important;grid-template-rows:none!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.gallery-grid::-webkit-scrollbar{display:none}.gallery-grid figure{flex:0 0 78vw!important;height:205px!important;min-height:0!important;scroll-snap-align:start!important;border-radius:16px!important}.gallery-main{grid-row:auto!important}
  .booking{padding:30px 15px!important}.booking-card{grid-template-columns:1fr!important;border-radius:20px!important}.booking-copy{padding:22px 17px!important}.booking-copy h2{font-size:31px!important}.booking-copy>p{font-size:13.5px!important}.booking-meta{padding:16px!important;gap:8px!important}.booking-meta>div{padding:10px!important}.booking-meta strong{font-size:11px!important}

  .payment{padding:28px 14px!important;background:#fffaf2!important}.payment-shell-v280{display:block!important}.payment-main-v280{padding:18px!important;border-radius:19px!important;border-color:rgba(244,102,35,.16)!important;box-shadow:0 12px 34px rgba(78,54,37,.07)!important}.payment-title-row-v280{display:block!important}.payment-title-row-v280 h2{font-size:30px!important;margin-top:5px!important}.payment-msi-v280{margin-top:11px!important;min-height:32px!important;padding:0 11px!important;background:#fff0e7!important;border-color:rgba(244,102,35,.30)!important;color:#a94718!important}.payment-lead-v280{font-size:13px!important;line-height:1.48!important;margin:14px 0!important}.clip-brand-panel-v280{padding:14px!important;border-radius:15px!important;border-color:rgba(244,102,35,.28)!important;box-shadow:inset 4px 0 0 rgba(244,102,35,.95)!important}.clip-brand-caption-v280{margin-bottom:8px!important;font-size:8px!important}.clip-official-button-v280{width:min(100%,245px)!important;margin-bottom:10px!important}.payment-methods-v280{gap:5px!important}.payment-methods-v280 span{min-height:28px!important;padding:0 9px!important;font-size:8.5px!important;background:#fff7f2!important;border-color:rgba(244,102,35,.18)!important}.payment-steps-mobile-v280{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:13px 0!important}.payment-steps-mobile-v280 span{min-height:58px!important;padding:8px 5px!important;border-radius:12px!important;background:#f8f1e8!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}.payment-steps-mobile-v280 b{width:23px!important;height:23px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#173f31!important;color:#fff!important;font-size:9px!important;margin-bottom:4px!important}.payment-steps-mobile-v280 small{font-size:8.5px!important;line-height:1.15!important;color:#5f554d!important}.payment-wa-v280{width:100%!important;min-height:49px!important;margin-top:0!important;font-size:12px!important}.payment-legal-v280{text-align:center!important;font-size:8.5px!important;margin-top:8px!important}.payment-summary-v280{display:none!important}

  .faq{padding-top:30px!important;padding-bottom:30px!important}.faq{grid-template-columns:1fr!important;gap:16px!important}.faq-intro h2{font-size:31px!important}.faq-list details{border-radius:14px!important}.faq-list summary{padding:14px!important;font-size:12px!important}.faq-list details p{padding:0 14px 14px!important;font-size:11px!important;line-height:1.45!important}
  .important{padding:22px 15px!important}.important-inner{padding:16px!important;border-radius:16px!important}.visit{padding-top:30px!important;padding-bottom:30px!important}.visit-grid{grid-template-columns:1fr!important;gap:14px!important}.map-placeholder{height:150px!important;min-height:0!important}

  .mobile-booking{display:flex!important;position:fixed!important;left:10px!important;right:10px!important;bottom:8px!important;z-index:110!important;min-height:54px!important;border-radius:17px!important;background:rgba(15,81,50,.98)!important;box-shadow:0 12px 30px rgba(15,81,50,.26)!important;padding:7px!important}.mobile-booking a{width:100%!important;min-height:40px!important;font-size:12px!important}
}

@media(max-width:430px){
  .hero{min-height:510px!important}.hero-media,.hero-photo{min-height:510px!important}.hero-content{padding:88px 14px 32px!important}.hero h1{font-size:38px!important}.hero-lead{font-size:13.5px!important}.section{padding-left:13px!important;padding-right:13px!important}.geo-facts-grid{grid-template-columns:1fr 1fr!important}.service-photo-wrap{height:140px!important}.catalog-card{grid-template-columns:96px minmax(0,1fr)!important}.catalog-image{min-height:145px!important}.payment{padding-left:11px!important;padding-right:11px!important}.payment-main-v280{padding:16px!important}.payment-title-row-v280 h2{font-size:28px!important}.clip-official-button-v280{max-width:220px!important}.gallery-grid figure{flex-basis:84vw!important;height:195px!important}
}
/* HEXKLOUD SERENA NATIVE MOBILE REDESIGN v3.0.2 BEGIN
 * Target: hexkloud-serena-spa-web only.
 * Goal: obvious mobile-first visual improvement at 375/390/430px.
 * Appended to the native Serena stylesheet after legacy rules.
 */

/* ---------- shared polish ---------- */
.site-header,
.service-card,
.catalog-card,
.gallery-grid figure,
.faq details {
  -webkit-font-smoothing: antialiased;
}

.btn,
.service-link,
.catalog-cta,
.footer-wa,
.catalog-filter,
.menu-toggle {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.service-card,
.catalog-card,
.gallery-grid figure {
  overflow: hidden;
  backface-visibility: hidden;
}

@media (hover:hover) and (pointer:fine) {
  .service-card,
  .catalog-card,
  .gallery-grid figure {
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .service-card:hover,
  .catalog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(17,55,42,.13) !important;
  }
}

/* ---------- tablet + mobile ---------- */
@media (max-width:900px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip !important;
  }

  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    min-height: 64px !important;
    padding: 8px 18px !important;
    border-bottom: 1px solid rgba(26,74,57,.09) !important;
    background: rgba(255,252,248,.92) !important;
    box-shadow: 0 8px 28px rgba(24,54,43,.06) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08);
    backdrop-filter: blur(14px) saturate(1.08);
  }

  .brand-logo-img {
    width: auto !important;
    max-width: 146px !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }

  .menu-toggle,
  .nav-reserve-mobile,
  .btn-header {
    min-height: 44px !important;
  }

  .menu-toggle {
    min-width: 44px !important;
    border-radius: 14px !important;
  }

  .section,
  .intro,
  .geo-facts,
  .services,
  .catalog,
  .mask-strip,
  .experience,
  .gallery,
  .booking,
  .payment,
  .faq,
  .important,
  .visit,
  .legal-note {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .intro,
  .geo-facts,
  .services,
  .catalog,
  .mask-strip,
  .experience,
  .gallery,
  .booking,
  .payment,
  .faq,
  .important,
  .visit,
  .legal-note {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .section-heading {
    margin-bottom: 26px !important;
  }

  .section-label,
  .eyebrow {
    font-size: 11px !important;
    line-height: 1.25 !important;
    letter-spacing: .12em !important;
  }

  .section-heading h2,
  .intro h2,
  .geo-facts h2,
  .services h2,
  .catalog h2,
  .experience h2,
  .gallery h2,
  .booking h2,
  .payment h2,
  .faq h2,
  .visit h2 {
    font-size: clamp(28px,7.2vw,36px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    text-wrap: balance;
  }

  .btn {
    min-height: 48px !important;
    padding: 13px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
  }

  /* HERO — calmer, richer, more editorial. */
  .hero,
  .hero-media,
  .hero-photo {
    min-height: 520px !important;
  }

  .hero {
    height: auto !important;
    max-height: none !important;
    isolation: isolate;
  }

  .hero-media,
  .hero-photo {
    height: 100% !important;
  }

  .hero-photo {
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    filter: saturate(.92) contrast(.98) !important;
  }

  .hero-overlay {
    background: linear-gradient(180deg,rgba(17,38,30,.10) 0%,rgba(14,35,27,.22) 38%,rgba(11,34,25,.78) 100%) !important;
  }

  .hero-content {
    padding: 98px 20px 38px !important;
    max-width: 680px !important;
  }

  .hero .eyebrow {
    margin-bottom: 11px !important;
    color: rgba(255,255,255,.84) !important;
  }

  .hero h1 {
    max-width: 13ch !important;
    margin: 0 0 14px !important;
    font-size: clamp(38px,9vw,52px) !important;
    line-height: .99 !important;
    letter-spacing: -.04em !important;
    text-wrap: balance;
    text-shadow: 0 2px 22px rgba(0,0,0,.18) !important;
  }

  .hero-lead {
    max-width: 34rem !important;
    margin: 0 0 22px !important;
    font-size: 16.5px !important;
    line-height: 1.48 !important;
    color: rgba(255,255,255,.92) !important;
  }

  .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  .hero-actions .btn {
    min-height: 50px !important;
  }

  .trust-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 20px !important;
  }

  .trust-row > * {
    padding: 7px 10px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.10) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  /* Intro and quick facts: more breathing room and visual hierarchy. */
  .intro-grid {
    gap: 22px !important;
  }

  .intro-points {
    gap: 10px !important;
  }

  .geo-facts {
    background: linear-gradient(180deg,#fbf8f3 0%,#f7f2eb 100%) !important;
  }

  .geo-facts-grid {
    gap: 12px !important;
  }

  .geo-facts-grid > * {
    border-radius: 18px !important;
    border: 1px solid rgba(27,72,55,.08) !important;
    background: rgba(255,255,255,.76) !important;
    box-shadow: 0 10px 28px rgba(27,66,50,.06) !important;
  }

  /* SERVICES — generous photography, clean single-column rhythm. */
  .service-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .service-card {
    border: 1px solid rgba(27,72,55,.08) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(22,58,44,.08) !important;
  }

  .service-photo-wrap {
    height: 220px !important;
    min-height: 220px !important;
  }

  .service-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .service-number {
    width: 42px !important;
    height: 42px !important;
    font-size: 12px !important;
  }

  .service-body {
    padding: 20px 20px 22px !important;
  }

  .service-kicker {
    font-size: 11px !important;
    line-height: 1.3 !important;
    letter-spacing: .10em !important;
  }

  .service-body h3 {
    margin: 6px 0 9px !important;
    font-size: 23px !important;
    line-height: 1.14 !important;
    letter-spacing: -.018em !important;
  }

  .service-body p,
  .service-body li {
    font-size: 14.5px !important;
    line-height: 1.58 !important;
  }

  .service-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin-top: 12px !important;
    font-size: 13px !important;
  }

  /* Catalog shell and controls. */
  .catalog {
    background: linear-gradient(180deg,#fff 0%,#fbf8f3 100%) !important;
  }

  .catalog-mobile-details > summary {
    min-height: 62px !important;
    padding: 13px 15px !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 26px rgba(15,81,50,.10) !important;
  }

  .catalog-mobile-details > summary span {
    font-size: 15px !important;
  }

  .catalog-mobile-details > summary small {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .catalog-mobile-details > summary b {
    width: 36px !important;
    height: 36px !important;
  }

  .catalog-filters {
    gap: 8px !important;
    margin: 0 0 16px !important;
    padding: 3px 1px 8px !important;
    scroll-snap-type: x proximity;
  }

  .catalog-filter {
    flex: 0 0 auto !important;
    min-height: 40px !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    scroll-snap-align: start;
  }

  .catalog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Mid-size phones/tablets keep horizontal catalog cards. */
  .catalog-card {
    display: grid !important;
    grid-template-columns: 150px minmax(0,1fr) !important;
    min-height: 190px !important;
    border: 1px solid rgba(27,72,55,.08) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(24,63,48,.075) !important;
  }

  .catalog-image {
    height: 100% !important;
    min-height: 190px !important;
  }

  .catalog-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .catalog-body {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 18px !important;
  }

  .catalog-body small {
    font-size: 10.5px !important;
    line-height: 1.3 !important;
    letter-spacing: .07em !important;
  }

  .catalog-body h3 {
    margin: 5px 0 8px !important;
    font-size: 20px !important;
    line-height: 1.14 !important;
    letter-spacing: -.015em !important;
  }

  .catalog-body > p {
    display: -webkit-box !important;
    margin: 0 0 9px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  .catalog-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 10px !important;
    margin-top: 0 !important;
    padding-top: 8px !important;
  }

  .catalog-meta span {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .catalog-meta span:nth-child(2) {
    display: inline !important;
  }

  .catalog-cta {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;
    margin-top: 9px !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }

  .catalog-category {
    left: 10px !important;
    bottom: 10px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
  }

  /* Gallery becomes intentional swipe content. */
  .gallery {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .gallery-grid {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    padding: 2px 20px 12px 0 !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .gallery-grid::-webkit-scrollbar { display: none !important; }

  .gallery-grid figure {
    flex: 0 0 min(84vw,380px) !important;
    height: 250px !important;
    min-height: 0 !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 30px rgba(23,57,44,.10) !important;
    scroll-snap-align: start;
  }

  .gallery-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Conversion / payment / FAQ sections get clearer grouping. */
  .booking,
  .payment,
  .faq,
  .visit {
    position: relative;
  }

  .booking .btn,
  .payment .btn,
  .visit .btn {
    min-height: 50px !important;
  }

  .faq details {
    margin: 0 0 10px !important;
    border: 1px solid rgba(27,72,55,.09) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 8px 24px rgba(24,60,46,.05) !important;
  }

  .faq summary {
    min-height: 52px !important;
    padding: 15px 16px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .faq details > :not(summary) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Footer: single readable flow with stronger spacing. */
  .footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .footer-top {
    gap: 28px !important;
  }

  .footer-brand-block,
  .footer-nav,
  .footer-pay,
  .footer-legal,
  .footer-meta {
    min-width: 0 !important;
  }

  .footer-logo-img {
    max-width: 160px !important;
    height: auto !important;
  }

  .footer-wa {
    min-height: 48px !important;
  }
}

/* ---------- primary mobile target: 375–430px ---------- */
@media (max-width:430px) {
  .site-header {
    min-height: 60px !important;
    padding: 7px 14px !important;
  }

  .brand-logo-img {
    max-width: 130px !important;
    max-height: 37px !important;
  }

  .section,
  .intro,
  .geo-facts,
  .services,
  .catalog,
  .mask-strip,
  .experience,
  .gallery,
  .booking,
  .payment,
  .faq,
  .important,
  .visit,
  .legal-note {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .intro,
  .geo-facts,
  .services,
  .catalog,
  .mask-strip,
  .experience,
  .gallery,
  .booking,
  .payment,
  .faq,
  .important,
  .visit,
  .legal-note {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  .hero,
  .hero-media,
  .hero-photo {
    min-height: 520px !important;
  }

  .hero-photo {
    object-position: 52% 38% !important;
  }

  .hero-content {
    padding: 92px 18px 32px !important;
  }

  .hero h1 {
    max-width: 12ch !important;
    font-size: clamp(36px,10vw,41px) !important;
    line-height: 1 !important;
  }

  .hero-lead {
    max-width: 31ch !important;
    font-size: 15.5px !important;
    line-height: 1.48 !important;
  }

  .hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 9px !important;
  }

  .hero-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .trust-row {
    gap: 7px !important;
  }

  .trust-row > * {
    font-size: 10.5px !important;
  }

  .geo-facts-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .service-photo-wrap {
    height: 205px !important;
    min-height: 205px !important;
  }

  /* The main redesign: readable premium vertical catalog cards. */
  .catalog-grid {
    gap: 18px !important;
  }

  .catalog-card {
    display: block !important;
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  .catalog-image {
    position: relative !important;
    width: 100% !important;
    height: 190px !important;
    min-height: 190px !important;
  }

  .catalog-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .catalog-shade {
    background: linear-gradient(180deg,rgba(8,24,18,0) 35%,rgba(8,24,18,.48) 100%) !important;
  }

  .catalog-body {
    padding: 17px 17px 18px !important;
  }

  .catalog-body small {
    font-size: 10.5px !important;
  }

  .catalog-body h3 {
    margin: 5px 0 8px !important;
    font-size: 21px !important;
    line-height: 1.13 !important;
  }

  .catalog-body > p {
    display: block !important;
    overflow: visible !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  .catalog-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    padding-top: 8px !important;
  }

  .catalog-meta span,
  .catalog-meta span:nth-child(2) {
    display: inline !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  .catalog-cta {
    min-height: 42px !important;
    margin-top: 10px !important;
    font-size: 13px !important;
  }

  .catalog-category {
    left: 11px !important;
    bottom: 11px !important;
    font-size: 10px !important;
  }

  .gallery-grid figure {
    flex-basis: min(86vw,345px) !important;
    height: 238px !important;
  }

  .footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

@media (max-width:374px) {
  .hero h1 { font-size: 34px !important; }
  .section,
  .intro,
  .geo-facts,
  .services,
  .catalog,
  .mask-strip,
  .experience,
  .gallery,
  .booking,
  .payment,
  .faq,
  .important,
  .visit,
  .legal-note { padding-left: 15px !important; padding-right: 15px !important; }
  .catalog-image { height: 176px !important; min-height: 176px !important; }
}

@media (prefers-reduced-motion:reduce) {
  .service-card,
  .catalog-card,
  .gallery-grid figure,
  .btn {
    transition: none !important;
    animation: none !important;
  }
}
/* HEXKLOUD SERENA NATIVE MOBILE REDESIGN v3.0.2 END */
