:root{
  --navy:#0f2f3f; --navy2:#123d4f; --teal:#2f7f86; --teal2:#5aa5a8; --aqua:#cfe7e6;
  --cream:#faf6ee; --cream2:#f2ece0; --ink:#1d2b33; --muted:#53636b; --line:#e3dccd;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
a:focus-visible,summary:focus-visible{outline:3px solid #e2b866;outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}
.draft{margin:0;background:#e9dfc8;color:#4a3f27;text-align:center;font-size:.8rem;letter-spacing:.04em;padding:.4rem 1rem}

.hero{position:relative;color:#fff;overflow:hidden;
  background:
    radial-gradient(ellipse 60% 40% at 85% 15%,rgba(90,165,168,.35),transparent 70%),
    radial-gradient(ellipse 50% 35% at 10% 80%,rgba(47,127,134,.35),transparent 70%),
    linear-gradient(170deg,var(--navy) 0%,var(--navy2) 55%,#17505f 100%);}
.hero::before{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;
  background:repeating-radial-gradient(circle at 80% 30%,transparent 0 22px,rgba(255,255,255,.35) 23px,transparent 24px 46px);
  -webkit-mask-image:radial-gradient(circle at 80% 30%,#000 0,transparent 60%);mask-image:radial-gradient(circle at 80% 30%,#000 0,transparent 60%)}
.hero-in{position:relative;max-width:1180px;margin:0 auto;padding:2.8rem 1.4rem 5.6rem;display:grid;gap:2rem;align-items:center}
.hero-photo{margin:0;border-radius:24px 24px 120px 24px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);border:6px solid rgba(250,246,238,.12);max-height:260px}
.hero-photo img{width:100%;height:100%;object-fit:cover}
@media(min-width:1024px){.hero-in{grid-template-columns:1.15fr .85fr;padding:4.5rem 2rem 7rem;gap:3.5rem}.hero-photo{max-height:none}}
.eyebrow{margin:0 0 .6rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua)}
.eyebrow.dark{color:var(--teal)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;color:var(--navy)}
.hero h1{color:#fff;font-size:clamp(2.1rem,8.5vw,3.6rem);margin:0 0 .5rem;letter-spacing:-.01em}
.addr{margin:0 0 1.2rem;color:#d7ebea;font-size:1.05rem}
.lead{max-width:34rem;margin:0 0 1.8rem;font-family:var(--serif);font-size:1.18rem;font-style:italic;color:#f1f6f5}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.3rem;border-radius:999px;font-weight:600;font-size:1rem;text-decoration:none;transition:transform .15s,background .15s}
.btn:active{transform:scale(.98)}
.btn-light{background:var(--cream);color:var(--navy)}
.btn-ghost{color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--teal)}
.btn-outline{border:1.5px solid var(--navy);color:var(--navy)}
.waves{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px}
.waves .w1{fill:rgba(250,246,238,.35)}
.waves .w2{fill:var(--cream)}



.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.3rem;box-shadow:0 1px 2px rgba(15,47,63,.04),0 8px 24px -16px rgba(15,47,63,.25)}
.times{list-style:none;margin:0;padding:0}
.times li{padding:.55rem 0;border-top:1px solid var(--line)}
.times li:first-child{border-top:0;padding-top:0}
.times b{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:600}
.note{margin:1.2rem 0 0;padding:1rem 1.2rem;border-left:4px solid var(--teal);background:#fff;border-radius:0 12px 12px 0}
.ph{margin:1rem 0 0;padding:.7rem 1rem;border:1.5px dashed #c9a96a;border-radius:12px;color:#7a5d22;background:#fffaf0;font-size:.92rem}
.calls{display:grid;gap:.6rem;margin:.4rem 0 1.4rem}
@media(min-width:600px){.calls{grid-template-columns:repeat(2,minmax(0,280px))}}
.call{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.7rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--navy);font-size:1.2rem;font-weight:600;letter-spacing:.02em}
.call:hover{border-color:var(--teal)}
.ico{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-size:1rem}
.price{display:grid;justify-items:start;gap:.1rem;margin-bottom:1rem}
.price p{margin:0}
.amt{font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--navy);margin-bottom:.4rem!important}
.quote{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--navy2);margin:1.2rem 0;padding-left:1rem;border-left:3px solid var(--teal2)}
.donate{background:linear-gradient(160deg,#e7f1ef,#f6f1e6);border-radius:18px;padding:1.3rem}
.donate p{margin:0 0 .8rem}
.photo{margin:0 0 1.2rem;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(15,47,63,.5)}
.addr-card{font-style:normal;margin-bottom:1rem;line-height:1.7}
.small{font-size:.88rem;color:var(--muted);margin:.2rem 0}
.card p{margin:.2rem 0 .8rem}
.card a{font-weight:600}
.renders{display:grid;gap:1rem;margin:1.4rem 0}
@media(min-width:700px){.renders{grid-template-columns:1fr 1fr}}
.renders figure{margin:0}
.renders img{border-radius:14px}
figcaption{font-size:.8rem;color:var(--muted);margin-top:.4rem}
.ticks{padding:0;margin:0 0 1.2rem;list-style:none}
.ticks li{position:relative;padding:.35rem 0 .35rem 1.7rem}
.ticks li::before{content:"";position:absolute;left:0;top:.85rem;width:1rem;height:.5rem;border-radius:50%;border-bottom:2px solid var(--teal)}
.dedic{margin:1.4rem 0}
.dedic summary{cursor:pointer;font-family:var(--serif);font-size:1.2rem;color:var(--navy);font-weight:600;min-height:32px}
.dlist{list-style:none;padding:0;margin:1rem 0}
.dlist li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line)}
.dlist b{color:var(--navy);white-space:nowrap}
.foot{background:var(--navy);color:#cfe0e1;text-align:center;padding:2.4rem 1.4rem 2.8rem}
.foot .small{color:#a9c1c3}
.mark{display:inline-flex;align-items:center;gap:.9rem;text-align:left;margin-bottom:1rem}
.mark img{width:64px;height:64px;background:#fff;border-radius:50%;padding:4px}
.mark p{margin:0;font-size:.9rem;line-height:1.4}
.mark strong{color:#fff;font-family:var(--serif);font-size:1.05rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* header bar */
.bar{position:sticky;top:0;z-index:20;background:rgba(15,47,63,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.bar-in{max-width:1180px;margin:0 auto;padding:.55rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-family:var(--serif);font-size:1.05rem;font-weight:600;line-height:1.15}
.brand img{border-radius:9px;flex:0 0 auto}
.nav-desk{display:none;align-items:center;gap:.2rem}
.nav-desk a{color:#dbe9ea;text-decoration:none;font-size:.93rem;padding:.45rem .65rem;border-radius:8px}
.nav-desk a:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-desk .nav-call{margin-left:.5rem;background:var(--cream);color:var(--navy);font-weight:700;border-radius:999px;padding:.5rem 1rem}
.nav-desk .nav-call:hover{background:#fff;color:var(--navy)}
.nav-mob{position:relative}
.nav-mob summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.4rem .85rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.92rem}
.nav-mob summary::-webkit-details-marker{display:none}
.burger,.burger::before,.burger::after{display:block;width:16px;height:2px;background:#fff;border-radius:2px;position:relative}
.burger::before,.burger::after{content:"";position:absolute;left:0}
.burger::before{top:-5px}.burger::after{top:5px}
.nav-mob nav{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;background:#fff;border-radius:16px;padding:.5rem;box-shadow:0 20px 40px -12px rgba(15,47,63,.45);display:grid}
.nav-mob nav a{color:var(--navy);text-decoration:none;padding:.7rem .9rem;border-radius:10px}
.nav-mob nav a:hover{background:var(--cream2)}
@media(min-width:1024px){.nav-desk{display:flex}.nav-mob{display:none}.brand{font-size:1.15rem}}

/* layout */
.wrap{max-width:1180px;margin:0 auto;padding:2.6rem 1.1rem}
.band{background:var(--cream2)}
.row3,.row2{display:grid;gap:1.1rem}
.wrap.row3{padding-top:.4rem}
@media(min-width:720px){.row2{grid-template-columns:1fr 1fr;gap:2rem}}
@media(min-width:720px) and (max-width:1023px){.row3{grid-template-columns:1fr 1fr}.row3>#charges,.row3>section:nth-child(3):last-child{grid-column:1/-1}}
@media(min-width:1024px){.row3{grid-template-columns:repeat(3,1fr);gap:1.4rem}.wrap{padding:3.6rem 2rem}.wrap.row3{padding-top:.4rem}}
.split{display:grid;gap:1.6rem;align-items:start}
@media(min-width:1024px){.split{grid-template-columns:1.1fr .9fr;gap:3rem}}
h2{font-size:clamp(1.6rem,5.5vw,2.2rem);margin:0 0 1.1rem;position:relative;padding-bottom:.6rem}
h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 10'%3E%3Cpath d='M0 5q7-5 14 0t14 0 14 0 14 0' fill='none' stroke='%232f7f86' stroke-width='2'/%3E%3C/svg%3E") no-repeat}
h3{font-size:1.2rem;margin:1.2rem 0 .5rem}
.sec-card h2{font-size:1.6rem}
.sec-card h3:first-of-type,.card>h3:first-child{margin-top:0}
.row-h{margin-bottom:1.4rem}
.tight{margin:.1rem 0!important}
.amt{margin:0 0 .5rem!important}
.calls{grid-template-columns:1fr!important}
.map-art{height:120px;border-radius:14px;margin:0 0 1rem;position:relative;overflow:hidden;
  background:
   linear-gradient(90deg,transparent 46%,#fff 46%,#fff 54%,transparent 54%),
   linear-gradient(20deg,transparent 60%,rgba(255,255,255,.9) 60%,rgba(255,255,255,.9) 64%,transparent 64%),
   linear-gradient(160deg,#dfeeed,#cfe7e6)}
.pin{position:absolute;left:50%;top:44%;width:26px;height:26px;margin:-13px 0 0 -13px;background:var(--navy);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 10px -4px rgba(0,0,0,.4)}
.pin::after{content:"";position:absolute;inset:8px;background:var(--cream);border-radius:50%}
.renders{margin:0}
@media(min-width:1024px){.renders{grid-template-columns:1fr}}
section[id]{scroll-margin-top:76px}

/* added for the site editor: new photos, new pages */
.ed-photo{margin:1.4rem 0}
.ed-photo img{width:100%;border-radius:18px}
.ed-photo figcaption{margin-top:.5rem}
.hero-page .hero-in{padding:2.4rem 1.4rem 4.6rem}
@media(min-width:1024px){.hero-page .hero-in{grid-template-columns:1fr;padding:3.6rem 2rem 5.8rem}}
.page-body{max-width:860px;min-height:40vh}
.page-body h2{margin-top:2.2rem}
.page-body>h2:first-child{margin-top:0}
.nav-desk{flex-wrap:wrap;justify-content:flex-end}
