/* =====================================================
   Prime Finance Wealth - primefinancewealth.com
   Editorial theme: deep pine + champagne gold + clay
   ===================================================== */
:root{
  --pine:#0C3B2E;
  --pine-deep:#06231B;
  --pine-mid:#155843;
  --pine-soft:#E3EFE6;
  --cream:#FBF7EC;
  --sand:#F1E8D2;
  --line:#E3D8BC;
  --gold:#C6A24B;
  --gold-deep:#97772A;
  --gold-soft:#F5EBCF;
  --clay:#BC5A32;
  --clay-deep:#8C3E1E;
  --clay-soft:#F8E4D4;
  --ink:#24332C;
  --muted:#5E7168;
  --white:#ffffff;
  --shadow:0 22px 55px rgba(6,35,27,.14);
  --r:22px;
}
*{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.serif{
  font-family:'Fraunces',Georgia,serif;
  color:var(--pine-deep);
  line-height:1.15;
}
a{text-decoration:none}
a:hover{text-decoration:none}
::selection{background:var(--gold);color:var(--pine-deep)}

/* ---------- Topline ---------- */
.topline{background:var(--pine-deep);color:#EDE5CC;font-size:.84rem;border-bottom:2px solid var(--gold)}
.topline a{color:#fff;font-weight:600}
.topline a:hover{color:var(--gold)}
.topline .dot{color:var(--gold);margin:0 .55rem}

/* ---------- Logo : ONE LINE, SAME STYLE ---------- */
.brand{display:inline-flex;align-items:center;gap:.65rem;white-space:nowrap;flex-wrap:nowrap}
.brand-mark{
  width:46px;height:46px;flex:0 0 46px;border-radius:50%;
  background:var(--pine);color:var(--gold);
  border:2px solid var(--gold);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:700;font-size:1.45rem;
}
.brand-name{
  white-space:nowrap;
  font-family:'Fraunces',serif;font-weight:700;font-size:1.42rem;
  letter-spacing:.2px;color:var(--pine);line-height:1;
}
.foot-brand .brand-name{color:#fff}

/* ---------- Navbar ---------- */
.nav-pfw{background:rgba(251,247,236,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.75rem 0;transition:.3s}
.nav-pfw.scrolled{box-shadow:0 12px 30px rgba(6,35,27,.14)}
.nav-pfw .nav-link{font-weight:600;color:var(--pine);margin:0 .3rem;padding:.5rem .35rem!important;font-size:.95rem;position:relative}
.nav-pfw .nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:3px;border-radius:3px;background:var(--gold);transition:right .25s ease}
.nav-pfw .nav-link:hover::after,.nav-pfw .nav-link.active::after{right:0}
.nav-pfw .nav-link:hover,.nav-pfw .nav-link.active{color:var(--clay)}

/* ---------- Buttons (soft-square, not pill) ---------- */
.btn{border-radius:12px!important;font-weight:700!important;padding:.78rem 1.7rem!important;border:none!important;transition:.25s ease;font-size:.95rem}
.btn-pine{background:var(--pine);color:#fff!important}
.btn-pine:hover{background:var(--pine-mid);color:var(--gold-soft)!important;transform:translateY(-2px)}
.btn-clay{background:var(--clay);color:#fff!important;box-shadow:0 12px 26px rgba(188,90,50,.35)}
.btn-clay:hover{background:var(--clay-deep);color:#fff!important;transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,#DDBB63,#B08A2E);color:#2E2A10!important;box-shadow:0 12px 26px rgba(198,162,75,.4)}
.btn-gold:hover{transform:translateY(-2px);color:#2E2A10!important}
.btn-outline-cream{border:2px solid #fff!important;color:#fff!important;background:transparent}
.btn-outline-cream:hover{background:#fff!important;color:var(--pine)!important}
.btn-outline-pine{border:2px solid var(--pine)!important;color:var(--pine)!important;background:transparent}
.btn-outline-pine:hover{background:var(--pine)!important;color:#fff!important}

/* ---------- Section helpers ---------- */
.sec{padding:88px 0}
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:.78rem;letter-spacing:3px;text-transform:uppercase;color:var(--clay);margin-bottom:.9rem}
.kicker::before{content:"";width:34px;height:3px;border-radius:3px;background:var(--gold)}
.kicker.center::after{content:"";width:34px;height:3px;border-radius:3px;background:var(--gold)}
.kicker.light{color:var(--gold-soft)}
.sec-title{font-weight:700;font-size:clamp(1.75rem,3.4vw,2.65rem);margin-bottom:.7rem}
.sec-sub{color:var(--muted);font-size:1.04rem;max-width:680px}

/* ---------- HERO ---------- */
.hero-pfw{background:var(--cream);position:relative;overflow:hidden;padding:84px 0 90px}
.hero-pfw::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#D9CBA1 1.3px,transparent 1.3px);background-size:24px 24px;opacity:.5}
.hero-pfw .container{position:relative}
.hero-pfw h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700}
.hero-pfw h1 em{font-style:italic;color:var(--clay)}
.hero-badge{display:inline-block;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:10px;padding:.5rem 1rem;font-weight:700;font-size:.85rem;color:var(--pine);box-shadow:0 8px 20px rgba(6,35,27,.08)}
.hero-points{list-style:none;padding:0;margin:1.3rem 0}
.hero-points li{padding:.4rem 0 .4rem 2rem;position:relative;font-weight:600;color:var(--pine)}
.hero-points li::before{content:"✦";position:absolute;left:0;color:var(--gold-deep);font-weight:700}
.hero-frame{position:relative;padding:0 0 34px 0}
.hero-main{border-radius:28px;border:8px solid #fff;box-shadow:var(--shadow);width:100%;object-fit:cover;max-height:480px}
.float-card{position:absolute;left:-14px;bottom:0;background:var(--pine);color:#fff;border-radius:18px;padding:1.1rem 1.3rem;box-shadow:var(--shadow);border-top:4px solid var(--gold);max-width:280px}
.float-card strong{color:var(--gold);font-size:1.05rem}
.ring-badge{position:absolute;top:-22px;right:6px;width:112px;height:112px;border-radius:50%;background:var(--clay);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;text-align:center;font-size:.8rem;line-height:1.25;border:4px solid #fff;box-shadow:var(--shadow);transform:rotate(8deg)}

/* ---------- Ribbon marquee ---------- */
.ribbon{background:var(--pine-deep);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);overflow:hidden}
.ribbon-track{display:inline-flex;white-space:nowrap;animation:slide 30s linear infinite}
.ribbon-track span{font-family:'Fraunces',serif;color:var(--gold-soft);font-size:1.2rem;padding:.95rem 0;letter-spacing:.5px}
.ribbon-track b{color:var(--gold);font-weight:400;margin:0 1.4rem}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- Service cards ---------- */
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;transition:.3s;box-shadow:0 8px 24px rgba(6,35,27,.06)}
.svc-card:hover{transform:translateY(-9px);box-shadow:var(--shadow);border-color:var(--gold)}
.svc-card .img-wrap{padding:12px 12px 0}
.svc-card img{height:195px;width:100%;object-fit:cover;border-radius:14px}
.svc-body{padding:1.4rem 1.5rem 1.6rem;position:relative}
.svc-ico{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.45rem;color:#fff;margin-top:-52px;border:4px solid #fff;box-shadow:0 10px 22px rgba(6,35,27,.22);position:relative}
.svc-tag{display:block;font-size:.72rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-deep);margin:.7rem 0 .3rem}
.svc-body h3{font-size:1.28rem;font-weight:700}
.svc-body p{color:var(--muted);font-size:.94rem;min-height:66px}
.bg-pine{background:linear-gradient(135deg,#155843,#06231B)}
.bg-clay{background:linear-gradient(135deg,#D2743F,#8C3E1E)}
.bg-gold{background:linear-gradient(135deg,#DDBB63,#97772A)}
.bg-sage{background:linear-gradient(135deg,#5E8F6F,#2E5940)}
.bg-slate{background:linear-gradient(135deg,#3E5C50,#1C2E27)}
.bg-wine{background:linear-gradient(135deg,#8A5A44,#4E2E1E)}

/* ---------- About / frame ---------- */
.about-sec{background:var(--cream)}
.frame-img{position:relative}
.frame-img img{border-radius:24px;box-shadow:var(--shadow);position:relative;z-index:1;width:100%}
.frame-img::after{content:"";position:absolute;inset:22px -18px -18px 22px;border:3px solid var(--gold);border-radius:24px;z-index:0}
.num-feature{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px dashed var(--line)}
.num-feature:last-child{border-bottom:none}
.num-feature .n{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:700;color:var(--gold-deep);line-height:1;flex:0 0 52px}
.num-feature h5{font-weight:700;margin-bottom:.2rem;font-size:1.02rem}
.num-feature p{margin:0;color:var(--muted);font-size:.92rem}

/* ---------- Process (dark) ---------- */
.process-sec{background:linear-gradient(150deg,#06231B 0%,#0C3B2E 60%,#155843 100%);position:relative;overflow:hidden}
.process-sec::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(198,162,75,.25) 1.3px,transparent 1.3px);background-size:26px 26px}
.process-sec .container{position:relative}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(198,162,75,.4);border-radius:var(--r);padding:1.8rem 1.5rem;height:100%;backdrop-filter:blur(4px)}
.step .no{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:700;color:var(--gold);line-height:1}
.step hr{border:none;border-top:3px solid var(--gold);width:46px;opacity:1;margin:.9rem 0}
.step h5{color:#fff;font-weight:700}
.step p{color:#D8E4DA;font-size:.92rem;margin:0}

/* ---------- Testimonials ---------- */
.testi-sec{background:var(--sand)}
.quote-card{background:#fff;border-radius:var(--r);padding:2rem 1.7rem;height:100%;box-shadow:0 14px 34px rgba(6,35,27,.1);border-top:5px solid var(--clay);text-align:center}
.quote-card .qmark{font-family:'Fraunces',serif;font-size:3.2rem;line-height:1;color:var(--gold);display:block}
.stars{color:var(--gold-deep);letter-spacing:3px;font-size:1rem}
.quote-card p{font-style:italic;color:#3C4C44;margin:1rem 0}
.quote-name{font-weight:800;color:var(--pine);display:flex;align-items:center;justify-content:center;gap:.7rem}
.quote-avatar{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.05rem;background:var(--pine)}

/* ---------- Blog ---------- */
.post-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;background:#fff;transition:.3s}
.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.post-card img{height:215px;width:100%;object-fit:cover}
.post-body{padding:1.5rem}
.post-body h3{font-size:1.16rem;font-weight:700;line-height:1.45}
.post-body h3 a{color:var(--pine-deep)}
.post-body h3 a:hover{color:var(--clay)}
.post-body p{color:var(--muted);font-size:.93rem}
.read-link{font-weight:800;color:var(--clay)}
.read-link:hover{color:var(--clay-deep);letter-spacing:.3px}

/* ---------- CTA ---------- */
.cta-sec{background:linear-gradient(135deg,#8C3E1E,#BC5A32 55%,#D2743F);position:relative;overflow:hidden}
.cta-panel{background:var(--cream);border-radius:28px;overflow:hidden;box-shadow:0 30px 70px rgba(60,20,5,.35)}
.cta-side{background:var(--pine-deep);color:#fff;padding:2.6rem;height:100%}
.cta-side h3{color:#fff;font-weight:700}
.cta-side a{color:var(--gold);font-weight:700}
.form-control,.form-select{border-radius:10px!important;padding:.75rem 1rem!important;border:2px solid var(--line)!important;font-size:.95rem;background:#fff}
.form-control:focus,.form-select:focus{border-color:var(--pine)!important;box-shadow:0 0 0 .2rem rgba(12,59,46,.12)!important}
label.form-label{font-weight:700;font-size:.87rem;color:var(--pine)}

/* ---------- Page heads ---------- */
.pagehead{padding:78px 0 68px;color:#fff;position:relative;overflow:hidden}
.pagehead h1{color:#fff;font-weight:700}
.pagehead p{color:#EDE5CC}
.pagehead .crumbs{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:.5rem 1.2rem;font-size:.9rem}
.pagehead .crumbs a{color:#fff;font-weight:600}
.pagehead .crumbs .on{color:var(--gold)}
.ph-about{background:linear-gradient(135deg,#06231B,#155843 70%,#2E7D5B)}
.ph-services{background:linear-gradient(135deg,#4E2E1E,#BC5A32 70%,#D2743F)}
.ph-blog{background:linear-gradient(135deg,#3A2E0A,#97772A 60%,#C6A24B)}
.ph-contact{background:linear-gradient(135deg,#06231B,#1C2E27 60%,#3E5C50)}
.ph-legal{background:linear-gradient(135deg,#1F2933,#3E4C59)}
.ph-sub{background:linear-gradient(135deg,#06231B 20%,#2E7D5B)}
.ph-unsub{background:linear-gradient(135deg,#3A1F10,#8C3E1E)}

/* ---------- Misc ---------- */
.info-tile{border-radius:var(--r);padding:1.7rem;height:100%;color:#fff;box-shadow:var(--shadow)}
.info-tile a{color:#fff;font-weight:700}
.info-tile a:hover{color:var(--gold)}
.tile-pine{background:linear-gradient(135deg,#06231B,#155843)}
.tile-clay{background:linear-gradient(135deg,#8C3E1E,#D2743F)}
.tile-gold{background:linear-gradient(135deg,#97772A,#C6A24B)}
.tile-pine .kicker,.tile-clay .kicker,.tile-gold .kicker{color:var(--gold-soft)}
.card-soft{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 14px 36px rgba(6,35,27,.08)}
.mile{border-radius:var(--r);padding:1.7rem;text-align:center;background:#fff;border:1px solid var(--line);border-top:5px solid var(--gold);box-shadow:0 10px 26px rgba(6,35,27,.07);height:100%}
.mile strong{font-family:'Fraunces',serif;font-size:1.35rem;color:var(--pine);display:block}
.detail-row{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 16px 44px rgba(6,35,27,.1)}
.detail-row img{height:100%;min-height:290px;object-fit:cover;width:100%}
.tick-list{list-style:none;padding:0;margin:1.1rem 0}
.tick-list li{padding:.42rem 0 .42rem 2rem;position:relative;font-weight:500;font-size:.94rem}
.tick-list li::before{content:"✔";position:absolute;left:0;color:var(--clay);font-weight:800}
.map-frame{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:8px solid #fff}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 16px 44px rgba(6,35,27,.1);padding:2.6rem}
.legal-card h3{margin-top:1.9rem;font-weight:700;font-size:1.28rem}
.legal-card p,.legal-card li{color:#43564D;line-height:1.78}
.article-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 16px 44px rgba(6,35,27,.1);overflow:hidden}
.article-card .abody{padding:2.3rem}
.article-card .abody p{line-height:1.88;color:#33443B;margin-bottom:1.3rem;font-size:1.02rem}
.article-card .abody h2{font-size:1.45rem;font-weight:700;margin:2rem 0 1rem}
.pull{background:var(--gold-soft);border-left:6px solid var(--gold-deep);border-radius:0 16px 16px 0;padding:1.25rem 1.5rem;font-weight:600;color:#5C4A12;margin:1.6rem 0}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 30px rgba(6,35,27,.08);padding:1.6rem}
.side-card a.s-link{display:flex;gap:.8rem;align-items:center;padding:.7rem;border-radius:12px;color:var(--pine);font-weight:600}
.side-card a.s-link:hover{background:var(--cream)}
.side-card a.s-link img{width:72px;height:60px;object-fit:cover;border-radius:10px}

/* ---------- Footer ---------- */
.foot-pfw{background:var(--pine-deep);color:#CBD8CE;padding:70px 0 0;border-top:4px solid var(--gold)}
.foot-pfw h5{color:var(--gold);font-weight:700;margin-bottom:1.1rem;font-size:1.02rem;letter-spacing:1px;text-transform:uppercase;font-family:'Inter',sans-serif}
.foot-pfw a{color:#CBD8CE}
.foot-pfw a:hover{color:var(--gold)}
.foot-pfw ul{list-style:none;padding:0}
.foot-pfw ul li{margin-bottom:.55rem}
.soc{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(198,162,75,.15);color:var(--gold);margin-right:.4rem;font-weight:800;border:1px solid rgba(198,162,75,.4)}
.soc:hover{background:var(--gold);color:var(--pine-deep)}
.foot-bottom{border-top:1px solid rgba(198,162,75,.25);margin-top:2.5rem;padding:1.2rem 0;color:#9DB0A4;font-size:.89rem}

/* ---------- Alerts / top button ---------- */
.form-alert{border-radius:12px;padding:.9rem 1.1rem;margin-top:1rem;display:none;font-weight:600;font-size:.92rem}
.form-alert.show{display:block}
.form-alert.success{background:#DFF0E2;color:#0C3B2E;border:1px solid #8FC39A}
.form-alert.error{background:#F9E0D3;color:#7A2E12;border:1px solid #E0A07E}
#toTop{position:fixed;right:22px;bottom:22px;width:50px;height:50px;border-radius:14px;background:var(--clay);color:#fff;border:none;font-size:1.3rem;display:none;z-index:1050;box-shadow:0 12px 28px rgba(0,0,0,.3)}
#toTop:hover{background:var(--clay-deep)}

@media(max-width:767px){
  .sec{padding:60px 0}
  .brand-name{font-size:1.08rem}
  .float-card{left:8px;right:8px;max-width:none}
  .ring-badge{width:96px;height:96px;font-size:.72rem}
  .article-card .abody,.legal-card{padding:1.4rem}
  .svc-body p{min-height:auto}
}
