
:root{
  --navy:#092033;--navy-deep:#061724;--blue:#1e6fb7;--blue-bright:#438fd1;
  --sky:#eaf5ff;--paper:#ffffff;--off:#f6f9fc;--ink:#152330;--muted:#617283;
  --line:#dbe6ef;--shadow:0 20px 60px rgba(20,55,82,.12);--max:1180px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(14,53,82,.08)}
.nav-shell{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark,.footer-logo{background:white;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 22px rgba(23,60,86,.08)}
.brand-mark{width:58px;height:58px}.brand-mark img{width:52px;height:52px;object-fit:cover}
.brand-name strong,.brand-name small{display:block;line-height:1}
.brand-name strong{font-family:Manrope,sans-serif;font-size:1.02rem;letter-spacing:.02em}
.brand-name small{margin-top:5px;color:var(--blue);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.main-nav{display:flex;align-items:center;gap:28px;font-weight:700}
.main-nav a{color:#34485a}.main-nav a:hover{color:var(--blue)}
.nav-button{border:1px solid var(--blue);padding:10px 16px;border-radius:8px;color:var(--blue)!important}
.menu-toggle{display:none;border:0;background:none;font-size:1.6rem}
.hero-v3{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f3f9fe 52%,#e7f4ff 100%)}
.hero-v3:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(61,145,211,.13);filter:blur(20px);right:-180px;top:-180px}
.hero-grid{min-height:790px;display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center;padding-top:50px;padding-bottom:70px;position:relative;z-index:2}
.eyebrow{color:var(--blue);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800}
h1,h2,h3,h4{font-family:Manrope,sans-serif;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(4.1rem,7vw,7.2rem);letter-spacing:-.055em}
h1 span{color:var(--blue)}
h2{font-size:clamp(2.25rem,4.3vw,4rem);letter-spacing:-.04em}
h3{font-size:1.35rem}
.hero-lead{max-width:560px;font-size:1.14rem;color:#506576}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;font-weight:800;border:1px solid transparent;cursor:pointer;font:inherit}
.primary{background:linear-gradient(135deg,var(--blue),var(--blue-bright));color:white;box-shadow:0 12px 28px rgba(30,111,183,.24)}
.secondary{background:white;border-color:#a8c6dc;color:var(--navy)}
.trust-inline{display:flex;flex-wrap:wrap;gap:10px}
.trust-inline span{background:white;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#526575;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.hero-visual{position:relative;margin-right:-8vw}.hero-visual:before{content:"";position:absolute;inset:18px -12px -18px 18px;background:#cfe9fb;border-radius:26px 0 0 26px}
.hero-visual img{position:relative;z-index:1;border-radius:26px 0 0 26px;box-shadow:var(--shadow);width:100%;height:560px;object-fit:cover;object-position:center}
.trust-band{background:var(--navy);color:white}
.trust-band-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-band-grid div{padding:24px;border-right:1px solid rgba(255,255,255,.12)}
.trust-band-grid strong,.trust-band-grid span{display:block}
.trust-band-grid strong{font-family:Manrope,sans-serif}.trust-band-grid span{color:#a8c0d2;font-size:.82rem;margin-top:3px}
.section{padding:105px 0}.soft{background:var(--off)}
.section-intro{max-width:800px;margin-bottom:45px}.section-intro>p{font-size:1.05rem;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;min-height:285px;box-shadow:0 14px 38px rgba(24,63,91,.06);transition:.25s}
.service-card:hover{transform:translateY(-6px);border-color:#a5c8e2;box-shadow:var(--shadow)}
.service-number{font-size:.8rem;color:var(--blue);letter-spacing:.15em;font-weight:800}
.service-card p{color:var(--muted)}.service-card b{color:var(--blue)}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.image-panel img{border-radius:24px;box-shadow:var(--shadow);width:100%}
.content-panel p{color:var(--muted);font-size:1.03rem}
.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}
.text-link{font-weight:800;color:var(--blue)}
.process-section{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:white}
.process-section .eyebrow{color:#75b9ef}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process-card{padding:28px 20px;border-top:2px solid var(--blue-bright);background:rgba(255,255,255,.035);border-radius:0 0 12px 12px}
.process-card span{color:#75b9ef;font-weight:800;letter-spacing:.15em}.process-card p{color:#b7c8d5}
.cta-section{background:white}.cta-box{background:linear-gradient(135deg,#eaf6ff,#f9fcff);border:1px solid #cfe3f2;border-radius:22px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.page-hero{background:linear-gradient(135deg,#edf7ff,#fff);padding:110px 0 85px;border-bottom:1px solid var(--line)}
.narrow{max-width:850px}.page-hero h1{font-size:clamp(3.4rem,6vw,5.8rem)}.page-hero p{font-size:1.12rem;color:var(--muted)}
.service-detail-list{display:grid;gap:22px}.service-detail{display:grid;grid-template-columns:90px 1fr;gap:35px;padding:42px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:0 14px 38px rgba(24,63,91,.05)}
.service-detail>span{font-weight:800;color:var(--blue);letter-spacing:.15em}.service-detail p,.service-detail li{color:var(--muted)}
.service-detail ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;padding-left:18px}
.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.credential-grid div{border-top:3px solid var(--blue);padding-top:14px}.credential-grid strong,.credential-grid span{display:block}.credential-grid strong{font-size:1.25rem}.credential-grid span{font-size:.82rem;color:var(--muted)}
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.principle{background:white;border:1px solid var(--line);padding:26px;border-radius:16px}.principle p{color:var(--muted)}
.faq-list{display:grid;gap:14px;max-width:900px}.faq-item{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:white}.faq-item summary{font-weight:800;cursor:pointer}.faq-item p{color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.contact-info>p{color:var(--muted)}
.contact-detail{display:grid;gap:3px;margin:22px 0}.contact-detail span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.contact-detail a{color:var(--blue);font-size:1.1rem;font-weight:700}
.notice{margin-top:35px;background:#edf7ff;border:1px solid #cde4f4;border-radius:14px;padding:20px}.notice p{color:var(--muted);margin-bottom:0}
.contact-form{display:grid;gap:16px;background:var(--off);border:1px solid var(--line);border-radius:18px;padding:30px}.contact-form label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.contact-form input,.contact-form textarea,.contact-form select{padding:13px;border:1px solid #bfd0dd;border-radius:8px;background:white;font:inherit;color:var(--ink)}.contact-form small{color:var(--muted)}
.legal-copy{max-width:900px}.legal-copy p{color:var(--muted)}
.site-footer{background:var(--navy-deep);color:white;padding:50px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer-logo{width:62px;height:62px}.footer-logo img{width:56px;height:56px;object-fit:cover}.footer-brand{display:flex;align-items:center;gap:14px}.site-footer p{color:#a9bdcb;margin:4px 0}.site-footer h4{margin-bottom:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px;color:#8ea5b5;font-size:.82rem}
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .menu-toggle{display:block}.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;flex-direction:column;align-items:flex-start;padding:24px 20px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}
  .hero-grid,.two-column,.contact-layout{grid-template-columns:1fr}.hero-grid{padding-top:70px}.hero-copy{order:1}.hero-visual{order:2;margin-right:0}.hero-visual img{border-radius:24px;height:auto}.hero-visual:before{border-radius:24px}
  .service-grid{grid-template-columns:1fr 1fr}.process-grid,.trust-band-grid,.principle-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.cta-box{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .container{width:calc(100% - 28px)}.brand-name{display:none}.hero-grid{min-height:auto;padding-top:65px;padding-bottom:65px;gap:45px}h1{font-size:4rem}
  .service-grid,.process-grid,.trust-band-grid,.principle-grid,.credential-grid{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr;padding:28px}.service-detail ul{grid-template-columns:1fr}
  .section{padding:75px 0}.page-hero{padding:80px 0 65px}.cta-box{padding:30px}.footer-bottom{flex-direction:column;gap:8px}
}


/* Version 5: Meet Nick */
.meet-home{background:#fff}
.meet-home-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:center}
.meet-home-photo img,.meet-photo img{
  width:100%;
  border-radius:24px;
  box-shadow:var(--shadow);
  object-fit:cover;
  background:#fff;
}
.meet-home-photo img{aspect-ratio:4/5}
.meet-home-copy p,.meet-copy p{color:var(--muted);font-size:1.03rem}
.compact-list{margin-bottom:22px}

.meet-hero{padding-bottom:72px}
.meet-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:74px;align-items:start}
.meet-photo{position:sticky;top:112px}
.meet-photo img{aspect-ratio:4/5}
.meet-lead{font-size:1.16rem!important;color:#3f5669!important}
.meet-credentials{margin:32px 0}
.meet-credentials h3{margin-bottom:8px}
.commitment-box{
  margin:28px 0;
  padding:22px;
  border:1px solid #cfe2f1;
  border-radius:16px;
  background:linear-gradient(135deg,#edf7ff,#fff);
}
.commitment-box p{margin:5px 0 0}
.meet-values{background:var(--navy);color:#fff}
.meet-values .principle{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}
.meet-values .principle p{color:#b7c9d7}

@media(max-width:900px){
  .meet-home-grid,.meet-grid{grid-template-columns:1fr}
  .meet-home-photo{max-width:520px}
  .meet-photo{position:static;max-width:560px}
}

@media(max-width:600px){
  .meet-home-grid,.meet-grid{gap:40px}
}


/* Version 7 refinements */
.about-us-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:86px;
  align-items:start;
}
.about-us-photo-wrap{
  max-width:380px;
  justify-self:end;
}
.about-us-photo-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 18px 52px rgba(24,63,91,.12);
}
.about-us-photo-card img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:12px;
}
.photo-caption{
  padding:14px 6px 0;
}
.photo-caption strong,
.photo-caption span{
  display:block;
}
.photo-caption strong{
  font-family:Manrope,sans-serif;
  font-size:1.08rem;
}
.photo-caption span{
  color:var(--muted);
  font-size:.84rem;
  margin-top:3px;
}
.refined-credentials{
  max-width:680px;
}
.refined-closing{
  max-width:820px;
  margin:auto;
  text-align:center;
  padding:52px 28px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.refined-closing p{
  color:var(--muted);
  margin-bottom:14px;
}
.refined-contact-line{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  font-weight:800;
  color:var(--blue);
}
.refined-contact-line span{
  color:#9eb2c0;
}
.meet-home-grid{
  grid-template-columns:.58fr 1.42fr;
}
.meet-home-photo{
  max-width:340px;
}
.meet-home-photo img{
  border-radius:18px;
}

@media(max-width:900px){
  .about-us-grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .about-us-photo-wrap{
    justify-self:start;
    max-width:330px;
  }
}
