/* THEMAGRE V51 — public marketing redesign only. Account dashboards remain unchanged. */
body.tm-public-v51{background:#f7fafb;color:#122a3a;overflow-x:hidden}
body.tm-public-v51 .container{width:min(1200px,92vw)}
body.tm-public-v51 #tm-site-header{background:linear-gradient(113deg,#071f30 0%,#082e45 62%,#073f54 100%);border-bottom:1px solid #336070;box-shadow:0 8px 26px rgba(2,29,45,.12)}
body.tm-public-v51 #tm-site-header .tm-site-inner{max-width:1240px}
body.tm-public-v51 #tm-site-header .tm-site-logo{width:76px;height:72px;min-width:76px;max-height:72px;flex-basis:76px;border-radius:12px;background:#fff;padding:6px}
body.tm-public-v51 #tm-site-header .tm-site-brand{margin-bottom:5px}
body.tm-public-v51 #tm-site-header .tm-site-name{font:italic 700 23px/1.18 Georgia,serif}
body.tm-public-v51 #tm-site-header .tm-site-tagline{font-size:13px;letter-spacing:.055em;margin-top:4px}
body.tm-public-v51 #tm-site-header .tm-site-nav{padding:7px 0 0;gap:3px}
body.tm-public-v51 #tm-site-header .tm-site-nav a{font-size:13px;padding:10px 8px}
body.tm-public-v51 #tm-site-header .tm-site-nav .tm-site-quote{background:#f0bd58;color:#0d2432;padding:10px 15px;border-radius:8px}
body.tm-public-v51 :is(.services-hero,.service-areas-hero,.page-hero,.quote-hero){position:relative}
body.tm-public-v51 :is(.services-hero,.service-areas-hero,.page-hero,.quote-hero) .container{position:relative;z-index:2}
body.tm-public-v51 .section{padding-top:65px;padding-bottom:65px}
body.tm-public-v51 .section--alt{background:#edf4f6}
body.tm-public-v51 .card{border:1px solid #e2ecf0;box-shadow:0 10px 28px rgba(15,44,62,.055);border-radius:16px;transition:box-shadow .18s ease,transform .18s ease}
body.tm-public-v51 .card:hover{box-shadow:0 18px 42px rgba(15,44,62,.10)}
body.tm-public-v51 .cards{gap:17px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
body.tm-public-v51 .cards .card{padding:23px;min-height:210px;border-top:4px solid #147f85}
body.tm-public-v51 .cards .card h3{font-size:1.12rem;color:#0a3146}
body.tm-public-v51 .cards .card p{line-height:1.68}
body.tm-public-v51 .head h2{font-size:clamp(1.7rem,3.1vw,2.4rem)}
body.tm-public-v51 .gallery{gap:18px}
body.tm-public-v51 .shot{box-shadow:0 15px 35px rgba(3,33,50,.08);border-radius:16px}
body.tm-public-v51 .shot img{height:250px}
body.tm-public-v51 .footer-pro{background:#071e2e}
body.tm-public-v51 .footer-pro__grid{gap:34px}
body.tm-public-v51 .footer-pro__links ul{display:grid;gap:10px}
body.tm-public-v51 :is(.btn.primary,.btn--primary){border-radius:10px;transition:transform .18s,box-shadow .18s}
body.tm-public-v51 :is(.btn.primary,.btn--primary):hover{transform:translateY(-2px)}
body.tm-public-v51 a:focus-visible,body.tm-public-v51 button:focus-visible{outline:3px solid #efb950;outline-offset:3px}
/* Rich information modules */
.tm-v51-band{padding:74px 0;background:#fff;border-top:1px solid #e2ebee;border-bottom:1px solid #e2ebee}
.tm-v51-band--tint{background:linear-gradient(155deg,#f1f7f8 0%,#f9fbfb 100%)}
.tm-v51-band--blue{background:linear-gradient(120deg,#07293f 0%,#0b4b61 100%);color:white;border-color:#16475c}
.tm-v51-wrap{width:min(1200px,92vw);margin:0 auto}
.tm-v51-heading{max-width:790px;margin-bottom:30px}
.tm-v51-eyebrow{display:block;margin-bottom:11px;color:#13828b;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tm-v51-band--blue .tm-v51-eyebrow{color:#f2c76e}
.tm-v51-heading h2{margin:0 0 11px;font-family:Montserrat,Inter,Arial,sans-serif;font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.18;letter-spacing:-.035em;color:#0a2b3f}
.tm-v51-heading p{margin:0;max-width:720px;font-size:1.03rem;line-height:1.7;color:#547080}
.tm-v51-band--blue .tm-v51-heading h2{color:#fff}
.tm-v51-band--blue .tm-v51-heading p{color:#c9dbe4}
.tm-v51-choice-grid,.tm-v51-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.tm-v51-choice{display:flex;flex-direction:column;min-height:236px;padding:28px 25px;border-radius:18px;background:#fff;color:#123348;border:1px solid #dce9ed;box-shadow:0 14px 30px rgba(4,37,52,.07);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.tm-v51-choice:hover{transform:translateY(-4px);border-color:#83bdc0;box-shadow:0 20px 42px rgba(4,37,52,.13)}
.tm-v51-choice .tm-v51-number{font-size:.72rem;letter-spacing:.12em;color:#14848a;font-weight:850}
.tm-v51-choice h3{color:#0b2c43;margin:15px 0 9px;font-size:1.32rem;line-height:1.25}
.tm-v51-choice p{color:#526e7d;font-size:.97rem;line-height:1.7;margin:0 0 18px}
.tm-v51-arrow{font-weight:800;color:#107b83;margin-top:auto;font-size:.9rem}
.tm-v51-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tm-v51-feature-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tm-v51-feature-grid article,.tm-v51-step-grid article{padding:27px 24px;border-radius:16px;background:#fff;border:1px solid #dfeaec;box-shadow:0 7px 23px rgba(5,48,62,.045)}
.tm-v51-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;background:#d9eeee;color:#0d777e;border-radius:13px;font-size:1.35rem;font-weight:900}
.tm-v51-feature-grid h3,.tm-v51-step-grid h3{color:#0b3045;font-size:1.12rem;margin:18px 0 8px}
.tm-v51-feature-grid p,.tm-v51-step-grid p{color:#526d7d;font-size:.94rem;line-height:1.7;margin:0}
.tm-v51-step-grid article>span{font:800 1.35rem Montserrat,Inter,sans-serif;color:#16898e;letter-spacing:-.04em}
.tm-v51-inline-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:27px;padding:27px 29px;border-radius:15px;border:1px solid #c9dfe3;background:#e6f1f3}
.tm-v51-inline-cta strong{font-size:1.2rem;color:#0d3449}
.tm-v51-inline-cta p{margin:5px 0 0;color:#506e7b;line-height:1.5}
.tm-v51-action{white-space:nowrap;border-radius:10px;background:#0b4058;color:#fff!important;padding:14px 19px;text-decoration:none;font-weight:800;font-size:.9rem}
.tm-v51-action:hover{background:#0c6574}
/* Calculator hero: no duplicated brand image; use text as a single focused heading. */
body.tm-public-v51.qc-page .qc-hero__inner{display:block;max-width:1200px;padding:40px 0}
body.tm-public-v51.qc-page .qc-hero__mark{display:none!important}
body.tm-public-v51.qc-page .qc-hero h1{font-size:clamp(1.9rem,3.8vw,3rem)}
body.tm-public-v51.qc-page .qc-alert--waiting{background:#eef5f7;border-color:#cbdce4;color:#1c4c60}
body.tm-public-v51.qc-page .qc-alert--waiting strong{color:#173e51}
body.tm-public-v51.qc-page #quoteAlert{line-height:1.6}
body.tm-public-v51.qc-page .qc-btn:disabled{opacity:.52;cursor:not-allowed;filter:saturate(.5)}
body.tm-public-v51.qc-page .qc-main{padding-top:34px}
body.tm-public-v51.qc-page .tm-v51-calc-guide{margin-top:20px}
/* Moving pages keep their own defined hero and form, but use shared content modules. */
body.tm-public-v51:has(.quickbar) .tm-v51-band,body.tm-public-v51:has(.moving-quote) .tm-v51-band{font-family:Inter,Arial,sans-serif}
@media(max-width:1000px){.tm-v51-choice-grid,.tm-v51-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-v51-feature-grid,.tm-v51-feature-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.tm-v51-band{padding:46px 0}.tm-v51-choice-grid,.tm-v51-step-grid,.tm-v51-feature-grid,.tm-v51-feature-grid--three{grid-template-columns:1fr}.tm-v51-choice{min-height:0;padding:24px}.tm-v51-feature-grid article,.tm-v51-step-grid article{padding:24px}.tm-v51-inline-cta{display:block;padding:24px}.tm-v51-action{display:inline-block;margin-top:16px;white-space:normal}.tm-v51-heading{margin-bottom:22px}body.tm-public-v51 .section{padding-top:48px;padding-bottom:48px}body.tm-public-v51 .cards{grid-template-columns:1fr}body.tm-public-v51 #tm-site-header .tm-site-logo{width:66px;height:63px;min-width:66px;flex-basis:66px}body.tm-public-v51 #tm-site-header .tm-site-name{font-size:19px}}
@media print{.tm-v51-band{display:none!important}body.tm-public-v51.qc-page .qc-hero{display:none!important}}
