/* Biru #2564EA digunakan sebagai identitas visual; tipografi kembali ke navy yang nyaman dibaca. */
:root{
  --blue:#2564ea;
  --blue-dark:#1f55c9;
  --blue-logo:#2564ea;
  --navy:#142c5c;
  --ink:#142c5c;
  --muted:#5b6c85;
  --mist:#f4f8ff;
  --soft:#eaf2ff;
  --line:#c6dbff;
  --shadow:0 18px 42px rgba(37,100,234,.10);
  --shadow-deep:0 24px 56px rgba(20,44,92,.20);
}

body{background:linear-gradient(180deg,#fff 0%,#f7faff 100%);color:var(--ink)}
body:before{border-left-color:rgba(37,100,234,.20)}
.site-header{border-bottom-color:#d7e5ff;background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(20,44,92,.045)}
.site-nav{color:#52627c}
.site-nav a:hover{color:#2564ea}
.hero{background:radial-gradient(circle at 10% 10%,rgba(255,242,166,.46),transparent 18rem),radial-gradient(circle at 86% 68%,rgba(198,220,255,.66),transparent 22rem),linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.hero h1,.section-title,.entry h1,.card h3,.faq-list summary,.gallery-item h3,.hb-form label{color:#142c5c}
.hero p,.section-copy,.card p,.gallery-item p,.faq-list p{color:#5b6c85}
.hero-card{border:0;background:linear-gradient(145deg,#5c91ec,#2564ea);box-shadow:0 20px 46px rgba(37,100,234,.17)}
.hero-photo:before{background:linear-gradient(0deg,rgba(20,44,92,.40),rgba(20,44,92,0) 68%)}
.hero-card div{border-color:rgba(255,255,255,.22);background:rgba(20,44,92,.88)}
.hero-stats span{border-color:#d7e5ff;box-shadow:0 11px 26px rgba(37,100,234,.06)}
.hero-stats b{color:#142c5c}
.section.mist{background:linear-gradient(180deg,#fffdf4 0%,#eff6ff 100%)}
.card,.testimonial-card,.gallery-item,.faq-list,.hb-form{border-color:#d7e5ff;box-shadow:0 12px 32px rgba(20,44,92,.06)}
.card:hover{border-color:#a8c8ff;box-shadow:0 18px 40px rgba(37,100,234,.12)}
.service-card:before{background:rgba(255,196,0,.20)}
.service-card .price{border-top-color:#d7e5ff;color:#2564ea}
.grid.services .service-card:nth-child(2),.grid.services .service-card:nth-child(5){border-color:#2564ea;background:linear-gradient(145deg,#4d86e8,#2564ea);box-shadow:inset 0 4px 0 #ffc400,0 18px 36px rgba(37,100,234,.18)}
.grid.services .service-card:nth-child(2) p,.grid.services .service-card:nth-child(5) p{color:#e2edff}
.grid.services .service-card:nth-child(2) .price,.grid.services .service-card:nth-child(5) .price{border-top-color:rgba(255,255,255,.28)}
.gallery-tile{background:#2564ea;border-color:rgba(255,196,0,.38);box-shadow:0 14px 32px rgba(37,100,234,.11)}
.gallery-tile:after{background:linear-gradient(0deg,rgba(20,44,92,.82),rgba(20,44,92,.02) 68%)}
.testimonial-card blockquote{color:#142c5c}
.testimonial-card footer{border-top-color:#d7e5ff}
.why{background:linear-gradient(135deg,#2564ea,#1f55c9)}
.why .card{border-color:rgba(255,255,255,.20);background:rgba(255,255,255,.09)}
.why .card p{color:#e4efff}
.booking-note{background:linear-gradient(145deg,#4d86e8,#2564ea);box-shadow:inset 0 4px 0 #ffc400,0 22px 48px rgba(37,100,234,.20)}
.booking-note p{color:#e4efff}
.hb-form input,.hb-form select,.hb-form textarea{border-color:#d7e5ff;background:#f8fbff;color:#142c5c}
.hb-form input:focus,.hb-form select:focus,.hb-form textarea:focus{border-color:#2564ea;box-shadow:0 0 0 4px rgba(37,100,234,.12)}
.notice{background:#fff8cf;color:#725700}
.site-footer{background:linear-gradient(135deg,#2564ea,#1f55c9);box-shadow:inset 0 5px 0 #ffc400}
.site-footer p,.site-footer a{color:#e4efff}
.footer-bottom{border-top-color:rgba(255,255,255,.24)}
.float-wa{right:18px;bottom:18px;gap:10px;min-height:56px;border-color:rgba(255,255,255,.72);background:#2564ea;padding:8px 18px 8px 8px;color:#fff;box-shadow:0 16px 34px rgba(37,100,234,.32)}
.float-wa-icon{display:grid;width:39px;height:39px;place-items:center;border-radius:50%;background:#fff;color:#2564ea;box-shadow:0 4px 12px rgba(20,44,92,.16)}
.float-wa-icon svg{width:22px;height:22px}
.float-wa-copy{display:grid;gap:1px;line-height:1.15;text-align:left}
.float-wa-eyebrow{color:#dce9ff;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.float-wa-label{font-size:.78rem;font-weight:800}
.float-wa:hover{background:#1f55c9}
.float-wa:focus-visible{outline:3px solid #ffc400;outline-offset:3px}
@media(max-width:680px){.float-wa{right:12px;bottom:12px;min-height:52px;padding:7px 14px 7px 7px}.float-wa-icon{width:37px;height:37px}.float-wa-label{font-size:.74rem}}
