:root{--text:#11213e;--muted:#4d6288;--line:#dce6f7;--bg:#f5f9ff;--surface:#fff;--accent:#2f6fff}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.topnav{position:sticky;top:0;z-index:20;background:#ffffffdd;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{height:68px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800}
nav a{color:#3e5682;text-decoration:none;margin-left:18px;font-weight:500}nav a:hover{color:var(--accent)}
.hero{padding:56px 0 0;background:linear-gradient(180deg,#f8fbff 0,#eef5ff 100%)}
.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.hero-copy{background:var(--surface);border:1px solid var(--line);border-radius:38px 18px 34px 20px;padding:28px;box-shadow:0 18px 36px rgba(35,85,168,.08);height:100%;display:flex;flex-direction:column;justify-content:center}
.kicker{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent)}
h1{font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.06;margin:.35rem 0 .9rem}.lede{font-size:1.02rem;color:var(--muted)}
.hero-media{border:1px solid var(--line);border-radius:20px 42px 24px 36px;overflow:hidden;height:100%;box-shadow:0 16px 34px rgba(23,65,138,.12)}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.curve{display:block;width:100%;height:70px;fill:#f8fbff}
.section{padding:34px 0}h2{font-size:1.8rem;margin:0 0 10px}.sub{color:var(--muted);margin:0 0 14px}
.writing-card{display:grid;grid-template-columns:240px 1fr;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:12px}
.writing-card img{width:100%;height:140px;object-fit:cover;border-radius:12px}
.writing-card p{color:var(--muted);margin:.25rem 0 .4rem}.writing-card a{color:var(--accent);text-decoration:none;font-weight:600}.writing-card a:hover{text-decoration:underline}
.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:22px 14px 20px 12px;padding:16px;box-shadow:0 10px 24px rgba(35,85,168,.05)}
.icon{width:40px;height:40px;border-radius:12px;background:#edf3ff;border:1px solid #cfddfb;display:inline-grid;place-items:center;margin:0 10px 0 0;vertical-align:middle}
.icon svg{width:22px;height:22px;stroke:#2f6fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.feature h3{display:inline-block;vertical-align:middle;margin:0}.feature p{color:var(--muted);margin:.55rem 0 0}
.lightband{position:relative;background:linear-gradient(180deg,#ecf4ff,#f6faff);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:visible}
.cw-shell{background:#ffffff80;border:1px solid var(--line);border-radius:24px;padding:14px}
.cw-viewport{overflow:hidden;border-radius:18px}
.cw-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/2);gap:12px;transition:transform .45s ease;will-change:transform}
.cw-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 22px rgba(35,85,168,.07)}
.cw-card img{width:100%;height:160px;object-fit:cover;display:block}.cw-copy{padding:12px 14px 14px}.cw-copy h3{margin:.1rem 0 .35rem}.cw-copy p{margin:0;color:var(--muted)}
.cw-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}
.cw-btn{border:1px solid #b9cff7;background:#fff;color:#1d4fd8;width:42px;height:42px;border-radius:999px;cursor:pointer;font-size:20px;font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.1)}
.cw-dots{display:flex;gap:8px}.cw-dots i{display:block;width:8px;height:8px;border-radius:999px;background:#c4d6f5}.cw-dots i.active{background:#2f6fff}
.curve-bottom{height:64px;fill:#f5f9ff}
.connect{padding-bottom:52px}
.email{display:inline-block;margin-top:8px;color:var(--accent);font-weight:700;text-decoration:none}
.email:hover{text-decoration:underline}
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.social-links a{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#2f4f84;text-decoration:none;font-weight:600}
.social-links a:hover{border-color:#aac3ee;color:var(--accent)}
@media (max-width:980px){.hero-layout,.focus-grid,.writing-card{grid-template-columns:1fr}.hero-media{min-height:220px}.cw-track{grid-auto-columns:100%}.cw-card img{height:150px}}

/* Footer icon row override */
.connect{padding-bottom:18px}
.site-footer{margin-top:18px;border-top:1px solid var(--line);background:linear-gradient(180deg,#f2f7ff,#edf4ff)}
.footer-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px 20px;flex-wrap:nowrap}
.icon-link{width:76px;height:76px;border:1px solid #cfe0fb;border-radius:999px;display:grid;place-items:center;background:#fff;color:#2f6fff;text-decoration:none;box-shadow:0 4px 10px rgba(26,74,153,.08)}
.icon-link:hover{transform:translateY(-1px);border-color:#a7c3ef}
.icon-link svg{width:38px;height:38px;stroke:#2f6fff;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.social-links{display:none !important}
.email{display:none !important}
@media (max-width:980px){.footer-row{gap:8px}.icon-link{width:68px;height:68px}}
.photo-link{
  margin-left:10px;
  padding:10px 14px;
  border:1px solid #cfe0fb;
  border-radius:999px;
  text-decoration:none;
  color:#2f4f84;
  background:#fff;
  font-weight:600;
  white-space:nowrap;
}
.photo-link:hover{border-color:#a7c3ef;color:#2f6fff}
@media (max-width:980px){
  .photo-link{padding:8px 10px;font-size:.9rem}
}
.footer-secondary{
  display:flex;
  justify-content:center;
  padding:0 24px 18px;
}
.subtle-link{
  color:#5d7399;
  text-decoration:none;
  font-size:.95rem;
  border-bottom:1px solid transparent;
}
.subtle-link:hover{
  color:#2f6fff;
  border-bottom-color:#2f6fff55;
}
.brand{display:flex;align-items:center;gap:10px}
.dw-mark{width:30px;height:30px;border-radius:999px;object-fit:cover;box-shadow:0 4px 10px rgba(47,111,255,.25)}
