:root{
  --cream:#FAF7F2;--ink:#15120c;--navy:#0D3B5C;--navy2:#155080;--brass:#C29A4D;--brass-d:#a37e34;
  --text:#1b1812;--sub:#6c665c;--line:#EAE3D7;--card:#FFFFFF;--dsub:#b8b2a6;
  --f:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --fi:"Fraunces",Georgia,serif;
  --sh:0 0 0 1px rgba(20,18,12,.04),0 6px 18px rgba(20,18,12,.05),0 26px 50px -20px rgba(20,18,12,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f);background:var(--cream);color:var(--text);font-weight:400;-webkit-font-smoothing:antialiased;letter-spacing:.1px;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.fi{font-family:var(--fi);font-style:italic;font-weight:500}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.ey{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-d)}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;font-weight:600;font-size:16px;padding:15px 30px;transition:.25s;cursor:pointer}
.pill.dark{background:var(--navy);color:#fff}.pill.dark:hover{background:#0a3049;transform:translateY(-1px)}
.pill.out{background:transparent;color:var(--ink);border:2px solid rgba(21,18,12,.18)}.pill.out:hover{border-color:var(--ink)}
.pill.brass{background:var(--brass);color:#231900}.pill.brass:hover{background:var(--brass-d)}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(250,247,242,.8);backdrop-filter:saturate(150%) blur(16px);border-bottom:1px solid rgba(20,18,12,.05)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:'Sora',sans-serif;font-weight:800;font-size:23px;letter-spacing:-1.2px;color:var(--ink)}
.brand .dot{width:.16em;height:.16em;border-radius:50%;background:var(--ink);display:inline-block;vertical-align:baseline;margin:0 .16em 0 0}
.brand .by{font-size:.6em;font-weight:600;letter-spacing:-.3px;color:var(--navy);margin-left:.34em}
.nlinks{display:flex;gap:32px;font-size:15px;font-weight:500;color:var(--sub)}
.nlinks a:hover{color:var(--ink)}
.nav .pill{padding:11px 22px;font-size:14.5px}
@media(max-width:820px){.nlinks{display:none}}

/* hero */
.hero{padding:158px 0 90px}
.hgrid{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center}
@media(max-width:900px){.hgrid{grid-template-columns:1fr;gap:50px}}
h1{font-size:clamp(46px,6.4vw,86px);line-height:1.0;letter-spacing:-3px;font-weight:700;color:var(--ink);margin:20px 0 0}
h1 .fi{color:var(--navy);letter-spacing:-1.5px}
.hsub{font-size:clamp(18px,1.7vw,21px);color:var(--sub);max-width:480px;margin-top:24px;line-height:1.55;font-weight:400}
.hbtns{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.htrust{margin-top:26px;font-size:14.5px;color:var(--sub);font-weight:500}
.htrust b{color:var(--ink)}

/* loop / form */
.loopviz{justify-self:center;width:min(480px,90vw)}
.auditform{display:flex;flex-direction:column;gap:12px;max-width:440px;margin:30px auto 0;text-align:left}
.auditform input{padding:15px 18px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font-family:inherit;font-size:15.5px;color:var(--text)}
.auditform input:focus{outline:none;border-color:var(--navy)}
.auditform button{border:none;cursor:pointer;margin-top:4px}
.formnote{font-size:13px;color:var(--sub);margin-top:14px}

/* sections */
.sec{padding:120px 0}
.sec.dark{background:var(--ink);color:#fff}
.sec.dark .ey{color:var(--brass)}
.shead{max-width:680px}
h2{font-size:clamp(32px,4.4vw,54px);line-height:1.05;letter-spacing:-1.8px;font-weight:700;color:inherit;margin-top:16px}
.sec.dark h2{color:#fff}
.slede{font-size:19px;color:var(--sub);margin-top:18px;line-height:1.55;max-width:560px}
.sec.dark .slede{color:#b9b3a7}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:54px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards{grid-template-columns:1fr}}
.card{background:var(--card);border-radius:22px;padding:28px 24px;box-shadow:var(--sh);transition:.35s;display:block;color:inherit}
.sec.dark .card{background:#1f1b13;box-shadow:none;border:1px solid rgba(255,255,255,.07)}
.card:hover{transform:translateY(-6px)}
.card .ci{width:46px;height:46px;border-radius:14px;background:rgba(13,59,92,.08);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.sec.dark .card .ci{background:rgba(194,154,77,.16)}
.card .ci span{width:18px;height:18px;border-radius:5px;background:var(--navy)}.sec.dark .card .ci span{background:var(--brass)}
.card h3{font-size:21px;font-weight:700;letter-spacing:-.5px}.sec.dark .card h3{color:#fff}
.card p{font-size:14.5px;color:var(--sub);margin-top:9px;line-height:1.5}.sec.dark .card p{color:#a8a296}
.card .more{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--navy)}
.sec.dark .card .more{color:var(--brass)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
@media(max-width:820px){.steps{grid-template-columns:1fr;gap:32px}}
.step .n{font-family:var(--fi);font-style:italic;font-size:40px;color:var(--brass);font-weight:600}
.step h3{font-size:23px;font-weight:700;letter-spacing:-.5px;margin:10px 0 8px}
.step p{font-size:15.5px;color:var(--sub);line-height:1.55}

/* pricing */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:54px}
@media(max-width:900px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}}
.pc{background:var(--card);border-radius:24px;padding:30px 26px;box-shadow:var(--sh);transition:.35s}
.pc:hover{transform:translateY(-7px)}
.pc.f{background:var(--navy);color:#fff;box-shadow:0 30px 60px -22px rgba(13,59,92,.5)}
.pc .nm{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-d)}.pc.f .nm{color:var(--brass)}
.pc .pr{font-size:42px;font-weight:700;letter-spacing:-1.5px;margin:14px 0 2px}
.pc .pm{font-size:13px;color:var(--sub)}.pc.f .pm{color:#9fc0d8}
.pc .pd{font-size:14.5px;color:var(--sub);margin-top:18px;line-height:1.5}.pc.f .pd{color:#cfe0ee}
.pc ul{list-style:none;margin-top:18px;font-size:14px;color:var(--sub);line-height:1.7}.pc.f ul{color:#cfe0ee}
.pc ul li{padding-left:18px;position:relative}
.pc ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--brass)}

/* trust + cta */
.trust{text-align:center;background:var(--ink);color:#fff;padding:150px 0}
.trust .q{font-family:var(--fi);font-style:italic;font-size:clamp(28px,4.3vw,50px);line-height:1.22;font-weight:500;max-width:860px;margin:24px auto 0;letter-spacing:-.5px}
.trust .q b{color:var(--brass);font-style:normal;font-weight:500}
.trust .by{color:#8a8479;margin-top:28px;font-size:15px}
.cta{text-align:center;padding:130px 0}
.cta h2{font-size:clamp(38px,5.6vw,72px);letter-spacing:-2.5px}
.cta p{font-size:19px;color:var(--sub);margin:18px auto 0;max-width:520px}

/* article (service / content pages) */
.phead{padding:148px 0 30px}
.phead .ey{margin-bottom:14px}
.phead h1{font-size:clamp(40px,5.6vw,74px);letter-spacing:-2.5px}
.phead .lede{font-size:clamp(18px,1.8vw,22px);color:var(--sub);max-width:640px;margin-top:24px;line-height:1.55}
.crumb{font-size:13px;color:var(--sub);font-weight:500;margin-bottom:8px}
.crumb a{color:var(--navy)}
.prose{padding:24px 0 60px}
.prose .col{max-width:720px}
.prose h2{font-size:clamp(26px,3.2vw,38px);letter-spacing:-1.2px;margin:48px 0 0}
.prose h3{font-size:21px;font-weight:700;letter-spacing:-.4px;margin:34px 0 0}
.prose p{font-size:17px;color:var(--text);line-height:1.7;margin-top:18px}
.prose p.sub{color:var(--sub)}
.prose ul{margin:18px 0 0 0;padding-left:0;list-style:none}
.prose ul li{position:relative;padding-left:26px;font-size:17px;line-height:1.65;color:var(--text);margin-top:12px}
.prose ul li::before{content:"";position:absolute;left:4px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--brass)}
.faq{border-top:1px solid var(--line);margin-top:18px}
.faq .qa{border-bottom:1px solid var(--line);padding:24px 0}
.faq .qa h3{margin:0;font-size:19px}
.faq .qa p{margin-top:10px;font-size:16px;color:var(--sub)}
.inblock{background:#F2ECE2;border-radius:22px;padding:32px 30px;margin-top:48px}
.inblock h3{font-size:20px;font-weight:700;letter-spacing:-.4px}
.inblock .links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.inblock .links a{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9999px;padding:9px 18px;font-size:14px;font-weight:600;color:var(--navy);transition:.2s}
.inblock .links a:hover{border-color:var(--navy)}
.ctaband{background:var(--navy);color:#fff;border-radius:24px;padding:44px 40px;margin-top:48px;text-align:center}
.ctaband h2{color:#fff;margin:0;font-size:clamp(26px,3.4vw,40px)}
.ctaband p{color:#cfe0ee;margin:14px auto 0;max-width:520px;font-size:17px;line-height:1.55}
.ctaband .pill{margin-top:26px;background:var(--brass);color:#231900}
.ctaband .pill:hover{background:var(--brass-d)}

/* footer */
footer{border-top:1px solid var(--line);padding:64px 0 42px;color:var(--sub);font-size:14px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media(max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}
.fgrid h4{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.fgrid a{display:block;color:var(--sub);margin-bottom:9px;font-size:14px}
.fgrid a:hover{color:var(--ink)}
.fbrand{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;letter-spacing:-1.2px;color:var(--ink)}
.fbrand .by{font-size:.6em;font-weight:600;color:var(--navy);margin-left:.34em}
.fbrand+p{margin-top:12px;max-width:240px;line-height:1.55}
.fbase{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

.rv{opacity:0;transform:translateY(34px);transition:.95s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}

/* full-bleed photo hero */
.hero.bleed{position:relative;min-height:92vh;display:flex;align-items:center;padding:0;color:#fff;overflow:hidden}
.hero.bleed::before{content:"";position:absolute;inset:0;background:url(img/photos/owners-two.jpg) center 28%/cover no-repeat}
.hero.bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,59,92,.95),rgba(13,59,92,.72) 44%,rgba(13,59,92,.12))}
.hero.bleed .wrap{position:relative;z-index:2;width:100%;padding-top:132px;padding-bottom:84px}
.hero.bleed .ey{color:var(--brass)}
.hero.bleed h1{color:#fff}
.hero.bleed h1 .fi{color:#F0D9A8}
.hero.bleed .hsub{color:#e9eef2;max-width:540px}
.hero.bleed .htrust{color:#dce2e7}
.hero.bleed .htrust b{color:#fff}
.hero.bleed .pill.out{color:#fff;border-color:rgba(255,255,255,.55)}
.hero.bleed .pill.out:hover{border-color:#fff}

/* full-bleed photo bands */
.sec.photo,.trust.photo,.cta.photo{position:relative;overflow:hidden;color:#fff}
.sec.photo::before,.trust.photo::before,.cta.photo::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center}
.sec.photo::after,.trust.photo::after,.cta.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,59,92,.92),rgba(13,59,92,.66) 55%,rgba(13,59,92,.4))}
.sec.photo .wrap,.trust.photo .wrap,.cta.photo .wrap{position:relative;z-index:2}
.trust.photo .q{color:#fff}.trust.photo .q b{color:var(--brass)}.trust.photo .by{color:#cfd6dc}
.cta.photo h2{color:#fff}.cta.photo p{color:#e7ecf0}.cta.photo .pill.dark{background:var(--brass);color:#231900}
.photo-entrepreneur::before{background-image:url(img/photos/entrepreneur.jpg)}
.photo-electric::before{background-image:url(img/photos/electric.jpg)}
.photo-salon::before{background-image:url(img/photos/salon.jpg)}
.photo-engineer::before{background-image:url(img/photos/engineer.jpg)}
.photo-owner::before{background-image:url(img/photos/owner-laptop.jpg)}
.sec.photo .ey{color:var(--brass)}
.sec.photo h2{color:#fff}
.sec.photo .slede{color:#dbe1e7}
.sec.photo .step h3{color:#fff}
.sec.photo .step p{color:#d2d9e0}
.sec.dark.photo::after{background:linear-gradient(180deg,rgba(15,13,9,.80),rgba(15,13,9,.9))}
.sec.dark.photo .card{background:rgba(18,15,11,.60);backdrop-filter:saturate(140%) blur(7px);-webkit-backdrop-filter:saturate(140%) blur(7px);border:1px solid rgba(255,255,255,.13)}
.sec.dark.photo .card .ci{background:rgba(194,154,77,.2)}

/* dynamic scroll: stacked rounded panels */
.sec,.trust,.cta{border-top-left-radius:40px;border-top-right-radius:40px;margin-top:-40px;position:relative;z-index:2;overflow:hidden}
.sec.dark,.trust,.cta.photo{box-shadow:0 -34px 70px -34px rgba(20,18,12,.4)}
footer{position:relative;z-index:2}
/* parallax: photo layers fixed to viewport (desktop) */
@media(min-width:900px){
  .hero.bleed::before,.sec.photo::before,.trust.photo::before,.cta.photo::before{background-attachment:fixed}
}
/* staggered reveal for card/step grids */
.cards .rv:nth-child(2),.steps .rv:nth-child(2){transition-delay:.07s}
.cards .rv:nth-child(3),.steps .rv:nth-child(3){transition-delay:.14s}
.cards .rv:nth-child(4){transition-delay:.21s}
.rv.slideL{transform:translateX(-44px)}.rv.slideR{transform:translateX(44px)}.rv.slideL.in,.rv.slideR.in{transform:none}

/* photo page-heads (service / content pages) */
.phead.bleed{position:relative;color:#fff;overflow:hidden;padding:152px 0 78px;border-radius:0 0 40px 40px}
.phead.bleed::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center}
.phead.bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,59,92,.93),rgba(13,59,92,.6) 60%,rgba(13,59,92,.18))}
.phead.bleed .wrap{position:relative;z-index:2}
.phead.bleed .ey{color:var(--brass)}
.phead.bleed h1{color:#fff}
.phead.bleed h1 .fi{color:#F0D9A8}
.phead.bleed .lede{color:#e9eef2}
.phead.bleed .crumb{color:#cdd6dc}.phead.bleed .crumb a{color:#fff}
@media(min-width:900px){.phead.bleed::before{background-attachment:fixed}}
.photo-owners::before{background-image:url(img/photos/owners-two.jpg)}
.photo-web::before{background-image:url(img/photos/web.jpg)}
.photo-phone::before{background-image:url(img/photos/phone-desk.jpg)}
.photo-social::before{background-image:url(img/photos/social-media.jpg)}
.photo-reviews::before{background-image:url(img/photos/reviews.jpg)}
.photo-finance::before{background-image:url(img/photos/finance.jpg)}
.photo-mentor::before{background-image:url(img/photos/mentor.jpg)}
.photo-mentor-portrait::before{background-image:url(img/photos/mentor-portrait.jpg)}

/* services dropdown */
.dd{position:relative;display:inline-flex;align-items:center}
.dd>.dd-t{display:inline-flex;align-items:center;cursor:pointer}
.dd>.dd-t::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 6px;opacity:.55}
.dd::before{content:"";position:absolute;top:100%;left:-12px;right:-12px;height:18px}
.dd-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px 6px;min-width:330px;opacity:0;visibility:hidden;transition:.2s ease;z-index:90}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dd-menu a{display:block;padding:9px 14px;border-radius:10px;font-size:14.5px;font-weight:500;color:var(--text);white-space:nowrap}
.dd-menu a:hover{background:var(--cream);color:var(--navy)}

/* mobile menu */
.navtoggle{display:none;width:26px;height:20px;position:relative;background:none;border:0;cursor:pointer;padding:0;margin-left:16px}
.navtoggle i,.navtoggle::before,.navtoggle::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
.navtoggle::before{top:2px}.navtoggle i{top:9px}.navtoggle::after{top:16px}
nav.open .navtoggle::before{top:9px;transform:rotate(45deg)}
nav.open .navtoggle i{opacity:0}
nav.open .navtoggle::after{top:9px;transform:rotate(-45deg)}
@media(max-width:820px){
  .navtoggle{display:block;order:3}
  .nlinks{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;background:rgba(250,247,242,.98);backdrop-filter:saturate(150%) blur(16px);border-bottom:1px solid var(--line);padding:12px 28px 22px;gap:0;box-shadow:var(--sh)}
  nav.open .nlinks{display:flex}
  .nlinks>a{padding:13px 0;font-size:17px;width:100%}
  .dd{display:block;width:100%}
  .dd>.dd-t{padding:13px 0;font-size:17px}
  .dd>.dd-t::after,.dd::before{display:none}
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;min-width:0;margin:0;padding:0 0 8px 12px;display:grid;grid-template-columns:1fr 1fr}
  .dd-menu a{padding:8px 6px;font-size:15px}
}
