@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Work+Sans:wght@300;400;600;700&display=swap');

:root{
  --c-bg: #D9E3EA;
  --c-block: #A0BCCE;
  --c-title: #5F88A3;
  --c-cta: #395C80;
  --c-text: #243B52;
  --muted: #395C80;
  --white: #ffffff;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(36,59,82,0.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%;margin:0;font-family:'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:22px}

.header{position:fixed;top:0;left:0;right:0;z-index:9999;background:transparent;backdrop-filter:blur(6px);width:100%}
body{padding-top:104px}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:12px}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:80px;width:auto}
.logo .text{font-family:'Playfair Display', serif;font-weight:600;color:var(--c-title);font-size:1.15rem}

.nav-links{display:flex;align-items:center;gap:10px}
.nav-links a, .nav-links a.dropbtn{font-size: 15px;font-weight:600;color:var(--c-text);text-decoration:none;padding:8px 10px;border-radius:10px;background:transparent;border:none;cursor:pointer;display:inline-block}
.nav-links a:hover,.nav-links a.dropbtn:hover{background:rgba(255,255,255,0.6);transform:translateY(-3px)}

.dropdown{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border-radius:12px;box-shadow:var(--shadow);padding:8px;min-width:220px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .28s cubic-bezier(.2,.9,.25,1)}
.dropdown-menu a{display:block;padding:10px 12px;color:var(--c-text);text-decoration:none;border-radius:8px}
.dropdown-menu a:hover{background:var(--c-block);color:var(--white)}
.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}

.mobile-toggle{display:none;background:transparent;border:none;font-size:1.6rem}

.hero{background:linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));padding:36px;border-radius:16px;margin:22px 0;box-shadow:var(--shadow)}
.hero h1{font-family:'Playfair Display', serif;color:var(--c-title);font-size:37px;margin:0}
.hero p.lead{margin-top:10px;color:var(--muted);line-height:1.6}
.cta-row{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:700;border:2px solid transparent;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--c-title),var(--c-block));color:var(--white);box-shadow:0 8px 18px rgba(57,92,128,0.12)}
.btn-primary:hover{transform:translateY(-3px);filter:brightness(.98)}
.btn-ghost{background:transparent;border:2px solid rgba(36,59,82,0.08);color:var(--c-text)}
.btn-ghost:hover{transform:translateY(-3px);filter:brightness(.98)}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}}

.card{background:var(--white);border-radius:12px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(36,59,82,0.04);opacity:0;transform:translateY(18px);transition:all .9s cubic-bezier(.2,.9,.25,1)}
.card.reveal{opacity:1;transform:none}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(36,59,82,0.12);transition:all .3s ease}
.card h3{margin:0 0 8px 0;font-family:'Playfair Display',serif;color:var(--c-title)}
.card p{margin:0;color:var(--muted);line-height:1.6}

.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:880px){.services-grid{grid-template-columns:1fr}}
.service-card{background:linear-gradient(180deg,var(--white),#fbfdff);border-radius:12px;padding:16px;border:1px solid rgba(36,59,82,0.04);display:flex;flex-direction:column;gap:8px;align-items:flex-start;transition:all .3s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(36,59,82,0.15);border-color:var(--c-block)}
.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.price{font-weight:700;color:var(--c-cta)}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--c-block);color:var(--white);font-weight:700}

.section{padding:46px 0;border-top:1px solid rgba(36,59,82,0.04)}
.section .container{padding:0}
.section-title{font-family:'Playfair Display',serif;color:var(--c-title);font-size:30px;margin-bottom:12px;display:flex;align-items:baseline;gap:6px}
.section-title-icon{height:30px;width:auto;vertical-align:baseline;margin-right:0;transition:transform .3s ease}
.section-title:hover .section-title-icon{transform:scale(1.1) rotate(5deg)}

.footer{padding:0px;border-top:1px solid rgba(36,59,82,0.06);background:transparent}
.footer-inner{max-width:1100px;margin:0 auto;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative}
.footer-left{display:flex;flex-direction:column;gap:8px}
.footer-left img{width: 100px;height: auto;}
.footer-left p{margin:0;color:var(--muted);line-height:1.3}
.footer-center{flex:1;text-align:center;color:var(--muted)}
.footer-right{display:flex;gap:18px;align-items:center}
.footer-icons{display:flex;gap:12px;align-items:center}
.footer-icons a{display:inline-block;transition:transform .3s ease}
.footer-icons a:hover{transform:translateY(-4px) scale(1.1)}
.footer-icons img{height: 35px;object-fit: contain;border: none}
.footer-bottom{width: 100%;flex-basis: 100%;border-top: 1px solid rgba(36,59,82,0.04);padding: 0;text-align: center;color: var(--muted);font-size: 0.95rem}
.footer-bottom a{color: var(--c-cta); text-decoration: none; font-weight:600}

.kicker{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--c-block);color:var(--white);font-weight:700}
.muted{color:var(--muted)}

@media (max-width: 768px) {
  .logo-desktop{display: none}
  .logo-mobile{display: block;width: 120px}
}

.spaced{margin-top:18px}
.process-list li{margin-bottom:10px}
.process-list li:last-child{margin-bottom:0}

ul{list-style:none;padding-left:0;margin:12px 0}
ul li{margin-bottom:10px;padding-left:28px;position:relative;line-height:1.7}
ul li:before{content:'•';position:absolute;left:8px;color:var(--c-block);font-weight:700;font-size:1.4rem;line-height:1}
ul.checklist li:before{content:'✓';color:var(--c-title);font-size:1.1rem}

.inclusion-icon{width:48px;height:48px;margin-bottom:12px;object-fit:contain;transition:transform .3s ease}
.card:hover .inclusion-icon{transform:scale(1.1) rotate(5deg)}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

.reviews-carousel-wrapper{position:relative;display:flex;align-items:center;gap:20px}
.reviews-carousel{overflow:hidden;width:100%}
.reviews-track{display:flex;gap:20px;transition:transform 0.4s ease-in-out}
.review-card{min-width:calc(33.333% - 14px);background:var(--white);border-radius:12px;padding:24px;box-shadow:var(--shadow);border:1px solid rgba(36,59,82,0.04);display:flex;flex-direction:column;gap:12px}
.review-stars{display:flex;gap:4px;margin-bottom:4px}
.review-stars img{height:18px;width:auto}
.review-text{color:var(--c-text);line-height:1.6;margin:0;flex:1}
.review-author{color:var(--muted);font-style:italic;font-size:0.9rem;margin:0;margin-top:auto}
.carousel-arrow{background:var(--white);border:2px solid rgba(36,59,82,0.1);border-radius:50%;width:48px;height:48px;font-size:28px;color:var(--c-title);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;flex-shrink:0}
.carousel-arrow:hover{background:var(--c-block);color:var(--white);border-color:var(--c-block);transform:scale(1.1)}
.carousel-arrow:active{transform:scale(0.95)}
@media(max-width:980px){.review-card{min-width:calc(50% - 10px)}}
@media(max-width:640px){.review-card{min-width:100%}.carousel-arrow{width:40px;height:40px;font-size:24px}}
