/* Offer style: the look of the agent closing gift flyer.
   Navy band, uppercase serif display type, cream paper, letter-spaced labels,
   soft grey pills and icon circles, navy buttons. Loaded last on every page. */
:root{
  --navy:#1B2C4C;--navy2:#13213B;--orange:#1B2C4C;--orange2:#1B2C4C;
  --cream:#F8F5EF;--paper:#FBF9F5;--ink:#15213A;--muted:#5B6578;--line:#E2DED6;
  --pill:#E6E8EC;--serif:"Playfair Display","Libre Caslon Text",Georgia,serif;
  --label:"Jost","Montserrat",ui-sans-serif,system-ui,sans-serif;
  --shadow:0 14px 40px rgba(19,33,59,.10);
}
body{background:var(--paper);color:var(--ink)}

/* Type */
h1,h2,h3,.title2,.hero h1,.page-hero h1{font-family:var(--serif)!important;letter-spacing:-.01em!important;font-weight:600!important;color:inherit}
h2,.title2{line-height:1.05!important}
h3{letter-spacing:0!important}
.kicker,.eyebrow{text-transform:uppercase;font-family:var(--label);font-weight:500!important;letter-spacing:.32em!important;color:var(--navy)!important;font-size:.78rem!important}
.hero .kicker,.page-hero .kicker,.cta-band .eyebrow,.gc-band .eyebrow,.hb .page-hero .eyebrow{color:#fff!important}

/* Header and nav */
.utility{background:var(--navy2)}
.utility a{color:#fff}
.header{background:rgba(251,249,245,.97);border-bottom:1px solid var(--line)}
.nav{white-space:nowrap;gap:20px!important;font-family:var(--label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
.nav a:hover,.nav .nav-pro{color:var(--navy)}
.nav .nav-pro{border-bottom:1px solid var(--navy)}

/* Buttons: navy, rounded, letter-spaced uppercase */
.btn{border-radius:12px!important;font-family:var(--label);font-weight:500!important;letter-spacing:.2em!important;text-transform:uppercase;font-size:.85rem;padding:17px 28px}
.btn-orange,.btn-navy{background:var(--navy)!important;color:#fff!important;box-shadow:none!important}
.btn-orange:hover,.btn-navy:hover{background:var(--navy2)!important}
.btn-white{background:#fff!important;color:var(--navy)!important}
.btn-outline{border:1px solid rgba(255,255,255,.55)!important;color:#fff!important;background:transparent!important}
.btn-ghost{border:1px solid var(--navy)!important;color:var(--navy)!important;background:transparent!important}
.hero .btn-orange,.page-hero .btn-orange,.visual-band .btn-orange,.process .btn-orange,.cta-band .btn-orange,.gc-band .btn-orange{background:#fff!important;color:var(--navy)!important}

/* Home hero: centered navy band on top, full-bleed photo underneath */
.hero{background:var(--navy)}
.hero-grid{display:block!important;min-height:0!important}
.hero-copy{padding:88px 24px 64px!important;text-align:center;max-width:1100px;margin:0 auto}
.hero-copy:after{display:none!important}
.hero-copy .kicker{position:relative;padding-top:26px}
.hero-copy .kicker:before{content:"";position:absolute;top:0;left:50%;width:72px;height:1px;background:rgba(255,255,255,.7);transform:translateX(-50%)}
.hero h1{text-transform:uppercase;font-size:clamp(2.8rem,7vw,6.2rem)!important;line-height:.98!important;max-width:none!important;margin:0 auto 26px!important}
.hero h1 span{color:#fff!important}
.hero .lead{margin:0 auto 32px;color:#D8DEE8;max-width:700px}
.hero .hero-actions{justify-content:center}
.trust-mini{max-width:980px;margin:0 auto;text-align:center;border-top:1px solid rgba(255,255,255,.22)}
.trust-mini strong{font-family:var(--label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}
.hero-media{min-height:clamp(380px,48vw,620px)!important}
.hero-media:after{background:none!important}
.hero-badge{left:50%!important;right:auto!important;transform:translateX(-50%);bottom:28px;max-width:620px!important;width:calc(100% - 40px);text-align:center;background:rgba(251,249,245,.96)!important;color:var(--ink)!important;border-radius:999px!important;padding:14px 28px!important;box-shadow:var(--shadow)}
.hero-badge strong{display:inline!important;font-family:var(--label);font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:.78rem!important;margin-right:10px}
.hero-badge span{color:var(--muted)!important}

/* Inner page heroes */
.page-hero{background:var(--navy)!important}
.page-hero h1{text-transform:uppercase}
.page-hero,.page-hero h1,.page-hero h2,.page-hero .lead,.page-hero p{color:#fff!important}
.page-hero .lead,.page-hero p{color:#D8DEE8!important}
.page-hero .aside,.page-hero .aside *,.page-hero .card,.page-hero .card *,.page-hero [class*="panel"],.page-hero [class*="panel"] *{color:var(--ink)!important}

/* Quote strip, trust bar: the flyer's three icon row */
.quote-strip{background:var(--cream)}
.quote-strip h2{font-size:clamp(1.8rem,3vw,2.6rem)!important}
.trustbar{background:var(--paper)}
.trustpoint{text-align:center;padding:40px 22px!important;border-right:1px solid var(--line)}
.trustpoint:before{content:"";display:block;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--pill) center/26px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2C4C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.trustpoint strong{font-family:var(--label);font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem!important;margin-bottom:6px}

/* Pills: badges, tags, small labels */
.preview-note,.tag,.chip,.pill{background:var(--pill)!important;color:var(--navy)!important;border-radius:999px!important;font-family:var(--label);letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}

/* Cards: soft and quiet, like the flyer's paper */
.card,.service-card,.review-card,.promise-card,.faq details{border-radius:16px!important;border:1px solid var(--line)!important;box-shadow:none!important;background:#fff}
.review-card{text-align:center}
.work-tile{border-radius:16px!important}

.step b{background:#fff!important;color:var(--navy)!important;font-family:var(--serif)}
.step h3{color:#fff}

/* Navy bands */
.cta-band,.gc-band{background:var(--navy)!important}
.brush-banner{background:var(--cream)!important;border:1px solid var(--line)!important}
.cta-band h2,.gc-band h2{text-transform:uppercase}
.script{font-family:var(--serif);font-style:italic;color:var(--navy)!important}

/* Footer: navy with the fine print feel */
.footer{background:var(--navy2)!important}
.footer small,.footer .legal,.footer-bottom{font-family:var(--serif);font-size:.82rem;color:#AEB7C6}

/* Number badges, checks, notices, focus rings */
.icon-shape,.check{background:var(--pill)!important;color:var(--navy)!important;border-radius:50%!important;font-family:var(--serif);font-weight:600!important}
.notice{background:var(--cream)!important;border-left-color:var(--navy)!important;color:var(--ink)!important}
.quick-form input:focus,.quick-form select:focus,.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--navy)!important;box-shadow:0 0 0 3px rgba(27,44,76,.12)!important}
.truck-wrap:after,.truck-wrap:before{background:var(--navy)!important}

/* Anything still wearing the old orange */
a[style*="orange"],.orange,.text-orange{color:var(--navy)!important}

@media (max-width:1180px){.nav{font-size:.72rem;letter-spacing:.08em;gap:14px!important}}
@media (max-width:760px){
  .hero-copy{padding:60px 20px 44px!important}
  .hero h1{font-size:2.7rem!important}
  .hero-badge{border-radius:18px!important}
  .hero-badge strong{display:block!important;margin:0 0 4px}
  .trustpoint{border-right:0}
}
