:root{--primary:#c88352;--dark:#27322b;--hero-image:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfaf7;color:#292925;font-family:"DM Sans",sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.announcement{background:#27322b;color:#e9e2d8;font-size:12px;padding:8px 0}.announcement .container{display:flex;justify-content:space-between}.announcement a{color:var(--primary);font-weight:700}.header{position:absolute;z-index:10;width:100%;top:34px;color:#fff;padding:20px 0}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center}.brand .paw{font-size:30px}.brand b{display:block;font:700 21px/1 "Playfair Display",serif}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:4px}.nav nav{display:flex;gap:23px;align-items:center;font-size:13px}.nav nav>a{opacity:.92}.nav-button{border:1px solid rgba(255,255,255,.6);padding:10px 17px;border-radius:99px}.menu{display:none;background:none;border:0;color:#fff;font-size:28px}.hero{height:790px;position:relative;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:var(--hero-image) center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,28,24,.84),rgba(25,28,24,.28) 68%,rgba(25,28,24,.12))}.hero-inner{position:relative;height:100%;display:flex;align-items:center}.hero-copy{padding-top:55px;max-width:720px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:700;color:var(--primary);margin-bottom:15px}.eyebrow.light{color:#e8bd99}.hero h1{font:700 clamp(56px,7vw,96px)/1.02 "Playfair Display",serif;margin:0}.hero h1 em,h2 em{font-style:normal;color:var(--primary)}.hero p{font-size:18px;max-width:590px;color:#eee8e1;margin:25px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{border:0;border-radius:99px;padding:14px 21px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:14px;cursor:pointer}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary)}.button.outline{border:1px solid rgba(255,255,255,.6);color:#fff}.light-btn{background:#fff;color:#27322b}.trust{margin-top:25px;font-size:12px;color:#cfc8bf}.trust span{color:var(--primary);letter-spacing:2px;margin-right:8px}.hero-bottom{position:absolute;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.2);background:rgba(20,22,19,.18)}.hero-stats{display:flex}.hero-stats div{flex:1;padding:22px 0;display:flex;align-items:baseline;gap:10px;color:#ddd}.hero-stats b{font:700 25px "Playfair Display",serif;color:#fff}.hero-stats span{font-size:11px;text-transform:uppercase;letter-spacing:1px}.section{padding:105px 0}.two-col,.heading-row,.about-grid,.booking-grid,.contact-grid,.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}h2{font:700 clamp(43px,5vw,65px)/1.08 "Playfair Display",serif;margin:0}.lead{font-size:19px;color:#68645d;max-width:520px}.text-link,.service a,.price>a{color:var(--primary);font-weight:700;display:inline-block;margin-top:16px}.intro{background:#f3eee6}.cards{margin-top:60px}.three{display:grid;grid-template-columns:repeat(3,1fr)}.cards article{padding:32px;border-top:1px solid #d9d0c4}.icon{font-size:30px;color:var(--primary)}.cards h3{font:600 25px "Playfair Display",serif;margin:12px 0 7px}.cards p{color:#68645d;margin:0}.services{background:#fff}.heading-row{margin-bottom:50px;align-items:end}.heading-row>p{max-width:360px;color:#6c665e}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service{border:1px solid #e4ddd3;padding:30px;position:relative;min-height:300px;transition:.25s}.service:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(55,40,25,.08)}.service-num{position:absolute;right:25px;top:25px;color:#b7aea4;font-size:12px}.service-icon{font-size:30px;color:var(--primary)}.service h3{font:600 28px "Playfair Display",serif;margin:17px 0 8px}.service p{color:#6d675f;max-width:450px}.service>div:last-child{position:absolute;left:30px;right:30px;bottom:25px;display:flex;justify-content:space-between;align-items:center}.service>div:last-child b{color:var(--primary)}.split-banner{display:grid;grid-template-columns:1fr 1fr;min-height:540px;background:#27322b;color:#fff}.split-photo{background:var(--hero-image) center/cover}.split-copy{padding:90px;display:flex;flex-direction:column;justify-content:center}.split-copy h2{max-width:600px}.split-copy p{max-width:540px;color:#cfd2cb}.split-copy .button{align-self:flex-start;margin-top:15px}.about{background:#eee6dc}.about-grid{align-items:center}.about-image{position:relative}.about-image>img{width:100%;height:610px;object-fit:cover}.floating-card{position:absolute;right:-30px;bottom:35px;background:#fff;padding:20px 25px;display:flex;gap:13px;align-items:center;box-shadow:0 15px 35px #3c332733}.floating-card b{font:700 38px "Playfair Display",serif;color:var(--primary)}.floating-card small{line-height:1.3;color:#706961}.about-copy p{color:#625d55}.about-copy ul{padding:0;list-style:none;line-height:2.2;color:#56524c;font-weight:600;font-size:14px}.signature{border-top:1px solid #d1c7ba;margin-top:25px;padding-top:20px;display:flex;gap:12px;align-items:baseline}.signature b{font:700 25px "Playfair Display",serif}.signature span{font-size:12px;color:#797169}.gallery{background:#fff}.masonry{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:260px 260px;gap:14px}.masonry button{border:0;padding:0;overflow:hidden;cursor:pointer;background:#eee}.masonry button:first-child{grid-row:span 2}.masonry img{width:100%;height:100%;object-fit:cover;transition:.45s}.masonry button:hover img{transform:scale(1.06)}.before-after{background:#f3eee6}.center-head{text-align:center;max-width:750px;margin:0 auto 48px}.center-head p{color:#6b655e}.comparison{height:520px;position:relative;overflow:hidden}.comparison>img,.comparison .before,.comparison .before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison .before{width:52%;overflow:hidden}.comparison .before img{width:100vw;max-width:none;object-position:center}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.divider{position:absolute;top:0;bottom:0;left:52%;width:3px;background:#fff;box-shadow:0 0 10px #0005;pointer-events:none}.divider:after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:45px;height:45px;border-radius:50%;background:#fff;color:#333;display:grid;place-items:center;font-weight:700}.pricing{background:#fff}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price{border:1px solid #e2dbd2;padding:32px;position:relative}.price.featured{border:2px solid var(--primary)}.popular{position:absolute;right:16px;top:16px;background:var(--primary);color:#fff;font-size:9px;letter-spacing:1px;padding:5px 8px}.price h3{font:600 27px "Playfair Display",serif;margin:0}.price p{color:#6c665f;min-height:60px}.price>strong{display:block;font:700 39px "Playfair Display",serif;margin:22px 0}.price>strong small{font:500 12px "DM Sans",sans-serif;color:#777}.price ul{list-style:none;padding:0;border-top:1px solid #e6e0d7;border-bottom:1px solid #e6e0d7;padding:15px 0;line-height:2;color:#5d5953;font-size:13px}.price li:before{content:"✓ ";color:var(--primary);font-weight:700}.reviews{background:#2d302b;color:#fff}.reviews h2{margin-bottom:48px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.review-grid blockquote{margin:0;font:500 20px/1.5 "Playfair Display",serif;color:#e8e2db}.review-grid footer{font:600 11px "DM Sans",sans-serif;color:#aaa79f;margin-top:20px}.review-grid footer span{float:right;color:var(--primary);letter-spacing:2px}.faq{background:#f3eee6}.faq-grid{align-items:start}.faq-grid>div:first-child p{color:#6a655d}.accordion details{border-top:1px solid #d4cabd;padding:20px 0}.accordion details:last-child{border-bottom:1px solid #d4cabd}.accordion summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between}.accordion summary:after{content:"+";font-size:20px;color:var(--primary)}.accordion details[open] summary:after{content:"−"}.accordion p{color:#6b655e;margin-bottom:0}.booking{background:#dce5dc}.booking-grid{align-items:start}.booking-copy p{color:#5f665f}.contact-box{border-top:1px solid #bdc9bd;margin-top:28px;padding-top:20px;display:flex;flex-direction:column}.contact-box b{font:700 25px "Playfair Display",serif}.contact-box span,.contact-box a{font-size:12px;color:#657065}.form{background:#fff;padding:32px;box-shadow:0 20px 45px #31413215}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form label{display:block;font-size:11px;font-weight:700;color:#555a54;margin-bottom:15px}.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;border:1px solid #dedbd5;padding:12px;border-radius:4px;outline:0;background:#fff}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--primary)}.form .check{display:flex;gap:8px;align-items:flex-start;font-weight:500;color:#777}.form .check input{width:auto;margin:2px 0}.form .button{width:100%}.form>small{display:block;margin-top:12px;color:#888;font-size:10px}.success{margin-top:12px;padding:11px;background:#e9f4e8;color:#416245;font-size:12px}.contact{background:#fff;padding-bottom:0}.contact-grid{align-items:start;padding-bottom:80px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-info b{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:10px;color:var(--primary);margin-bottom:7px}.contact-info span,.contact-info a{color:#635e57;font-size:14px}.map{height:300px;background:#ddd9d0;background-image:linear-gradient(45deg,#d9d4ca 25%,transparent 25%,transparent 75%,#d9d4ca 75%),linear-gradient(45deg,#d9d4ca 25%,transparent 25%,transparent 75%,#d9d4ca 75%);background-size:40px 40px;background-position:0 0,20px 20px;display:flex;align-items:center}.map-placeholder{background:#fff;padding:25px;box-shadow:0 15px 30px #2222;display:flex;flex-direction:column;max-width:300px}.map-placeholder b{font:700 22px "Playfair Display",serif}.map-placeholder span,.map-placeholder a{font-size:12px;color:#69635c}.map-placeholder a{color:var(--primary);font-weight:700;margin-top:10px}footer{background:#252421;color:#d7d0c8;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-brand{color:#fff}.footer-grid>div>p{font-size:13px;color:#9f9991;max-width:280px}.footer-grid>div>b{display:block;color:#fff;margin-bottom:13px}.footer-grid a,.footer-grid span{display:block;color:#a8a098;font-size:12px;margin:6px 0}.footer-bottom{border-top:1px solid #403d38;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#827c75;font-size:10px}.footer-bottom a{color:#bca18c;text-decoration:underline}.lightbox{display:none;position:fixed;z-index:100;inset:0;background:#151513ee;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh}.lightbox button{position:absolute;right:25px;top:10px;background:none;border:0;color:#fff;font-size:46px;cursor:pointer}
@media(max-width:850px){.nav nav{display:none;position:absolute;top:70px;right:20px;background:#27322b;padding:18px;min-width:220px;border-radius:8px;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.menu{display:block}.hero{height:730px}.hero-stats div{display:block}.hero-stats b,.hero-stats span{display:block}.two-col,.heading-row,.about-grid,.booking-grid,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.three,.review-grid,.price-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.split-banner{grid-template-columns:1fr}.split-photo{min-height:380px}.split-copy{padding:65px 30px}.about-image>img{height:500px}.floating-card{right:15px}.masonry{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.masonry button:first-child{grid-row:span 2}.comparison{height:420px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.section{padding:80px 0}}
@media(max-width:520px){.container{width:calc(100% - 28px)}.announcement .container{display:none}.header{top:8px}.hero h1{font-size:55px}.hero p{font-size:16px}.actions .button{width:100%}.hero-stats{display:none}.split-photo{min-height:300px}.split-copy{padding:55px 20px}.masonry{grid-template-columns:1fr;grid-template-rows:260px}.masonry button:first-child{grid-row:auto}.form-row{grid-template-columns:1fr}.contact-info{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.comparison{height:330px}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}

/* White-label additions */
.lang-switch{display:flex;gap:5px;margin-left:auto;margin-right:18px}.lang-switch button{border:1px solid #ffffff55;background:transparent;color:#fff;border-radius:999px;padding:4px 8px;font:700 10px "DM Sans",sans-serif;cursor:pointer}.lang-switch button.active{background:#fff;color:#27322b}.mweb-cta{background:#efe7dc;padding:54px 0}.mweb-cta .container{display:flex;align-items:center;justify-content:space-between;gap:35px}.mweb-cta small{letter-spacing:2px;color:var(--primary);font-weight:700}.mweb-cta h2{font-size:38px;margin:6px 0 8px}.mweb-cta p{margin:0;color:#6b655e;max-width:680px}.mweb-cta .button{flex:0 0 auto}
@media(max-width:700px){.announcement .container{display:flex}.announcement .container>a{display:none}.announcement .container>span{font-size:9px}.lang-switch{margin-right:0}.mweb-cta .container{display:block}.mweb-cta .button{margin-top:22px;width:100%}}

/* Footer free-image gallery */
.footer-gallery-wrap{margin-top:34px;padding-top:28px;border-top:1px solid #403d38}.footer-gallery-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:14px}.footer-gallery-head b{color:#fff;font-size:12px}.footer-gallery-head span{color:#8f8982;font-size:10px}.footer-gallery{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.footer-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;opacity:.86;transition:opacity .2s ease,transform .2s ease}.footer-gallery img:hover{opacity:1;transform:translateY(-2px)}
@media(max-width:850px){.footer-gallery{grid-template-columns:repeat(5,1fr)}.footer-gallery-head{display:block}.footer-gallery-head span{display:block;margin-top:4px}}
@media(max-width:520px){.footer-gallery{grid-template-columns:repeat(3,1fr)}}

/* MesterWeb sales block — same visual hierarchy as the other MesterWeb demos */
.mweb-cta{background:#815064;color:#fff;padding:74px 0}
.mweb-cta .mweb-cta-grid{display:grid;grid-template-columns:minmax(0,1.8fr) auto;align-items:center;gap:70px}
.mweb-cta .mweb-cta-copy{max-width:820px}
.mweb-cta .eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;color:#ead8cf;margin-bottom:16px}
.mweb-cta h2{font:600 clamp(42px,5vw,68px)/.98 "Playfair Display",serif;color:#fff;margin:0 0 22px;max-width:780px}
.mweb-cta p{font-size:15px;line-height:1.7;color:#eadfe4;max-width:760px;margin:0}
.mweb-cta .mweb-button{background:#f4eee6;color:#211e1c;border:0;min-width:290px;text-align:center;font-weight:700;padding:17px 22px}
.mweb-cta .mweb-button:hover{background:#fff;color:#211e1c}
@media(max-width:850px){.mweb-cta{padding:58px 0}.mweb-cta .mweb-cta-grid{grid-template-columns:1fr;gap:30px}.mweb-cta h2{font-size:46px}.mweb-cta .mweb-button{width:100%;min-width:0}}
@media(max-width:520px){.mweb-cta h2{font-size:38px}.mweb-cta{padding:50px 0}}

.footer-sources{margin-top:34px;padding-top:24px;border-top:1px solid #403d38}.footer-sources>b{display:block;color:#fff;font-size:12px;margin-bottom:8px}.footer-sources p{margin:0;color:#918a83;font-size:11px}.footer-sources a{color:#c9aa93;text-decoration:underline;font-weight:600;margin-left:4px}.footer-sources a:hover{color:#fff}

/* Sales demo refinements */
.hero-stats b{white-space:nowrap}.review-grid footer span{float:none;color:#aaa79f;letter-spacing:0}.floating-card b{font-size:24px}.announcement [data-i18n="announcement"]{font-weight:700}
@media(max-width:900px){.hero-stats b{font-size:20px}}
