/* =====  Lake Life Property Management  ·  shared site styles  ===== */
:root{
  --ink:#263033; --ink-2:#2F3A3D;
  --bone:#F8F6F1; --white:#FFFFFF;
  --aqua-mist:#DDF3F1; --sand:#D8C7AE; --sand-2:#C9B696;
  --gold:#C4A35A; --gold-2:#B0904A;
  --teal:#12B4B0; --teal-deep:#0A6968;
  --slate:#5E6768; --stone:#E6E8E8;
  --line:rgba(38,48,51,.14);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bone);color:var(--ink);}
body{font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-0.01em;margin:0;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1280px;margin:0 auto;padding:0 56px;}
.eyebrow{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;}
.gold-rule{display:inline-block;width:36px;height:1px;background:var(--teal);vertical-align:middle;margin-right:14px;}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-weight:500;font-size:15px;letter-spacing:.02em;padding:18px 28px;border-radius:2px;transition:transform .2s, background .2s, color .2s;cursor:pointer;border:1px solid transparent;white-space:nowrap;}
.btn .arrow{transition:transform .2s;}
.btn:hover .arrow{transform:translateX(3px);}
.btn-gold{background:var(--teal);color:#fff;}
.btn-gold:hover{background:var(--teal-deep);}
.btn-outline-light{border-color:rgba(245,241,234,.55);color:var(--bone);}
.btn-outline-light:hover{background:rgba(245,241,234,.08);}
.btn-outline-dark{border-color:var(--ink);color:var(--ink);}
.btn-outline-dark:hover{background:rgba(38,48,51,.06);}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 56px;display:flex;align-items:center;justify-content:space-between;color:var(--bone);background:transparent;transition:transform .35s ease, background .25s ease, padding .25s ease;will-change:transform;}
.nav.scrolled{background:transparent;}
.nav.hidden{transform:translateY(-110%);}
.nav.solid{background:var(--ink);}
.nav .logo{display:flex;align-items:center;gap:14px;}
.nav .logo img{height:144px;width:auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,.45));}
.nav-links{display:flex;align-items:center;gap:34px;font-size:14px;letter-spacing:.04em;}
.nav-links a{opacity:.82;transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-links a.active{opacity:1;border-bottom:1px solid var(--teal);padding-bottom:4px;}
.nav .contact-btn{background:var(--teal);color:#fff;padding:13px 24px;border-radius:2px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;}
.nav .contact-btn:hover{background:var(--teal-deep);}

/* ---------- INTERNAL PAGE HERO ---------- */
  .page-hero{position:relative;background:var(--ink);color:var(--bone);padding:200px 0 120px;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 35%, rgba(10,105,104,.4), transparent 55%),radial-gradient(ellipse at 80% 90%, rgba(38,48,51,.55), transparent 55%),linear-gradient(180deg, #1B2326 0%, #263033 100%);}
.page-hero.with-photo::before{
  background:linear-gradient(180deg, rgba(27,35,38,.78) 0%, rgba(10,105,104,.55) 60%, rgba(27,35,38,.65) 100%);
}
.page-hero .inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 56px;}
.page-hero h1{font-size:96px;line-height:1.02;letter-spacing:-.018em;font-weight:400;max-width:18ch;}
.page-hero h1 em{font-style:italic;color:var(--aqua-mist);}
.page-hero .lede{margin-top:34px;max-width:60ch;font-size:19px;line-height:1.65;color:rgba(245,241,234,.82);font-weight:300;}
.page-hero .crumbs{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:24px;}

/* ---------- SECTION HEAD ---------- */
.section{padding:120px 0;}
.section.warm{background:var(--bone);}
.section.aqua{background:var(--aqua-mist);}
.section.dark{background:var(--ink);color:var(--bone);}
.section.teal{background:var(--teal-deep);color:#fff;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;gap:48px;}
.section-head h2{font-size:60px;line-height:1.05;letter-spacing:-.015em;max-width:14ch;font-weight:400;}
.section-head h2 em{font-style:italic;color:var(--teal-deep);}
.section.dark .section-head h2 em,.section.teal .section-head h2 em{color:var(--aqua-mist);}
.section-head .right{max-width:38ch;text-align:right;}
.section-head .right p{font-size:16px;line-height:1.65;color:#3a3d42;}
.section.dark .section-head .right p,.section.teal .section-head .right p{color:rgba(245,241,234,.7);}
.section-head .right a{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:3px;}
.section.dark .section-head .right a,.section.teal .section-head .right a{border-bottom-color:var(--teal);color:var(--bone);}

/* ---------- FINAL CTA BAND ---------- */
.final-cta{background:var(--teal);color:#fff;padding:120px 0;position:relative;overflow:hidden;}
.final-cta::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 2px, transparent 2px 24px);}
.final-cta .inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;}
.final-cta .eyebrow{color:rgba(255,255,255,.8);}
.final-cta h2{font-size:84px;line-height:1.02;letter-spacing:-.018em;margin-top:18px;font-weight:400;color:#fff;}
.final-cta h2 em{font-style:italic;color:var(--aqua-mist);}
.final-cta .right p{font-size:19px;line-height:1.65;color:rgba(255,255,255,.92);font-weight:300;}
.final-cta .ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.final-cta .btn-ink{background:var(--ink);color:#fff;}
.final-cta .btn-ink:hover{background:#000;}
.final-cta .btn-outline-ink{border-color:rgba(255,255,255,.6);color:#fff;}
.final-cta .btn-outline-ink:hover{background:rgba(255,255,255,.1);}
.final-cta .micro{margin-top:28px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.78);}

/* ---------- FOOTER ---------- */
footer{background:var(--teal-deep);color:rgba(255,255,255,.78);padding:72px 0 40px;}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.16);}
footer .brand img{height:96px;width:auto;}
footer .brand p{margin-top:18px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.65);max-width:34ch;}
footer h4{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:#fff;margin:0 0 18px;}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
footer ul a{font-size:15px;color:rgba(255,255,255,.72);}
footer ul a:hover{color:#fff;}
footer .bottom{margin-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);}
footer .bottom .links{display:flex;gap:24px;}

/* ---------- SHARED PROSE ---------- */
.lede-large{font-size:24px;line-height:1.55;color:#3a3d42;font-weight:300;max-width:62ch;}
.section.dark .lede-large,.section.teal .lede-large{color:rgba(245,241,234,.85);}

/* generic content grid tile */
.tile-grid{display:grid;gap:1px;background:rgba(255,255,255,.14);}
.tile-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.tile-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.tile-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.tile-grid > .tile{background:var(--bone);padding:44px 40px;display:flex;flex-direction:column;gap:14px;min-height:260px;}
.section.dark .tile-grid > .tile,.section.teal .tile-grid > .tile{background:var(--teal-deep);color:#fff;}
.tile .num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--teal);}
.section.teal .tile .num{color:var(--gold);}
.tile h3{font-size:32px;letter-spacing:-.005em;line-height:1.1;font-weight:400;}
.tile p{font-size:16px;line-height:1.65;color:#3a3d42;max-width:42ch;}
.section.dark .tile p,.section.teal .tile p{color:rgba(255,255,255,.78);}
.tile .rule{width:32px;height:1px;background:var(--ink);margin-top:auto;}
.section.dark .tile .rule,.section.teal .tile .rule{background:rgba(255,255,255,.55);}
