:root{--teal:#0f3d3e;--teal2:#16595a;--sage:#dfe9e3;--cream:#f7f5ef;--ink:#1b2a2a;--gold:#f0b441;--gold-d:#d9992a}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.7;font-size:1.04rem}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:700;line-height:1.15;color:var(--teal)}
a{color:var(--teal2)}
img{max-width:100%;height:auto}

.site-nav{background:var(--cream);border-bottom:1px solid rgba(15,61,62,.12)}
.navbar-brand{font-family:'Fraunces',serif;font-weight:700;color:var(--teal)!important;font-size:1.3rem}
.navbar-brand i{color:var(--gold-d)}
.site-nav .nav-link{color:var(--ink);font-weight:500;font-size:.95rem;padding:.5rem .65rem}
.site-nav .nav-link.active,.site-nav .nav-link:hover{color:var(--teal2);box-shadow:inset 0 -2px 0 var(--gold)}
.btn-call{background:var(--teal);color:#fff;border-radius:50px;font-weight:700;font-size:.9rem;padding:.4rem 1rem;white-space:nowrap}
.btn-call:hover{background:var(--teal2);color:#fff}
.btn-accent{background:var(--gold);color:#1b2a2a;font-weight:700;border:0;border-radius:50px;padding:.6rem 1.4rem}
.btn-accent:hover{background:var(--gold-d);color:#1b2a2a}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff;border-radius:50px;font-weight:700;padding:.6rem 1.4rem}
.btn-ghost:hover{background:#fff;color:var(--teal)}

/* split-panel hero */
.hero{display:grid;grid-template-columns:5fr 6fr;min-height:calc(100vh - 62px)}
.hero-text{background:var(--teal);color:#fff;padding:clamp(2rem,6vw,5rem) clamp(1.5rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--gold);margin-bottom:1rem}
.hero-title{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem);margin-bottom:1.2rem}
.hero-sub{font-size:1.12rem;color:#dbe8e3;margin-bottom:1.8rem;max-width:34rem}
.hero-tag{margin:1.8rem 0 0;font-family:'Fraunces',serif;font-style:italic;color:var(--gold);font-size:1.2rem}
.hero-photo{background:url('img/hero.webp') 62% center/cover no-repeat;min-height:320px}

.strip{background:var(--sage)}
.strip-cell{padding:1.4rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;font-weight:700;color:var(--teal);font-size:.95rem}
.strip-cell i{font-size:1.5rem;color:var(--gold-d)}

.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section-tint{background:var(--cream)}
.section-dark{background:var(--teal);color:#dbe8e3}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark a:not(.btn){color:var(--gold)}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--gold-d);margin-bottom:.6rem}
.kicker-light{color:var(--gold)}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-bottom:1.2rem}
.head-narrow{max-width:46rem}
.mini{font-size:1.3rem;margin-bottom:.7rem}
.mini-light{color:#fff}
.note-box{background:var(--sage);border-left:4px solid var(--gold);padding:.9rem 1.1rem;border-radius:6px;color:var(--ink)}
.note-box i{color:var(--teal2)}
ul.tick{list-style:none;padding:0}
ul.tick li{position:relative;padding-left:1.5rem;margin-bottom:.45rem}
ul.tick li::before{content:"\F26E";font-family:bootstrap-icons;position:absolute;left:0;color:var(--gold-d)}

.photo-frame{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(15,61,62,.45)}
.photo-frame img{display:block;width:100%;height:auto}
.photo-dark{box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}

.card-tile{background:#fff;border:1px solid rgba(15,61,62,.12);border-radius:14px;padding:1.8rem;height:100%}
.section-tint .card-tile{background:#fff}
.card-tile i{font-size:1.9rem;color:var(--gold-d)}
.card-tile h3{font-size:1.25rem;margin:.6rem 0}
.card-tile p{margin:0}
.card-tile.forms h3 i{font-size:1.3rem;margin-right:.3rem}
.card-tile.forms a:not(.btn){display:block;padding:.35rem 0;font-weight:500}

.g-img{width:100%;height:280px;object-fit:cover;object-position:center 15%;border-radius:12px;display:block}
.foal-banner{display:block;width:100%;max-width:574px;height:auto;margin:2rem auto 0;border-radius:12px}

.quote{background:#fff;border-radius:14px;padding:1.6rem;height:100%;margin:0;border-top:4px solid var(--gold);box-shadow:0 10px 30px -20px rgba(15,61,62,.5)}
.quote p{font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:.8rem}
.quote cite{font-style:normal;font-weight:700;color:var(--teal2)}

.contact-list{list-style:none;padding:0;margin:1.5rem 0}
.contact-list li{display:flex;gap:1rem;margin-bottom:1.2rem}
.contact-list i{font-size:1.4rem;color:var(--gold)}
.map-wrap{border-radius:14px;overflow:hidden;height:100%;min-height:380px}
.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

.site-footer{background:#0a2b2c;color:#b9cdc7;padding:2.2rem 0}
.foot-brand{font-family:'Fraunces',serif;color:#fff;font-size:1.2rem}
.site-footer a{color:#b9cdc7;text-decoration:none}
.site-footer a:hover{color:var(--gold)}
.powered{display:inline-block;border:1px solid rgba(240,180,65,.5);border-radius:50px;padding:.4rem 1rem;color:var(--gold)!important;font-weight:700;font-size:.9rem}

@media (max-width:991.98px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-photo{order:-1;min-height:280px;background-position:60% center}
  .g-img{height:220px}
  .site-nav .nav-link{padding:.6rem 0}
}
@media (max-width:575.98px){
  .g-img{height:170px}
  .strip-cell{font-size:.85rem}
}
