:root{
  --rose:#b96555;
  --rose-dark:#8d4338;
  --rose-soft:#e7aa9c;
  --peach:#f5d8d1;
  --ivory:#fffaf8;
  --paper:#fffefd;
  --ink:#38231f;
  --muted:#745e58;
  --line:rgba(141,67,56,.16);
  --shadow:0 24px 60px rgba(105,55,45,.14);
  --radius:28px;
  --container:min(1180px,calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-60px;background:#fff;padding:12px 18px;z-index:9999;border-radius:10px}.skip-link:focus{top:20px}
.topbar{background:linear-gradient(90deg,var(--rose-dark),var(--rose));color:#fff;font-size:13px}
.topbar-inner{height:36px;display:flex;justify-content:space-between;align-items:center;gap:18px}.topbar a:hover{opacity:.78}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,250,248,.88);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.3s}
.site-header.scrolled{border-color:var(--line);box-shadow:0 10px 35px rgba(95,47,40,.08)}
.nav-wrap{height:88px;display:flex;align-items:center;gap:34px}.brand{align-self:flex-start;width:112px;height:112px;display:grid;place-items:center;background:#fff;border-radius:0 0 50% 50%;box-shadow:0 16px 30px rgba(110,65,55,.08);z-index:2}.brand img{width:94px;height:94px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.main-nav a{font-size:14px;font-weight:600;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--rose);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 24px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--rose-soft),var(--rose));color:#fff;box-shadow:0 12px 25px rgba(185,101,85,.25)}.btn-outline{border-color:rgba(185,101,85,.45);color:var(--rose-dark);background:rgba(255,255,255,.7)}.btn-light{background:#fff;color:var(--rose-dark)}.btn-full{width:100%;border:0}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:5px;transition:.2s}
.hero{position:relative;min-height:690px;display:flex;align-items:center;padding:88px 0 60px;overflow:hidden;background:radial-gradient(circle at 14% 15%,#fff 0,#fffaf8 42%,#f7ded8 100%)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(180deg,transparent,var(--ivory))}.hero-glow{position:absolute;border-radius:50%;filter:blur(12px);opacity:.45}.glow-one{width:340px;height:340px;background:#f4b8aa;right:5%;top:5%}.glow-two{width:220px;height:220px;background:#fff;left:35%;bottom:6%}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:64px;position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--rose);font-size:12px;font-weight:700}.hero h1,.section-heading h2,.about-copy h2,.faq-intro h2,.contact-panel h2{font-family:"Playfair Display",serif;line-height:1.08;margin:16px 0 22px}.hero h1{font-size:clamp(48px,6vw,78px);font-weight:600}.hero h1 em{display:block;font-family:"Sacramento",cursive;font-size:1.05em;font-weight:400;color:var(--rose);margin-top:6px}.hero-copy>p{font-size:18px;color:var(--muted);max-width:600px}.hero-actions{display:flex;gap:14px;margin:34px 0}.hero-mini{display:flex;gap:30px;color:var(--muted);font-size:13px}.hero-mini b{display:block;color:var(--ink);font-size:16px}
.hero-image-wrap{position:relative;border-radius:48px 48px 48px 140px;overflow:visible}.hero-image-wrap>img{width:100%;height:530px;object-fit:cover;border-radius:inherit;box-shadow:var(--shadow)}.hero-logo-card{position:absolute;left:-45px;bottom:-34px;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);box-shadow:0 20px 45px rgba(91,49,41,.2);border:1px solid rgba(185,101,85,.14)}.hero-logo-card img{width:150px}.floating-note{position:absolute;padding:12px 17px;border-radius:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);box-shadow:0 12px 28px rgba(80,45,39,.12);font-size:13px;font-weight:700}.floating-note span{color:var(--rose);margin-right:5px}.note-one{right:-20px;top:70px}.note-two{right:18px;bottom:38px}
.trust-strip{position:relative;z-index:3;margin-top:-30px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 55px rgba(84,48,40,.1);overflow:hidden}.trust-item{display:flex;align-items:center;gap:14px;padding:24px 22px;position:relative}.trust-item:not(:last-child):after{content:"";position:absolute;right:0;top:28%;bottom:28%;width:1px;background:var(--line)}.trust-item>span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--rose);font-size:24px}.trust-item b,.trust-item small{display:block}.trust-item small{color:var(--muted);line-height:1.4;margin-top:2px}
.section{padding:105px 0}.section-heading{text-align:center;max-width:720px;margin:0 auto 46px}.section-heading h2,.about-copy h2,.faq-intro h2,.contact-panel h2{font-size:clamp(36px,4.3vw,56px)}.section-heading p{color:var(--muted)}
.services{background:linear-gradient(180deg,var(--ivory),#fff)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(96,55,47,.07);transition:.3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 46px rgba(96,55,47,.14)}.service-card img{width:100%;height:170px;object-fit:cover}.service-card>div{padding:22px}.service-card span{font-size:11px;letter-spacing:.2em;color:var(--rose);font-weight:700}.service-card h3{font-family:"Playfair Display",serif;font-size:23px;margin:8px 0}.service-card p{color:var(--muted);font-size:14px;margin:0}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.about-media{position:relative}.about-media>img{width:100%;height:540px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.about-media:before{content:"";position:absolute;inset:-20px 45px 35px -20px;border:1px solid rgba(185,101,85,.35);border-radius:40px;z-index:-1}.about-badge{position:absolute;right:-25px;bottom:40px;background:linear-gradient(135deg,var(--rose-dark),var(--rose));color:#fff;padding:20px 24px;border-radius:20px;box-shadow:0 18px 40px rgba(108,57,48,.28)}.about-badge b,.about-badge span{display:block}.about-badge b{font-family:"Playfair Display",serif;font-size:22px}.about-copy p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:26px 0}.check-list li{margin:11px 0;padding-left:30px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--rose);font-weight:700}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--rose-dark);font-weight:700}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(5px)}
.gallery{background:linear-gradient(180deg,#fff,var(--ivory))}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}.gallery-item{position:relative;border:0;padding:0;border-radius:22px;overflow:hidden;background:#eee}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(49,25,21,.72))}.gallery-item span{position:absolute;left:20px;bottom:16px;color:#fff;font-family:"Playfair Display",serif;font-size:22px;z-index:2}.gallery-item:hover img{transform:scale(1.08)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}
.quote-section{padding-top:30px}.quote-card{min-height:300px;border-radius:38px;background:linear-gradient(135deg,var(--rose-dark),var(--rose),#d98f7e);color:#fff;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:35px;padding:48px 60px;box-shadow:var(--shadow);position:relative;overflow:hidden}.quote-card:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-120px;top:-150px}.quote-card img{width:150px;filter:brightness(0) invert(1);opacity:.88}.quote-card blockquote{font-family:"Playfair Display",serif;font-size:clamp(30px,4vw,48px);line-height:1.2;margin:0}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-intro p{color:var(--muted)}.accordion details{border-bottom:1px solid var(--line);padding:20px 0}.accordion summary{list-style:none;font-weight:700;cursor:pointer;padding-right:40px;position:relative}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";position:absolute;right:0;top:-3px;color:var(--rose);font-size:26px}.accordion details[open] summary:after{content:"−"}.accordion p{color:var(--muted);margin:12px 0 0}
.contact{background:linear-gradient(180deg,var(--ivory),#f6d7cf)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:stretch}.contact-panel,.appointment-form{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.8);border-radius:30px;padding:42px;box-shadow:0 20px 50px rgba(105,55,45,.1)}.contact-panel p{color:var(--muted)}.contact-info{display:grid;gap:16px;margin-top:30px}.contact-info>a,.contact-info>div{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.contact-info span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rose);font-size:20px}.contact-info small,.contact-info b{display:block}.contact-info small{color:var(--muted)}
.appointment-form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appointment-form label{font-size:13px;font-weight:700;color:var(--ink)}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;margin-top:7px;padding:14px 15px;border-radius:13px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;transition:.2s}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(185,101,85,.12)}.form-note{color:var(--muted);text-align:center}.map-wrap{margin-top:36px}.map-wrap iframe{width:100%;height:390px;border:0;border-radius:30px;box-shadow:var(--shadow)}
footer{background:linear-gradient(110deg,#8f483c,#c26f5e);color:#fff;padding:72px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:54px}.footer-brand img{width:150px;filter:brightness(0) invert(1)}footer h3{font-family:"Playfair Display",serif;font-size:20px;margin-top:0}footer a,footer p{display:block;color:rgba(255,255,255,.82);font-size:14px;margin:8px 0}footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:50px;padding:18px 0;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.72)}
.floating-whatsapp{position:fixed;right:22px;bottom:24px;z-index:900;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:28px;box-shadow:0 12px 30px rgba(37,211,102,.35);animation:pulse 2.4s infinite}.mobile-action-bar{display:none}.lightbox{position:fixed;inset:0;background:rgba(25,13,11,.9);z-index:2000;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(1000px,95vw);max-height:85vh;border-radius:22px}.lightbox button{position:absolute;top:22px;right:26px;width:48px;height:48px;border-radius:50%;border:0;background:#fff;font-size:28px}
.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(max-width:1020px){
  .nav-cta{display:none}.main-nav{gap:18px}.hero-grid{gap:30px}.service-grid{grid-template-columns:repeat(3,1fr)}.quote-card{grid-template-columns:120px 1fr}.quote-card .btn{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  :root{--container:min(720px, calc(100% - 28px))}.topbar-inner span{display:none}.topbar-inner{justify-content:space-between}.nav-wrap{height:72px}.brand{width:86px;height:92px}.brand img{width:76px;height:76px}.menu-toggle{display:block;margin-left:auto;z-index:1002}.main-nav{position:fixed;top:72px;left:14px;right:14px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:18px;opacity:0;transform:translateY(-10px);pointer-events:none;transition:.25s}.main-nav.open{opacity:1;transform:none;pointer-events:auto}.main-nav a{padding:12px}.hero{padding-top:70px}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.hero-actions,.hero-mini{justify-content:center}.hero-visual{max-width:620px;margin:auto}.hero-image-wrap>img{height:460px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2):after{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.about-grid{gap:50px}.about-copy{order:-1}.gallery-grid{grid-template-columns:1fr 1fr}.quote-card{grid-template-columns:1fr;text-align:center;padding:40px 26px}.quote-card img{margin:auto}.quote-card .btn{grid-column:auto;justify-self:center}.footer-grid{grid-template-columns:1fr 1fr}.floating-whatsapp{bottom:84px}.mobile-action-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(70,35,30,.12)}.mobile-action-bar a{text-align:center;padding:14px 6px;font-weight:700;font-size:13px}.mobile-action-bar a:nth-child(2){background:#25d366;color:#fff}.mobile-action-bar a:nth-child(3){background:var(--rose);color:#fff}body{padding-bottom:50px}
}
@media(max-width:560px){
  .hero{min-height:auto}.hero h1{font-size:45px}.hero h1 em{font-size:1em}.hero-actions{flex-direction:column;align-items:stretch}.hero-mini{flex-direction:column;gap:10px}.hero-image-wrap>img{height:390px}.hero-logo-card{width:120px;height:120px;left:-6px;bottom:-22px}.hero-logo-card img{width:106px}.floating-note{display:none}.trust-grid{grid-template-columns:1fr}.trust-item:after{display:none!important}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:130px 1fr}.service-card img{height:100%;min-height:155px}.service-card>div{padding:18px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-item.tall{grid-row:auto}.gallery-item.wide{grid-column:auto}.about-media>img{height:390px}.about-badge{right:12px;bottom:18px}.form-row{grid-template-columns:1fr}.contact-panel,.appointment-form{padding:26px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.section{padding:78px 0}.section-heading h2,.about-copy h2,.faq-intro h2,.contact-panel h2{font-size:38px}.quote-card blockquote{font-size:32px}
}
