:root{--navy:#06172f;--navy2:#0b315f;--gold:#d79b27;--gold2:#f0c56a;--paper:#fffdf8;--cream:#f7f3ea;--ink:#10233d;--muted:#677384;--line:#e7dfd0;--white:#fff;--shadow:0 18px 50px rgba(6,23,47,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.62}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--navy);color:#e8eef5;font-size:.83rem}.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:9px 0}.topbar a{color:#f4d68f;text-decoration:none}.header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(215,155,39,.25)}.nav-wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-logo{display:flex;align-items:center;text-decoration:none;line-height:0}.brand-logo img{width:82px;height:82px;object-fit:contain;border-radius:12px}.nav{display:flex;gap:24px;align-items:center}.nav a{text-decoration:none;color:#19324f;font-weight:700;font-size:.92rem}.nav a:hover,.nav a.active{color:#b8770f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#c78319,#e8b84e);color:#07182f;padding:13px 20px;border-radius:9px;text-decoration:none;font-weight:850;border:0;box-shadow:0 9px 24px rgba(185,122,19,.20)}.btn.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:none}.btn.light{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.menu-btn{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-size:1.25rem}.hero{position:relative;background:linear-gradient(90deg,rgba(5,23,47,.98) 0%,rgba(5,23,47,.86) 42%,rgba(5,23,47,.28) 74%,rgba(5,23,47,.14) 100%),url('assets/hero-hd.jpg') center/cover no-repeat;color:#fff}.hero .container{min-height:560px;display:flex;align-items:center}.hero-copy{max-width:650px;padding:72px 0}.eyebrow,.kicker{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:900}.hero h1,.page-hero h1,.section h2,.cta h2{font-family:Georgia,serif}.hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:1.02;margin:.18em 0;color:#fff}.hero h1 span{color:#efb642}.lead{font-size:1.12rem;color:#e4ebf2;max-width:590px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.section{padding:82px 0}.section.alt{background:var(--cream)}.section-head{text-align:center;max-width:850px;margin:0 auto 36px}.section h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.1;margin:.12em 0;color:var(--navy)}.section-head p{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(6,23,47,.06);transition:.22s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card img{width:100%;height:210px;object-fit:cover}.card-body{padding:23px}.card h3{margin:0 0 8px;color:var(--navy)}.card p{margin:0;color:var(--muted)}.card-link{display:inline-block;margin-top:16px;color:#a76c10;font-weight:850;text-decoration:none}.page-hero{background:linear-gradient(115deg,#06172f,#0b315f);color:#fff;padding:58px 0;border-bottom:2px solid var(--gold)}.page-hero .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.03;margin:.18em 0}.page-hero p{color:#d9e4ef;max-width:700px}.page-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(240,197,106,.28)}.page-photo img{width:100%;height:310px;object-fit:cover}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature{background:#fff;border:1px solid var(--line);border-radius:15px;padding:27px;box-shadow:0 8px 26px rgba(6,23,47,.045)}.feature h3{margin-top:0;color:var(--navy)}.feature p,.feature li{color:var(--muted)}.feature ul{padding-left:20px}.detail-list{display:grid;gap:24px}.service-detail{display:grid;grid-template-columns:340px 1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(6,23,47,.055);scroll-margin-top:120px}.service-detail img{width:100%;height:240px;object-fit:cover}.service-detail .copy{padding:26px 0}.service-detail h2{font-size:2rem;margin:0 0 7px}.service-detail ul{columns:2;gap:26px;padding-left:20px;color:var(--muted)}.service-detail .side-actions{display:grid;gap:10px;padding-right:24px;min-width:190px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{border-radius:20px;box-shadow:var(--shadow);width:100%;height:420px;object-fit:cover}.stats{background:var(--navy);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:30px 0}.stat{padding:8px 20px;border-left:1px solid rgba(255,255,255,.13)}.stat:first-child{border-left:0}.stat strong{display:block;font:700 1.7rem Georgia,serif;color:var(--gold2)}.stat span{color:#d5e0ea}.cta{background:linear-gradient(100deg,#06172f,#0b315f);color:#fff;padding:55px 0}.cta .inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.cta h2{font-size:clamp(2rem,4vw,3rem);line-height:1.06;margin:.15em 0}.footer{background:#03101f;color:#c7d1dc;border-top:2px solid var(--gold);padding:46px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.footer .brand-logo img{width:112px;height:112px}.footer h4{color:#fff}.footer a{display:block;color:#c7d1dc;text-decoration:none;margin:8px 0}.footer a:hover{color:var(--gold2)}.copyright{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.83rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}.contact-card{background:var(--navy);color:#fff;padding:32px;border-radius:18px}.contact-card img{border-radius:14px;height:220px;width:100%;object-fit:cover;margin-bottom:22px}.contact-card a{color:#f1cc77}.form{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#fff;padding:28px;border:1px solid var(--line);border-radius:18px}.form label{font-weight:800;font-size:.87rem}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #d5dbe3;border-radius:8px;margin-top:6px;font:inherit}.full{grid-column:1/-1}.booking-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px}.booking-info,.scheduler{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(6,23,47,.06)}.booking-info{padding:26px}.booking-info img{width:100%;height:210px;object-fit:cover;border-radius:14px;margin-bottom:18px}.scheduler{overflow:hidden}.scheduler-head{padding:22px 24px;border-bottom:1px solid var(--line)}.scheduler-body{padding:24px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-toolbar button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-label{text-align:center;font-size:.75rem;font-weight:900;color:var(--muted)}.day{aspect-ratio:1;border:0;background:transparent;border-radius:10px}.day.available:not(.selected){background:#fff6e4;color:#9d6715;font-weight:800;cursor:pointer}.day.disabled{color:#cbd1d7}.day.selected{background:var(--navy);color:#fff}.time-panel{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.time-slot{padding:12px;border:1px solid #d5b168;background:#fff;border-radius:8px;color:#8f5f12;font-weight:800}.time-slot.selected,.time-slot:hover{background:var(--gold);color:var(--navy)}.booking-summary{display:none;margin-top:16px;padding:15px;background:var(--cream);border-radius:10px}.booking-summary.show{display:block}
@media(max-width:980px){.nav{display:none}.menu-btn{display:block}.header .btn{display:none}.services,.footer-grid,.stats-grid{grid-template-columns:1fr 1fr}.page-hero .hero-grid,.split,.grid-2,.contact-grid,.booking-wrap{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr}.service-detail .copy,.service-detail .side-actions{padding:0 24px 24px}.service-detail ul{columns:1}.service-detail img{height:280px}}
@media(max-width:620px){.topbar .container{display:block}.brand-logo img{width:66px;height:66px}.hero .container{min-height:520px}.hero-copy{padding:55px 0}.services,.footer-grid,.stats-grid,.form{grid-template-columns:1fr}.page-photo img{height:230px}.cta .inner{flex-direction:column;align-items:flex-start}.time-slots{grid-template-columns:1fr}.full{grid-column:auto}}

/* Netlify consultation booking form */
.booking-note{margin-top:20px;padding:14px 16px;background:#fff6e4;border-left:4px solid var(--gold);border-radius:8px;color:var(--ink)}
.booking-form{margin-top:24px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(6,23,47,.06)}
.booking-form[hidden]{display:none}
.booking-form-head{margin-bottom:20px}
.booking-form-head h3{margin:.2em 0 .35em;color:var(--navy);font:700 1.8rem Georgia,serif}
.booking-form-head p{margin:0;color:var(--muted)}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.booking-form-grid label{font-weight:800;font-size:.87rem;color:var(--ink)}
.booking-form-grid input,.booking-form-grid textarea,.booking-form-grid select{width:100%;padding:13px;border:1px solid #d5dbe3;border-radius:8px;margin-top:6px;font:inherit;background:#fff;color:var(--ink)}
.booking-form-grid input:focus,.booking-form-grid textarea:focus,.booking-form-grid select:focus{outline:2px solid rgba(215,155,39,.28);border-color:var(--gold)}
.selected-appointment-box{display:flex;flex-direction:column;gap:3px;margin:20px 0;padding:15px 17px;background:var(--cream);border:1px solid var(--line);border-radius:10px}
.selected-appointment-box strong{color:var(--navy)}
.booking-submit{width:100%;cursor:pointer;font-size:1rem}
.booking-disclaimer{margin:12px 0 0;color:var(--muted);font-size:.83rem;text-align:center}
.hidden-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:620px){.booking-form{padding:20px}.booking-form-grid{grid-template-columns:1fr}.booking-form-grid .full{grid-column:auto}}
