@charset "UTF-8";
:root{--forest:#0c2b1e;--deep:#062117;--green:#048c4b;--bright:#00a755;--gold:#f3d9a4;--cream:#fffdf5;--ink:#15251d;--frame:rgba(255,255,255,.58)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#0e301d;color:#fff;font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.35}body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(95deg,rgba(0,30,14,.36),rgba(18,61,27,.38)),url('/assets/fotos/foto-39.webp') center/cover no-repeat;filter:saturate(1.08)}.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 1% 6%,rgba(255,242,153,.38),transparent 16%),linear-gradient(180deg,transparent 0%,rgba(0,28,13,.5) 100%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.skip{position:absolute;left:10px;top:-60px;z-index:50;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}img{max-width:100%}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.site-frame{max-width:1200px;margin:25px auto 16px;border:1px solid rgba(255,243,211,.68);border-radius:29px;background:linear-gradient(180deg,rgba(9,45,27,.42),rgba(2,32,18,.85) 68%,rgba(3,35,23,.95));box-shadow:0 24px 65px rgba(0,0,0,.28);position:relative;overflow:clip}.topline{text-align:right;padding:9px 25px 0;color:#f9eee0;letter-spacing:1.8px;font-size:9px}.header{margin:3px 18px 0;height:74px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.52);background:linear-gradient(100deg,rgba(7,31,22,.70),rgba(11,48,30,.50));backdrop-filter:blur(13px);border-radius:18px;position:relative;z-index:15}.brand{position:relative;left:11px;flex:0 0 94px}.brand img{display:block;width:76px;height:76px;object-fit:contain;border-radius:50%;border:2px solid #fff;background:#fff;box-shadow:0 2px 8px #0c1e16}.mainnav{display:flex;gap:clamp(8px,1.2vw,16px);align-items:center;justify-content:space-between;flex:1;padding:0 13px 0 6px}.mainnav>a{font-size:12px;white-space:nowrap;padding:8px 0;position:relative}.mainnav>a.active:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--gold)}.mainnav>a:hover{color:var(--gold)}.nav-social{display:flex;gap:7px;margin-left:auto}.nav-social a{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;padding:7px 9px;border:1px solid rgba(255,255,255,.58);border-radius:10px}.nav-social .nav-wa{background:linear-gradient(#09b660,#007e3d);box-shadow:inset 0 1px 4px rgba(255,255,255,.32)}.nav-social img,.footer-social img,.action img,.contact-social img,.map-button img{object-fit:contain;vertical-align:middle}.nav-toggle{display:none}.hero{position:relative;min-height:510px;overflow:hidden;margin:0 12px;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(1,27,17,.93) 0%,rgba(2,31,17,.68) 30%,rgba(2,32,18,.06) 62%,rgba(5,36,22,.29) 100%),linear-gradient(0deg,rgba(0,27,13,.42),transparent 34%)}.hero-copy{position:relative;z-index:2;padding:49px 0 24px 30px;width:44%;max-width:490px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;margin:0 0 6px}.eyebrow.dark{color:#183525}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(51px,5.5vw,79px);line-height:.86;letter-spacing:-2px;margin:8px 0 12px;text-shadow:0 3px 12px rgba(0,0,0,.22);white-space:nowrap}.hero h1 em{display:block;font-size:.60em;letter-spacing:-1px;color:#ffe8b7;font-weight:500;font-style:normal;line-height:1.1}.hero-intro{font-size:17px;line-height:1.18;max-width:328px;margin:10px 0 16px;text-shadow:0 2px 5px #002}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:8px 17px;border-radius:26px;font-size:13px;font-weight:600;border:1px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.2);transition:transform .2s,filter .2s}.action:hover,.contact-social a:hover,.nav-social a:hover{transform:translateY(-2px);filter:brightness(1.13)}.action.green,.green{background:linear-gradient(180deg,#0cb45a,#00733d);color:#fff}.hero-actions .action{width:300px;justify-content:flex-start}.hero-actions .action.outline{background:rgba(0,20,16,.63)}.qualities{display:flex;gap:16px;margin-top:17px;align-items:center}.qualities span{display:flex;gap:5px;align-items:center}.qualities .icon{color:#ffe3a4;width:33px;height:33px;stroke-width:1.8}.qualities small{font-size:10px;line-height:1.12;white-space:nowrap}.hero-slogan{position:absolute;right:4%;top:35px;text-align:center;font-family:'Brush Script MT','Segoe Script',cursive;font-style:italic;font-size:clamp(25px,3.3vw,42px);line-height:1.06;transform:rotate(-8deg);text-shadow:0 3px 9px #142e15}.hero-slogan b{display:block;color:var(--gold);font-size:36px;font-style:normal}.hero-quote{position:absolute;right:2%;top:215px;width:190px;padding:15px 16px;text-align:center;border:1px solid #e4dcaf;border-radius:15px;background:rgba(24,55,26,.62);backdrop-filter:blur(10px);font:17px/1.15 Georgia,serif}.hero-quote i{display:block;height:2px;width:42px;margin:12px auto 0;background:var(--gold)}.services-section{position:relative;margin:-4px 18px 0;padding:22px 20px 17px;border:1px solid #fff;background:linear-gradient(130deg,#fffef9 20%,#fffbea 100%);color:#16221a;border-radius:31px;box-shadow:0 10px 22px rgba(0,0,0,.2);z-index:3}.services-heading{display:grid;grid-template-columns:1fr .72fr;gap:45px;align-items:center;padding:0 14px 15px}.services-heading h2,.gallery-title h2,.inner-panel h2,.contact-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.1vw,40px);line-height:.99;margin:1px 0 0;letter-spacing:-1.3px}.services-heading>p{font-size:13px;line-height:1.45;max-width:385px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-card{display:flex;flex-direction:column;min-width:0;border:1px solid #ede8d9;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 4px 12px #17281912;position:relative;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 13px 28px #123b2736}.photo-window{background:linear-gradient(130deg,#427844,#234d30);overflow:hidden;display:flex;align-items:center;justify-content:center}.service-card>.photo-window{width:100%;height:180px}.photo-window img{width:100%;height:100%;object-fit:contain;display:block}.service-icon{position:absolute;top:155px;left:7px;background:#fff;width:47px;height:47px;border-radius:50%;display:grid;place-items:center;color:#092f20;border:1px solid #eee}.service-icon svg{width:27px;height:27px}.service-title{font:700 20px/1.03 Georgia,serif;padding:17px 12px 0;min-height:61px}.service-description{padding:0 12px;line-height:1.27;font-size:14px;min-height:55px}.service-more{padding:9px 12px 12px;font-size:13px;font-weight:700;margin-top:auto;display:flex;gap:8px;align-items:center}.service-more svg{width:17px;height:17px}.gallery-section{margin:0 20px;padding:27px 12px 15px;color:#fff}.gallery-title{display:flex;justify-content:space-between;gap:18px;align-items:end;margin:0 4px 8px}.gallery-title h2{font-size:33px;white-space:nowrap}.gallery-title p{font-size:13px;margin:0;flex:1;padding-left:30px}.gallery-all{font-size:12px;padding:9px 14px;border:1px solid #fff;border-radius:23px;display:flex;gap:8px;align-items:center;white-space:nowrap}.gallery-all svg{width:15px}.gallery-stage{position:relative}.gallery-track{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px;scroll-behavior:smooth}.gallery-track::-webkit-scrollbar{display:none}.gallery-image{padding:0;flex:0 0 calc((100% - 28px)/5);height:145px;border-radius:9px;border:2px solid #fff;scroll-snap-align:start;background:#376046;overflow:hidden}.gallery-image img{display:block;width:100%;height:100%;object-fit:contain}.gallery-control{position:absolute;z-index:3;top:50%;transform:translateY(-50%);border:1px solid #fff;color:#fff;border-radius:50%;width:41px;height:41px;background:#123f2f;font-size:30px;line-height:1}.gallery-control.prev{left:-20px}.gallery-control.next{right:-20px}.bottom-section{margin:0 20px 10px;padding:0 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.info-card{background:#fffefa;color:#1b2a21;border:1px solid #fff;border-radius:15px;min-height:182px;padding:13px 13px 11px;display:grid;grid-template-columns:34px 1fr;gap:10px;box-shadow:0 5px 15px #0001}.bubble{width:33px;height:33px;background:#0b3325;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:22px}.bubble .icon{width:20px}.info-card .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:3px}.info-card h3{font:700 18px/1.09 Georgia,serif;margin:0 0 7px}.info-card p{font-size:12px;line-height:1.25;margin:0 0 7px}.simple-link{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#00542e}.info-card .location-inner{min-width:0}.map-teaser{height:44px;position:relative;overflow:hidden;margin:3px 0 5px;padding:7px;background:repeating-linear-gradient(32deg,#dcebdd 0,#dcebdd 10px,#fefbf1 10px,#fefbf1 24px,#c4e6df 24px,#c4e6df 33px);display:flex;align-items:center;justify-content:center;border-radius:7px;color:#254233;font-size:12px;gap:12px}.map-pin{font-size:22px;color:#e52c38}.map-button{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:white;border:1px solid #e5e6de;border-radius:9px;padding:4px 8px;color:#193928}.contact-social{display:grid;gap:5px}.contact-social a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:30px;font-size:12px;border-radius:8px;transition:transform .2s}.contact-social .white,.contact-details .white{background:#fff;border:1px solid #d8e0d4;color:#0f2f20}.contact .simple-link{display:block;margin-top:6px}.footer{margin:6px 20px 0;border:1px solid #668375;border-radius:16px;background:rgba(3,41,27,.80);padding:11px 18px;display:grid;grid-template-columns:1.3fr 1fr .5fr .9fr;gap:10px;align-items:center}.footer-logo{display:flex;gap:8px;align-items:center}.footer-logo img{width:72px;height:72px;background:#fff;border:2px solid #fff;border-radius:50%}.footer-logo strong{display:block;font:700 21px Georgia,serif}.footer-logo span{display:block;font:17px Georgia,serif;color:#fff1d4}.footer-logo small{display:block;font-size:9px;max-width:210px}.footer-nav{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center}.footer-nav a{font-size:10px}.footer-social{display:flex;gap:8px;justify-content:center}.footer-social a{font-size:0}.footer-social img{width:22px;height:22px}.footer-script{font-family:'Segoe Script','Brush Script MT',cursive;font-size:16px;line-height:1.1;font-style:italic;transform:rotate(-6deg);margin:0;text-align:center}.footer-script span{color:var(--gold);font-size:25px}.subfooter{display:flex;justify-content:space-between;gap:10px;font-size:9px;padding:6px 24px 10px;opacity:.9}.inner-hero{position:relative;min-height:335px;margin:16px 20px;border-radius:25px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(120deg,#09281b,#1c5731);border:1px solid #ddc99e}.inner-copy{padding:43px 30px;z-index:1}.inner-copy h1{font:700 clamp(36px,4vw,54px)/1.02 Georgia,serif;margin:8px 0;color:#ffedc7}.inner-copy p{max-width:430px}.inner-image{min-width:0}.inner-image .photo-window{height:100%;min-height:335px}.inner-image img{object-fit:contain}.inner-panel{margin:18px 20px;background:#fffdf5;color:#10281b;border-radius:26px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.inner-text p{line-height:1.55}.inner-panel .photo-window{height:250px;border-radius:15px}.inner-cta{text-align:center;padding:20px}.contact-page{margin:16px 20px 24px;background:#fffdf5;color:#10281b;border-radius:25px;padding:30px;display:grid;grid-template-columns:1fr 1.2fr;gap:30px}.contact-details{display:flex;flex-wrap:wrap;gap:6px}.contact-details a{padding:7px 10px;display:inline-flex;align-items:center;gap:5px;border-radius:8px;font-size:12px}.enquiry{display:grid;gap:12px}.enquiry label{font-size:13px;font-weight:600;display:grid;gap:4px}.enquiry input:not([type=checkbox]),.enquiry select,.enquiry textarea{width:100%;padding:12px;border:1px solid #becbbb;border-radius:8px;background:#fff;color:#10281b}.enquiry textarea{resize:vertical}.enquiry .privacy{display:flex;align-items:start;font-weight:400;gap:8px}.enquiry-help{font-size:12px;margin:0}.enquiry-status{margin:0;color:#005e3a;font-weight:700;font-size:13px}.notfound{display:block;text-align:center}.viewer{max-width:min(96vw,1100px);width:100%;border:1px solid #fff;background:#0a2a1a;color:#fff;border-radius:17px;box-shadow:0 10px 50px #0009;padding:20px 40px;text-align:center}.viewer::backdrop{background:#001a1190;backdrop-filter:blur(7px)}.viewer img{max-height:78vh;width:100%;object-fit:contain}.viewer button{position:absolute;border:1px solid #fff;background:#133e2c;color:#fff;border-radius:50%;width:36px;height:36px;font-size:27px}.viewer-close{right:4px;top:4px}.viewer-prev{left:2px;top:45%}.viewer-next{right:2px;top:45%}.viewer p{font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #eccc6a;outline-offset:3px}
@media(min-width:1280px){.site-frame{max-width:1190px}.hero{min-height:505px}}@media(max-width:1150px){.site-frame{margin:10px;border-radius:22px}.header{margin-inline:12px}.mainnav{gap:8px}.mainnav>a{font-size:10px}.nav-social a{font-size:10px;padding:7px 5px}.brand{flex-basis:76px}.brand img{width:64px;height:64px}.hero-copy{width:48%;padding-left:24px}.hero h1{font-size:clamp(50px,6.2vw,70px)}.hero-slogan{font-size:31px}.service-title{font-size:18px}.service-description{font-size:12px}.services-heading h2{font-size:33px}}
@media(max-width:780px){.site-frame{max-width:550px;margin:0 auto 10px;border-radius:0;border-left:0;border-right:0}.topline{display:none}.header{height:72px;margin:10px 11px 0;border-radius:16px}.brand{flex-basis:auto}.brand img{width:65px;height:65px}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:44px;border:0;background:transparent;margin-left:auto;margin-right:9px}.nav-toggle span{display:block;width:24px;height:2px;background:white}.mainnav{display:none;position:absolute;top:70px;left:0;right:0;border-radius:12px;background:#082b1f;box-shadow:0 14px 30px #0008;padding:13px;flex-direction:column;align-items:stretch;gap:0}.mainnav.open{display:flex}.mainnav>a{font-size:16px;padding:12px;border-bottom:1px solid #ffffff20}.nav-social{margin:12px 0 0;gap:8px}.nav-social a{font-size:12px;padding:9px}.hero{margin:0 8px;min-height:690px;display:flex;flex-direction:column;background:#0b2b1b}.hero-photo{height:320px;top:75px;bottom:auto;width:100%;object-fit:contain;object-position:center center;z-index:1;background:linear-gradient(0deg,#23472a,#456430)}.hero-shade{z-index:2;pointer-events:none;background:linear-gradient(180deg,#082c20 0%,rgba(6,34,21,.85) 12%,rgba(0,27,14,.1) 32%,rgba(0,27,14,.02) 55%,rgba(3,35,19,.94) 60%,#072e1e 82%)}.hero-copy{z-index:4;width:100%;max-width:none;padding:11px 13px 20px;display:flex;flex-direction:column}.hero .eyebrow{font-size:10px;letter-spacing:1.8px;max-width:260px}.hero h1{font-size:clamp(39px,10vw,60px);line-height:.9;margin:4px 0;white-space:normal;max-width:350px}.hero h1 em{font-size:.64em}.hero-intro{font-size:14px;line-height:1.2;max-width:230px;position:absolute;top:423px;left:13px;margin:0}.hero-actions{position:absolute;top:507px;left:13px;gap:6px}.hero-actions .action{width:min(280px,calc(100vw - 46px));font-size:12px;min-height:36px;padding:6px 12px}.hero-actions img{width:19px}.qualities{position:absolute;top:595px;left:8px;right:8px;justify-content:space-between;gap:6px;margin:0}.qualities small{font-size:9px}.qualities .icon{width:27px;height:27px}.hero-slogan{z-index:4;right:16px;top:398px;font-size:20px;line-height:.93}.hero-slogan b{font-size:22px}.hero-quote{display:none}.services-section{margin:-2px 10px 0;padding:16px 11px;border-radius:20px}.services-heading{display:block;padding:0 7px 7px}.services-heading h2{font-size:25px;letter-spacing:-.6px}.services-heading h2 br{display:none}.services-heading>p{font-size:11px;line-height:1.3;margin:7px 0}.services-heading .eyebrow{font-size:10px}.service-grid{display:flex;flex-direction:column;gap:8px}.service-card{height:75px;display:grid;grid-template-columns:83px 1fr 52px;grid-template-rows:1fr 1fr;align-items:center;border-radius:11px;padding:4px;column-gap:8px}.service-card>.photo-window{grid-column:1;grid-row:1/3;width:83px;height:65px;border-radius:9px}.service-icon{display:none}.service-title{grid-column:2;grid-row:1/3;min-height:auto;padding:0;font-size:17px;align-self:center}.service-description{display:none}.service-more{grid-column:3;grid-row:1/3;padding:0;font-size:0;justify-content:center}.service-more svg{width:18px}.gallery-section{margin:0 12px;padding:18px 9px 11px}.gallery-title{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.gallery-title .eyebrow{font-size:10px}.gallery-title h2{font-size:26px}.gallery-title>p{display:none}.gallery-all{font-size:11px;padding:6px 8px;margin-left:auto}.gallery-image{flex-basis:47%;height:135px}.gallery-control{width:34px;height:34px}.gallery-control.prev{left:-11px}.gallery-control.next{right:-11px}.bottom-section{margin:0 12px 6px;display:flex;flex-direction:column;gap:8px}.info-card{min-height:0;padding:13px;grid-template-columns:30px 1fr}.info-card.reviews{order:3}.info-card.contact{order:1}.info-card.location{order:2}.info-card .eyebrow{font-size:10px}.info-card h3{font-size:18px}.info-card p{font-size:12px}.contact-social{display:grid;grid-template-columns:1fr 1fr}.footer{margin:5px 12px;grid-template-columns:1fr auto;gap:5px;padding:10px}.footer-logo img{width:51px;height:51px}.footer-logo strong{font-size:18px}.footer-logo span{font-size:14px}.footer-logo small{font-size:8px}.footer-nav{grid-column:1/-1;order:3}.footer-social{gap:10px}.footer-script{display:none}.subfooter{font-size:8px;padding:5px 13px}.subfooter span:last-child{display:none}.inner-hero{margin:8px 12px;display:flex;flex-direction:column}.inner-copy{padding:25px 17px}.inner-copy h1{font-size:40px}.inner-image .photo-window{min-height:0;height:245px}.inner-panel,.contact-page{margin:12px;padding:19px;display:flex;flex-direction:column}.inner-panel h2,.contact-intro h2{font-size:31px}.inner-panel .photo-window{height:225px}.enquiry{width:100%}}
@media(max-width:365px){.hero{min-height:680px}.hero-photo{height:294px}.hero-intro{top:405px}.hero-actions{top:487px}.qualities{top:570px}.hero-slogan{top:388px;font-size:18px}.hero h1{font-size:39px}.services-heading h2{font-size:23px}.gallery-title h2{font-size:23px}.gallery-all{font-size:10px}.qualities small{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Full subject preserved; blurred duplicate fills the thumbnail background without cropping the foreground. */
.photo-window,.gallery-image{position:relative}.photo-window img.photo-backdrop,.gallery-image img.photo-backdrop{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(15px) brightness(.80) saturate(1.12);opacity:.82;pointer-events:none}.photo-window img:not(.photo-backdrop),.gallery-image img:not(.photo-backdrop){position:relative;z-index:1;object-fit:contain;object-position:center center;pointer-events:none}
@media(max-width:780px){.hero{min-height:630px}.hero-photo{height:300px;top:72px}.hero-intro{top:392px}.hero-actions{top:466px}.qualities{top:554px}.hero-slogan{top:388px}}
@media(max-width:365px){.hero{min-height:610px}.hero-photo{height:275px;top:72px}.hero-intro{top:371px;max-width:277px}.hero-actions{top:451px}.qualities{top:532px}.hero-slogan{display:none}}

/* Warm sunshine approved visual finishing. */
.hero-photo{filter:saturate(1.17) brightness(1.07) contrast(1.02)}
.hero-shade{background:linear-gradient(90deg,rgba(1,27,17,.92) 0%,rgba(2,31,17,.65) 30%,rgba(2,32,18,.01) 61%,rgba(5,36,22,.12) 100%),linear-gradient(0deg,rgba(0,27,13,.28),transparent 32%)}
@media(max-width:780px){.hero-shade{background:linear-gradient(180deg,#082c20 0%,rgba(6,34,21,.85) 12%,rgba(0,27,14,.1) 32%,rgba(0,27,14,.02) 55%,rgba(3,35,19,.94) 60%,#072e1e 82%)}.gallery-image{flex-basis:calc((100% - 16px)/3);height:117px}}

/* V18: Google Maps consent, real reviews & CMS custom pages */
.real-map{min-height:172px;border-radius:12px;background:#e1eee1;position:relative;overflow:hidden;border:1px solid #c8dbcc;display:grid;align-content:center;justify-items:center;padding:10px}.real-map iframe{display:block;width:100%;height:225px;min-height:200px;border:0}.real-map.is-loaded{display:block;padding:0}.map-load{border:0;border-radius:12px;background:#0c8542;color:#fff;padding:13px 16px;cursor:pointer;font:inherit;font-weight:700}.map-load:focus-visible{outline:3px solid #d9b55d}.map-consent{font-size:11px!important;text-align:center;margin:7px 4px!important;max-width:280px}.real-map.is-loaded .map-consent{display:none}.google-reviews-live{font-size:12px;line-height:1.35;margin-top:10px}.google-review-card{padding:9px 4px;border-top:1px solid #dcdcd3}.google-review-author{display:flex;align-items:center;gap:7px;margin-bottom:5px}.google-review-author img{width:26px;height:26px;border-radius:50%;object-fit:cover}.google-review-stars{color:#a06d00;font-weight:bold}.google-review-card p{font-size:12px!important;margin:4px 0!important}.google-review-card a{color:#11643b!important;text-decoration:underline}.google-attribution{font-size:11px;margin-top:7px}.reviews-real{margin-top:24px;max-width:620px}.reviews-real .google-review-card{padding:15px;border-radius:12px;background:#f6f4ea;margin:9px 0}.contact-map-block{width:100%;margin:18px 0;grid-column:1/-1}.contact-map-block .real-map{min-height:200px}.contact-map-block .real-map iframe{height:340px}.cms-new-page{background:#fffaf0;color:#163528;padding:42px max(20px,6vw);border-radius:22px;min-height:40vh}.cms-new-page h1{font:700 clamp(30px,5vw,58px)/1.1 Georgia,serif}.cms-new-page section{margin:20px auto;max-width:1100px}.cms-new-page p{line-height:1.6}.cms-new-page img{max-width:100%;height:auto;display:block;border-radius:16px}.cms-new-page .editable-section{padding:12px 0}.cms-new-page .editable-section+ .editable-section{border-top:1px solid #ddd}.cms-new-page a{color:#116a37;text-decoration:underline}@media(max-width:690px){.real-map iframe{height:245px}.contact-map-block .real-map iframe{height:310px}}

.photo-window,.gallery-image,.inner-image .photo-window{background:linear-gradient(135deg,#345637,#1f3d29);}
.service-card>.photo-window{padding:0}.gallery-image img,.service-card>.photo-window img,.inner-image .photo-window img{image-rendering:auto}

/* V20: real review and real map cards on home */
.review-snippets{display:grid;gap:8px;margin:10px 0 8px}.review-snippet{display:block;border:1px solid #dde2d8;border-radius:12px;overflow:hidden;background:#f7f7f3;box-shadow:0 4px 10px rgba(0,0,0,.05)}.review-snippet img{display:block;width:100%;height:auto}.review-snippet:hover,.map-photo-link:hover{transform:translateY(-2px);transition:transform .2s ease;box-shadow:0 10px 18px rgba(0,0,0,.12)}.map-photo-link{display:block;margin:8px 0 8px;border-radius:12px;overflow:hidden;border:1px solid #d8ddd4;background:#f2f5f0}.map-photo-link img{display:block;width:100%;height:auto}.info-card.location .map-button{margin-top:6px}


/* === V21 Animaciones y movimiento 3D === */
:root{
  --ease-smooth:cubic-bezier(.22,.61,.36,1);
}
.reveal-item{
  opacity:0;
  transform:translateY(26px) scale(.985);
  transition:opacity .8s var(--ease-smooth), transform .8s var(--ease-smooth), box-shadow .35s ease;
  will-change:transform, opacity;
}
.reveal-item.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.hero{
  perspective:1400px;
  overflow:hidden;
}
.hero-photo{
  transform:scale(1.02) translateZ(0);
  transform-origin:center center;
  transition:transform .35s ease-out, filter .35s ease-out;
  will-change:transform;
}
.hero-copy,.hero-slogan,.hero-quote{
  transform-style:preserve-3d;
  will-change:transform;
  transition:transform .25s ease-out;
}
.hero-copy{ animation:heroLift 1s var(--ease-smooth) both; }
.hero-slogan{ animation:heroLift 1.1s .08s var(--ease-smooth) both; }
.hero-quote{ animation:heroLift 1.15s .14s var(--ease-smooth) both; }
@keyframes heroLift{
  from{ opacity:0; transform:translateY(28px) rotateX(7deg); }
  to{ opacity:1; transform:translateY(0) rotateX(0); }
}
.service-card,.info-card,.gallery-image,.action,.map-photo-link,.review-snippet,.photo-window{
  transform-style:preserve-3d;
  transition:transform .28s ease, box-shadow .28s ease, border-color .25s ease, background-color .25s ease;
  will-change:transform;
}
.service-card:hover,.service-card:focus-visible,
.info-card:hover,.info-card:focus-within,
.gallery-image:hover,.gallery-image:focus-visible,
.map-photo-link:hover,.review-snippet:hover{
  box-shadow:0 22px 40px rgba(0,0,0,.20), 0 10px 18px rgba(0,0,0,.10);
}
.service-card:hover .service-icon,.info-card:hover .bubble{
  transform:translateZ(26px) scale(1.06);
}
.service-card:hover .service-title,.info-card:hover h3{
  transform:translateZ(18px);
}
.gallery-image img:not(.photo-backdrop),
.service-card .photo-window img:not(.photo-backdrop),
.map-photo-link img,.review-snippet img{
  transition:transform .45s ease;
}
.gallery-image:hover img:not(.photo-backdrop),
.service-card:hover .photo-window img:not(.photo-backdrop),
.map-photo-link:hover img,.review-snippet:hover img{
  transform:scale(1.035);
}
.action.green{
  position:relative;
  overflow:hidden;
}
.action.green::after{
  content:"";
  position:absolute;
  inset:-20% auto -20% -30%;
  width:38%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-18deg) translateX(-220%);
  animation:shineSweep 5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shineSweep{
  0%,72%,100%{ transform:skewX(-18deg) translateX(-220%); }
  84%{ transform:skewX(-18deg) translateX(520%); }
}
.qualities span{
  transition:transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.qualities span:hover{
  transform:translateY(-4px) rotateX(6deg);
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}
.gallery-track{
  scroll-behavior:smooth;
}
.topline{ animation:fadeLine 1.2s ease both; }
@keyframes fadeLine{ from{opacity:0;letter-spacing:.25em} to{opacity:1;letter-spacing:inherit} }
body.is-scrolled .header{
  backdrop-filter: blur(18px);
  box-shadow:0 16px 34px rgba(0,0,0,.16);
}
@media (prefers-reduced-motion: reduce){
  .reveal-item,
  .hero-copy,.hero-slogan,.hero-quote,
  .hero-photo,
  .service-card,.info-card,.gallery-image,.action,.map-photo-link,.review-snippet,.photo-window,
  .gallery-image img:not(.photo-backdrop),
  .service-card .photo-window img:not(.photo-backdrop),
  .map-photo-link img,.review-snippet img,
  .qualities span,
  .topline{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
  }
  .action.green::after{ display:none; }
  .gallery-track{ scroll-behavior:auto; }
}

/* V22 — verde translúcido, contenido editorial, mapa enlazado y lectura móvil. */
:root{--forest:#174a35;--deep:#103628;--green:#14834f;--bright:#299a65}
body{background:#214a36}
body::before{background:linear-gradient(95deg,rgba(3,32,19,.24),rgba(20,69,39,.26)),url('/assets/fotos/foto-39.webp') center/cover no-repeat}
.ambient{background:radial-gradient(circle at 1% 6%,rgba(255,242,153,.30),transparent 16%),linear-gradient(180deg,transparent 0%,rgba(3,37,21,.37) 100%)}
.site-frame{background:linear-gradient(180deg,rgba(13,59,37,.33),rgba(7,50,32,.73) 68%,rgba(6,46,31,.86))}
.header{background:linear-gradient(100deg,rgba(8,42,27,.54),rgba(20,77,47,.42));border-color:rgba(255,255,255,.62)}
.hero-shade{background:linear-gradient(90deg,rgba(1,27,17,.79) 0%,rgba(3,35,21,.53) 30%,rgba(2,32,18,.01) 61%,rgba(5,36,22,.09) 100%),linear-gradient(0deg,rgba(0,27,13,.24),transparent 32%)}
.action.green,.green{background:linear-gradient(180deg,rgba(27,160,95,.87),rgba(10,107,61,.9));color:#fff}
.nav-social .nav-wa{background:linear-gradient(180deg,rgba(22,168,91,.88),rgba(5,113,62,.90))}
.footer{background:rgba(8,56,38,.70)}
.hero-intro{line-height:1.28}
.services-heading>p{max-width:460px;font-size:14px;line-height:1.5}
.service-card .service-description{line-height:1.45;min-height:82px;padding-top:3px;padding-bottom:11px;font-size:13px}
.service-card .service-title{min-height:63px}
.service-story{border-top:1px solid #e4e1d5;margin:21px 4px 0;padding:20px 10px 6px;display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:start}
.service-story h3{font:700 clamp(24px,2.5vw,31px)/1.12 Georgia,'Times New Roman',serif;margin:3px 0}
.service-story-copy p{margin:0 0 12px;line-height:1.65;font-size:14px;color:#334439}
.inner-panel{align-items:start;gap:30px}
.inner-panel .inner-text h2{margin:6px 0 12px}
.inner-text .expanded-paragraph{line-height:1.7;font-size:15px;margin:10px 0 14px}
.inner-panel .inner-secondary{align-self:center;min-height:290px}
.content-section{margin:18px 20px 22px;padding:30px 34px;border:1px solid rgba(255,255,255,.80);border-radius:26px;background:rgba(255,253,245,.97);color:#193326;box-shadow:0 12px 27px rgba(0,0,0,.10)}
.content-section h2{font:700 clamp(27px,3vw,37px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.6px;margin:4px 0 9px}
.content-intro,.content-closing{line-height:1.65;max-width:760px;margin:0 0 18px;font-size:15px}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.content-tile{border:1px solid #dae5d9;border-radius:17px;padding:19px;background:linear-gradient(145deg,rgba(227,240,228,.72),rgba(255,255,255,.95))}
.content-tile h3{font:700 20px/1.2 Georgia,'Times New Roman',serif;margin:0 0 10px}
.content-tile p{line-height:1.6;font-size:14px;margin:0}
.content-closing{margin:19px 0 0;padding:15px 18px;border-left:3px solid #218458;background:rgba(224,239,227,.53);border-radius:0 12px 12px 0;max-width:none}
.contact-map-block h2{font:700 clamp(27px,3vw,36px)/1.2 Georgia,'Times New Roman',serif;margin:0 0 7px}
.contact-map-block>p{font-size:14px;line-height:1.6;margin:0 0 17px}
.contact-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.contact-map-photo{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:0;border:1px solid #ccdcd0;background:#f1f6f1;border-radius:15px;overflow:hidden;box-shadow:0 6px 17px rgba(13,57,34,.09);transition:transform .22s ease,box-shadow .22s ease}
.contact-map-photo:hover{transform:translateY(-3px);box-shadow:0 12px 23px rgba(13,57,34,.16)}
.contact-map-photo > img:first-child{display:block;width:100%;height:300px;object-fit:contain;object-position:center;background:#eaf1e9}
.map-photo-caption{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 9px;font-size:13px;font-weight:700;color:#195238;background:#fff}
.map-photo-caption img{width:21px;height:21px;object-fit:contain}
.contact-map-layout .real-map{min-height:340px;align-content:center;background:linear-gradient(145deg,#e7f0e6,#f6f7ee);border:1px solid #c9ddcf;border-radius:15px}
.contact-map-layout .real-map.is-loaded{min-height:340px}
.contact-map-layout .real-map iframe{height:340px;width:100%;min-height:340px}
.map-load{background:linear-gradient(180deg,rgba(28,150,91,.9),rgba(15,109,64,.92))}
/* JS enhancement is opt-in: no invisible sections when JS is unavailable. */
.reveal-item{opacity:1;transform:none;will-change:auto}
.motion-ready .reveal-item{opacity:0;transform:translateY(19px) scale(.99);will-change:opacity,transform}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translateY(0) scale(1);will-change:auto}
.service-card,.info-card,.gallery-image,.action,.map-photo-link,.review-snippet,.photo-window{will-change:auto}
@media(max-width:780px){
 .hero-shade{background:linear-gradient(180deg,rgba(8,44,32,.9) 0%,rgba(6,42,26,.68) 12%,rgba(0,27,14,.04) 32%,rgba(0,27,14,.02) 55%,rgba(5,47,27,.85) 60%,rgba(7,46,30,.94) 82%)}
 .hero-intro{max-width:305px;font-size:13px;line-height:1.32}
 .services-heading>p{font-size:12px;line-height:1.5}
 .service-card{height:auto;min-height:112px;grid-template-columns:88px minmax(0,1fr) 22px;grid-template-rows:auto auto;align-content:center;gap:5px 10px;padding:8px}
 .service-card>.photo-window{width:88px;height:86px;grid-row:1/3}
 .service-card .service-title{grid-row:1;grid-column:2;min-height:0;font-size:17px;align-self:end}
 .service-card .service-description{display:block;grid-row:2;grid-column:2;min-height:0;font-size:11px;line-height:1.35;margin:0;padding:0;align-self:start}
 .service-card .service-more{grid-row:1/3;grid-column:3}
 .service-story{grid-template-columns:1fr;gap:7px;margin-top:15px;padding:15px 7px 4px}
 .service-story h3{font-size:25px}
 .service-story-copy p{font-size:13px;line-height:1.6}
 .inner-panel{align-items:stretch}
 .inner-panel .inner-secondary{min-height:0}
 .inner-text .expanded-paragraph{font-size:14px;line-height:1.65}
 .content-section{margin:12px;padding:22px 18px;border-radius:20px}
 .content-grid{grid-template-columns:1fr;gap:10px}
 .content-tile{padding:15px}
 .content-section h2{font-size:29px}
 .content-intro,.content-closing{font-size:14px}
 .contact-map-layout{grid-template-columns:1fr;gap:12px}
 .contact-map-photo > img:first-child{height:min(310px,82vw)}
 .contact-map-layout .real-map,.contact-map-layout .real-map.is-loaded{min-height:230px}
 .contact-map-layout .real-map iframe{height:300px;min-height:300px}
 .map-photo-caption{font-size:12px}
}
@media(max-width:365px){
 .hero-intro{max-width:288px;font-size:12px}
 .hero-actions{top:452px}
 .qualities{top:538px}
 .service-card{grid-template-columns:75px minmax(0,1fr) 16px;gap:5px 7px;min-height:108px}
 .service-card>.photo-window{width:75px;height:78px}
 .service-card .service-title{font-size:15px}
 .service-card .service-description{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-item,.motion-ready .reveal-item.is-visible{opacity:1!important;transform:none!important;transition:none!important}.contact-map-photo:hover{transform:none}}

/* Evitar que el eslogan se superponga a la descripción en pantallas pequeñas. */
@media(max-width:780px){.hero-slogan{display:none}}


/* V23 — PALETA ARENA / CREMA / CARBÓN. Sustituye el verde dominante de V22. */
:root{
  --forest:#3b322b;
  --deep:#27221e;
  --green:#b87935;
  --bright:#d29a55;
  --gold:#f0d19c;
  --cream:#fffaf0;
  --ink:#2e2a26;
  --frame:rgba(255,250,240,.66);
}
body{background:#b49a78;color:#fff}
body::before{
  background:linear-gradient(95deg,rgba(48,38,29,.34),rgba(112,84,55,.26)),url('/assets/fotos/foto-39.webp') center/cover no-repeat;
  filter:saturate(1.03) brightness(1.03);
}
.ambient{background:radial-gradient(circle at 2% 5%,rgba(255,232,174,.40),transparent 18%),linear-gradient(180deg,rgba(255,244,219,.04) 0%,rgba(57,43,31,.38) 100%)}
.site-frame{background:linear-gradient(180deg,rgba(65,51,39,.32),rgba(48,39,32,.67) 68%,rgba(38,31,26,.84));border-color:rgba(255,243,218,.74)}
.header{background:linear-gradient(100deg,rgba(55,45,37,.66),rgba(91,69,49,.46));border-color:rgba(255,247,232,.68)}
.hero-shade{background:linear-gradient(90deg,rgba(42,32,25,.80) 0%,rgba(52,40,30,.51) 31%,rgba(40,31,24,.03) 61%,rgba(54,42,33,.10) 100%),linear-gradient(0deg,rgba(43,31,23,.24),transparent 32%)}
.action.green,.green{background:linear-gradient(180deg,#cf9550,#9f642a);color:#fff;border-color:rgba(255,246,229,.95)}
.action.green:hover,.green:hover{filter:brightness(1.08)}
.hero-actions .action.outline{background:rgba(48,39,33,.66)}
.eyebrow.dark{color:#594637}
.services-section{background:linear-gradient(130deg,#fffdf7 20%,#fbf0dd 100%);color:#302b26}
.content-section{background:rgba(255,251,243,.98);color:#302b26;border-color:rgba(255,255,255,.88)}
.content-tile{border-color:#ead9bf;background:linear-gradient(145deg,rgba(249,236,215,.82),rgba(255,255,255,.97))}
.content-closing{border-left-color:#b87935;background:rgba(246,232,208,.68)}
.photo-window{background:linear-gradient(130deg,#b99569,#66503c)}
.service-icon{color:#6d4b2f}
.gallery-section{background:linear-gradient(150deg,rgba(65,50,39,.90),rgba(90,66,47,.76))}
.contact-panel,.contact-card{background:linear-gradient(145deg,rgba(255,250,240,.98),rgba(247,233,210,.98));color:#302b26}
.contact-map-photo{border-color:#e4d2b8;background:#f8efe1;box-shadow:0 6px 17px rgba(72,52,35,.10)}
.contact-map-photo > img:first-child{background:#f5ead9}
.map-photo-caption{color:#67482f;background:#fffaf3}
.contact-map-layout .real-map{background:linear-gradient(145deg,#f3e5d1,#fffaf1);border-color:#dfc9aa}
.map-load{background:linear-gradient(180deg,#c68b46,#9e642c)}
.footer{background:rgba(48,39,32,.78)}
.subfooter{background:rgba(36,30,26,.84)}
.mainnav>a.active:after{background:#f0d19c}
.mainnav>a:hover{color:#f0d19c}
.nav-social .nav-wa{background:linear-gradient(180deg,#18a862,#087a47)}
.keep-together{white-space:nowrap}
@media(max-width:780px){
  .hero-shade{background:linear-gradient(180deg,rgba(57,44,34,.88) 0%,rgba(66,49,36,.62) 12%,rgba(45,34,26,.04) 32%,rgba(43,32,25,.03) 55%,rgba(62,45,33,.78) 60%,rgba(49,38,31,.91) 82%)}
}


/* ===== V24: paleta marrón oscura + borde amarillo ===== */
:root{
  --forest:#2b1d14;
  --deep:#1b120d;
  --green:#5a3b28;
  --bright:#e8bf52;
  --gold:#f0c75d;
  --cream:#fbf3e8;
  --ink:#2a1d15;
  --frame:rgba(240,199,93,.56);
}
body{background:#1b120d;color:#fff}
body:before{background:linear-gradient(96deg,rgba(27,18,13,.70),rgba(58,40,29,.56)),url('/assets/fotos/foto-39.webp') center/cover no-repeat}
.ambient{background:radial-gradient(circle at 1% 6%,rgba(255,223,133,.28),transparent 16%),linear-gradient(180deg,transparent 0%,rgba(20,12,8,.52) 100%)}
.site-frame{border:1px solid rgba(240,199,93,.48);background:linear-gradient(180deg,rgba(58,40,29,.52),rgba(27,18,13,.90) 68%,rgba(22,14,10,.96));box-shadow:0 24px 65px rgba(0,0,0,.34)}
.topline{color:#f5ddaf}
.header{border:1px solid rgba(240,199,93,.62);background:linear-gradient(100deg,rgba(38,25,17,.90),rgba(69,47,35,.74));box-shadow:0 10px 28px rgba(0,0,0,.18)}
.brand img{box-shadow:0 2px 10px rgba(0,0,0,.25)}
.mainnav>a.active:after,.hero-quote i{background:var(--gold)}
.mainnav>a:hover,.mainnav>a:focus-visible,.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--gold)}
.nav-social a,.gallery-all,.gallery-control,.map-button,.footer-social a,.contact-social a,.action,.viewer button{border-color:var(--gold)!important}
.nav-social a,.gallery-all,.map-button,.footer-social a,.contact-social a,.action.outline{background:rgba(43,29,20,.72)}
.nav-social .nav-wa,.action.green,.green,.map-load{background:linear-gradient(180deg,#5a3b28,#2b1d14)!important;color:#fff;box-shadow:inset 0 1px 4px rgba(255,255,255,.12)}
.action:hover,.contact-social a:hover,.nav-social a:hover,.gallery-all:hover,.map-button:hover,.footer-social a:hover{filter:brightness(1.08)}
.hero-shade{background:linear-gradient(90deg,rgba(22,14,10,.96) 0%,rgba(39,26,18,.76) 30%,rgba(39,26,18,.08) 62%,rgba(39,26,18,.34) 100%),linear-gradient(0deg,rgba(18,11,8,.44),transparent 34%)}
.hero h1 em,.hero-slogan b,.qualities .icon,.gallery-all svg,.service-more svg{color:var(--gold)}
.hero-quote{border:1px solid rgba(240,199,93,.68);background:rgba(46,31,22,.66)}
.services-section,.inner-panel,.contact-page,.cms-new-page{background:linear-gradient(130deg,#fff8ee 20%,#f8eddc 100%);color:#2a1d15}
.service-card,.info-card,.enquiry input:not([type=checkbox]),.enquiry select,.enquiry textarea,.reviews-real .google-review-card{background:#fffdf9}
.photo-window{background:linear-gradient(130deg,#7b5a43,#3f2b20)}
.service-icon,.bubble{background:#2b1d14;color:#fff}
.simple-link,.google-review-card a,.cms-new-page a{color:#7b4f17!important}
.footer{border:1px solid rgba(240,199,93,.35);background:rgba(30,19,14,.88)}
.subfooter{color:#f2e6cf}
.viewer{background:#1b120d;border:1px solid rgba(240,199,93,.7)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f0c75d;outline-offset:3px}
@media(max-width:780px){
  .nav-toggle{border:1px solid var(--gold);border-radius:12px;background:rgba(43,29,20,.84)}
  .nav-toggle span{background:#f7e7be}
  .mainnav{background:linear-gradient(180deg,#2b1d14,#1b120d)!important;border:1px solid var(--gold);box-shadow:0 14px 30px rgba(0,0,0,.55)}
  .mainnav>a{border-bottom:1px solid rgba(240,199,93,.24)}
  .hero{background:#1b120d}
  .hero-photo{background:linear-gradient(0deg,#4d3527,#71533e)}
  .hero-shade{background:linear-gradient(180deg,#24170f 0%,rgba(34,23,15,.88) 12%,rgba(20,12,8,.12) 32%,rgba(20,12,8,.02) 55%,rgba(31,19,13,.96) 60%,#1b120d 82%)}
}
@media(max-width:365px){
  .nav-toggle{width:44px;height:42px}
}


/* ===== V25: paleta exacta inspirada en referencia ===== */
/* SOLO COLOR: no modifica medidas, estructura, posiciones ni tipografía */
:root{
  --forest:#1d1d1d;
  --deep:#121212;
  --green:#21c86a;
  --bright:#ee6a2f;
  --gold:#ee6a2f;
  --cream:#fff8f0;
  --ink:#20252b;
  --frame:rgba(238,106,47,.30);
}
body{background:#f7f1e8;color:#fff}
body:before{background:linear-gradient(96deg,rgba(16,16,16,.44),rgba(24,24,24,.22)),url('/assets/fotos/foto-39.webp') center/cover no-repeat;filter:saturate(1.06)}
.ambient{background:radial-gradient(circle at 92% 4%,rgba(255,184,79,.23),transparent 18%),linear-gradient(180deg,transparent 0%,rgba(16,16,16,.18) 100%)}
.site-frame{border-color:rgba(238,106,47,.26);background:linear-gradient(180deg,rgba(28,28,28,.54),rgba(18,18,18,.90) 68%,rgba(16,16,16,.96));box-shadow:0 24px 65px rgba(0,0,0,.27)}
.topline{color:#f6ead9}
.header{border-color:rgba(255,255,255,.10);background:linear-gradient(100deg,rgba(19,19,19,.97),rgba(31,31,31,.96));box-shadow:0 8px 26px rgba(0,0,0,.26)}
.brand img{border-color:#fff;background:#fff;box-shadow:0 2px 9px rgba(0,0,0,.35)}
.mainnav>a{color:#f7f4ef}
.mainnav>a.active:after{background:#ee6a2f}
.mainnav>a:hover,.mainnav>a:focus-visible{color:#f39a6e}
.nav-social a{border-color:rgba(255,255,255,.18)!important;background:#1f1f1f}
.nav-social .nav-wa,.action.green,.green,.map-load{background:linear-gradient(180deg,#27d875,#16b95f)!important;color:#fff!important;border-color:#24c96c!important;box-shadow:inset 0 1px 3px rgba(255,255,255,.20),0 4px 12px rgba(0,0,0,.14)}
.hero-shade{background:linear-gradient(90deg,rgba(14,14,14,.72) 0%,rgba(18,18,18,.42) 31%,rgba(18,18,18,.03) 64%,rgba(18,18,18,.12) 100%),linear-gradient(0deg,rgba(18,18,18,.20),transparent 38%)}
.hero h1 em{color:#f5d7be}
.hero-slogan b,.qualities .icon{color:#ee6a2f}
.hero-quote{border-color:rgba(238,106,47,.52);background:rgba(22,22,22,.60)}
.hero-quote i{background:#ee6a2f}
.action.outline{background:rgba(23,23,23,.74);border-color:rgba(238,106,47,.75)!important}

.services-section,.inner-panel,.contact-page,.cms-new-page{background:linear-gradient(135deg,#fffaf4 0%,#f8f0e6 100%);color:#20252b;border-color:#f0e5d8}
.services-heading .eyebrow.dark,.inner-panel .eyebrow.dark,.contact-intro .eyebrow.dark,.content-section .eyebrow.dark,.info-card .eyebrow.dark{color:#d75b2a}
.services-heading h2,.inner-panel h2,.contact-intro h2,.content-section h2,.info-card h3,.service-title{color:#20252b}
.service-card,.info-card,.enquiry input:not([type=checkbox]),.enquiry select,.enquiry textarea,.reviews-real .google-review-card{background:#fffdf9;color:#25282d;border-color:#eadfd3}
.service-card:hover{box-shadow:0 13px 28px rgba(34,27,22,.16)}
.photo-window{background:linear-gradient(130deg,#ddd3c8,#b9aea3)}
.service-icon,.bubble{background:#1c1c1c;color:#fff;border-color:#eee}
.service-more,.simple-link,.google-review-card a,.cms-new-page a{color:#c95124!important}
.service-more svg,.gallery-all svg{color:#ee6a2f}
.gallery-section{color:#fff}
.gallery-all{border-color:#ee6a2f!important;background:#1c1c1c;color:#fff}
.gallery-image{border-color:#f6eee4;background:#2a2a2a}
.gallery-control{background:#1d1d1d;border-color:#ee6a2f!important;color:#fff}
.info-card{box-shadow:0 5px 15px rgba(37,29,23,.08)}
.map-button{background:#fffdf9;border-color:#e5d7ca!important;color:#25282d}
.contact-social .white,.contact-details .white{background:#fffdf9;border-color:#ded4ca;color:#26282b}
.enquiry-status{color:#17844a}

.footer{border-color:rgba(255,255,255,.10);background:linear-gradient(100deg,#181818,#242424);color:#fff}
.footer-nav a{color:#f2efeb}
.footer-nav a:hover,.footer-nav a:focus-visible{color:#f38a58}
.footer-social a{border-color:rgba(255,255,255,.16)!important}
.footer-script span{color:#ee6a2f}
.subfooter{color:#6d6e72;background:#f7f1e8}
.viewer{background:#171717;border-color:rgba(238,106,47,.55);color:#fff}
.viewer::backdrop{background:rgba(0,0,0,.72)}
.viewer button{background:#232323;border-color:#ee6a2f!important;color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#ee6a2f}

@media(max-width:780px){
  .nav-toggle{background:#1c1c1c;border-color:#ee6a2f}
  .nav-toggle span{background:#fff}
  .mainnav{background:linear-gradient(180deg,#181818,#242424)!important;border-color:#ee6a2f;box-shadow:0 14px 30px rgba(0,0,0,.50)}
  .mainnav>a{color:#fff;border-bottom-color:rgba(238,106,47,.20)}
  .mainnav>a:hover,.mainnav>a:focus-visible{color:#f38a58}
  .hero{background:#181818}
  .hero-photo{background:linear-gradient(0deg,#262626,#3a3a3a)}
  .hero-shade{background:linear-gradient(180deg,#171717 0%,rgba(24,24,24,.78) 12%,rgba(24,24,24,.08) 32%,rgba(24,24,24,.02) 55%,rgba(20,20,20,.91) 60%,#181818 82%)}
}


/* ===== V25: colores tomados de la imagen de referencia ===== */
:root{
  --forest:#20201b;
  --deep:#16181c;
  --green:#22c55e;
  --bright:#35d979;
  --gold:#df7a2f;
  --cream:#f7f3ec;
  --ink:#22252b;
  --frame:rgba(223,122,47,.22);
}
body{background:#f3eee6;color:#fff}
body:before{
  background:
    linear-gradient(96deg,rgba(17,18,20,.76),rgba(28,29,33,.34)),
    url('/assets/fotos/foto-39.webp') center/cover no-repeat;
  filter:saturate(1.02)
}
.ambient{
  background:
    radial-gradient(circle at 95% 8%,rgba(237,213,92,.22),transparent 15%),
    radial-gradient(circle at 3% 8%,rgba(223,122,47,.16),transparent 14%),
    linear-gradient(180deg,transparent 0%,rgba(16,17,19,.12) 100%)
}
.site-frame{
  border:1px solid rgba(230,220,205,.78);
  background:linear-gradient(180deg,rgba(27,29,33,.28),rgba(27,29,33,.08) 26%,rgba(247,243,236,.02) 26%,rgba(247,243,236,.02));
  box-shadow:0 20px 50px rgba(0,0,0,.18)
}
.topline{color:#ece0cf}
.header{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(90deg,rgba(20,22,26,.96),rgba(30,32,36,.94) 60%,rgba(40,32,24,.92));
  box-shadow:0 10px 26px rgba(0,0,0,.18)
}
.mainnav>a,.footer-nav a{color:#fff}
.mainnav>a.active:after{background:var(--gold);height:2px;border-radius:2px}
.mainnav>a:hover,.mainnav>a:focus-visible,.footer-nav a:hover,.footer-nav a:focus-visible{color:#ffd2ae}
.nav-social a,.gallery-all,.gallery-control,.map-button,.footer-social a,.contact-social a,.action,.viewer button{border-color:rgba(223,122,47,.52)!important}
.nav-social a,.gallery-all,.map-button,.footer-social a,.contact-social a,.action.outline{background:rgba(25,27,31,.64)}
.nav-social .nav-wa,.action.green,.green{
  background:linear-gradient(180deg,#34d97a,#1fc55d)!important;
  color:#fff;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 4px rgba(255,255,255,.20)
}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(16,18,22,.80) 0%,rgba(18,20,24,.46) 32%,rgba(18,20,24,.08) 65%,rgba(18,20,24,.24) 100%),
    linear-gradient(0deg,rgba(16,18,22,.26),transparent 34%)
}
.eyebrow{color:#df7a2f}
.eyebrow.dark{color:#df7a2f}
.hero h1 em,.hero-slogan b,.service-more svg,.gallery-all svg{color:var(--gold)}
.hero-quote{border:1px solid rgba(223,122,47,.46);background:rgba(25,27,31,.45)}
.hero-slogan{color:#fff7ef}
.services-section,.inner-panel,.contact-page,.cms-new-page{
  background:linear-gradient(180deg,#f8f4ed 0%,#f3eee6 100%);
  color:#22252b;
  border:1px solid #ebe1d4;
  box-shadow:0 12px 28px rgba(0,0,0,.09)
}
.service-card,.info-card,.enquiry input:not([type=checkbox]),.enquiry select,.enquiry textarea,.reviews-real .google-review-card{
  background:#fffdf9;
  border-color:#eadfce
}
.service-card{box-shadow:0 6px 16px rgba(34,37,43,.06)}
.service-card:hover{box-shadow:0 14px 28px rgba(34,37,43,.10)}
.photo-window{background:linear-gradient(130deg,#4d371d,#936628)}
.service-icon,.bubble{background:#20201b;color:#fff}
.simple-link,.google-review-card a,.cms-new-page a{color:#a5631f!important}
.gallery-section{color:#fff}
.gallery-image{border:2px solid rgba(255,255,255,.84);background:#605c22}
.gallery-control{background:#20201b}
.info-card{border:1px solid #ebe1d4;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.map-teaser{background:repeating-linear-gradient(32deg,#f0ebe1 0,#f0ebe1 10px,#fbf7ef 10px,#fbf7ef 24px,#e7dfd0 24px,#e7dfd0 33px);color:#3b342d}
.map-button{color:#2a2d31;background:#fffaf3}
.footer{
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(90deg,rgba(20,22,26,.98),rgba(28,30,34,.96) 60%,rgba(37,31,25,.96));
}
.footer-logo strong,.footer-logo span,.footer-logo small,.footer-nav a,.footer-script,.subfooter{color:#fff}
.subfooter{color:#ddd2c3}
.viewer{background:#16181c;border:1px solid rgba(223,122,47,.44)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #df7a2f;outline-offset:3px}
.real-map{background:#f2ece3;border:1px solid #e4d7c7}
.map-load{background:linear-gradient(180deg,#20201b,#2a2d31);color:#fff;border:1px solid rgba(223,122,47,.45)}
.google-review-stars{color:#e2a02d}
@media(max-width:780px){
  .header{background:linear-gradient(90deg,rgba(20,22,26,.98),rgba(30,32,36,.96) 60%,rgba(40,32,24,.96))}
  .nav-toggle{border:1px solid rgba(223,122,47,.52);border-radius:12px;background:rgba(20,22,26,.88)}
  .nav-toggle span{background:#fff}
  .mainnav{background:linear-gradient(180deg,#17191d,#23252b)!important;border:1px solid rgba(223,122,47,.35);box-shadow:0 14px 30px rgba(0,0,0,.45)}
  .mainnav>a{border-bottom:1px solid rgba(255,255,255,.08)}
  .hero{background:#17191d}
  .hero-photo{background:linear-gradient(0deg,#20201b,#605c22)}
  .hero-shade{background:linear-gradient(180deg,#17191d 0%,rgba(22,24,28,.88) 12%,rgba(20,22,26,.10) 32%,rgba(20,22,26,.02) 55%,rgba(22,24,28,.95) 60%,#17191d 82%)}
}

/* V28 — imágenes completas, sin recortes ni fondos borrosos. */
.hero-photo{
  object-fit:contain !important;
  object-position:center center !important;
  background:#173d2b;
}
.photo-window,.gallery-image,.inner-image .photo-window{
  background:#173d2b !important;
}
.photo-backdrop{
  display:none !important;
}
.photo-window img:not(.photo-backdrop),
.gallery-image img:not(.photo-backdrop),
.inner-image .photo-window img:not(.photo-backdrop),
.service-card .photo-window img:not(.photo-backdrop){
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
.gallery-image:hover img:not(.photo-backdrop),
.service-card:hover .photo-window img:not(.photo-backdrop){
  transform:none !important;
}
.map-photo-link img,.review-snippet img{
  width:100%;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
/* La navegación ya no contiene un WhatsApp global: cada página tiene un único CTA. */
.mainnav{justify-content:flex-end}
@media(max-width:780px){
  .hero-photo{object-fit:contain !important;object-position:center center !important;}
}


/* ===== V30 — galería completa y fotografías sin recortes ===== */
body:before{
  background:
    radial-gradient(circle at 92% 8%,rgba(237,213,92,.18),transparent 18%),
    radial-gradient(circle at 4% 10%,rgba(223,122,47,.13),transparent 18%),
    linear-gradient(135deg,#1b1d20 0%,#26231f 44%,#19241d 100%) !important;
  filter:none !important;
}
.inner-panel.text-only{grid-template-columns:1fr !important;max-width:none}
.gallery-link-only{padding-bottom:28px}
.gallery-link-only .gallery-title{margin-bottom:8px}
.gallery-link-only .gallery-note{margin:6px 4px 0;max-width:620px;color:#f1eadf;font-size:14px;line-height:1.45}
.full-gallery-section .gallery-title{margin-bottom:16px}
.full-gallery-stage{position:relative}
.gallery-full-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  overflow:visible !important;
  scroll-snap-type:none !important;
  padding:0 !important;
}
.gallery-full-grid .gallery-image{
  width:100% !important;
  height:250px !important;
  min-width:0 !important;
  flex:none !important;
  scroll-snap-align:none !important;
  background:#173d2b !important;
}
.gallery-full-grid .gallery-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
@media(max-width:900px){.gallery-full-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-full-grid .gallery-image{height:220px!important}}
@media(max-width:640px){.gallery-full-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-full-grid .gallery-image{height:210px!important}.services-heading h2{line-height:1.04}}
@media(max-width:390px){.gallery-full-grid{grid-template-columns:1fr}.gallery-full-grid .gallery-image{height:260px!important}}


/* V30 related media + complete image safeguards */
.related-media-section{margin:22px 0 6px}.related-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.related-media-card{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #eadfce;min-height:220px;display:flex;align-items:center;justify-content:center}.related-media-card img{display:block;width:100%;height:100%;max-height:340px;object-fit:contain;object-position:center;background:#f6eee3}.inner-image .photo-window img,.inner-panel .photo-window img,.gallery-full-grid .gallery-image img{object-fit:contain!important;object-position:center!important}.full-gallery-section .gallery-image{background:#f4eadc!important}.contact-map-layout{grid-template-columns:1fr!important}.contact-map-photo{max-width:820px;width:100%;margin-inline:auto}
@media(max-width:700px){.related-media-grid{grid-template-columns:1fr}.related-media-card{min-height:180px}.related-media-card img{max-height:300px}}


/* ===== V32 — galería completa restaurada como carrusel ===== */
.full-gallery-stage{position:relative;padding:0 2px}
.gallery-full-carousel{
  display:flex !important;
  gap:10px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 10px !important;
}
.gallery-full-carousel::-webkit-scrollbar{display:none}
.gallery-full-carousel .gallery-image{
  flex:0 0 calc((100% - 40px)/5) !important;
  width:auto !important;
  min-width:0 !important;
  height:190px !important;
  scroll-snap-align:start !important;
  background:#f4eadc !important;
}
.gallery-full-carousel .gallery-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.full-gallery-stage .gallery-control{display:grid!important;place-items:center;z-index:8}
@media(max-width:900px){.gallery-full-carousel .gallery-image{flex-basis:calc((100% - 20px)/3)!important;height:180px!important}}
@media(max-width:640px){.gallery-full-carousel{gap:8px!important;padding-inline:2px!important}.gallery-full-carousel .gallery-image{flex-basis:calc((100% - 16px)/3)!important;height:160px!important}}
@media(max-width:390px){.gallery-full-carousel .gallery-image{flex-basis:calc((100% - 12px)/2.15)!important;height:175px!important}}
