
:root{
  --navy:#08083D;
  --navy-deep:#050526;
  --ink:#14142A;
  --gold:#C89B3C;
  --gold-lite:#E2B44F;
  --gold-bright:#F6C963;
  --champagne:#E7D3A9;
  --slate:#5C6074;
  --mist:#E3E4EC;
  --cloud:#F6F6FA;
  --white:#ffffff;
  --gold-grad:linear-gradient(120deg,#6E4A22 0%,#C89B3C 40%,#E2B44F 70%,#F6C963 100%);
  --gold-btn:linear-gradient(180deg,#E6BB51 0%,#CB9E3F 100%);
  --shadow:0 20px 50px -20px rgba(8,8,61,.35);
  --shadow-sm:0 8px 24px -12px rgba(8,8,61,.25);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat',Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{font-family:'Poppins','Montserrat',sans-serif;color:var(--navy);line-height:1.12;font-weight:700;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:'Montserrat';font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.gold-text{color:var(--gold)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:'Montserrat';font-weight:600;font-size:.95rem;padding:.9em 1.7em;border-radius:999px;cursor:pointer;border:2px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn-gold{background:var(--gold-btn);color:var(--navy);box-shadow:0 8px 20px -12px rgba(8,8,61,.45)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(8,8,61,.5)}
.btn-outline{border-color:rgba(255,255,255,.5);color:#fff}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-bright)}
.btn-outline-navy{border-color:var(--navy);color:var(--navy)}
.btn-outline-navy:hover{background:var(--navy);color:#fff}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(8,8,61,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-top{display:flex;align-items:center;justify-content:space-between;height:108px}
.nav-bottom{border-top:1px solid rgba(255,255,255,.1)}
.brand img{height:90px;width:auto;transition:transform .2s ease}
.brand:hover img{transform:scale(1.04)}
.nav-links{display:flex;align-items:center;justify-content:center;gap:30px;height:52px}
.nav-links a.link{color:rgba(255,255,255,.82);font-size:.92rem;font-weight:500;transition:color .15s}
.nav-links a.link:hover{color:var(--gold-bright)}
.nav-cta{display:flex;align-items:center;gap:18px}
.nav-phone{color:#fff;font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:.4em}
.nav-phone .gold-text{color:var(--gold-bright)}
.menu-btn{display:none;background:none;border:none;color:#fff;cursor:pointer}

/* Hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 82% 18%,rgba(200,155,60,.16),transparent 45%),
  radial-gradient(circle at 12% 90%,rgba(200,155,60,.08),transparent 40%)}
.hero .stroke{position:absolute;top:-10%;right:8%;width:2px;height:130%;background:linear-gradient(180deg,transparent,rgba(226,180,79,.55),transparent);transform:rotate(18deg);opacity:.7}
.hero .stroke2{position:absolute;top:-10%;right:14%;width:1px;height:130%;background:linear-gradient(180deg,transparent,rgba(226,180,79,.3),transparent);transform:rotate(18deg)}
.hero-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:84px 0 92px}
.hero h1{color:#fff;font-size:clamp(2.5rem,5vw,3.9rem)}
.hero h1 .em{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:1.12rem;color:rgba(255,255,255,.82);font-weight:300;margin:16px 0 28px;max-width:42ch}
.hero .tagline{font-family:'Poppins';color:var(--gold-bright);font-style:italic;font-size:1.2rem;margin:10px 0 0;font-weight:500}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap}
.hero-trust .t{display:flex;flex-direction:column}
.hero-trust .t b{font-family:'Poppins';color:var(--gold-bright);font-size:1.5rem}
.hero-trust .t span{font-size:.78rem;color:rgba(255,255,255,.65);letter-spacing:.02em}

/* Lead card in hero */
.lead-card{background:#fff;border:1px solid var(--mist);border-top:5px solid var(--gold);border-radius:22px;padding:30px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.lead-card h3{color:var(--navy);font-size:1.25rem}
.lead-card p.sub{color:var(--slate);font-size:.9rem;font-weight:300;margin-top:4px}
.field{margin-top:14px}
.field label{display:block;font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--slate);margin-bottom:6px;text-transform:uppercase}
.field input,.field select{width:100%;padding:.8em .9em;border-radius:11px;border:1px solid var(--mist);background:var(--cloud);color:var(--ink);font-family:inherit;font-size:.95rem}
.field input::placeholder{color:#9a9db0}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C89B3C' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold);background:#fff}
.lead-card .btn{width:100%;justify-content:center;margin-top:18px}
.lead-card .fine{font-size:.72rem;color:var(--slate);text-align:center;margin-top:12px;font-weight:300}

/* Trust bar */
.trustbar{background:var(--cloud);border-bottom:1px solid var(--mist)}
.trustbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding:22px 24px}
.trust-item{display:flex;align-items:center;gap:11px;font-size:.9rem;font-weight:500;color:var(--slate)}
.trust-item svg{flex-shrink:0}

/* Sections */
section.pad{padding:92px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 54px}
.sec-head h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-top:12px}
.sec-head p{color:var(--slate);font-size:1.06rem;margin-top:14px;font-weight:300}

/* Services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc{background:#fff;border:1px solid var(--mist);border-radius:20px;padding:34px 30px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s;position:relative;overflow:hidden}
.svc::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.svc:hover::after{transform:scaleX(1)}
.svc .ic{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(200,155,60,.14),rgba(226,180,79,.05));display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.svc h3{font-size:1.28rem;margin-bottom:10px}
.svc p{color:var(--slate);font-size:.95rem;font-weight:300}
.svc ul{list-style:none;margin-top:16px}
.svc ul li{font-size:.88rem;color:var(--ink);padding:6px 0 6px 24px;position:relative;font-weight:500}
.svc ul li::before{content:"";position:absolute;left:0;top:12px;width:11px;height:11px;border-radius:50%;background:var(--gold);opacity:.85}
.svc a.more{display:inline-flex;align-items:center;gap:.4em;margin-top:18px;color:var(--navy);font-weight:600;font-size:.9rem}
.svc a.more:hover{color:var(--gold)}

/* How it works */
.how{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.how::before{content:"";position:absolute;top:-20%;left:-5%;width:1px;height:140%;background:linear-gradient(180deg,transparent,rgba(226,180,79,.4),transparent);transform:rotate(18deg)}
.how .sec-head h2{color:#fff}
.how .sec-head p{color:rgba(255,255,255,.7)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;counter-reset:step}
.step{position:relative;padding:34px 28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:20px}
.step .num{font-family:'Poppins';font-weight:700;font-size:2.4rem;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.step h3{color:#fff;font-size:1.18rem;margin:14px 0 8px}
.step p{color:rgba(255,255,255,.72);font-size:.92rem;font-weight:300}

/* About Steph */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.about-photo{background:var(--navy);border-radius:24px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.about-photo .ring{width:64%;aspect-ratio:1;border-radius:50%;border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-size:.8rem;text-align:center;padding:20px;background:rgba(255,255,255,.03)}
.about-photo .tag{position:absolute;bottom:22px;left:22px;right:22px;text-align:center;color:rgba(255,255,255,.55);font-size:.78rem;font-style:italic}
.about h2{font-size:clamp(1.9rem,3.5vw,2.5rem)}
.about .role{color:var(--gold);font-weight:600;font-size:.95rem;margin:6px 0 18px}
.about p{color:var(--slate);margin-bottom:16px;font-weight:300;font-size:1.02rem}
.about .stats{display:flex;gap:34px;margin:24px 0 26px;flex-wrap:wrap}
.about .stats .s b{font-family:'Poppins';color:var(--navy);font-size:1.9rem;display:block}
.about .stats .s span{font-size:.82rem;color:var(--slate)}
.sig{font-family:'Poppins';color:var(--navy);font-weight:600}

/* Testimonials */
.tst{background:var(--cloud)}
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tcard{background:#fff;border:1px solid var(--mist);border-radius:18px;padding:30px}
.tcard .stars{color:var(--gold);letter-spacing:3px;font-size:1rem}
.tcard p{font-size:.98rem;color:var(--ink);margin:14px 0 20px;font-weight:400}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .who .av{width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:600;font-family:'Poppins';border:2px solid var(--gold)}
.tcard .who b{display:block;font-size:.92rem;color:var(--navy)}
.tcard .who span{font-size:.78rem;color:var(--slate)}
.placeholder-note{background:rgba(200,155,60,.1);border:1px dashed var(--gold);border-radius:10px;padding:10px 14px;font-size:.8rem;color:#7a5f1f;text-align:center;margin-top:26px;font-weight:500}

/* CTA band */
.ctaband{background:linear-gradient(135deg,#08083D 0%,#0d0d52 55%,#14142A 100%);color:#fff;position:relative;overflow:hidden}
.ctaband::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(200,155,60,.18),transparent 50%)}
.ctaband .wrap{position:relative;text-align:center;padding:76px 24px}
.ctaband h2{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem)}
.ctaband p{color:rgba(255,255,255,.75);font-size:1.1rem;margin:16px auto 30px;max-width:52ch;font-weight:300}
.ctaband .btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Footer */
footer{background:var(--navy);color:rgba(255,255,255,.88);padding:64px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
footer img.flogo{height:58px;margin-bottom:20px}
footer p.tagf{font-style:italic;color:var(--gold-bright);font-size:.95rem;margin-bottom:16px}
footer .fcol h4{color:#fff;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-family:'Montserrat';font-weight:600}
footer .fcol a,footer .fcol p{display:block;color:rgba(255,255,255,.9);font-size:.96rem;margin-bottom:11px;font-weight:400;line-height:1.55}
footer .fcol a:hover{color:var(--gold-bright)}
.socials{display:flex;gap:14px;margin-top:12px}
footer .fcol .socials a{width:46px;height:46px;margin:0;border-radius:50%;background:var(--gold-btn);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 4px 12px -6px rgba(0,0,0,.35)}
footer .fcol .socials a svg{width:21px;height:21px;fill:currentColor;display:block}
footer .fcol .socials a:hover{transform:translateY(-3px);color:var(--navy);box-shadow:0 8px 18px -6px rgba(0,0,0,.45)}
.foot-bottom{padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:rgba(255,255,255,.92);font-weight:400}
.foot-bottom span:last-child{color:var(--champagne)}
.compliance{max-width:820px;font-size:.82rem;color:rgba(255,255,255,.85);margin-top:20px;line-height:1.75;font-weight:400}

/* About Us company band */
.aboutus{background:var(--cloud)}
.about-story{max-width:820px;margin:-14px auto 46px}
.about-story p{color:var(--slate);font-size:1.04rem;font-weight:300;line-height:1.8;margin-bottom:18px}
.about-story p:last-child{margin-bottom:0}
.about-story p .lead-in{color:var(--navy);font-weight:500}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:12px}
.value{background:#fff;border:1px solid var(--mist);border-radius:18px;padding:30px 26px;text-align:left}
.value .ic{width:50px;height:50px;border-radius:13px;background:linear-gradient(135deg,rgba(200,155,60,.14),rgba(226,180,79,.05));display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.value h3{font-size:1.12rem;margin-bottom:8px}
.value p{color:var(--slate);font-size:.93rem;font-weight:300}

/* Meet the team */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:900px;margin:0 auto}
.member{background:#fff;border:1px solid var(--mist);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.member:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.member .photo-frame{position:relative;width:100%;aspect-ratio:4/5;background:linear-gradient(160deg,var(--mist),var(--champagne));overflow:hidden}
.member .photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.member .photo-frame .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--slate);font-size:.82rem;text-align:center;padding:24px}
.member .photo-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px rgba(200,155,60,.85);border-radius:0;pointer-events:none}
.member .body{padding:26px 28px 30px}
.member .body h3{font-size:1.35rem}
.member .body .role{color:var(--gold);font-weight:600;font-size:.9rem;margin:4px 0 14px;letter-spacing:.02em}
.member .body p{color:var(--slate);font-size:.94rem;font-weight:300;margin-bottom:12px}
.member .body p:last-child{margin-bottom:0}

/* Team feature rows */
.team-list{display:flex;flex-direction:column;gap:52px;max-width:1040px;margin:0 auto}
.tmember{display:flex;gap:46px;align-items:center}
.tmember:nth-child(even){flex-direction:row-reverse}
.tphoto{flex:0 0 320px;aspect-ratio:4/5;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(160deg,var(--mist),var(--champagne));box-shadow:var(--shadow)}
.tphoto img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tphoto .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--slate);font-size:.82rem;padding:22px}
.tphoto::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px rgba(200,155,60,.85);border-radius:22px;pointer-events:none}
.tbody{flex:1;min-width:0}
.tbody h3{font-size:1.5rem}
.tbody .role{color:var(--gold);font-weight:600;font-size:.92rem;margin:4px 0 14px;letter-spacing:.02em}
.tbody p{color:var(--slate);font-size:.95rem;font-weight:300;margin-bottom:11px}
.tbody p:last-child{margin-bottom:0}

/* Booking section */
.book{background:var(--cloud)}
.book-toggle{display:inline-flex;background:#fff;border:1px solid var(--mist);border-radius:999px;padding:5px;gap:4px;margin:0 auto 26px;box-shadow:var(--shadow-sm)}
.book-toggle button{border:none;background:none;font-family:'Montserrat';font-weight:600;font-size:.92rem;color:var(--slate);padding:.7em 1.5em;border-radius:999px;cursor:pointer;transition:.18s;display:inline-flex;align-items:center;gap:.5em}
.book-toggle button.active{background:var(--gold-btn);color:var(--navy);box-shadow:0 4px 12px -6px rgba(8,8,61,.3)}
.book-panel{max-width:1140px;margin:0 auto;background:#fff;border:1px solid var(--mist);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.book-panel .cal-head{background:var(--navy);color:#fff;padding:20px 26px;display:flex;align-items:center;gap:14px}
.book-panel .cal-head .dot{width:44px;height:44px;border-radius:12px;background:rgba(200,155,60,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.book-panel .cal-head h3{color:#fff;font-size:1.14rem}
.book-panel .cal-head p{color:rgba(255,255,255,.88);font-size:.9rem;font-weight:400;margin-top:3px}
.cal-embed{min-height:700px;position:relative}
.cal-embed iframe{width:100%;height:720px;min-height:700px;border:0;display:block}
@media(max-width:820px){.cal-embed iframe{height:1050px}}
.cal-placeholder{min-height:640px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;background:
  repeating-linear-gradient(45deg,var(--cloud),var(--cloud) 14px,#fff 14px,#fff 28px)}
.cal-placeholder .badge{background:rgba(200,155,60,.12);border:1px dashed var(--gold);color:#7a5f1f;border-radius:10px;padding:8px 16px;font-size:.8rem;font-weight:600;margin-bottom:18px}
.cal-placeholder h4{font-size:1.3rem;margin-bottom:8px}
.cal-placeholder p{color:var(--slate);font-size:.95rem;font-weight:300;max-width:44ch}

/* Calculators */
.calc{background:var(--cloud)}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.calc-card{background:#fff;border:1px solid var(--mist);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.calc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.calc-card .ic{width:50px;height:50px;border-radius:13px;background:linear-gradient(135deg,rgba(200,155,60,.16),rgba(226,180,79,.05));display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.calc-card h3{font-size:1.12rem;margin-bottom:6px}
.calc-card p{color:var(--slate);font-size:.9rem;font-weight:300;margin-bottom:16px}
.calc-embed{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;border-radius:999px;border:1px solid rgba(200,155,60,.4);background:rgba(200,155,60,.1);padding:7px 15px;color:#7a5f1f;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.calc-embed svg{width:14px;height:14px}
.calc-group{margin-bottom:48px}
.calc-group:last-child{margin-bottom:0}
.calc-subhead{font-family:'Poppins';font-weight:600;color:var(--navy);font-size:1.35rem;margin:0 0 22px;display:flex;align-items:center;gap:12px}
.calc-subhead::before{content:"";width:28px;height:3px;background:var(--gold-grad);border-radius:2px}

/* Map / find us */
.findus{background:var(--cloud)}
.findus .fu-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:36px;align-items:stretch}
.fu-info{background:var(--navy);color:#fff;border-radius:22px;padding:46px 42px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
.fu-info::before{content:"";position:absolute;top:-20%;right:-10%;width:1px;height:140%;background:linear-gradient(180deg,transparent,rgba(226,180,79,.4),transparent);transform:rotate(18deg)}
.fu-info .eyebrow{color:var(--gold);margin-bottom:10px;display:block}
.fu-info h2{color:#fff;font-size:clamp(1.7rem,3vw,2.1rem);margin-bottom:24px}
.fu-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.fu-line .ic{width:40px;height:40px;flex-shrink:0;border-radius:11px;background:rgba(200,155,60,.14);display:flex;align-items:center;justify-content:center}
.fu-line .lbl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:3px}
.fu-line .val{color:rgba(255,255,255,.92);font-size:1rem;font-weight:300;line-height:1.5}
.fu-line a.val{color:rgba(255,255,255,.92)}
.fu-line a.val:hover{color:var(--gold-bright)}
.fu-info .btn{margin-top:14px;align-self:flex-start}
.fu-map{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:3px solid rgba(200,155,60,.45);min-height:420px;position:relative}
.fu-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
@media(max-width:820px){
  .findus .fu-grid{grid-template-columns:1fr;gap:24px}
  .fu-map{min-height:320px}
  .fu-map iframe{min-height:320px}
}

/* Privacy modal */
.modal-overlay{position:fixed;inset:0;background:rgba(8,8,61,.72);backdrop-filter:blur(4px);z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:20px;max-width:820px;width:100%;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
.modal .m-head{background:var(--navy);color:#fff;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.modal .m-head h3{color:#fff;font-size:1.3rem}
.modal .m-head .close{background:rgba(255,255,255,.1);border:none;color:#fff;width:38px;height:38px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:.15s}
.modal .m-head .close:hover{background:var(--gold);color:var(--navy)}
.modal .m-body{padding:30px 34px;overflow-y:auto}
.modal .m-body h4{color:var(--navy);font-size:1.05rem;margin:22px 0 8px}
.modal .m-body h4:first-child{margin-top:0}
.modal .m-body p{color:var(--ink);font-size:.9rem;font-weight:300;line-height:1.7;margin-bottom:10px}
.modal .m-body ul{margin:0 0 12px 20px}
.modal .m-body li{color:var(--ink);font-size:.9rem;font-weight:300;line-height:1.6;margin-bottom:5px}
.modal .m-body a{color:var(--gold);font-weight:500}
.modal .m-body .muted{color:var(--slate);font-size:.8rem;font-style:italic;margin-top:20px}
.foot-bottom a.plink{color:inherit;cursor:pointer}
.foot-bottom a.plink:hover{color:var(--gold-bright)}

/* Responsive */
@media(max-width:1000px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:900px){
  .values,.team-grid{grid-template-columns:1fr}
  .team-grid{max-width:420px}
  .tmember,.tmember:nth-child(even){flex-direction:column;gap:24px}
  .tphoto{flex-basis:auto;width:100%;max-width:320px}
  .tbody{text-align:center}
}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:40px;padding:56px 0 64px}
  .services,.steps,.tst-grid{grid-template-columns:1fr}
  .about{grid-template-columns:1fr;gap:32px}
  .about-photo{max-width:360px;margin:0 auto}
  .foot-grid{grid-template-columns:1fr;gap:32px}
  .nav-links{display:none}
  .nav-bottom{display:none}
  .menu-btn{display:block}
  .nav-top{height:72px}
  .brand img{height:52px}
}
@media(max-width:560px){
  .nav-cta .btn{display:none}
  .hero-trust{gap:18px}
}

/* ===== Landing / content page styles ===== */
.breadcrumb{background:var(--cloud);border-bottom:1px solid var(--mist)}
.breadcrumb .wrap{padding:14px 24px;font-size:.85rem;color:var(--slate)}
.breadcrumb a{color:var(--slate)}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb span{color:var(--navy);font-weight:500}
.lp-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.lp-hero::before{content:"";position:absolute;top:-10%;right:8%;width:2px;height:130%;background:linear-gradient(180deg,transparent,rgba(226,180,79,.5),transparent);transform:rotate(18deg)}
.lp-hero .wrap{position:relative;padding:66px 24px 60px;max-width:900px}
.lp-hero .eyebrow{color:var(--gold)}
.lp-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3rem);margin:12px 0 18px;max-width:20ch}
.lp-hero p{color:rgba(255,255,255,.85);font-size:1.12rem;font-weight:300;max-width:60ch;margin-bottom:26px}
.lp-hero .btn-row{display:flex;gap:14px;flex-wrap:wrap}
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:38px 0 14px}
.prose h3{font-size:1.2rem;margin:26px 0 10px;color:var(--navy)}
.prose p{color:var(--slate);font-size:1.04rem;font-weight:300;line-height:1.8;margin-bottom:16px}
.prose ul{margin:0 0 18px 0;list-style:none}
.prose ul li{position:relative;padding:6px 0 6px 26px;color:var(--ink);font-size:1rem;font-weight:400;line-height:1.6}
.prose ul li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.prose a{color:var(--gold);font-weight:500}
.prose a:hover{text-decoration:underline}
.callout{background:var(--cloud);border-left:4px solid var(--gold);border-radius:10px;padding:18px 22px;margin:24px 0;color:var(--slate);font-size:.98rem;font-weight:300}
.disclaimer{font-size:.85rem;color:var(--slate);font-weight:300;font-style:italic;border-top:1px solid var(--mist);margin-top:34px;padding-top:18px;line-height:1.7}
.faq-sec{background:var(--cloud)}
.faq{max-width:820px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--mist);border-radius:14px;margin-bottom:14px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:'Poppins';font-weight:600;color:var(--navy);font-size:1.05rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:1.4rem;font-weight:400;flex-shrink:0}
.faq details[open] summary::after{content:"−"}
.faq details[open] summary{border-bottom:1px solid var(--mist)}
.faq .ans{padding:18px 24px 22px;color:var(--slate);font-size:1rem;font-weight:300;line-height:1.75}
.faq .ans p{margin-bottom:10px}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:900px;margin:0 auto}
.related a{display:block;background:#fff;border:1px solid var(--mist);border-radius:16px;padding:22px 24px;transition:transform .2s,box-shadow .2s;color:var(--navy)}
.related a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.related a b{font-family:'Poppins';display:block;margin-bottom:4px}
.related a span{color:var(--slate);font-size:.9rem;font-weight:300}
.svc a.more{display:inline-flex;align-items:center;gap:.4em;margin-top:14px;color:var(--navy);font-weight:600;font-size:.9rem}
.svc a.more:hover{color:var(--gold)}
@media(max-width:900px){.lp-hero .wrap{padding:48px 24px 44px}}

/* ===== Explore-our-services (homepage) + generic "more" link ===== */
a.more{display:inline-flex;align-items:center;gap:.4em;color:var(--navy);font-weight:600;font-size:.95rem}
a.more:hover{color:var(--gold)}
.svc-more{margin-top:44px;text-align:center}
.svc-more .lbl{display:block;color:var(--slate);font-size:.98rem;font-weight:300;margin-bottom:18px}
.svc-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:860px;margin:0 auto 26px}
.svc-links a{font-size:.9rem;color:var(--navy);font-weight:500;padding:8px 16px;border:1px solid var(--mist);border-radius:999px;background:#fff;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease}
.svc-links a:hover{border-color:var(--gold);color:var(--gold);box-shadow:0 6px 16px -10px rgba(8,8,61,.4)}

/* ===== Mobile navigation drawer (accessible toggle) ===== */
@media(max-width:900px){
  header.nav-open .nav-bottom{display:block;position:absolute;top:100%;left:0;right:0;background:var(--navy);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 22px 44px -22px rgba(0,0,0,.7)}
  header.nav-open .nav-links{display:flex;flex-direction:column;align-items:stretch;height:auto;gap:0;padding:6px 24px 16px}
  header.nav-open .nav-links a.link{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem}
  header.nav-open .nav-links a.link:last-child{border-bottom:none}
  .menu-btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:6px}
}
