:root{
  --red:#c7202d;
  --red-dark:#9f1621;
  --red-soft:#fff2f3;
  --blue:#174173;
  --navy:#0b2747;
  --navy-2:#102f55;
  --sky:#edf5fc;
  --ink:#12171d;
  --muted:#5f6975;
  --line:#dfe6ee;
  --surface:#f4f7fa;
  --surface-2:#eef3f8;
  --white:#fff;
  --display:"Bodoni MT Black","Bodoni 72 Black","Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --max:1180px;
  --radius:20px;
  --shadow-sm:0 8px 24px rgba(8,27,48,.08);
  --shadow:0 22px 56px rgba(8,27,48,.14);
  --shadow-deep:0 28px 70px rgba(8,27,48,.18);
  --shadow-red:0 14px 32px rgba(199,32,45,.24)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.65;background:#f5f7fa;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:var(--red);color:#fff}

/* NAVIGATION — intentionally separated from the page so the header no longer disappears into white content */
.site-header{position:sticky;top:0;z-index:80;background:linear-gradient(105deg,rgba(9,34,61,.98),rgba(19,61,104,.96));backdrop-filter:blur(18px) saturate(145%);border-bottom:3px solid var(--red);box-shadow:0 12px 32px rgba(7,25,44,.16)}
.header-inner{max-width:var(--max);margin:auto;min-height:78px;padding:9px 20px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;flex:0 1 310px;min-width:190px;padding:10px 16px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.72);border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.14);overflow:hidden}
.brand img{display:block;width:min(100%,270px);height:auto;max-height:46px;object-fit:contain;object-position:left center;transform:none!important}
.site-nav{display:flex;align-items:center;gap:4px;font-weight:850;font-size:.92rem;color:#eef5fb}
.site-nav>a:not(.nav-cta){padding:10px 11px;border-radius:10px;transition:background .2s ease,color .2s ease,transform .2s ease}
.site-nav>a:not(.nav-cta):hover{color:#fff;background:rgba(255,255,255,.1);transform:translateY(-1px)}
.nav-cta{background:linear-gradient(135deg,var(--red),#e43b48);color:#fff;padding:11px 16px;border-radius:11px;box-shadow:0 12px 26px rgba(199,32,45,.26);transition:transform .2s ease,box-shadow .2s ease}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(199,32,45,.34)}
.nav-toggle{display:none;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.09);color:#fff;border-radius:999px;padding:9px 14px;font-weight:900}

.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--red);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:950}
.eyebrow:before{content:"";width:28px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--red),#ef6a74)}
h1,h2,h3{line-height:1.08;margin:0 0 16px}
h1,h2{font-family:var(--display);font-weight:900;color:#101317}
h1{font-size:clamp(3.1rem,5.9vw,5.9rem);letter-spacing:-.044em;max-width:830px}
h2{font-size:clamp(2.25rem,3.8vw,3.7rem);letter-spacing:-.025em}
h3{font-size:1.34rem;letter-spacing:-.015em}
.lead{font-size:1.14rem;color:var(--muted);max-width:720px}

/* HERO — light blue/gray stage creates a deliberate transition from the navy header */
.hero{position:relative;isolation:isolate;overflow:hidden;max-width:none;margin:0;padding:70px max(20px,calc((100vw - var(--max))/2)) 76px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:60px;background:linear-gradient(125deg,#f8fbfe 0%,#eef4fa 56%,#f8fafc 100%);border-bottom:1px solid #dce5ee}
.hero:before{content:"";position:absolute;z-index:-2;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(23,65,115,.15),rgba(23,65,115,0) 68%);right:-125px;top:-145px}
.hero:after{content:"";position:absolute;z-index:-3;left:-120px;bottom:-240px;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,rgba(199,32,45,.09),rgba(199,32,45,0) 70%)}
.hero>div:first-child{position:relative;z-index:2}
.hero h1{background:linear-gradient(135deg,#11151a 0%,#173c62 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-art{justify-self:end;position:relative;width:min(100%,510px);min-width:0;border-radius:28px;padding:14px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-deep)}
.hero-art:before{content:"";position:absolute;inset:-12px 34px 34px -12px;border-radius:30px;background:linear-gradient(135deg,var(--red),#ef5964);z-index:-1}
.hero-art:after{content:"";position:absolute;inset:34px -14px -14px 34px;border-radius:30px;background:linear-gradient(135deg,var(--navy),#3670a8);z-index:-2}
.hero-art img{width:100%;height:auto;max-height:410px;object-fit:contain;object-position:center;border-radius:18px;background:#fff;image-rendering:auto}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:12px 20px;border-radius:12px;font-weight:950;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.button:hover{transform:translateY(-2px)}
.primary{background:linear-gradient(135deg,var(--red),#dc3542);color:#fff;box-shadow:var(--shadow-red)}
.primary:hover{background:linear-gradient(135deg,var(--red-dark),var(--red));box-shadow:0 17px 34px rgba(199,32,45,.29)}
.secondary{border-color:#b8c8d9;color:var(--blue);background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm)}
.secondary:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.light{background:#fff;color:var(--blue);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.trust-row{display:flex;flex-wrap:wrap;gap:9px}
.trust-row span{background:rgba(255,255,255,.8);border:1px solid #dbe5ee;padding:8px 11px;border-radius:999px;font-size:.77rem;font-weight:900;color:var(--blue);box-shadow:0 4px 12px rgba(16,35,55,.04)}

/* SECTION RHYTHM — less empty space, more visual cadence */
.section{max-width:var(--max);margin:auto;padding:78px 20px}
.section-head{max-width:790px;margin-bottom:34px}
.section-head p:last-child{color:var(--muted);font-size:1.04rem}
.intro{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-sm);padding:42px 42px;margin-top:38px;margin-bottom:38px}
.intro:before{content:"";position:absolute;left:0;top:25px;bottom:25px;width:5px;border-radius:0 999px 999px 0;background:linear-gradient(var(--red),var(--blue))}
.intro p{color:var(--muted);font-size:1.1rem}
#services{max-width:none;background:linear-gradient(180deg,#f0f4f8,#f7f9fb);padding-left:max(20px,calc((100vw - var(--max))/2));padding-right:max(20px,calc((100vw - var(--max))/2));border-top:1px solid #e0e7ee;border-bottom:1px solid #e0e7ee}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;overflow:hidden;border:1px solid var(--line);padding:28px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);border-radius:18px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.card:hover{border-color:#c8d4df;transform:translateY(-6px);box-shadow:var(--shadow)}
.card:hover:before{transform:scaleX(1)}
.card .num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--red-soft);color:var(--red);font-weight:950}
.card p{color:var(--muted);margin:0}

.band{max-width:none;position:relative;overflow:hidden;background:linear-gradient(130deg,#ecf3fa 0%,#f7f9fb 100%);padding-left:max(20px,calc((100vw - var(--max))/2));padding-right:max(20px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:70px;border-bottom:1px solid #dfe6ee}
.band:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-120px;bottom:-180px;background:rgba(199,32,45,.07)}
.area-list{display:grid;position:relative;z-index:1}
.area-list a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 19px;margin-bottom:9px;border:1px solid rgba(199,210,222,.85);border-radius:14px;background:rgba(255,255,255,.82);color:var(--blue);font-weight:950;font-size:1.06rem;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.area-list a:hover{transform:translateX(5px);background:#fff;box-shadow:var(--shadow-sm);color:var(--red)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px 23px 23px;box-shadow:0 8px 24px rgba(16,35,55,.05)}
.feature:before{content:"";position:absolute;left:22px;right:22px;top:0;height:4px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--blue),#3d6fa4)}
.feature b{color:var(--red);font-size:.82rem}
.feature p{color:var(--muted);margin:0}
.cta-band{max-width:none;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--blue) 62%,#285f98);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-left:max(20px,calc((100vw - var(--max))/2));padding-right:max(20px,calc((100vw - var(--max))/2));box-shadow:inset 0 1px rgba(255,255,255,.08)}
.cta-band:after{content:"";position:absolute;right:-60px;top:-110px;width:300px;height:300px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.cta-band h2{color:#fff}.cta-band .eyebrow{color:#fff}.cta-band .eyebrow:before{background:#fff}
.faq{max-width:none;background:#f7f9fc;padding-left:max(20px,calc((100vw - var(--max))/2));padding-right:max(20px,calc((100vw - var(--max))/2))}
.faq details{border:1px solid var(--line);border-radius:14px;padding:0 20px;margin:11px 0;background:#fff;box-shadow:0 6px 18px rgba(16,35,55,.04);transition:border-color .2s ease,box-shadow .2s ease}
.faq details[open]{border-color:#c8d4e0;box-shadow:var(--shadow-sm)}
.faq summary{font-weight:900;cursor:pointer;font-size:1.03rem;padding:17px 2px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--red);font-size:1.35rem;line-height:1}.faq details[open] summary:after{content:"−"}
.faq p{color:var(--muted);max-width:860px;padding:0 2px 17px;margin:0}
#contact{max-width:none;background:linear-gradient(180deg,#eef4fa,#f7f9fb);padding-left:max(20px,calc((100vw - var(--max))/2));padding-right:max(20px,calc((100vw - var(--max))/2));border-top:1px solid #dfe6ee}
.quote-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start}
.quote-wrap>div:first-child{position:sticky;top:112px}
.quote-form{display:grid;gap:15px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;box-shadow:var(--shadow)}
.quote-form label{font-weight:850;color:#27313b}
.quote-form input,.quote-form textarea,.quote-form select{width:100%;margin-top:7px;border:1px solid #ced6df;border-radius:11px;padding:13px 14px;background:#fbfcfe;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:#7b9bbc;background:#fff;box-shadow:0 0 0 4px rgba(21,63,115,.09)}

.site-footer{background:linear-gradient(160deg,#091d31,#111a25);color:#fff;border-top:4px solid var(--red)}
.footer-inner{max-width:var(--max);margin:auto;padding:52px 20px 66px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:42px}
.footer-inner strong{letter-spacing:.02em}.footer-inner p{color:#bfc7d0}.footer-inner a{transition:color .2s ease}.footer-inner a:hover{color:#fff}
.footer-logo{width:min(100%,260px);height:auto;max-height:50px;object-fit:contain;object-position:left center;background:#fff;border-radius:10px;padding:8px 12px;filter:none}

/* Smaller, cohesive mobile call pill rather than a full-width slab */
.floating-call{display:none;position:fixed;right:18px;bottom:18px;z-index:70;width:max-content;max-width:calc(100vw - 36px);background:linear-gradient(135deg,rgba(11,39,71,.96),rgba(23,65,115,.96));border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px);color:#fff;text-align:center;padding:10px 15px;border-radius:999px;font-size:.84rem;font-weight:950;box-shadow:0 16px 34px rgba(7,26,46,.28)}
.floating-call:before{content:"☎";display:inline-block;margin-right:7px;color:#fff}

/* Internal pages */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#eef4fa 0%,#f8fafc 100%);padding:60px 20px;border-bottom:1px solid var(--line)}
.page-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--red),var(--blue))}
.page-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:-180px;background:rgba(21,63,115,.08)}
.page-hero-inner{position:relative;z-index:1;max-width:var(--max);margin:auto}
.breadcrumbs{max-width:var(--max);margin:auto;padding:17px 20px;color:var(--muted);font-size:.88rem;background:#f5f7fa}.breadcrumbs a{color:var(--blue);font-weight:800}
.content-grid{display:grid;grid-template-columns:1fr 320px;gap:64px}.content h2{margin-top:40px}.content p,.content li{color:#454a52}.content ul{padding-left:22px}.content a{color:var(--blue);font-weight:750}
.sidebar{position:sticky;top:110px;border:1px solid var(--line);padding:23px;height:max-content;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.sidebar h3{font-family:var(--display);font-size:1.5rem}.sidebar a{display:block;padding:10px 0;color:var(--blue);font-weight:850;border-bottom:1px solid var(--line);transition:padding-left .2s ease,color .2s ease}.sidebar a:hover{padding-left:5px;color:var(--red)}
.pills{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.pill{background:#fff;color:var(--blue);border:1px solid #d9e2ec;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:900;box-shadow:0 4px 12px rgba(16,35,55,.04)}
.cta-box{margin-top:38px;padding:30px;background:linear-gradient(135deg,var(--navy),var(--blue));border-radius:20px;color:#fff;box-shadow:var(--shadow)}.cta-box h3{font-size:1.55rem}.cta-box p{color:#e7eef6}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-card{border:1px solid var(--line);padding:26px;background:#fff;border-radius:18px;box-shadow:0 8px 24px rgba(16,35,55,.05);transition:transform .2s ease,box-shadow .2s ease}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.resource-card p{color:var(--muted)}

@media(max-width:960px){
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;left:14px;right:14px;top:86px;background:linear-gradient(145deg,rgba(9,34,61,.99),rgba(21,63,115,.99));border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-deep);border-radius:16px;padding:14px;flex-direction:column;align-items:stretch}
  .site-nav.open{display:flex}.site-nav>a:not(.nav-cta){padding:12px 14px}.nav-cta{text-align:center}
  .brand{flex-basis:280px}.hero,.intro,.band,.quote-wrap,.content-grid{grid-template-columns:1fr}.hero{gap:50px;padding-top:52px}.hero-art{justify-self:center;width:min(100%,530px)}
  .cards,.features,.resource-grid{grid-template-columns:1fr 1fr}.cta-band{display:block}.cta-band .button{margin-top:14px}.footer-inner{grid-template-columns:1fr 1fr}.floating-call{display:block}.quote-wrap>div:first-child,.sidebar{position:static}body{padding-bottom:72px}
}
@media(max-width:580px){
  .header-inner{min-height:72px;padding:8px 12px;gap:12px}.brand{flex:1;min-width:0;padding:9px 12px;border-radius:12px}.brand img{width:100%;max-width:230px;max-height:38px}.nav-toggle{flex:none}
  h1{font-size:2.72rem}h2{font-size:2.24rem}.section{padding:62px 18px}.intro{padding:30px 25px;border-radius:20px;margin-top:25px;margin-bottom:25px}.cards,.features,.resource-grid,.footer-inner{grid-template-columns:1fr}
  .hero{padding:44px 18px 62px}.hero-art{padding:9px;border-radius:22px}.hero-art:before{inset:-8px 22px 22px -8px;border-radius:24px}.hero-art:after{inset:22px -9px -9px 22px;border-radius:24px}.hero-art img{max-height:300px;border-radius:15px}
  .button{width:100%}.actions{display:grid;grid-template-columns:1fr}.quote-form{padding:21px 17px}.floating-call{right:12px;bottom:12px;font-size:.79rem;padding:9px 13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* =========================================================
   V3 PREMIUM POLISH — logo breathing room + framed hero art
   SEO/HTML structure intentionally unchanged.
   ========================================================= */

/* Header logo: preserve the entire trademark art and bias the visual
   slightly right inside the white plate so JUST is never pinched. */
.brand{
  flex-basis:326px;
  padding:9px 18px 9px 22px;
  overflow:visible;
}
.brand img{
  width:min(100%,278px);
  max-height:48px;
  object-fit:contain;
  object-position:center center;
  transform:translateX(5px)!important;
}

/* Hero artwork: treat the supplied image like framed brand art rather
   than forcing it against the decorative border. */
.hero-art{
  width:min(100%,530px);
  padding:24px;
  border-radius:30px;
  background:rgba(255,255,255,.96);
}
.hero-art img{
  width:94%;
  height:auto;
  max-height:390px;
  margin:auto;
  object-fit:contain;
  object-position:center center;
  border-radius:14px;
  box-shadow:0 7px 22px rgba(9,34,61,.08);
}

/* A little more depth without adding visual noise. */
.site-header:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  pointer-events:none;
}
.card,.feature,.resource-card,.sidebar,.quote-form,.intro{will-change:transform}
.card:hover,.resource-card:hover{transform:translateY(-5px)}
.area-list a span{transition:transform .2s ease}
.area-list a:hover span{transform:translateX(4px)}

@media(max-width:900px){
  .brand{flex-basis:292px;padding:8px 15px 8px 18px}
  .brand img{max-width:252px;transform:translateX(3px)!important}
  .hero-art{padding:18px;width:min(100%,520px)}
  .hero-art img{width:96%;max-height:360px}
}
@media(max-width:560px){
  .brand{padding:7px 11px 7px 14px;overflow:visible}
  .brand img{max-width:228px;max-height:39px;transform:translateX(2px)!important}
  .hero-art{padding:14px}
  .hero-art img{width:97%;max-height:285px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* =========================================================
   HYBRID SIGNATURE UI — premium gloss in focal areas,
   restrained surfaces everywhere else.
   ========================================================= */

/* Full CSS wordmark fixes the source bitmap's clipped J permanently. */
.brand{
  position:relative;display:flex;align-items:center;gap:12px;
  flex:0 1 350px;min-width:220px;padding:10px 18px;
  overflow:visible;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(246,248,251,.96));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:inset 0 1px 0 #fff,0 8px 24px rgba(3,20,38,.22),0 0 0 1px rgba(197,31,44,.08);
}
.brand:after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.75}
.brand-wordmark{font-family:var(--display);font-size:clamp(1.38rem,2.25vw,2.02rem);line-height:.92;white-space:nowrap;color:var(--red);letter-spacing:-.035em;text-shadow:0 1px 0 #fff}
.brand-tagline{font-family:Georgia,serif;font-size:.53rem;line-height:1.05;font-weight:900;color:#1a4f91;white-space:nowrap}
.brand img{display:none!important}

/* Gloss belongs on the signature controls, not every surface. */
.nav-toggle,.nav-cta,.button.primary,.floating-call{
  position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),inset 0 -1px 0 rgba(0,0,0,.16),0 12px 25px rgba(9,34,61,.18);
}
.nav-toggle:before,.nav-cta:before,.button.primary:before,.floating-call:after{
  content:"";position:absolute;left:8%;right:8%;top:2px;height:42%;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0));pointer-events:none;
}
.nav-toggle{background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.055));border-color:rgba(255,255,255,.34)}
.nav-cta,.button.primary{background:linear-gradient(180deg,#e42d3a 0%,#c51f2c 58%,#a91420 100%)}
.floating-call{background:linear-gradient(180deg,#245f9e 0%,#153f73 48%,#0b294d 100%);border:1px solid rgba(255,255,255,.42)}

/* A thin automotive-style highlight gives the header the candy-paint hint. */
.site-header{background:linear-gradient(110deg,#071c33 0%,#0d3157 42%,#174f82 78%,#0b294b 100%);box-shadow:0 14px 34px rgba(5,23,41,.24)}
.site-header:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#fff 30%,#72c8ff 50%,#fff 70%,transparent);opacity:.5}
.site-header:after{height:3px;bottom:-3px;background:linear-gradient(90deg,#8f1019,var(--red) 28%,#f34a56 50%,var(--red) 72%,#8f1019);box-shadow:0 1px 8px rgba(197,31,44,.38)}

/* Hero remains calm, but gets depth and a subtle showroom sheen. */
.hero{position:relative}
.hero:after{content:"";position:absolute;pointer-events:none;width:430px;height:430px;right:2%;top:2%;border-radius:50%;background:radial-gradient(circle,rgba(61,132,197,.14),rgba(61,132,197,0) 67%);z-index:-1}
.hero-art{padding:26px;background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(241,246,251,.95));border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff,0 24px 55px rgba(9,34,61,.18)}
.hero-art:before{background:linear-gradient(145deg,#a9121e,#e42d3a 45%,#ff6b73)}
.hero-art:after{background:linear-gradient(145deg,#071c33,#174f82 58%,#2e75ae)}
.hero-art img{width:92%;max-height:380px;padding:8px;background:#fff;box-shadow:0 8px 24px rgba(9,34,61,.09)}

/* Cards stay clean, with just enough gloss on interaction. */
.card,.resource-card,.feature,.intro,.quote-form{border-color:rgba(21,63,115,.12)}
.card:before,.resource-card:before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}
.card,.resource-card{position:relative}
.card:hover,.resource-card:hover{box-shadow:0 18px 40px rgba(9,34,61,.13),0 0 0 1px rgba(197,31,44,.08)}

.footer-wordmark{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.footer-wordmark span{font-family:var(--display);font-size:1.7rem;color:#fff;letter-spacing:-.025em}
.footer-wordmark small{font-size:.62rem;letter-spacing:.13em;color:#bcd3e9;font-weight:900}

@media(max-width:960px){.brand{flex-basis:310px}.brand-wordmark{font-size:1.65rem}.brand-tagline{font-size:.48rem}}
@media(max-width:580px){
  .brand{padding:10px 13px;gap:8px;min-width:0;flex:1;border-radius:13px}
  .brand-wordmark{font-size:clamp(1.22rem,5.7vw,1.72rem)}
  .brand-tagline{font-size:.40rem}
  .brand:after{left:12px;right:12px;bottom:6px}
  .hero-art{padding:17px}.hero-art img{width:96%;max-height:285px}
  .floating-call{max-width:calc(100vw - 24px)}
}


/* ==========================================================
   JUST BRING IT — FINAL SIGNATURE OVERRIDES
   Locked visual foundation: premium where it matters,
   calm where it counts.
   ========================================================== */

/* Brand lockup: thicker, bolder, logo-like live typography */
.brand,
.brand-lockup,
.site-brand {
  overflow: visible !important;
  min-width: max-content;
}

.brand-name,
.brand-wordmark,
.site-brand-name {
  display: inline-block;
  font-family: "Bodoni MT Black","Bodoni 72 Black","Bodoni MT",Georgia,serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.55rem, 2.35vw, 2.2rem) !important;
  line-height: .88 !important;
  letter-spacing: -0.055em !important;
  color: #d4212f !important;
  white-space: nowrap;
  transform: scaleX(1.045);
  transform-origin: left center;
  padding: .08em .13em .12em .09em;
  margin-left: .05rem;
  position: relative;
  text-shadow:
    0 1px 0 rgba(255,255,255,.75),
    0 2px 0 rgba(125,9,20,.32),
    0 4px 8px rgba(80,0,12,.22),
    0 0 18px rgba(215,33,47,.12);
  background:
    linear-gradient(180deg,
      #ff5b68 0%,
      #e72b39 28%,
      #c81725 62%,
      #9e101b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* restrained candy-gloss highlight */
.brand-name::before,
.brand-wordmark::before,
.site-brand-name::before {
  content:"";
  position:absolute;
  left:3%;
  right:3%;
  top:8%;
  height:31%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,0));
  opacity:.42;
  pointer-events:none;
  mix-blend-mode:screen;
}

.brand-name::after,
.brand-wordmark::after,
.site-brand-name::after {
  content:"";
  position:absolute;
  left:.11em;
  right:.08em;
  bottom:-.12em;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#8f0f1a,#ef3542 45%,#9e101b);
  box-shadow:0 1px 6px rgba(212,33,47,.34);
}

.brand-tagline,
.site-brand-tagline {
  display:block;
  margin-top:.38rem;
  color:#b9d0ed !important;
  font-size:.62rem !important;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* Give the signature lockup enough room without crowding nav */
.header-inner {
  min-height:78px;
  overflow:visible;
}
.site-header,
.header-shell {
  overflow:visible;
}

/* Hero artwork: never crop the trademark artwork */
.hero-art {
  overflow:visible !important;
}
.hero-art img,
.hero-media img,
.hero-image img {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Premium floating call control — subtle desktop, stronger mobile */
.floating-call {
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  width:max-content !important;
  max-width:calc(100vw - 28px);
  left:auto !important;
  right:18px !important;
  bottom:18px !important;
  padding:.66rem 1rem .7rem .78rem !important;
  border:1px solid rgba(255,255,255,.17) !important;
  border-radius:999px !important;
  color:#fff !important;
  background:
    linear-gradient(180deg,rgba(25,58,101,.94),rgba(9,32,62,.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 12px 32px rgba(5,20,39,.24),
    0 0 0 1px rgba(198,31,44,.12) !important;
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  font-size:.82rem !important;
  font-weight:900 !important;
  letter-spacing:.01em;
  z-index:999;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.floating-call::before {
  content:"☎";
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  color:#fff;
  background:
    linear-gradient(180deg,#f04451 0%,#d21e2c 54%,#a81320 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 4px 12px rgba(196,25,39,.35);
  font-size:.86rem;
}

.floating-call::after {
  content:"";
  position:absolute;
  inset:1px 10% auto;
  height:42%;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0));
  pointer-events:none;
}

.floating-call:hover,
.floating-call:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 16px 38px rgba(5,20,39,.31),
    0 0 22px rgba(198,31,44,.15) !important;
}

/* Keep signature UI responsive and never let the lockup clip */
@media (max-width:900px) {
  .header-inner {
    min-height:72px;
  }
  .brand-name,
  .brand-wordmark,
  .site-brand-name {
    font-size:clamp(1.42rem,5.8vw,1.9rem) !important;
    transform:scaleX(1.02);
    padding-left:.08em;
  }
  .brand-tagline,
  .site-brand-tagline {
    font-size:.54rem !important;
    letter-spacing:.105em;
  }
  .floating-call {
    right:12px !important;
    bottom:12px !important;
    font-size:.79rem !important;
    padding:.58rem .86rem .61rem .66rem !important;
  }
  .floating-call::before {
    width:28px;
    height:28px;
    flex-basis:28px;
  }
}

@media (max-width:560px) {
  .brand,
  .brand-lockup,
  .site-brand {
    max-width:72vw;
  }
  .brand-name,
  .brand-wordmark,
  .site-brand-name {
    font-size:clamp(1.28rem,6.3vw,1.7rem) !important;
  }
  .brand-tagline,
  .site-brand-tagline {
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:67vw;
  }
}

/* Accessibility/performance: no motion when the user requests less motion */
@media (prefers-reduced-motion: reduce) {
  .floating-call,
  .card,
  .button,
  .site-nav a {
    transition:none !important;
    animation:none !important;
  }
}


/* ==========================================================
   HEADER MARK VISIBILITY PATCH — NO LAYOUT/SCALE CHANGES
   Source: previous approved Final Signature build.
   This patch changes COLOR/CLARITY ONLY.
   ========================================================== */

.brand-name,
.brand-wordmark,
.site-brand-name {
  color:#d21f2c !important;
  -webkit-text-fill-color:#d21f2c !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-stroke:0 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.35),
    0 2px 2px rgba(73,0,8,.28) !important;
}

/* Remove the translucent overlay that made the red letters read as fuzzy/outlined.
   Do NOT alter dimensions, spacing, scale, or positioning. */
.brand-name::before,
.brand-wordmark::before,
.site-brand-name::before {
  opacity:.10 !important;
}

/* Keep the existing stacked tagline exactly where the approved version put it.
   Only make its blue clearer and more legible. */
.brand-tagline,
.site-brand-tagline {
  color:#8fb7e8 !important;
  -webkit-text-fill-color:#8fb7e8 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.38) !important;
}

/* Quote form integration */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:1.55em;margin:.8rem 0 0;font-weight:800;font-size:.95rem}
.form-status[data-state="success"]{color:#18794e}
.form-status[data-state="error"]{color:#b42318}
.quote-form button[disabled]{opacity:.72;cursor:wait}
.quote-form input:invalid:focus,.quote-form textarea:invalid:focus,.quote-form select:invalid:focus{outline:2px solid rgba(197,31,44,.25);outline-offset:2px}
