@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');

:root { --navy:#0d1b38; --navy-2:#14284e; --gold:#c99a43; --cream:#faf8f3; --ink:#202a3b; --muted:#5f6877; --line:#e5dfd3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',Arial,sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.wrap { width:min(1120px, calc(100% - 40px)); margin:auto; }
.site-header { background:var(--navy); color:#fff; position:sticky; top:0; z-index:10; box-shadow:0 2px 15px #07112433; }
.head { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:16px; font-family:'Playfair Display',serif; font-size:44px; line-height:1.05; letter-spacing:.01em; }
.brand img { width:168px; height:105px; object-fit:contain; }
.brand span small { display:block; color:#dcb968; font:500 10px 'DM Sans',sans-serif; letter-spacing:.16em; text-transform:uppercase; margin-top:4px; }
.menu { display:flex; align-items:center; gap:24px; font-size:14px; }
.menu a { color:#f8f5ed; border-bottom:2px solid transparent; padding:4px 0; }
.menu a:hover,.menu a.active { color:#e4bd67; border-bottom-color:#e4bd67; }
.services-menu { position:relative; }
.services-menu summary { color:#f8f5ed; border-bottom:2px solid transparent; padding:4px 0; cursor:pointer; list-style:none; }
.services-menu summary::-webkit-details-marker { display:none; }
.services-menu summary:hover,.services-menu.active summary { color:#e4bd67; border-bottom-color:#e4bd67; }
.service-links { display:none; position:absolute; top:31px; left:-20px; min-width:235px; padding:13px 20px; background:var(--navy); box-shadow:0 10px 25px #07112455; }
.services-menu[open] .service-links { display:block; }
.service-links a { display:block; padding:8px 0; white-space:nowrap; }
.menu .cta-small { border:1px solid #c99a43; padding:8px 13px; border-radius:2px; }
.menu .cta-small:hover { background:#c99a43; color:#0d1b38; }
.menu-button { display:none; color:#fff; background:none; border:1px solid #ffffff66; border-radius:3px; padding:8px 10px; font:inherit; }
.hero { min-height:540px; display:grid; align-items:center; position:relative; color:#fff; background:linear-gradient(90deg,#0d1b38 0%,#112248 65%,#11224880 83%),url('assets/seniors-concierge-brochure.jpg') center top/cover; }
.hero .content { padding:82px 0 90px; text-align:left; position:relative; z-index:2; }
.hero-bell-watermark { position:absolute; z-index:1; top:50%; left:43%; width:clamp(230px,25vw,370px); height:90%; transform:translateY(-50%); object-fit:contain; opacity:.13; pointer-events:none; }
.eyebrow { color:#e4bd67; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin:0 0 15px; }
h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; line-height:1.18; color:var(--navy); margin:0 0 18px; }
.hero h1 { color:#fff; font-size:clamp(42px,6vw,68px); max-width:620px; }
.hero .eyebrow { font-size:18px; }
.hero .lede { font-size:20px; line-height:1.55; max-width:580px; margin:0 0 28px; color:#f9f7f2; }
.button { display:inline-block; padding:13px 21px; font-weight:700; border-radius:2px; transition:.15s; }
.button.gold { color:var(--navy); background:var(--gold); }
.button.gold:hover { background:#e0bb6b; }
.button.outline { border:1px solid var(--gold); color:var(--gold); }
.button.outline:hover { color:var(--navy); background:var(--gold); }
.intro { padding:92px 0; }
.intro-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; }
h2 { font-size:clamp(31px,4vw,45px); }
.intro p { color:var(--muted); max-width:620px; }
.feature { background:var(--navy); color:#fff; padding:34px; border-left:4px solid var(--gold); }
.feature h3 { color:#e4bd67; font-size:27px; }
.feature p { color:#f0eee9; margin:0; }
.services { padding:82px 0 100px; background:#f0ede6; }
.section-heading { max-width:625px; margin-bottom:42px; }
.section-heading p { color:var(--muted); margin:0; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card { background:#fff; padding:29px 26px; display:flex; flex-direction:column; min-height:255px; border-top:3px solid transparent; transition:.15s; }
.card:hover { border-top-color:var(--gold); transform:translateY(-3px); box-shadow:0 10px 25px #18223b15; }
.card h3 { font-size:24px; margin-bottom:12px; }
.card p { color:var(--muted); margin:0 0 20px; }
.card a { color:#a4772d; font-weight:700; margin-top:auto; }
.process { padding:92px 0; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; margin-top:42px; }
.step-number { color:var(--gold); font:600 54px/1 'Playfair Display',serif; }
.steps h3 { font-size:24px; margin:8px 0; }
.steps p { color:var(--muted); margin:0; }
.page-hero { background:var(--navy); color:#fff; padding:82px 0 76px; }
.page-hero h1 { color:#fff; font-size:clamp(40px,5vw,59px); max-width:750px; }
.page-hero .lede { max-width:680px; color:#ebe8df; font-size:19px; margin:0; }
.page-content { padding:76px 0 92px; }
.content-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:74px; }
.content-grid p { color:var(--muted); font-size:17px; }
.content-grid h2 { font-size:36px; }
.checklist { background:#eee8dc; padding:30px; align-self:start; }
.checklist h3 { font-size:25px; }
.checklist ul { list-style:none; padding:0; margin:0; }
.checklist li { padding:12px 0; border-top:1px solid #d9cfbc; color:#465166; }
.checklist li::before { content:'•'; color:#b58534; font-size:22px; margin-right:11px; vertical-align:-1px; }
.about-aside { display:grid; gap:22px; align-content:start; }
.andrea-photo { width:100%; max-height:390px; object-fit:cover; object-position:center 22%; }
.callout { background:#f0ede6; margin-top:65px; padding:38px; border-left:4px solid var(--gold); }
.callout h2 { font-size:30px; margin-bottom:10px; }
.callout p { margin:0 0 20px; color:var(--muted); }
.about { padding:88px 0; }
.contact-band { background:var(--navy); color:#fff; padding:70px 0; }
.contact-band h2 { color:#fff; max-width:590px; }
.contact-band p { color:#e9e6dd; max-width:580px; }
.contact-layout { display:flex; justify-content:space-between; gap:36px; align-items:end; }
.contact-details { margin:0; color:#e4bd67; font-size:18px; font-weight:600; }
.contact-details a { display:block; margin:5px 0; }
.site-footer { padding:28px 0; background:#09152b; color:#c9cbd0; font-size:13px; }
.foot { display:flex; justify-content:space-between; gap:20px; }
@media (max-width:820px) { .menu-button{display:block}.menu{display:none;position:absolute;left:0;right:0;top:82px;padding:18px 20px 22px;background:var(--navy);flex-direction:column;align-items:flex-start;gap:12px}.menu.open{display:flex}.service-links{position:static;box-shadow:none;padding:6px 0 0 14px;min-width:0}.intro-grid,.content-grid{grid-template-columns:1fr;gap:36px}.cards{grid-template-columns:repeat(2,1fr)}.steps{gap:22px}.hero{min-height:510px}.hero .content{padding:72px 0}.contact-layout{display:block}.contact-details{margin-top:25px} }
@media (max-width:560px) { .wrap{width:min(100% - 32px,1120px)}.brand{font-size:19px}.cards,.steps{grid-template-columns:1fr}.intro,.services,.process,.page-content,.about{padding:64px 0}.page-hero{padding:64px 0}.hero{background:linear-gradient(90deg,#0d1b38 0%,#112248e8 100%),url('assets/seniors-concierge-brochure.jpg') 68% top/cover}.hero-bell-watermark{left:41%;width:180px;height:82%;opacity:.1}.feature,.callout{padding:26px}.foot{display:block}.foot span{display:block;margin-top:5px} }
