:root{--bg:#f7f3ee;--beige:#ece3d6;--sand:#d6c5ad;--ink:#141414;--ink2:#3d3d3d;--ink3:#7a7772;--r:22px;--h:'Cormorant Garamond',Georgia,serif;--b:'DM Sans',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:var(--b);font-weight:300;background:var(--bg);color:var(--ink2);line-height:1.7;font-size:1.05rem;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--h);color:var(--ink);line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:600;margin-bottom:1.2rem}
h3{font-size:1.5rem;font-weight:700;margin-bottom:.8rem}
p+p{margin-top:1rem}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{width:min(1180px,90%);margin-inline:auto}
.section{padding:7rem 0}.section .wrap+.wrap{margin-top:6rem}
.alt{background:var(--beige)}
.center{text-align:center}

.btn{display:inline-block;padding:.95rem 2rem;border-radius:99px;font-weight:500;font-size:.95rem;border:1.5px solid transparent;cursor:pointer;font-family:var(--b);transition:.3s}
.btn-light{background:var(--bg);color:var(--ink)}.btn-light:hover{background:var(--sand)}
.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{background:var(--ink2);transform:translateY(-2px)}
.btn-line{border-color:var(--ink);color:var(--ink);background:none}.btn-line:hover{background:var(--ink);color:var(--bg)}

.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 5%;transition:transform .4s,background .3s,color .3s;color:#fff}
.nav.scrolled{background:rgba(247,243,238,.92);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav.hide{transform:translateY(-100%)}
.logo{font-family:var(--h);font-weight:600;font-size:1.6rem}.logo span{color:var(--sand)}
.nav-links{display:flex;gap:2.4rem;font-size:.95rem;font-weight:400}
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;height:1.5px;width:0;background:currentColor;transition:.3s}
.nav-links a:hover::after{width:100%}
.close,.burger{display:none;background:none;border:0;color:inherit;cursor:pointer}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.3s;z-index:45}
.backdrop.show{opacity:1;pointer-events:auto}

.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}
.slides,.slide{position:absolute;inset:0}
.slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s;transform:scale(1.08)}
.slide.active{opacity:1;transform:scale(1);transition:opacity 1.6s,transform 8s linear}
.slides::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,10,10,.55),rgba(10,10,10,.65))}
.hero-inner{position:relative;z-index:2;padding:0 6%}
.hero h1{color:#fff;font-size:clamp(2.8rem,9vw,7rem);font-weight:600;animation:rise 1.2s both}
.hero p{max-width:34rem;margin:1.4rem auto 2.2rem;font-size:1.2rem;color:#eee;animation:rise 1.2s .25s both}
.btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:rise 1.2s .5s both}
.scroll-hint{position:absolute;bottom:2rem;left:50%;translate:-50%;color:#fff;z-index:2;animation:bob 2s infinite}
@keyframes rise{from{opacity:0;transform:translateY(30px)}}
@keyframes bob{50%{transform:translateY(8px)}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.img-frame{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3.4;box-shadow:24px 24px 0 var(--beige)}
.img-frame.tall{aspect-ratio:1/1;box-shadow:-24px 24px 0 var(--beige)}
.img-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.img-frame:hover img{transform:scale(1.06)}
.checks li{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--sand)}
.checks i{margin-top:.35rem;width:1.4rem;color:var(--ink)}
.checks b{color:var(--ink);font-weight:500}

.statement p{font-family:var(--h);font-weight:500;font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.35;color:var(--ink);text-align:center;max-width:60rem;margin:auto}
mark{background:linear-gradient(var(--sand),var(--sand)) 0 92%/0 .35em no-repeat;color:inherit;transition:background-size 1.2s .4s}
.aos-animate mark,.statement.aos-animate mark{background-size:100% .35em}

.two{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.card{background:var(--beige);border-radius:var(--r);padding:3rem;transition:.4s}
.card:hover{transform:translateY(-6px)}
.card i{font-size:2rem;margin-bottom:1.5rem;color:var(--ink)}
.card.dark{background:var(--ink);color:#cfcbc4}.card.dark h3,.card.dark i{color:var(--bg)}
.buzzer{text-align:center}
.count{display:flex;justify-content:center;gap:1.5rem}
.count span{font-family:var(--h);font-weight:600;font-size:clamp(5rem,16vw,11rem);line-height:1;color:var(--sand);animation:flash 3s infinite}
.count span:nth-child(2){animation-delay:1s}.count span:nth-child(3){animation-delay:2s}
@keyframes flash{0%,100%{color:var(--sand);transform:scale(1)}12%{color:var(--ink);transform:scale(1.12)}30%{color:var(--sand);transform:scale(1)}}
.buzzer p{font-family:var(--h);font-size:clamp(1.6rem,4vw,2.8rem);font-weight:700;color:var(--ink)}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem}
.svc{background:var(--bg);border-radius:var(--r);padding:2.2rem 1.8rem;transition:.4s}
.svc:hover{background:var(--ink);color:#cfcbc4;transform:translateY(-8px)}
.svc:hover h3,.svc:hover i{color:var(--bg)}
.svc i{font-size:1.8rem;margin-bottom:1.4rem;color:var(--ink);transition:.4s}
.svc h3{font-size:1.25rem}

.gallery{margin-top:3.5rem;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:1rem;grid-auto-flow:dense}
.g{border-radius:18px;overflow:hidden}.g.tall{grid-row:span 2}.g.wide{grid-column:span 2}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.g:hover img{transform:scale(1.08)}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:stretch}
.info{margin:2rem 0}.info li{display:flex;gap:1rem;align-items:center;padding:.5rem 0}
.info i{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:.95rem;color:var(--ink);flex:none}
.info a:hover{text-decoration:underline}
.social{display:flex;gap:.8rem;margin-top:2rem}
.social a{width:3rem;height:3rem;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;color:var(--ink);transition:.3s}
.social a:hover{background:var(--ink);color:var(--bg);transform:translateY(-3px)}
.map{border-radius:var(--r);overflow:hidden;min-height:420px;background:var(--bg)}
.map iframe{width:100%;height:100%;min-height:420px;border:0}
.map-ph{height:100%;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}
.map-ph i{font-size:2.6rem;color:var(--ink3)}

.footer{background:var(--ink);color:#a8a49d;padding:6rem 0 2rem}
.footer .big{color:var(--bg);font-size:clamp(2.8rem,10vw,8.5rem);font-weight:600;margin:0;line-height:1}
.slogan{font-size:1.3rem;color:var(--sand);margin:1rem 0 3rem}
.f-links{display:flex;gap:2rem;flex-wrap:wrap;padding:1.6rem 0;border-block:1px solid #2c2c2c;color:var(--bg)}
.f-links a:hover,.f-bottom a:hover{color:var(--sand)}
.f-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.6rem;font-size:.9rem}
.f-bottom nav{display:flex;gap:1.5rem;flex-wrap:wrap}

.cookie{position:fixed;left:1.5rem;bottom:1.5rem;z-index:100;width:min(420px,calc(100% - 3rem));background:rgba(20,20,20,.96);color:#d9d5ce;padding:1.6rem;border-radius:var(--r);box-shadow:0 20px 60px rgba(0,0,0,.35);animation:rise .6s both}
.cookie[hidden],.modal[hidden]{display:none}
.cookie h4{color:#fff;font-size:1.15rem;margin-bottom:.5rem}.cookie p{font-size:.92rem;line-height:1.55}
.c-btns{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.cookie .btn{padding:.65rem 1.1rem;font-size:.85rem}
.cookie .btn-dark{background:var(--bg);color:var(--ink)}.cookie .btn-line{border-color:#666;color:#fff}
.modal{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:1rem}
.modal-box{background:var(--bg);border-radius:var(--r);padding:2rem;width:min(500px,100%)}
.modal-box h4{font-size:1.5rem;margin-bottom:1rem}
.row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--sand)}
.row small{display:block;color:var(--ink3);font-size:.85rem}
.row input{width:2.6rem;height:1.4rem;accent-color:var(--ink);cursor:pointer}
.modal .btn{padding:.7rem 1.2rem;font-size:.9rem}

@media(max-width:1000px){.grid4{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
 .section{padding:4.5rem 0}.section .wrap+.wrap{margin-top:4rem}
 .split,.two,.contact{grid-template-columns:1fr;gap:2.5rem}
 .split.reverse .img-frame{order:2}
 .img-frame,.img-frame.tall{box-shadow:12px 12px 0 var(--beige)}
 .burger{display:flex;flex-direction:column;gap:7px;padding:8px}
 .burger span{width:28px;height:2px;background:currentColor}.burger span:last-child{width:18px;margin-left:auto}
 .nav-links{position:fixed;top:0;right:0;height:100dvh;width:min(320px,80%);background:var(--bg);color:var(--ink);flex-direction:column;gap:1.6rem;padding:6rem 2.2rem;font-family:var(--h);font-size:1.5rem;font-weight:700;transform:translateX(100%);transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:60}
 .nav-links.open{transform:none}
 .close{display:block;position:absolute;top:1.3rem;right:1.4rem;font-size:1.6rem}
 .card{padding:2rem}
}
@media(max-width:560px){.grid4{grid-template-columns:1fr}.gallery{grid-auto-rows:170px}.cookie{left:.75rem;bottom:.75rem;width:calc(100% - 1.5rem)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}mark{background-size:100% .35em}}

body{font-size:1.08rem}
h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.05}
h2{font-size:clamp(2.5rem,5.5vw,4.4rem);font-weight:500}
h3{font-size:1.9rem;font-weight:600}
.hero h1{font-weight:500;font-size:clamp(3.4rem,10vw,8rem)}
.hero p{font-size:1.3rem}
.footer .big{font-weight:500}.footer .big em{color:var(--sand);font-weight:500}
.statement p{font-size:clamp(1.4rem,2.6vw,2.15rem);line-height:1.5;font-weight:500}
.svc h3{font-size:1.55rem}
.section{position:relative;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(60px);z-index:0;pointer-events:none;animation:drift 14s ease-in-out infinite}
.b1{width:420px;height:420px;background:var(--beige);top:8%;right:-120px}
@keyframes drift{50%{transform:translate(-40px,50px) scale(1.1)}}
.section .wrap{position:relative;z-index:1}
.img-frame{position:relative;overflow:visible}
.img-frame img{border-radius:var(--r)}
.badge{position:absolute;right:-28px;bottom:-28px;width:120px;height:120px;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.stats{display:flex;gap:2.4rem;margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid var(--sand);flex-wrap:wrap}
.stats b{font-family:var(--h);font-size:3.2rem;font-weight:600;color:var(--ink);line-height:1}
.stats span{font-family:var(--h);font-size:1.6rem;color:var(--ink)}
.stats small{display:block;font-size:.85rem;color:var(--ink3)}
.checks li{align-items:flex-start;transition:padding .3s}.checks li:hover{padding-left:.6rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.chips span{font-size:.82rem;padding:.35rem .9rem;border:1px solid currentColor;border-radius:99px;opacity:.85}
mark{background-image:linear-gradient(var(--sand),var(--sand));background-position:0 90%;background-repeat:no-repeat;background-size:0 .3em}
.aos-animate mark{background-size:100% .3em}
.card p+p{margin-top:.8rem}

.band{background:var(--ink);color:#cfcbc4;text-align:center;padding:7rem 0;position:relative;overflow:hidden}
.band .lead{font-family:var(--h);font-size:clamp(1.6rem,3.2vw,2.5rem);color:var(--bg);line-height:1.3;margin-bottom:3rem}
.buzz-btn{position:relative;width:150px;height:150px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#f5ede0,var(--sand));box-shadow:0 10px 0 #8d7c66,0 20px 40px rgba(0,0,0,.5);font-family:var(--h);font-size:1.4rem;font-weight:700;color:var(--ink);transition:.15s}
.buzz-btn:active{transform:translateY(8px);box-shadow:0 2px 0 #8d7c66}
.buzz-btn::before{content:"";position:absolute;inset:-14px;border:2px solid var(--sand);border-radius:50%;animation:ping 2.2s infinite}
@keyframes ping{from{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}
.band .count span{animation:none;color:#2f2f2f;transition:.4s}
.band .count span.on{color:var(--bg);transform:scale(1.1)}
.band .count{margin-top:3rem}
.smile{font-family:var(--h);font-style:italic;font-size:clamp(2rem,5vw,3.6rem);color:var(--sand);opacity:0;transform:scale(.8);transition:.5s;margin:0!important}
.smile.on{opacity:1;transform:none}
.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.flash.go{animation:fl .6s}
@keyframes fl{0%{opacity:.95}100%{opacity:0}}

.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4rem}
.steps li{counter-increment:s;position:relative;padding-top:4.5rem}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;font-family:var(--h);font-size:5rem;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--sand)}
.steps li::after{content:"";position:absolute;top:2.4rem;left:4rem;right:-1rem;border-top:1px dashed var(--sand)}
.steps li:last-child::after{display:none}
.steps li:nth-child(n+3)::before{top:-.9rem}
.steps li:nth-child(n+3)::after{top:1.5rem}
.steps h3{font-size:1.6rem}

.intro{max-width:46rem;margin:0 auto;text-align:center}
.sub{margin:5rem 0 2rem;font-size:2.2rem}
.opts{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:1.5rem}
.opt{background:var(--bg);border-radius:var(--r);padding:2.4rem;transition:.4s}
.opt:hover{transform:translateY(-6px)}
.opt i{font-size:1.8rem;margin-bottom:1.3rem;color:var(--ink)}
.opt.dark{background:var(--ink);color:#cfcbc4}.opt.dark h3,.opt.dark i{color:var(--bg)}
.narrow{width:min(820px,90%)}
.faq details{border-bottom:1px solid var(--sand);padding:1.3rem 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:var(--h);font-size:1.5rem;font-weight:600;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.8rem;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-top:.8rem;max-width:40rem;animation:rise .4s}
@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}.steps li::after{display:none}.opts{grid-template-columns:1fr}}
@media(max-width:820px){.badge{right:-8px;bottom:-24px;width:96px;height:96px}}
@media(max-width:560px){.steps{grid-template-columns:1fr}.stats{gap:1.6rem}}

.legal-hero{background:var(--beige);padding:9rem 0 4rem}
.legal-hero h1{font-size:clamp(2.8rem,7vw,5rem);font-weight:500}
.legal-hero p{margin-top:1rem;color:var(--ink3);max-width:36rem}
.legal{padding:4rem 0 6rem}
.legal h2{font-size:2rem;font-weight:600;margin:2.8rem 0 .8rem}
.legal h3{font-size:1.4rem;margin:1.6rem 0 .4rem}
.legal p{max-width:44rem}.legal p+p{margin-top:.9rem}
.legal ul{margin:.8rem 0 .8rem 1.2rem;list-style:disc;max-width:44rem}.legal li{margin:.35rem 0;padding-left:.2rem}
.legal a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.legal .btn-small{padding:.55rem 1.2rem;font-size:.85rem;margin-left:.4rem;text-decoration:none}
.ph{background:#f3e3a3;color:var(--ink);padding:0 .25em;border-radius:4px}
.note{background:var(--beige);border-left:3px solid var(--ink);padding:1rem 1.2rem;border-radius:0 12px 12px 0;margin-bottom:2rem;font-size:.95rem}
.table-wrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--sand);border-radius:14px}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.92rem}
th,td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--sand);vertical-align:top}
th{background:var(--beige);font-weight:500;color:var(--ink)}tr:last-child td{border:0}
.legal-foot{padding:4rem 0 2rem}.legal-foot .big{font-size:clamp(2.4rem,7vw,5rem)}
.cookie a{text-decoration:underline}

:root{--logo:120px;--logo-top:-8px}
.logo{display:block;position:relative;width:var(--logo);height:44px;flex:none;z-index:2}
.logo img{position:absolute;top:var(--logo-top);left:0;width:var(--logo);height:var(--logo);object-fit:contain;border-radius:50%;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));transition:transform .4s}
.logo:hover img{transform:scale(1.05) rotate(-3deg)}
.nav.hide{transform:translateY(calc(-100% - var(--logo)))}
@media(max-width:820px){:root{--logo:88px;--logo-top:-4px}}

.logo img{background:#fff;padding:2px;filter:none;box-shadow:0 8px 24px rgba(20,20,20,.25),0 0 0 3px rgba(255,255,255,.85)}
.nav.scrolled .logo img{box-shadow:0 8px 24px rgba(20,20,20,.18),0 0 0 3px var(--beige)}

.credit {
    font-family: sans-serif;
    font-size: 14px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.2rem;
}

.credit a {
    display: flex;
    align-items: center;
}

.img__credit {
    height: 60px;
    margin-left: 5px;
    transition: 0.3s ease-in-out;
}

.img__credit:hover {
    transform: scale(1.1);
}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;margin-top:1.8rem}
.price-row p{margin:0;font-size:1.05rem;color:var(--ink2)}
.price-row b{font-family:var(--h);font-size:2.2rem;font-weight:600;color:var(--ink);margin-left:.4rem}
.price-info p+p{margin-top:.3rem}
.price-sub{font-size:.85rem!important;color:var(--ink3)!important}
.price-sub span{font-weight:500;color:var(--ink2)}
.price-info{flex:1 1 240px;min-width:0}
.c-actions{display:flex;flex-wrap:wrap;gap:.8rem 1rem}
.btn-wa{display:inline-flex;align-items:center;gap:.6rem;background:#1da851;color:#fff}
.btn-wa i{font-size:1.25rem;line-height:1}
.btn-wa:hover{background:#178f44;transform:translateY(-2px)}