:root{
  --ink:#0b1220;
  --accent:#2bbcaf; /* teal */
  --accent2:#6c52cc; /* lavender */
  --paper:#f8fafc;
  --card:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:#fff;scroll-behavior:smooth}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:.2px}
img{max-width:100%;display:block}
.container{width:min(1100px,92%);margin:0 auto}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:saturate(180%) blur(6px);border-bottom:1px solid #eee;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.logo{height:128px;object-fit:contain}
nav a{margin-left:.6rem;text-decoration:none;color:#fff;font-weight:700;padding:.42rem .78rem;border-radius:9999px;background:linear-gradient(120deg,var(--accent),var(--accent2));display:inline-block}
nav a:hover{filter:brightness(1.08)}
nav a.btn{padding:.55rem .9rem}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;padding:.9rem 1.15rem;border:1px solid transparent}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.btn.primary:hover{opacity:.9}

.hero{background:radial-gradient(65% 120% at 0% 0%,#eaf6f5 0%,#f3f0ff 60%,#fff 100%);padding:3.2rem 0 2.4rem;border-bottom:1px solid #eee}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.hero h1{font-size:2.6rem;margin:.2rem 0 .3rem}
.hero .sub{font-weight:800;color:var(--accent2);margin:.1rem 0 1rem}
.big-points{font-size:1.05rem;line-height:1.6}
.big-points li{margin:.35rem 0}
.brand-hero{display:flex;align-items:center;gap:1rem;justify-content:flex-end;flex-wrap:wrap}
.brand-hero .hero-logo{width:520px;height:520px;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.08);border:1px solid #e5e7eb}
.brand-hero .hero-photo{width:520px;height:520px;object-fit:cover;border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.12);border:1px solid #e5e7eb}

.section{padding:3rem 0}
.section.alt{background:#f8fafc}
.section-title{font-size:2rem;margin:0 0 1.2rem}
.section-title span{background:linear-gradient(120deg,var(--accent) 0%,var(--accent2) 100%);color:#fff;padding:.35rem .65rem;border-radius:14px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.section-title.contrast span{background:linear-gradient(120deg,var(--accent2) 0%,var(--accent) 100%)}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:18px;padding:1.2rem;box-shadow:0 10px 25px rgba(0,0,0,.04)}
.card.small h3{margin:.3rem 0 .4rem;font-size:1.1rem}
.card h3{margin:.3rem 0}
.eyebrow{color:var(--accent2);font-weight:700;margin:.15rem 0 .7rem}
.card ul{padding-left:1.1rem}

.fineprint{color:#334155}
.fineprint p{margin:.3rem 0}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.portrait-wrap.single .portrait.large{border-radius:22px;box-shadow:0 20px 45px rgba(0,0,0,.12)}

.signature-wrap{margin-top:.2rem;display:flex;justify-content:center}
.signature-wrap img{width:min(100%,1100px);height:auto;display:block}

.ba img{border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.ba figcaption{color:#64748b;margin-top:.5rem}

.section.cta{background:linear-gradient(135deg,#ebfdf8,#eef);text-align:center;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.section.cta .lead{font-size:1.1rem;margin:.6rem 0 1rem}
.section.cta .lead a.phone{color:#0b1220;font-weight:900;text-decoration:none;border-bottom:3px solid currentColor;padding-bottom:2px}
.section.cta .lead a.email{color:#0b1220;font-weight:700;text-decoration:underline}

.site-footer{padding:1.2rem 0;background:#fff;border-top:1px solid #eee}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;color:#64748b}

@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr}
  .brand-hero{justify-content:center}
  .brand-hero .hero-logo,.brand-hero .hero-photo{width:520px;height:520px;object-fit:cover;border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.12);border:1px solid #e5e7eb}
}

/* Typed signature after bio */
.signature-text{ font-family: 'Great Vibes', cursive; font-size: 34px; line-height: 1.1; color: #111; margin-top: 6px; }
@media (min-width: 900px){
  .signature-text{ font-family: 'Great Vibes', cursive; font-size: 34px; line-height: 1.1; color: #111; margin-top: 6px; }
}

@media (min-width:900px){ .signature-text{ font-family: 'Great Vibes', cursive; font-size: 34px; line-height: 1.1; color: #111; margin-top: 6px; } }

.valediction {
  font-family: Georgia, serif;
  font-size: 20px;
  font-style: italic;
  color: #444;
  margin-top: 20px;
}


/* Caption under About photo */
.photo-caption{
  text-align:center;
  margin-top:6px;
  font-size:18px;
  color:#374151;
}
.photo-caption em{font-style:italic;}
.photo-caption strong{display:inline-block;margin-top:2px;color:#111;}


@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

.photo-caption {
  text-align: center;
  margin-top: 6px;
  font-size: 26px;
  font-family: 'Great Vibes', cursive;
  color: #111;
  line-height: 1.3;
}


/* Ensure figcaption under Linda & Alfi image is fully centered */
figure img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
figure .photo-caption {
  text-align: center;
  display: block;
  width: 100%;
}

.availability-flag{font-weight:800;margin:4px 0 6px;color:#2bbcaf;font-size:1.05rem}
