*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Source Sans 3',sans-serif;color:#1a1a1a;background:#faf9f7;}
.wrap{max-width:900px;margin:0 auto;}

nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e8e4de;background:#faf9f7;position:sticky;top:0;z-index:10;}
.logo{font-family:'Lora',serif;font-size:1.05rem;font-weight:600;color:#1a1a1a;}
.logo span{color:#2e618c;}
.logo small{font-size:0.7rem;font-weight:400;color:#999;letter-spacing:0.04em;text-transform:uppercase;margin-left:2px;vertical-align:middle;}
nav ul{display:flex;gap:2rem;list-style:none;}
nav a{font-size:14px;color:#666;text-decoration:none;cursor:pointer;transition:color 0.15s;}
nav a:hover,nav a.active{color:#2e618c;font-weight:500;}

.page{display:none;}
.page.active{display:block;}

/* HOME */
.hero-wrap{position:relative;overflow:hidden;}
.home-hero{padding:6rem 2rem 5rem;max-width:640px;position:relative;z-index:1;}
.headshot{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:center top;margin:0 auto 1rem;display:block;border:3px solid #e8f0f7;}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#2e618c;margin-bottom:1.25rem;}
.home-hero h1{font-family:'Lora',serif;font-size:2.8rem;font-weight:600;line-height:1.2;margin-bottom:1.5rem;color:#1a1a1a;}
.home-hero p{font-size:1.05rem;color:#555;line-height:1.8;margin-bottom:2.5rem;max-width:500px;}
.btn{display:inline-block;background:#2e618c;color:#e8f0f7;padding:0.75rem 1.85rem;border-radius:6px;font-size:14px;font-weight:500;border:none;cursor:pointer;font-family:'Source Sans 3',sans-serif;transition:background 0.15s;}
.btn:hover{background:#224d72;}
.proof{display:flex;gap:3.5rem;padding:2.5rem 2rem;border-top:1px solid #e8e4de;border-bottom:1px solid #e8e4de;}
.proof-item .num{font-family:'Lora',serif;font-size:2rem;font-weight:600;color:#2e618c;}
.proof-item .lbl{font-size:13px;color:#888;margin-top:3px;}
.home-foot{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;}
.home-foot p{font-size:13px;color:#999;}
.home-foot a{font-size:13px;color:#2e618c;text-decoration:none;}

/* SHARED */
hr.div{border:none;border-top:1px solid #e8e4de;margin:0 2rem;}
.section{padding:3rem 2rem;}
.sec-label{font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#2e618c;margin-bottom:1.5rem;}
.page-hero{padding:4rem 2rem 2.5rem;}
.page-hero h1{font-family:'Lora',serif;font-size:2rem;font-weight:600;margin-bottom:0.75rem;color:#1a1a1a;}
.page-hero p{font-size:1rem;color:#666;line-height:1.75;max-width:580px;}

/* SERVICES */
.svc-block{display:grid;grid-template-columns:190px 1fr;gap:2.5rem;padding:2.25rem 0;border-bottom:1px solid #e8e4de;}
.svc-block:last-child{border-bottom:none;}
.svc-icon{width:40px;height:40px;background:#e8f0f7;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:0.85rem;}
.svc-icon svg{width:18px;height:18px;stroke:#2e618c;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.svc-left h3{font-size:0.9rem;font-weight:500;color:#1a1a1a;line-height:1.4;}
.svc-right p{font-size:14px;color:#666;line-height:1.8;margin-bottom:0.85rem;}
.svc-right p:last-of-type{margin-bottom:0;}
.inc-label{font-size:11px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:#999;margin:1rem 0 0.5rem;}
.inc-list{list-style:none;display:flex;flex-direction:column;gap:5px;}
.inc-list li{font-size:13px;color:#777;padding-left:1rem;position:relative;}
.inc-list li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:#5a9cc5;}

/* PRICING */
.pricing-intro{font-size:15px;color:#666;line-height:1.8;max-width:580px;margin-bottom:2rem;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;}
.pcard{background:#fff;border:1px solid #e8e4de;border-radius:12px;padding:1.5rem;}
.pcard.featured{border:1.5px solid #5a9cc5;}
.pbadge{display:inline-block;background:#e8f0f7;color:#224d72;font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px;margin-bottom:0.75rem;}
.pcard h3{font-size:0.95rem;font-weight:500;margin-bottom:0.5rem;color:#1a1a1a;}
.price{font-family:'Lora',serif;font-size:1.4rem;font-weight:600;color:#2e618c;margin-bottom:0.2rem;}
.price-note{font-size:12px;color:#999;margin-bottom:1rem;}
.pcard p{font-size:13px;color:#777;line-height:1.6;}
.pcard-list{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:6px;}
.pcard-list li{font-size:13px;color:#777;padding-left:1rem;position:relative;}
.pcard-list li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:#5a9cc5;}
.pricing-note{background:#f5f3f0;border-radius:10px;padding:1.25rem 1.5rem;font-size:14px;color:#666;line-height:1.65;}
.pricing-note strong{color:#1a1a1a;font-weight:500;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;}
.faq-item{border-bottom:1px solid #e8e4de;}
.faq-item:first-child{border-top:1px solid #e8e4de;}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:1.25rem 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:'Source Sans 3',sans-serif;}
.faq-q span{font-size:15px;font-weight:500;color:#1a1a1a;line-height:1.4;}
.faq-arr{width:18px;height:18px;flex-shrink:0;stroke:#999;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.2s;}
.faq-arr.open{transform:rotate(180deg);}
.faq-a{display:none;padding:0 0 1.25rem;}
.faq-a p{font-size:14px;color:#666;line-height:1.8;}
.faq-a p+p{margin-top:0.75rem;}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:180px 1fr;gap:3rem;align-items:start;margin-bottom:2.5rem;}
.av-block{text-align:center;}
.avatar{width:100px;height:100px;border-radius:50%;background:#2e618c;display:flex;align-items:center;justify-content:center;font-family:'Lora',serif;font-size:1.8rem;font-weight:600;color:#e8f0f7;margin:0 auto 1rem;}
.av-block h3{font-size:0.95rem;font-weight:500;margin-bottom:4px;color:#1a1a1a;}
.av-role{font-size:13px;color:#888;}
.av-email{font-size:13px;color:#2e618c;margin-top:0.5rem;display:block;text-decoration:none;}
.about-text p{font-size:15px;color:#666;line-height:1.85;margin-bottom:1.25rem;}
.about-text p:last-child{margin-bottom:0;}
.about-text strong{color:#1a1a1a;font-weight:500;}
.exp-list{list-style:none;display:flex;flex-direction:column;gap:1rem;}
.exp-list li{font-size:14px;color:#666;padding-left:1rem;border-left:2px solid #5a9cc5;line-height:1.65;}
.exp-list li strong{color:#1a1a1a;font-weight:500;display:block;margin-bottom:2px;}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;}
.tag{background:#fff;border:1px solid #e8e4de;color:#777;font-size:13px;padding:4px 12px;border-radius:20px;}

/* CONTACT */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem;}
label{font-size:12px;font-weight:500;color:#888;letter-spacing:0.04em;text-transform:uppercase;}
input,textarea{width:100%;padding:0.65rem 0.9rem;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:'Source Sans 3',sans-serif;background:#fff;color:#1a1a1a;outline:none;transition:border-color 0.15s;}
input:focus,textarea:focus{border-color:#5a9cc5;}
textarea{min-height:120px;resize:vertical;}
.success{display:none;background:#e8f0f7;color:#224d72;padding:0.9rem 1.1rem;border-radius:8px;font-size:14px;margin-top:1rem;}

.cta-strip{background:#f5f3f0;border-radius:12px;padding:2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 2rem 2rem;}
.cta-strip p{font-size:15px;color:#666;max-width:420px;line-height:1.65;}

footer{padding:1.5rem 2rem;border-top:1px solid #e8e4de;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
footer p{font-size:13px;color:#aaa;}
footer a{font-size:13px;color:#2e618c;text-decoration:none;}

@media(max-width:640px){
  .home-hero h1{font-size:2rem;}
  .proof{gap:1.5rem;flex-wrap:wrap;}
  .svc-block,.about-grid,.pricing-grid,.form-row{grid-template-columns:1fr;}
}
/* Real anchor nav */
nav a{display:inline-block;}
