:root{--blue:#0b3b5c;--blue-dark:#17354c;--gold:#d0ad78;--gold-light:#e2c08f;--text:#243746;--muted:#6a6f76;--cream:#fbf7f0;--shadow:0 18px 45px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.topbar{height:132px;display:flex;align-items:center;gap:34px;padding:0 8%;background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 1px 10px rgba(0,0,0,.04)}.logo{display:flex;align-items:center;flex:0 0 auto}.logo img{width:160px;max-height:96px;height:auto;object-fit:contain}.nav{display:flex;gap:28px;margin-left:auto;text-transform:uppercase;font-size:12px;font-weight:800}.nav a{padding:16px 0;color:#193a53}.nav .active{border-bottom:3px solid var(--blue)}.header-cta{display:flex;flex-direction:column;gap:13px;align-items:center;flex:0 0 auto}.phone{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:22px;font-weight:800;white-space:nowrap}.gold{display:inline-flex;align-items:center;justify-content:center;background:var(--gold-light);color:var(--blue-dark);text-transform:uppercase;font-weight:800;padding:17px 31px;border-radius:6px;font-size:13px;text-align:center}.menu{display:none;background:none;border:0;color:var(--blue);font-size:34px;line-height:1;cursor:pointer}.site-icon{display:inline-block;object-fit:contain;vertical-align:middle;flex:0 0 auto}.header-cta .phone .site-icon,.btn .site-icon{width:22px;height:22px}
.hero{min-height:650px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 36%,rgba(255,255,255,.42) 58%,rgba(255,255,255,0) 78%),url('assets/hero.jpg') center/cover no-repeat}.hero-content{position:relative;max-width:560px;padding:78px 0 0 8%}.eyebrow{text-transform:uppercase;color:#c4a06d;font-weight:800;letter-spacing:1.2px;font-size:16px;margin:0 0 14px}.center{text-align:center}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--blue);margin:0}h1{font-size:60px;line-height:.98;margin:18px 0 25px}h2{font-size:42px;line-height:1.05;text-align:center}h3{font-size:26px;line-height:1.1}.lead{font-size:18px;line-height:1.75;color:#4d5963;margin:0 0 30px}.buttons{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:6px;padding:18px 26px;font-weight:800;text-transform:uppercase;font-size:13px;border:2px solid transparent;cursor:pointer}.btn.primary{background:var(--blue);color:white}.btn.outline{background:white;color:var(--blue);border-color:var(--blue)}.btn.small{padding:15px 22px;margin-top:22px}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:760px}.badges div{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.badges .site-icon{width:58px;height:58px;margin-bottom:8px}.badges b{color:#1e2d39;text-transform:uppercase;font-size:11px;line-height:1.35}
.services,.gallery,.service-areas,.reviews,.contact{padding:62px 8%}.line{display:block;width:72px;height:3px;background:var(--gold);margin:16px auto 34px}.line.left{margin-left:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.cards article{position:relative;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);text-align:center;padding-bottom:28px}.cards article>img{width:100%;height:210px;object-fit:cover}.round{width:86px;height:86px;margin:-43px auto 14px;border-radius:50%;background:#fff;display:grid;place-items:center;position:relative;box-shadow:0 8px 25px rgba(0,0,0,.12)}.round .site-icon{width:48px;height:48px}.cards p{padding:0 22px;color:var(--muted);font-size:14px;line-height:1.6;min-height:68px}.service-link{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;border-bottom:2px solid var(--gold);padding-bottom:4px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;padding:70px 8%;background:var(--cream)}.about-photo{position:relative}.about-photo>img{width:100%;border-radius:10px;box-shadow:var(--shadow)}.contact-card{position:absolute;right:24px;bottom:-34px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:20px;max-width:300px}.contact-card img:first-child{width:110px;margin-bottom:8px}.contact-card p{display:flex;align-items:flex-start;gap:9px;margin:8px 0;color:#42505a;font-size:13px;line-height:1.45}.contact-card .site-icon{width:18px;height:18px;margin-top:1px}.about-text h2{text-align:left;font-size:46px}.about-text p{color:#48535d;line-height:1.75}.features{display:grid;gap:18px;margin-top:22px}.features div{display:grid;grid-template-columns:50px 1fr;column-gap:12px;align-items:start}.features .site-icon{width:42px;height:42px;grid-row:1/3}.features b{color:var(--blue)}.features span{color:var(--muted);font-size:13px;line-height:1.5}
.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:28px}.gallery-grid img{width:100%;height:190px;object-fit:cover;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.08)}.service-areas{text-align:center;background:#fff}.service-areas .areas-text{max-width:760px;margin:14px auto 22px;color:#3f4850;line-height:1.6}.area-list{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.area-list span{border:1px solid rgba(11,59,92,.18);background:var(--cream);color:var(--blue);border-radius:999px;padding:12px 18px;font-size:13px;font-weight:800}.reviews{text-align:center;background:var(--cream)}.reviews p{color:var(--muted);font-size:17px}.contact{text-align:center;background:var(--blue);color:white}.contact h2{color:white}.contact p{color:rgba(255,255,255,.82)}form{max-width:650px;margin:28px auto 0;display:grid;gap:13px}input,textarea{width:100%;border:0;border-radius:6px;padding:16px;font:inherit}textarea{min-height:120px;resize:vertical}.website-field{position:absolute;left:-9999px;opacity:0;height:0;width:0}form .btn{width:100%}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 8%;background:#092d45;color:white}footer a{color:white;text-decoration:underline}footer .gold{color:var(--blue-dark);text-decoration:none}footer .site-icon{width:32px;height:32px;margin-right:8px;display:inline-block}.mobile-panel{display:none}
@media(max-width:1100px){.topbar{padding:0 5%;gap:20px}.nav{gap:16px}.phone{font-size:18px}.gold{padding:14px 20px}.cards{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.topbar{height:92px;padding:0 22px;justify-content:space-between}.logo img{width:132px;max-height:72px}.nav,.header-cta{display:none}.menu{display:block;margin-left:auto}.mobile-panel{display:none;position:fixed;top:92px;left:0;right:0;z-index:999;background:#fff;border-top:1px solid rgba(11,59,92,.08);border-radius:0 0 16px 16px;box-shadow:0 18px 40px rgba(0,0,0,.18);padding:18px 24px 24px;max-height:calc(100vh - 92px);overflow:auto}.mobile-panel.open{display:block}.mobile-nav{display:flex;flex-direction:column}.mobile-nav a{display:block;padding:16px 0;border-bottom:1px solid rgba(11,59,92,.12);color:var(--blue);font-size:14px;font-weight:800;text-transform:uppercase}.mobile-cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-top:14px}.mobile-cta .phone{justify-content:center;font-size:19px;padding:7px 0}.mobile-cta .gold{width:100%}body.mobile-menu-open{overflow:hidden}.hero{min-height:auto}.hero-bg{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.88)),url('assets/hero.jpg') center/cover no-repeat}.hero-content{padding:60px 24px;max-width:none;text-align:center}.buttons{justify-content:center}.badges{max-width:100%;gap:12px}.badges .site-icon{width:42px;height:42px}.badges b{font-size:9px}h1{font-size:48px}h2{font-size:36px}.about{grid-template-columns:1fr;padding:58px 24px}.contact-card{position:static;margin:18px auto 0}.about-text h2{text-align:center}.line.left{margin-left:auto}.gallery-grid{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;text-align:center}.services,.gallery,.service-areas,.reviews,.contact{padding:52px 24px}}
@media(max-width:560px){.topbar{padding:0 18px}.logo img{width:118px;max-height:64px}h1{font-size:42px}.lead{font-size:16px}.buttons{flex-direction:column}.btn{width:100%;padding:16px 18px}.badges{grid-template-columns:repeat(4,1fr);gap:8px}.badges .site-icon{width:34px;height:34px}.badges b{font-size:8px;line-height:1.25}.cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:230px}.area-list span{width:100%}.cards article>img{height:230px}}

/* Fix: make About image render reliably */
.about-photo > img{
  display:block;
  height:auto;
  object-fit:cover;
}
