/* Lake City Home Care styles */
:root{
  --forest:#1C3A2A; --forest-2:#24493A; --forest-ink:#13281D;
  --gold:#A08A55; --gold-lt:#CDB57E; --gold-pale:#E5D9B8;
  --ivory:#F7F4EC; --cream:#EFE9DA; --paper:#FFFFFF;
  --ink:#1F2A22; --ink-soft:#4A5249; --muted:#666C64;
  --em-line:#1C3A2A; --em-vein:#A08A55;
  --display:'Cormorant Garamond', 'Iowan Old Style', Georgia, serif;
  --sans:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-0.005em}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(24px, env(safe-area-inset-left, 0px));padding-right:max(24px, env(safe-area-inset-right, 0px))}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.gn{fill:var(--em-line)} .gd{fill:var(--em-vein)}
.kicker{font-family:var(--sans);font-size:14.5px;line-height:1.4;font-weight:600;letter-spacing:.08em;color:var(--gold);margin:0 0 14px;text-wrap:pretty}
.h2{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-0.005em;font-size:clamp(36px,4.4vw,56px);line-height:1.08;color:var(--forest)}
.h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.lede{font-size:18.5px;color:var(--ink-soft);max-width:36em}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;font:600 16px var(--sans);letter-spacing:.01em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{transform:translateY(-1px)}
.btn.gold{background:var(--gold-lt);color:var(--forest-ink)}
.btn.gold:hover{background:#DCC797}
.btn.forest{background:var(--forest);color:var(--ivory)}
.btn.forest:hover{background:var(--forest-2)}
.btn.line{background:transparent;color:var(--forest);border-color:var(--gold)}
.btn.line:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest)}

/* header + mega menus */
.top{position:sticky;top:env(safe-area-inset-top, 0px);z-index:30;background:var(--forest);color:var(--ivory);border-bottom:1px solid color-mix(in srgb, var(--gold-lt) 25%, transparent)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:31;background:var(--forest)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;max-width:1300px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.brand .em{width:64px;height:auto}
.brand .wm{width:150px;height:auto;color:var(--ivory)}
.nav{display:flex;align-items:center;gap:6px;height:88px}
.nav > a,.nav .mtrig{display:inline-flex;align-items:center;gap:7px;height:100%;padding:0 13px;color:#E9EEE7;text-decoration:none;font:500 15px var(--sans);background:none;border:0;cursor:pointer;position:relative}
.nav > a::after,.nav .mtrig::after{content:"";position:absolute;left:13px;right:13px;bottom:24px;height:1.5px;background:var(--gold-lt);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav > a:hover::after,.nav .mtrig:hover::after,.nav .has[data-open="true"] .mtrig::after,.nav > a[aria-current="page"]::after{transform:scaleX(1)}
.nav .chev{transition:transform .3s;color:var(--gold-lt)}
.nav .has{height:100%}
.nav .has[data-open="true"] .chev{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--ivory);color:var(--ink);border-top:3px solid var(--gold);box-shadow:0 40px 60px -30px rgba(10,25,18,.45);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;overflow:hidden}
.has[data-open="true"] .mega{opacity:1;visibility:visible;transform:none}
.mega .wm-bg{position:absolute;right:-120px;bottom:-140px;width:520px;opacity:.06;pointer-events:none;--em-line:var(--forest);--em-vein:var(--forest)}
.mega-in{position:relative;max-width:1300px;margin:0 auto;padding:36px 24px 40px;display:grid;gap:36px}
.mega-svc .mega-in{grid-template-columns:280px minmax(0,1fr) 230px}
.mega-area .mega-in{grid-template-columns:280px minmax(0,1fr) 300px}
.m-feat{background:var(--forest);color:var(--ivory);border-radius:140px 140px 6px 6px / 110px 110px 6px 6px;padding:40px 28px 30px;text-align:center;position:relative;--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.m-feat::before{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb, var(--gold-lt) 45%, transparent);border-radius:inherit;pointer-events:none}
.m-feat .em{width:84px;height:auto;margin:0 auto 14px;display:block}
.m-feat b{display:block;font-family:var(--display);font-size:26px;line-height:1.12;font-weight:600}
.m-feat p{font-size:14.5px;color:#D6DED7;margin:10px 0 18px}
.m-feat .btn{min-height:46px;padding:0 20px;font-size:14.5px}
.m-head{font-family:var(--display);font-size:22px;font-weight:600;color:var(--forest);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.m-head .ki{width:30px}
.m-svcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.m-svc{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s}
.m-svc:hover{background:var(--cream)}
.m-svc img{width:64px;height:72px;object-fit:cover;border-radius:32px 32px 4px 4px;border:1px solid var(--gold-pale)}
.m-svc b{display:block;font-family:var(--display);font-size:21px;color:var(--forest);line-height:1.1}
.m-svc span{display:block;font-size:13.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.m-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.m-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;text-decoration:none;font-size:15px;color:var(--ink-soft);border-bottom:1px solid #E6DECB}
.m-list a:hover{color:var(--forest)}
.m-list .ki{width:20px;flex:0 0 auto}
.m-counties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
.m-county h4{margin:0 0 8px;font:600 13px var(--sans);letter-spacing:.06em;color:var(--gold)}
.m-county a{display:block;padding:5px 0;text-decoration:none;font-family:var(--display);font-size:21px;font-weight:600;color:var(--forest)}
.m-county a:hover{color:var(--gold)}
.m-county a.hq::after{content:" · Home office";font:500 12.5px var(--sans);color:var(--muted)}
.m-map{border-radius:8px;overflow:hidden;background:var(--cream);position:relative}
.m-map svg{display:block;width:100%;height:auto}
.m-map .river{fill:none;stroke:#9DB8C2;stroke-width:3}
.m-map .road{fill:none;stroke:#DCCFAE;stroke-width:2}
.m-map a{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;background:var(--forest);color:var(--ivory);border-radius:999px;text-decoration:none;font-size:14px;font-weight:600}
.top .call{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 22px;border:1.5px solid var(--gold-lt);border-radius:999px;text-decoration:none;background:var(--gold-lt);color:var(--forest-ink);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background .2s,color .2s}
.top .call:hover{background:#DCC797;border-color:#DCC797}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--gold-lt);background:transparent;color:var(--gold-lt);cursor:pointer;place-items:center}
.drawer{display:none}

/* emblem as eyebrow, bullet and watermark */
.kicker{display:flex;align-items:center;gap:12px;--em-line:var(--forest);--em-vein:var(--gold)}
.center .kicker{justify-content:center}
.kicker .ki{width:38px;height:auto;flex:0 0 auto}
.forest-band .kicker{--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.ki{display:block;height:auto}
.mag-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px;--em-line:var(--forest);--em-vein:var(--gold)}
.mag-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;font-size:16.5px;color:var(--ink-soft)}
.mag-list .ki{width:30px;margin-top:4px}
.mag-list b{color:var(--ink);font-weight:600}
.forest-band .mag-list{--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.forest-band .mag-list li{color:#D6DED7}
.forest-band .mag-list b{color:var(--ivory)}
.has-wm{position:relative;overflow:hidden}
.has-wm > .wrap{position:relative;z-index:1}
.sec-wm{position:absolute;pointer-events:none;width:760px;height:auto;opacity:.07;--em-line:var(--forest);--em-vein:var(--forest)}
.forest-band .sec-wm{opacity:.16;--em-line:var(--gold-lt);--em-vein:var(--gold-lt)}

/* hero: two columns, copy + drawing emblem left, arched porch photo right */
.hero{background:var(--forest);color:var(--ivory);padding-block:64px 0;position:relative;--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 620px at 24% 38%, rgba(205,181,126,.13), transparent 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;align-items:center;max-width:1280px}
.hero-copy{padding-bottom:96px}
.bloom{width:min(220px,50vw);height:auto;margin:0 0 26px -6px;display:block;overflow:visible}
.hero .hero-title{font-family:var(--display);font-weight:600;margin:0;letter-spacing:-0.005em;text-wrap:balance;font-size:clamp(46px,5.3vw,78px);line-height:1.02;max-width:12ch;color:var(--ivory)}
.hero .hero-title em{font-style:italic;font-weight:500;color:var(--gold-lt)}
.hero .hero-eyebrow{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-lt);margin:0 0 16px}
.hero .sub{max-width:31em;margin-top:24px;font-size:18.5px;color:#D6DED7}
.hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:34px}
.hero .ctas a.tel{color:#E9EEE7;font-weight:500;text-underline-offset:6px;text-decoration-color:color-mix(in srgb, var(--gold-lt) 60%, transparent)}
.hero{padding-bottom:88px}
.hero-copy{padding-bottom:0}
.hero-grid{align-items:center}
.hero-photo{position:relative;padding:96px 56px 0 0}
.hero-photo .arch{position:relative;border-radius:50% 50% 8px 8px / 36% 36% 8px 8px;overflow:hidden;aspect-ratio:1.18/1;border:5px solid var(--ivory);box-shadow:0 40px 70px -36px rgba(0,0,0,.65);background:var(--forest-2)}
.hero-photo > .arch::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.5);border-radius:inherit;pointer-events:none}
.hero-photo::before{content:"";position:absolute;left:-16px;right:40px;top:80px;bottom:-16px;border:1px solid color-mix(in srgb, var(--gold-lt) 50%, transparent);border-radius:50% 50% 10px 10px / 36% 36% 10px 10px;pointer-events:none}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}
.hero-photo .arch.sm{position:absolute;right:0;top:0;width:33%;aspect-ratio:.76/1;border-radius:50% 50% 8px 8px / 38% 38% 8px 8px;box-shadow:0 0 0 6px var(--forest), 0 30px 50px -20px rgba(0,0,0,.7);z-index:2}
.hero-photo .arch.sm img{object-position:40% 40%}
.hero-photo .tag{position:absolute;left:24px;bottom:22px;background:var(--ivory);color:var(--forest);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;box-shadow:0 10px 30px -12px rgba(0,0,0,.4)}
.hero-photo .meet{position:absolute;left:-44px;bottom:34px;max-width:200px;z-index:2;background:var(--forest-ink);color:var(--ivory);border:1px solid color-mix(in srgb, var(--gold-lt) 45%, transparent);border-radius:8px;padding:15px 17px;font-size:14px;line-height:1.5;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.hero-photo .meet b{display:block;font-family:var(--display);font-size:21px;font-weight:600;color:var(--gold-lt);line-height:1.15;margin-bottom:4px}
@media (max-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:44px;text-align:center}
  .hero-copy{padding-bottom:0}
  .bloom{margin:0 auto 22px}
  .hero .hero-title,.hero .sub{margin-left:auto;margin-right:auto}
  .hero .ctas{justify-content:center}
  .hero-photo{max-width:640px;width:100%;margin:0 auto}
}
/* draw-on: each outline traces in gold, then the solid bloom fades up underneath and the tracing lines dissolve */
.bloom .tr{fill:none;stroke:var(--gold-lt);stroke-width:7.5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw var(--dur,1.6s) cubic-bezier(.45,.1,.3,1) var(--d,0s) forwards, fadeout .9s ease 3.3s forwards}
.bloom .gn{opacity:0;animation:fadein 1.1s ease 2.5s forwards}
.bloom .gd{fill-opacity:0;stroke:var(--gold-lt);stroke-width:6;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s ease var(--d,2.2s) forwards, fillin2 .8s ease calc(var(--d,2.2s) + .9s) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}
@keyframes fadeout{to{opacity:0}}
@keyframes fillin2{to{fill-opacity:1;stroke-width:0}}
@media (prefers-reduced-motion: no-preference){
  .hero .hero-eyebrow,.hero .hero-title,.hero .sub,.hero .ctas,.hero-photo{opacity:0;transform:translateY(14px);animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards}
  .hero .hero-eyebrow{animation-delay:.4s}.hero .hero-title{animation-delay:.5s}.hero .sub{animation-delay:.75s}.hero .ctas{animation-delay:.95s}.hero-photo{animation-delay:.3s}
  @keyframes rise{to{opacity:1;transform:none}}
}

/* trust line */
.trust{list-style:none;margin:0 auto;padding:34px 0 0;max-width:1180px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;color:var(--ink-soft);font-size:15px;font-weight:500}
.trust li{display:flex;align-items:center;gap:10px}
.trust svg{color:var(--gold);flex:0 0 auto}

/* sections */
.sec{padding-block:110px}
.cream{background:var(--cream)}
.forest-band{background:var(--forest);color:var(--ivory)}

/* why */
.why-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 72px;align-items:end;margin-bottom:56px}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.why figure{margin:0}
.why .ph{border-radius:50% 50% 4px 4px / 34% 34% 4px 4px;overflow:hidden;aspect-ratio:4/5;background:var(--cream);margin:7px;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--gold-pale), 0 34px 50px -30px rgba(20,40,30,.55)}
.why .ph{position:relative}
.why .ph::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.55);border-radius:inherit;pointer-events:none}
.why img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.why figure:hover img{transform:scale(1.04)}
.why h3{font-size:30px;line-height:1.12;color:var(--forest);margin-top:22px}
.why p{font-size:16.5px;color:var(--ink-soft);margin-top:8px}

/* services: arched photo windows with a notch mask for the medallion, double gold frame, magnolia watermark, forest fill rises on hover */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:64px}
.svc{position:relative;isolation:isolate;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--paper);border-radius:220px 220px 10px 10px / 190px 190px 10px 10px;box-shadow:0 1px 0 #E3DAC4, 0 30px 50px -40px rgba(28,58,42,.5);transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s;overflow:hidden}
.svc::before{content:"";position:absolute;inset:8px;border:1px solid var(--gold-pale);border-radius:212px 212px 6px 6px / 182px 182px 6px 6px;pointer-events:none;z-index:3;transition:border-color .4s}
.svc::after{content:"";position:absolute;inset:0;background:var(--forest);clip-path:circle(0% at 50% 100%);transition:clip-path .7s cubic-bezier(.6,.05,.2,1);z-index:-1}
.svc:hover,.svc:focus-visible{transform:translateY(-6px);box-shadow:0 1px 0 #E3DAC4, 0 40px 60px -36px rgba(28,58,42,.6)}
.svc:hover::after,.svc:focus-visible::after{clip-path:circle(150% at 50% 100%)}
.svc:hover::before,.svc:focus-visible::before{border-color:color-mix(in srgb, var(--gold-lt) 70%, transparent)}
.svc-media{margin:20px 20px 0;aspect-ratio:5/4.2;border-radius:200px 200px 0 0 / 170px 170px 0 0;overflow:hidden;position:relative;-webkit-mask:radial-gradient(circle at 50% 100%, transparent 47px, #000 48px);mask:radial-gradient(circle at 50% 100%, transparent 47px, #000 48px)}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.svc:hover .svc-media img{transform:scale(1.06)}
.svc-media::after{content:"";position:absolute;inset:10px 10px 0;border:1px solid rgba(255,255,255,.55);border-bottom:0;border-radius:190px 190px 0 0 / 160px 160px 0 0}
.svc-medal{width:80px;height:80px;margin:-40px auto 0;position:relative;z-index:2;border-radius:50%;background:var(--forest);color:var(--gold-lt);display:grid;place-items:center;border:1px solid var(--gold-lt);box-shadow:0 0 0 5px var(--paper), 0 0 0 6px var(--gold-pale);transition:background .4s, box-shadow .4s}
.svc:hover .svc-medal{background:var(--gold-lt);color:var(--forest-ink);box-shadow:0 0 0 5px var(--forest), 0 0 0 6px color-mix(in srgb, var(--gold-lt) 60%, transparent)}
.svc-body{padding:20px 34px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;flex:1}
.svc h3{font-size:30px;line-height:1.1;color:var(--forest);transition:color .4s}
.svc p{font-size:16px;color:var(--ink-soft);transition:color .4s;max-width:24em}
.svc .more{margin-top:auto;padding-top:10px;font-size:14px;font-weight:600;color:var(--forest);display:inline-flex;align-items:center;gap:8px;transition:color .4s}
.svc .more svg{transition:transform .3s}
.svc:hover h3{color:var(--ivory)} .svc:hover p{color:#D6DED7} .svc:hover .more{color:var(--gold-lt)}
.svc:hover .more svg{transform:translateX(4px)}
.svc-wm{position:absolute;right:-56px;bottom:-40px;width:230px;opacity:.07;z-index:0;pointer-events:none;--em-line:var(--forest);--em-vein:var(--forest);transition:opacity .4s}
.svc:hover .svc-wm{opacity:.12;--em-line:var(--gold-lt);--em-vein:var(--gold-lt)}

/* team */
.team{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:72px;align-items:center}
.founder{position:relative}
.founder .ph{border-radius:50% 50% 4px 4px / 34% 34% 4px 4px;overflow:hidden;aspect-ratio:4/5;max-width:440px;margin:7px;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--gold-pale), 0 34px 50px -30px rgba(20,40,30,.55)}
.founder img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.note{position:absolute;right:0;bottom:-26px;max-width:300px;background:var(--forest);color:var(--ivory);padding:24px 26px;border-radius:4px;box-shadow:0 24px 50px -24px rgba(10,25,18,.6)}
.note p{font-family:var(--display);font-style:italic;font-size:21px;line-height:1.4}
.note small{display:block;margin-top:12px;font-size:13px;color:var(--gold-lt);font-weight:600;letter-spacing:.02em}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px;margin-top:40px}
.person{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center}
.person img{width:96px;height:120px;object-fit:cover;object-position:50% 22%;border-radius:48px 48px 4px 4px;box-shadow:0 0 0 4px var(--paper), 0 0 0 5px var(--gold-pale), 0 16px 26px -16px rgba(20,40,30,.55)}
.person{padding-left:5px}
.person b{display:block;font-family:var(--display);font-size:25px;color:var(--forest);line-height:1.1}
.person span{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.person i{display:block;font-style:normal;font-size:14.5px;color:var(--ink-soft);margin-top:6px;line-height:1.5}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:64px;position:relative}
.steps::before{content:"";position:absolute;left:12%;right:12%;top:31px;height:1px;background:var(--gold-pale)}
.step{text-align:center;position:relative}
.step .n{width:62px;height:62px;margin:0 auto 22px;border-radius:50%;background:var(--ivory);border:1.5px solid var(--gold);display:grid;place-items:center;font-family:var(--display);font-size:28px;font-weight:600;color:var(--forest);position:relative}
.cream .step .n{background:var(--cream)}
.step h3{font-size:27px;color:var(--forest);line-height:1.15}
.step p{font-size:16px;color:var(--ink-soft);margin-top:8px}

/* reviews */
.rv{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px;align-items:center}
.rv-feat{position:relative}
.big-q{display:block;font-family:var(--display);font-size:170px;line-height:1;height:86px;margin:6px 0 0 -8px;color:var(--gold-lt);opacity:.55}
.rv blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(30px,3.1vw,44px);line-height:1.24;color:var(--ivory)}
.by{display:flex;align-items:center;gap:14px;margin-top:30px}
.by b{display:block;font-weight:600}
.by span:not(.av){display:block;font-size:14px}
.rv-feat .by{padding-top:26px;border-top:1px solid color-mix(in srgb, var(--gold-lt) 30%, transparent)}
.rv-feat .by b{color:var(--ivory);font-size:16px}
.rv-feat .by span:not(.av){color:#C9D3CC}
.rv-feat .stars{margin-left:auto;display:flex;gap:3px;color:var(--gold-lt)}
.av{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold-lt);font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.04em;box-shadow:0 0 0 3px var(--ivory), 0 0 0 4px var(--gold-lt)}
.av.lg{width:58px;height:58px;font-size:22px;background:var(--gold-lt);color:var(--forest-ink);box-shadow:0 0 0 4px var(--forest), 0 0 0 5px color-mix(in srgb, var(--gold-lt) 60%, transparent)}
.rv-side{display:grid;gap:34px}
.rv-card{position:relative;margin:0;background:var(--ivory);color:var(--ink);border-radius:10px;padding:34px 32px 26px;box-shadow:0 34px 60px -30px rgba(0,0,0,.65);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.rv-card::before{content:"";position:absolute;inset:8px;border:1px solid var(--gold-pale);border-radius:6px;pointer-events:none}
.rv-card:nth-child(2){margin-left:56px}
.rv-card:hover{transform:translateY(-4px)}
.rv-card .qm{position:absolute;top:-24px;right:30px;width:52px;height:52px;border-radius:50%;background:var(--gold-lt);color:var(--forest-ink);display:flex;justify-content:center;font-family:var(--display);font-size:58px;line-height:1.05;box-shadow:0 0 0 5px var(--forest)}
.chip{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-pale);border-radius:999px;padding:5px 12px;margin-bottom:14px}
.rv-card q{quotes:none;display:block;font-family:var(--display);font-style:italic;font-size:22px;line-height:1.42;color:var(--ink)}
.rv-card .by{margin-top:20px;padding-top:16px;border-top:1px solid #E3DAC4}
.rv-card .by b{color:var(--forest);font-size:15.5px}
.rv-card .by span:not(.av){color:var(--muted)}
.rv-note{font-size:13px;color:#A9B6AE;margin-left:56px}

/* scroll reveal: gentle rise + fade, only when JS runs and motion is allowed */
@media (prefers-reduced-motion: no-preference){
  .js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1)}
  .js .reveal.in{opacity:1;transform:none}
  .js .steps::before{transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.6,.05,.2,1) .3s}
  .js .steps.in::before{transform:scaleX(1)}
  .js .kicker .ki{transition:transform 1s cubic-bezier(.2,.7,.2,1);transform:scale(.6) rotate(-12deg)}
  .js .kicker.in .ki{transform:none}
  .hero-photo .arch img{animation:drift 22s ease-in-out infinite alternate}
  @keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.09) translate(-1.5%,-1%)}}
  @keyframes float{to{translate:0 -10px}}
}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.post{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px}
.post .ph{aspect-ratio:4/3;border-radius:6px;overflow:hidden;position:relative;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--gold-pale), 0 34px 50px -30px rgba(20,40,30,.55)}
.post{padding:7px}
.post .ph::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.6);border-radius:3px;pointer-events:none}
.post img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.post:hover img{transform:scale(1.05)}
.post span{margin-top:8px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.post h3{font-size:27px;line-height:1.15;color:var(--forest)}
.post:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:5px}
.post p{font-size:16px;color:var(--ink-soft)}

/* pay */
.pay{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.cover{background:var(--forest);color:var(--ivory);border-radius:6px;overflow:hidden;outline:1px solid var(--gold-lt);outline-offset:-8px;display:grid;grid-template-columns:1.1fr .9fr;margin-top:34px;box-shadow:0 30px 60px -36px rgba(10,25,18,.6);--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.cover .l{padding:26px 24px;display:flex;flex-direction:column;gap:10px}
.cover .l .em{width:52px;height:auto}
.cover h4{margin:0;font-family:var(--display);font-weight:600;font-size:27px;line-height:1.08}
.cover h4 em{color:var(--gold-lt);font-weight:500}
.cover small{font-size:13px;color:#C9D3CC;line-height:1.5}
.cover .r{position:relative;min-height:220px}
.cover .r img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pay .btn{margin-top:26px}
details{border-top:1px solid #DCD2BC}
details:last-child{border-bottom:1px solid #DCD2BC}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--display);font-weight:600;font-size:clamp(23px,2.2vw,27px);line-height:1.25;color:var(--forest)}
summary::-webkit-details-marker{display:none}
summary .pm{flex:0 0 38px;width:38px;height:38px;line-height:0;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;color:var(--gold);transition:transform .3s, background .3s, color .3s}
details[open] summary .pm{transform:rotate(45deg);background:var(--forest);color:var(--gold-lt);border-color:var(--forest)}
details p{padding:0 0 24px;color:var(--ink-soft);max-width:36em;font-size:17px}

/* map */
.areas{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.towns{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.towns button{font:500 15px var(--sans);color:var(--forest);background:var(--paper);border:1px solid #DCD2BC;border-radius:999px;min-height:42px;padding:0 16px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.towns button[aria-pressed="true"],.towns button:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.info{margin-top:24px;padding:20px 22px;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 6px 6px 0;min-height:104px}
.info b{display:block;font-family:var(--display);font-size:28px;color:var(--forest);line-height:1.1}
.info span{display:block;font-size:15px;color:var(--ink-soft);margin-top:6px}
.map-box{position:relative;background:var(--ivory);border-radius:8px;overflow:hidden;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--gold-pale), 0 34px 50px -30px rgba(20,40,30,.45)}
.map{width:100%;height:auto;display:block}
.map .river{fill:none;stroke:#9DB8C2;stroke-width:3;stroke-linecap:round}
.map .road{fill:none;stroke:#DCCFAE;stroke-width:2}
.map .ring{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:3 6;opacity:.6}
.map .lbl{font-family:var(--display);font-weight:600;font-size:17px;fill:var(--forest);pointer-events:none}
.map .rl{font-family:var(--display);font-style:italic;font-size:13px;fill:#6E8C96}
.map .road-l{font:600 11px var(--sans);fill:#A99868}
.pin{cursor:pointer}
.pin path{fill:var(--gold);transition:fill .2s, transform .2s}
.pin circle{fill:#fff}
.pin:hover path,.pin.on path{fill:var(--forest)}
.pin.hq path{fill:var(--forest)}
.pin.hq circle{fill:var(--gold-lt)}
.pin:focus-visible{outline:none}
.pin:focus-visible path{stroke:var(--forest);stroke-width:2}

/* close: soft sage section, arched forest form card with a double gold frame */
.close{background:#E2E8DC;position:relative;overflow:hidden}
.close::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 500px at 85% 20%, rgba(255,255,255,.55), transparent 70%);pointer-events:none}
.close-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:80px;align-items:center}
.close .ct{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance;font-size:clamp(42px,4.8vw,66px);line-height:1.04;color:var(--forest)}
.close .ct em{font-style:italic;font-weight:500;color:var(--gold)}
.close .sub{color:var(--ink-soft);margin-top:20px;max-width:30em}
.close .phone{display:inline-flex;align-items:center;gap:14px;margin-top:32px;font-family:var(--display);font-weight:600;font-size:clamp(34px,3.6vw,46px);text-decoration:none;color:var(--forest);font-variant-numeric:tabular-nums}
.close .phone .pi{width:54px;height:54px;border-radius:50%;background:var(--forest);color:var(--gold-lt);display:grid;place-items:center;box-shadow:0 0 0 5px #E2E8DC, 0 0 0 6px var(--gold)}
.close .phone span:last-child{border-bottom:1.5px solid var(--gold)}
.close .avail{margin-top:12px;font-size:15px;color:var(--muted)}
.coord{display:flex;align-items:center;gap:16px;margin-top:36px;padding:16px 20px 16px 16px;background:var(--paper);border-radius:48px 16px 16px 48px;max-width:440px;box-shadow:0 20px 40px -28px rgba(20,40,30,.5)}
.coord img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%;box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--gold-pale)}
.coord b{display:block;font-family:var(--display);font-size:21px;color:var(--forest);line-height:1.1}
.coord span{display:block;font-size:14px;color:var(--muted);margin-top:2px}
form.card{position:relative;background:var(--forest);color:var(--ivory);border-radius:260px 260px 12px 12px / 150px 150px 12px 12px;padding:66px 44px 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;box-shadow:0 50px 80px -40px rgba(10,25,18,.7);--em-line:var(--ivory);--em-vein:var(--gold-lt)}
form.card::before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb, var(--gold-lt) 50%, transparent);border-radius:250px 250px 6px 6px / 142px 142px 6px 6px;pointer-events:none}
form.card > *{position:relative}
form.card .em{grid-column:1/-1;width:96px;height:auto;margin:0 auto -4px}
form.card h3{grid-column:1/-1;text-align:center;font-size:36px;color:var(--ivory);line-height:1.08}
form.card .hint{grid-column:1/-1;text-align:center;margin-top:-10px;font-size:15px;color:#C9D3CC}
.field{display:flex;flex-direction:column;gap:8px}
.field.full,fieldset.field{grid-column:1/-1}
.field label,.field legend{font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--gold-lt)}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
fieldset.field legend{padding:0;margin-bottom:8px}
.field input,.field select{font:inherit;font-size:17px;color:var(--ivory);background:rgba(255,255,255,.06);border:1px solid color-mix(in srgb, var(--gold-lt) 35%, transparent);border-radius:10px;min-height:54px;padding:0 16px;transition:border-color .2s, background .2s}
.field input::placeholder{color:#93A59A}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23CDB57E' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field select option{color:var(--ink)}
.field input:hover,.field select:hover{border-color:color-mix(in srgb, var(--gold-lt) 65%, transparent)}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold-lt);background:rgba(255,255,255,.1);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-lt) 25%, transparent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips label{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid color-mix(in srgb, var(--gold-lt) 40%, transparent);color:#E2E9E4;font-size:15px;font-weight:500;letter-spacing:0;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chips label:hover{border-color:var(--gold-lt)}
.chips input:checked + label{background:var(--gold-lt);border-color:var(--gold-lt);color:var(--forest-ink);font-weight:600}
.chips input:focus-visible + label{outline:2px solid var(--gold-lt);outline-offset:3px}
form.card .btn{grid-column:1/-1;margin-top:6px;min-height:60px;font-size:17px}
form.card .btn svg{transition:transform .3s}
form.card .btn:hover svg{transform:translateX(4px)}
.secure{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;color:#A9B6AE;margin-top:-4px}
.thanks{grid-column:1/-1;text-align:center;font-weight:600;color:var(--gold-lt)}
.disclaim{position:relative;margin-top:56px;font-size:13px;color:var(--muted);max-width:60em}

/* footer (forest) */
footer{background:var(--forest);color:#C9D3CC;position:relative;overflow:hidden;border-top:4px solid var(--gold)}
footer .wm-bg{position:absolute;right:-120px;bottom:-80px;width:620px;opacity:.1;pointer-events:none;--em-line:var(--gold-lt);--em-vein:var(--gold-lt)}
.f-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:44px;padding-block:76px 60px}
.f-brand{display:flex;align-items:center;gap:12px;--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.f-brand .em{width:64px;height:auto}.f-brand .wm{width:150px;height:auto;color:var(--ivory)}
footer address{font-style:normal;font-size:15px;line-height:1.85;color:#C9D3CC;margin-top:22px}
footer address a{color:var(--ivory)}
footer h3{font-size:24px;color:var(--gold-lt);margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer ul a{text-decoration:none;font-size:15px;color:#D6DED7}
footer ul a:hover{color:var(--ivory);text-decoration:underline;text-decoration-color:var(--gold-lt);text-underline-offset:4px}
.f-cta{margin-top:24px}
.f-cta .btn{min-height:48px;padding:0 22px;font-size:15px}
.legal{background:var(--forest-ink);color:#A9B6AE;font-size:13px;padding-block:18px;border-top:1px solid color-mix(in srgb, var(--gold-lt) 18%, transparent)}
.legal a{color:var(--gold-lt);text-underline-offset:3px}
.disclaim a{color:var(--forest)}
.legal .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.callbar{display:none}

@media (max-width:1180px){
  .nav .mtrig,.nav > a{padding:0 9px;font-size:14.5px}
  .mega-svc .mega-in{grid-template-columns:240px minmax(0,1fr)}
  .mega-svc .m-res{display:none}
  .mega-area .mega-in{grid-template-columns:240px minmax(0,1fr)}
  .mega-area .m-map{display:none}
}
@media (max-width:1080px){
  .nav,.top .call{display:none}
  .burger{display:grid}
  .drawer[data-open="true"]{display:flex;flex-direction:column;padding:0 max(24px, env(safe-area-inset-right, 0px)) 22px max(24px, env(safe-area-inset-left, 0px));background:var(--forest)}
  .drawer > a,.drawer summary{color:var(--ivory);text-decoration:none;font-family:var(--display);font-weight:600;font-size:28px;padding:10px 0;border-bottom:1px solid color-mix(in srgb, var(--gold-lt) 22%, transparent);display:flex;justify-content:space-between;align-items:center}
  .drawer details{border:0}
  .drawer summary .chev{width:14px;height:9px;color:var(--gold-lt);transition:transform .3s}
  .drawer details[open] summary .chev{transform:rotate(180deg)}
  .drawer details div{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;padding:10px 0 14px}
  .drawer details div a{color:#D6DED7;text-decoration:none;font-size:16px;padding:8px 0}
  .drawer details div a:hover{color:var(--gold-lt)}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-head,.team,.rv,.pay,.areas,.close-grid{grid-template-columns:minmax(0,1fr)}
  .rv{gap:64px}
  .posts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .posts .post:nth-child(3){display:none}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps::before{display:none}
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  body{font-size:17px;padding-bottom:calc(74px + env(safe-area-inset-bottom, 0px))}
  .top .wrap{min-height:74px}
  .brand .em{width:50px}.brand .wm{width:118px}
  .hero{padding-top:38px}
  .hero{padding-bottom:56px}
  .hero-photo{padding:64px 34px 0 0}
  .hero-photo::before{left:-8px;right:26px;top:54px;bottom:-8px}
  .hero-photo .arch{border-width:4px}
  .hero-photo .meet{display:none}
  .hero-photo .tag{left:10px;right:10px;bottom:10px;font-size:12px;padding:7px 8px}
  .sec{padding-block:80px}
  .why,.svc-grid,.steps{grid-template-columns:minmax(0,1fr)}
  .svc-grid{max-width:420px;margin-left:auto;margin-right:auto}
  .sec-wm{width:520px}
  .why{gap:44px}
  .trust{display:grid;grid-template-columns:minmax(0,1fr);justify-content:start;gap:12px;max-width:340px}
  .people{grid-template-columns:minmax(0,1fr)}
  .rv-card:nth-child(2),.rv-note{margin-left:0}
  .rv-card{padding:32px 24px 22px}
  .rv-feat .by{flex-wrap:wrap}
  .big-q{font-size:130px;height:66px}
  .posts{grid-template-columns:minmax(0,1fr)}
  .posts .post:nth-child(3){display:flex}
  .note{position:relative;right:auto;bottom:auto;margin:-50px 16px 0;max-width:none}
  .cover{grid-template-columns:minmax(0,1fr)}
  .cover .r{min-height:190px}
  form.card{grid-template-columns:minmax(0,1fr);padding:56px 22px 30px;border-radius:200px 200px 12px 12px / 110px 110px 12px 12px}
  form.card::before{border-radius:190px 190px 6px 6px / 102px 102px 6px 6px}
  form.card h3{font-size:30px}
  form.card .btn{font-size:16px;padding:0 18px}
  .f-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(14px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px));background:var(--forest);border-top:1px solid color-mix(in srgb, var(--gold-lt) 40%, transparent)}
  .callbar .btn{min-height:50px;padding:0 10px;font-size:15px}
  .callbar .btn.line{color:var(--ivory);border-color:var(--gold-lt)}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* ================= inner pages ================= */
.nav .mtrig.cur::after{transform:scaleX(1)}
.btn.line-dk{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn.line-dk:hover{background:var(--forest);color:var(--ivory)}
.btn.line-dk svg{transition:transform .3s}.btn.line-dk:hover svg{transform:translateX(4px)}

/* page hero */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:#C9D3CC}
.crumbs a{color:var(--gold-lt);text-decoration:none}
.crumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.crumbs span[aria-hidden]{opacity:.5}
.phero{background:var(--forest);color:var(--ivory);position:relative;overflow:hidden;padding-block:56px 80px;--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 520px at 18% 30%, rgba(205,181,126,.12), transparent 70%);pointer-events:none}
.phero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:72px;align-items:center;max-width:1280px}
.phero.noimg .phero-grid{grid-template-columns:minmax(0,1fr);max-width:1180px}
.phero.noimg h1{max-width:20ch}
.ph-eyebrow{margin:22px 0 0;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-lt)}
.phero h1{font-size:clamp(40px,4.8vw,66px);line-height:1.04;margin-top:16px;color:var(--ivory);max-width:15ch}
.phero h1 em{font-style:italic;font-weight:500;color:var(--gold-lt)}
.phero .sub{color:#D6DED7;font-size:18.5px;margin-top:20px;max-width:34em}
.phero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:32px}
.phero .ctas a.tel{color:#E9EEE7;font-weight:500;text-underline-offset:6px;text-decoration-color:color-mix(in srgb, var(--gold-lt) 60%, transparent)}
.ph-photo{position:relative;padding:0 0 16px 16px}
.ph-photo::before{content:"";position:absolute;left:0;right:16px;top:16px;bottom:0;border:1px solid color-mix(in srgb, var(--gold-lt) 50%, transparent);border-radius:50% 50% 10px 10px / 34% 34% 10px 10px}
.ph-photo .arch{position:relative;border-radius:50% 50% 8px 8px / 34% 34% 8px 8px;overflow:hidden;aspect-ratio:1/1;border:5px solid var(--ivory);box-shadow:0 40px 70px -36px rgba(0,0,0,.65)}
.ph-photo .arch::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.5);border-radius:inherit}
.ph-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* content + sidebar */
.layout-sec{padding-block:96px 110px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:72px;align-items:start}
.prose{min-width:0;max-width:760px}
.prose > p{font-size:18px;color:var(--ink-soft);margin:0 0 18px}
.prose > p.lead{font-size:21px;line-height:1.6;color:var(--ink)}
.prose a{color:var(--forest);text-decoration-color:var(--gold);text-underline-offset:4px}
.prose > h2{font-size:clamp(30px,3vw,40px);line-height:1.12;color:var(--forest);margin:64px 0 22px}
.prose > h2:first-child{margin-top:0}
.prose .mag-list{margin-top:0}
.meta-line{font-size:14px !important;font-weight:600;letter-spacing:.06em;color:var(--gold) !important;margin-bottom:26px !important}
.incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;--em-line:var(--forest);--em-vein:var(--gold)}
.incl-i{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;background:var(--paper);border:1px solid #E6DECB;border-radius:10px;padding:20px 20px 20px 18px;transition:border-color .3s, box-shadow .3s}
.incl-i:hover{border-color:var(--gold);box-shadow:0 20px 34px -26px rgba(28,58,42,.5)}
.incl-i .ki{width:40px;margin-top:2px}
.incl-i b{display:block;font-family:var(--display);font-size:22px;font-weight:600;color:var(--forest);line-height:1.15}
.incl-i span{display:block;font-size:15.5px;color:var(--ink-soft);margin-top:4px;line-height:1.55}
.pfig{margin:44px 0 0}
.pfig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--gold-pale), 0 34px 50px -30px rgba(20,40,30,.5);margin:7px 0}
.pfig figcaption{margin-top:18px;font-size:15px;color:var(--muted);font-style:italic}
.steps-mini{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:12px}
.steps-mini li{counter-increment:s;display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:center;font-size:17px;color:var(--ink-soft)}
.steps-mini li::before{content:counter(s);width:46px;height:46px;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;font-family:var(--display);font-size:22px;font-weight:600;color:var(--forest)}
.steps-mini b{color:var(--ink)}
.rel{display:flex;flex-wrap:wrap;gap:10px}
.rel a{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid #DCD2BC;border-radius:999px;text-decoration:none;color:var(--forest);font-size:15px;font-weight:500;background:var(--paper);transition:background .2s,color .2s,border-color .2s}
.rel a:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.town-svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.town-svcs a{display:flex;flex-direction:column;gap:6px;padding:22px 20px;background:var(--paper);border:1px solid #E6DECB;border-radius:10px;text-decoration:none;color:inherit;transition:border-color .3s, transform .3s, box-shadow .3s}
.town-svcs a:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 20px 34px -26px rgba(28,58,42,.5)}
.ts-ico{width:48px;height:48px;border-radius:50%;background:var(--forest);color:var(--gold-lt);display:grid;place-items:center;margin-bottom:8px;box-shadow:0 0 0 4px var(--paper), 0 0 0 5px var(--gold-pale)}
.ts-ico svg{width:22px;height:22px}
.town-svcs b{font-family:var(--display);font-size:22px;color:var(--forest);line-height:1.1}
.town-svcs span:not(.ts-ico){font-size:14.5px;color:var(--muted)}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0 8px}
.opt{background:var(--paper);border-radius:10px;padding:26px 24px;border-top:3px solid var(--gold);box-shadow:0 20px 34px -28px rgba(28,58,42,.45)}
.opt h3{font-size:25px;color:var(--forest);margin-bottom:8px}
.opt p{font-size:16px;color:var(--ink-soft)}
.guide-box{margin:56px 0 0;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--forest);color:var(--ivory);border-radius:10px;padding:30px 32px;position:relative}
.guide-box::before{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb, var(--gold-lt) 40%, transparent);border-radius:6px;pointer-events:none}
.gb-t{font-family:var(--display);font-size:26px;font-weight:600;line-height:1.15;margin:0 0 6px}
.guide-box p{color:#D6DED7;font-size:16px;margin:0;max-width:34em}
.guide-box .btn{position:relative}

/* sidebar */
.side{position:sticky;top:112px;display:grid;gap:24px}
.sb-card{background:var(--paper);border-radius:12px;padding:26px 26px;box-shadow:0 0 0 1px #E6DECB, 0 26px 40px -34px rgba(28,58,42,.5)}
.sb-consult{background:var(--forest);color:var(--ivory);text-align:center;border-radius:180px 180px 12px 12px / 100px 100px 12px 12px;padding:40px 28px 30px;position:relative;box-shadow:0 34px 50px -30px rgba(10,25,18,.6);--em-line:var(--ivory);--em-vein:var(--gold-lt)}
.sb-consult::before{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb, var(--gold-lt) 45%, transparent);border-radius:172px 172px 7px 7px / 94px 94px 7px 7px;pointer-events:none}
.sb-consult > *{position:relative}
.sb-consult .em{width:80px;height:auto;margin:0 auto 10px;display:block}
.sb-t{font-family:var(--display);font-size:27px;font-weight:600;line-height:1.12;margin:0 0 8px}
.sb-consult p:not(.sb-t){font-size:15px;color:#D6DED7;margin:0 0 18px}
.sb-consult .btn{width:100%;min-height:52px;font-size:15px}
.sb-phone{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--ivory);font-family:var(--display);font-size:25px;font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}
.sb-phone svg{color:var(--gold-lt)}
.sb-avail{display:block;font-size:13px;color:#A9B6AE;margin-top:2px}
.sb-h{font-family:var(--display);font-size:23px;font-weight:600;color:var(--forest);margin:0 0 12px}
.sb-list ul{list-style:none;margin:0;padding:0}
.sb-list a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #EEE7D7;text-decoration:none;color:var(--ink-soft);font-size:15.5px;transition:color .2s, padding .2s}
.sb-list li:first-child a{border-top:0}
.sb-list a svg{color:var(--gold);opacity:0;transform:translateX(-6px);transition:opacity .2s, transform .2s}
.sb-list a:hover,.sb-list a[aria-current]{color:var(--forest);padding-left:6px}
.sb-list a:hover svg,.sb-list a[aria-current] svg{opacity:1;transform:none}
.sb-list a[aria-current]{font-weight:600;box-shadow:inset 3px 0 0 var(--gold);padding-left:12px}
.sb-chips{display:flex;flex-wrap:wrap;gap:6px}
.sb-chips a{font-size:14px;color:var(--forest);text-decoration:none;border:1px solid #DCD2BC;border-radius:999px;padding:6px 12px;transition:background .2s,color .2s}
.sb-chips a:hover,.sb-chips a[aria-current]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.sb-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:600;color:var(--forest);text-decoration:none}
.sb-quote{position:relative;margin:0;padding-top:32px}
.sb-quote .qm{position:absolute;top:-18px;left:24px;width:42px;height:42px;border-radius:50%;background:var(--gold-lt);color:var(--forest-ink);display:flex;justify-content:center;font-family:var(--display);font-size:46px;line-height:1.05;box-shadow:0 0 0 4px var(--ivory)}
.sb-stars{display:flex;gap:2px;color:var(--gold)}
.sb-quote q{quotes:none;display:block;margin-top:10px;font-family:var(--display);font-style:italic;font-size:20px;line-height:1.4;color:var(--ink)}
.sb-quote figcaption{margin-top:14px;font-size:14px;color:var(--muted)}
.sb-quote figcaption b{color:var(--forest)}
.sb-quote small{display:block;margin-top:6px;font-size:12px;color:#9A9E98}
.sb-posts ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sb-posts a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;text-decoration:none}
.sb-posts img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.sb-posts span{font-family:var(--display);font-size:19px;font-weight:600;line-height:1.2;color:var(--forest)}
.sb-posts a:hover span{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}

/* cta band (sage) */
.cta-band{background:#E2E8DC;padding-block:84px;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 85% 20%, rgba(255,255,255,.55), transparent 70%)}
.cta-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px 56px;flex-wrap:wrap}
.cta-t{font-family:var(--display);font-weight:600;font-size:clamp(36px,4vw,54px);line-height:1.05;color:var(--forest);margin:0}
.cta-t em{font-style:italic;font-weight:500;color:var(--gold)}
.cta-s{margin-top:12px;color:var(--ink-soft);max-width:34em}
.cta-b{display:flex;flex-wrap:wrap;gap:12px}
.cta-b .btn.line{border-color:var(--forest)}

/* hubs + about + misc */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.counties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.county{background:var(--paper);border-radius:12px;padding:26px 26px 14px;box-shadow:0 0 0 1px #E6DECB, 0 26px 40px -34px rgba(28,58,42,.5)}
.county-h{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.county ul{list-style:none;margin:0;padding:0}
.county a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:12px 0;border-top:1px solid #EEE7D7;text-decoration:none;color:var(--forest);font-family:var(--display);font-size:23px;font-weight:600;line-height:1.1}
.county li:first-child a{border-top:0}
.county a span{grid-column:1;font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--muted)}
.county a svg{grid-column:2;grid-row:1/3;color:var(--gold);transition:transform .2s}
.county a:hover svg{transform:translateX(4px)}
.info-link{display:inline-block;margin-top:10px;font-size:14.5px;font-weight:600;color:var(--forest);text-decoration-color:var(--gold);text-underline-offset:4px}
.story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.prose-in p{font-size:18px;color:var(--ink-soft);margin:0 0 18px}
.prose-in p.lead{font-size:21px;line-height:1.6;color:var(--ink)}
.note-ill{font-size:13px !important;color:var(--muted) !important;font-style:italic}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px;text-align:center}
.value{background:var(--paper);border-radius:160px 160px 12px 12px / 90px 90px 12px 12px;padding:40px 30px 34px;box-shadow:0 0 0 1px #E6DECB, 0 26px 40px -34px rgba(28,58,42,.5);--em-line:var(--forest);--em-vein:var(--gold)}
.value .em{width:72px;height:auto;margin:0 auto 14px;display:block}
.value h3{font-size:28px;color:var(--forest)}
.value p{font-size:16px;color:var(--ink-soft);margin-top:8px}
.feat-post{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;text-decoration:none;color:inherit}
.feat-post .ph{aspect-ratio:4/3;border-radius:8px;overflow:hidden;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px var(--gold-pale), 0 34px 50px -30px rgba(20,40,30,.55);margin:7px}
.feat-post img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.feat-post:hover img{transform:scale(1.04)}
.feat-post .cat{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--gold);text-transform:uppercase}
.feat-post h2{font-size:clamp(34px,3.6vw,50px);line-height:1.08;color:var(--forest);margin-top:12px}
.feat-post p{margin-top:14px;color:var(--ink-soft);font-size:18px}
.feat-post .more{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-weight:600;color:var(--forest);font-size:15px}
.roles{display:grid;gap:14px}
.role{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--paper);border-radius:10px;padding:24px 26px;border-left:3px solid var(--gold);box-shadow:0 20px 34px -28px rgba(28,58,42,.45)}
.role h3{font-size:25px;color:var(--forest)}
.role p{font-size:15.5px;color:var(--ink-soft);margin-top:4px;max-width:34em}
.role .btn{min-height:46px;padding:0 20px;font-size:14.5px}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.info-c{background:var(--paper);border-radius:12px;padding:30px 28px;box-shadow:0 0 0 1px #E6DECB, 0 26px 40px -34px rgba(28,58,42,.5)}
.info-ico{width:54px;height:54px;border-radius:50%;background:var(--forest);color:var(--gold-lt);display:grid;place-items:center;box-shadow:0 0 0 4px var(--paper), 0 0 0 5px var(--gold-pale);margin-bottom:16px}
.info-c h3{font-size:26px;color:var(--forest)}
.info-c p{margin-top:6px;color:var(--ink-soft);font-size:16px}
.info-c a{color:var(--forest);font-weight:600}

@media (max-width:1080px){
  .phero-grid,.layout,.two,.story,.feat-post{grid-template-columns:minmax(0,1fr)}
  .phero-grid{gap:44px}
  .ph-photo{max-width:520px}
  .side{position:static}
  .layout:has(.sb-consult) .guide-box{display:none} /* stacked sidebar consult card follows right after */
  .counties,.values,.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .phero{padding-block:40px 60px}
  .layout-sec{padding-block:64px 80px}
  .incl,.opts,.town-svcs,.counties,.values,.info-grid{grid-template-columns:minmax(0,1fr)}
  .prose > p.lead,.prose-in p.lead{font-size:19px}
  .guide-box{padding:26px 22px}
  .cta-band{padding-block:64px}
  .cta-b .btn{width:100%}
}
.why h3 a{color:inherit;text-decoration:none}
.why h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:5px}
.why-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:14.5px;font-weight:600;color:var(--forest);text-decoration:none}
.why-link svg{transition:transform .3s}.why-link:hover svg{transform:translateX(4px)}
.lede a,.areas .lede a,details p a{color:var(--forest);text-decoration-color:var(--gold);text-underline-offset:4px}
.pfig.wide img{aspect-ratio:21/8}
@media (max-width:680px){.pfig img,.pfig.wide img{aspect-ratio:3/2}}
.prose > .meta-line{margin-top:-8px}
.prose > .src{margin-top:56px;font-size:13.5px;color:var(--muted);border-top:1px solid #E6DECB;padding-top:18px}
.prose > .src a{color:var(--muted)}

/* ===== mega menu: hover, focus and current-page states ===== */
.nav > a:focus-visible,.nav .mtrig:focus-visible{outline:2px solid var(--gold-lt);outline-offset:-4px;border-radius:6px}
.nav .has[data-open="true"] .mtrig{color:var(--gold-lt)}
.m-svc{position:relative;outline:none;border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s}
.m-svc img{transition:box-shadow .25s, transform .25s}
.m-svc:hover,.m-svc:focus-visible{background:var(--cream);border-color:var(--gold-pale);transform:translateX(3px)}
.m-svc:hover img,.m-svc:focus-visible img{box-shadow:0 0 0 2px var(--ivory), 0 0 0 3px var(--gold)}
.m-svc:hover b,.m-svc:focus-visible b{color:var(--gold)}
.m-svc:focus-visible{box-shadow:0 0 0 2px var(--gold)}
.m-svc:active{transform:translateX(3px) scale(.99);background:var(--gold-pale)}
.m-svc[aria-current="page"]{background:var(--cream);border-color:var(--gold-pale);box-shadow:inset 3px 0 0 var(--gold)}
.m-svc[aria-current="page"] b::after{content:"You're here";display:inline-block;margin-left:8px;font:600 10.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--forest-ink);background:var(--gold-lt);border-radius:999px;padding:2px 8px;vertical-align:middle}
.m-list a{position:relative;outline:none;transition:color .2s,padding .2s,background .2s}
.m-list a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s;flex:0 0 auto}
.m-list a:hover,.m-list a:focus-visible{color:var(--forest);padding-left:6px}
.m-list a:hover::before,.m-list a:focus-visible::before,.m-list a[aria-current="page"]::before{opacity:1;transform:none}
.m-list a:focus-visible{background:var(--cream);border-radius:6px}
.m-list a:active{color:var(--gold)}
.m-list a[aria-current="page"]{color:var(--forest);font-weight:600}
.m-county a{position:relative;width:fit-content;outline:none;transition:color .2s}
.m-county a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.m-county a:hover::after,.m-county a:focus-visible::after,.m-county a[aria-current="page"]::after{transform:scaleX(1)}
.m-county a:focus-visible{background:var(--cream);border-radius:4px;box-shadow:0 0 0 4px var(--cream)}
.m-county a:active{color:var(--forest-ink)}
.m-county a[aria-current="page"]{color:var(--gold)}
.m-feat .btn:focus-visible,.m-map a:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
.m-map a{transition:background .2s}
.m-map a:hover,.m-map a:focus-visible{background:var(--forest-2)}
.m-map a:active{background:var(--forest-ink)}
.drawer a[aria-current="page"]{color:var(--gold-lt) !important}
.drawer a:focus-visible,.drawer summary:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px;border-radius:4px}

/* ===== timeline + guides ===== */
.tl{list-style:none;margin:0;padding:0 0 0 4px;position:relative}
.tl::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:1px;background:var(--gold-pale)}
.tl li{position:relative;display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;padding:12px 0 12px 32px}
.tl li::before{content:"";position:absolute;left:3px;top:19px;width:11px;height:11px;border-radius:50%;background:var(--ivory);border:2px solid var(--gold)}
.tl-t{font-family:var(--display);font-size:20px;font-weight:600;color:var(--forest);line-height:1.3}
.tl-d{font-size:16.5px;color:var(--ink-soft)}
.guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;background:var(--paper);border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #E6DECB;transition:box-shadow .3s, transform .3s}
.guide img{width:100%;aspect-ratio:16/10;object-fit:cover}
.guide span{padding:10px 16px 0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.guide b{padding:0 16px 16px;font-family:var(--display);font-size:20px;font-weight:600;line-height:1.2;color:var(--forest)}
.guide:hover,.guide:focus-visible{transform:translateY(-3px);box-shadow:0 0 0 1px var(--gold), 0 20px 34px -24px rgba(28,58,42,.5)}
@media (max-width:680px){
  .guides{grid-template-columns:minmax(0,1fr)}
  .tl li{grid-template-columns:minmax(0,1fr);gap:2px}
}
.m-list a{justify-content:flex-start}
.av{--em-line:var(--ivory);--em-vein:var(--gold-lt)}
