*{box-sizing:border-box}body{margin:0;line-height:1.6}img{max-width:100%}a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.btn{display:inline-block;padding:12px 22px;text-decoration:none;font-weight:700;border-radius:6px}
.sample{font-weight:400;opacity:.7;font-size:.75em}.contact{list-style:none;padding:0}.contact li{padding:6px 0}.contact b{display:inline-block;min-width:140px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.foot{text-align:center;padding:24px;font-size:.85em}
@media(max-width:700px){.contact b{display:block}h1{font-size:2rem!important}}
body{font-family:"Segoe UI",Roboto,sans-serif;color:#26323d;background:#fffdf9}
.strip{background:transparent;border-bottom:1px solid rgba(255,255,255,.25);margin-bottom:70px;color:#fff;padding:8px 0;font-size:.9rem}.strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap}
.hero{position:relative;color:#fff;padding:0 0 90px;background:linear-gradient(90deg,rgba(8,36,56,.88) 0%,rgba(8,36,56,.62) 45%,rgba(8,36,56,.25) 100%),linear-gradient(180deg,rgba(8,36,56,.55),rgba(8,36,56,0) 30%,rgba(8,36,56,.35)),url(images/hero-top.jpg) center 35%/cover no-repeat #0c3550}.hero .hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}
.hero h1{font-size:3rem;line-height:1.1;margin:0 0 14px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}.tag{font-style:italic;color:#ffd2c9}.intro{text-shadow:0 1px 6px rgba(0,0,0,.5)}
.btn{background:#e8604c;color:#fff;border-radius:40px;margin:6px 6px 0 0}.btn.alt{background:#0c3550}.btn.ext{background:rgba(255,255,255,.12);color:#fff;border:2px solid #fff}
.badge{background:#fff;border-radius:20px;padding:26px;box-shadow:0 12px 30px #0c355022;text-align:center}.badge .av{width:110px;height:110px;border-radius:50%;margin:0 auto 10px;background:#0c3550;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4rem}
section{padding:60px 0}h2{color:#0c3550;font-size:2rem}.tile{background:#fff;border-radius:16px;padding:24px;border-top:6px solid #e8604c;box-shadow:0 4px 14px #0001}
.quote{background:#0c3550;color:#fff;border-radius:20px;padding:40px;font-size:1.2rem}.quote cite{display:block;font-size:.9rem;margin-top:14px;opacity:.8}
.why li{margin:8px 0}@media(max-width:860px){.hero .hero-grid{grid-template-columns:1fr}}.foot{background:#0c3550;color:#bcd}
.hero-link{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:#e8604c;text-decoration-thickness:2px;text-underline-offset:3px}.hero-link:hover{color:#e8604c}

.badge{color:#26323d;background:rgba(255,255,255,.93);backdrop-filter:blur(4px)}
.tile{overflow:hidden}.tile-img{height:140px;margin:-24px -24px 16px;background-size:cover}
.ph{position:relative;background:linear-gradient(135deg,#7cc4f0,#0c3550)}.ph1{background:linear-gradient(135deg,#f6b4a8,#e8604c 55%,#0c3550)}.ph2{background:linear-gradient(135deg,#c9e8fb,#7cc4f0 50%,#0c3550)}.ph3{background:linear-gradient(135deg,#0c3550,#7cc4f0)}
.ph span{position:absolute;right:10px;bottom:8px;font-size:.7rem;color:#fff;opacity:.8;text-transform:uppercase;letter-spacing:.08em}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.why-img{height:280px;border-radius:20px;background:linear-gradient(0deg,rgba(12,53,80,.25),rgba(12,53,80,0)),url(images/hero-plane.jpg) center/cover;box-shadow:0 12px 30px #0c355033}
.strip-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.strip-photos>div{height:240px;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px #0c355022}.strip-photos img{width:100%;height:100%;object-fit:cover;display:block}.ph-plane{background:url(images/hero-plane.jpg) 85% 40%/220% no-repeat}
@media(max-width:860px){.why-grid,.strip-photos{grid-template-columns:1fr}}
/* Hero load animation: staggered slide from left */
@keyframes slideL{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
.slide-l{animation:slideL .8s cubic-bezier(.2,.7,.2,1) both}.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.75s}
/* Scroll reveal (only when JS is on) */
.js .reveal{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.from-left{transform:translateX(-60px)}.js .reveal.from-right{transform:translateX(60px)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.slide-l{animation:none}.js .reveal{opacity:1;transform:none;transition:none}}

.badge .av{overflow:hidden;border:4px solid #fff;box-shadow:0 4px 12px #0c355044}.badge .av img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(2.1);transform-origin:50% 12%}
.meet{margin:0;position:relative;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px #0c355033;height:320px}.meet img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.meet figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 16px;color:#fff;background:linear-gradient(transparent,rgba(12,53,80,.9))}.meet figcaption b{display:block;font-size:1.3rem}.meet figcaption span{opacity:.85;font-size:.9rem}

/* Nav (transparent over hero) */
.strip{margin-bottom:0}.mainnav{padding:14px 0;margin-bottom:56px}.mainnav .wrap{display:flex;justify-content:space-between;align-items:center}
.mainnav .brand{color:#fff;font-weight:800;text-decoration:none;font-size:1.15rem;letter-spacing:.02em}.mainnav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.mainnav ul a{color:#fff;text-decoration:none;padding:8px 16px;border-radius:30px;font-weight:600}.mainnav ul a:hover{background:rgba(255,255,255,.15)}
.mainnav ul a.active{background:#fff;color:#0c3550}
/* About page */
.about-portrait{justify-self:center}.about-portrait img{width:300px;height:300px;object-fit:cover;object-position:50% 15%;border-radius:50%;border:6px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.35);display:block}
.bio-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}.bio-grid h2{margin-top:0}
.sample-note{display:inline-block;background:#fff1c2;color:#7a5a00;border:1px dashed #d9a400;border-radius:6px;padding:2px 10px;font-size:.85rem;font-weight:600}
.bio-photo{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px #0c355033}.bio-photo img{width:100%;height:420px;object-fit:cover;object-position:72% 45%;display:block}
.bio-photo figcaption{font-size:.8rem;padding:8px 14px;background:#fff;color:#667}
.alt-bg{background:#f1f7fb}.cred{columns:2;gap:40px}.cred li{margin:8px 0;color:#556}
.about-cta h2{color:#fff;margin-top:0}.about-cta a:not(.btn){color:#fff}.hero-link.light{color:#fff}.about-cta .small{font-size:.85rem;opacity:.8;margin-top:18px}
@media(max-width:860px){.bio-grid{grid-template-columns:1fr}.cred{columns:1}.about-portrait img{width:220px;height:220px}}

a[href^="mailto"],.contact li,.about-cta p{overflow-wrap:anywhere}

.maplink{color:inherit;text-decoration:underline;text-underline-offset:3px}.maplink:hover{opacity:.8}
/* Real headshot (images/dr-franga.jpg, 620x826 portrait) */
.badge .av img{transform:none;object-position:50% 25%}
.meet{height:auto;background:#0c3550}.meet img{height:560px;object-position:50% 0%}
.meet figcaption{position:static;padding:14px 20px;background:linear-gradient(90deg,#0c3550,#14507a)}
.about-portrait img{object-position:50% 22%}
@media(max-width:860px){.meet img{height:auto;max-height:520px}}

/* Single featured service tile */
.services-single{grid-template-columns:1fr;max-width:100%;margin:0 auto}
.tile-featured{text-align:center}.tile-featured .tile-img{height:300px}
.tile-featured h3{font-size:1.35rem}
