:root{--gprs-blue:#4854a5;--gprs-dark:#252525;--gprs-yellow:#f5c400;--gprs-light:#f7f7f7;--gprs-width:1170px}*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden}body{color:#555;font:14px/1.55 Arial,Helvetica,sans-serif;background:#fff}a{color:#4251a4;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{width:min(calc(100% - 32px),var(--gprs-width));margin-inline:auto}.utility-bar{background:var(--gprs-blue);color:#fff}.utility-inner{min-height:58px;display:flex;justify-content:space-between;align-items:center;gap:24px}.phones{display:flex;flex-direction:column}.phones a,.utility-bar a{color:#fff}.utility-bar ul{display:flex;flex-wrap:wrap;gap:28px;list-style:none;margin:0;padding:0}.brand-bar{height:108px;display:flex;align-items:center;justify-content:space-between;gap:36px}.site-logo img{width:175px;display:block}.primary-navigation{margin-left:auto}.gprs-menu{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0}.gprs-menu ul{position:absolute;z-index:10;min-width:230px;background:#fff;border-top:3px solid var(--gprs-blue);box-shadow:0 7px 20px #0002;list-style:none;margin:0;padding:8px 0;display:none}.gprs-menu li{position:relative}.gprs-menu li:hover>ul,.gprs-menu li:focus-within>ul,.gprs-menu .submenu-open>ul{display:block}.gprs-menu ul a{display:block;padding:10px 16px}.gprs-menu a{color:#333}.gprs-menu .is-active{color:var(--gprs-blue);font-weight:700}.submenu-toggle{border:0;background:none;padding:4px;cursor:pointer}.nav-toggle{display:none;border:0;background:var(--gprs-blue);color:#fff;font-size:28px;padding:8px 13px}.hero-region .gprs-block{margin:0}.gprs-hero{height:490px;position:relative;background:#222;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s;background-size:cover;background-position:center}.hero-slide.is-active{opacity:1}.hero-slide::after{content:"";position:absolute;inset:0;background:#0004}.hero-caption{position:absolute;z-index:1;left:max(28px,calc((100% - var(--gprs-width))/2));top:48%;transform:translateY(-50%);color:#fff;font-size:42px}.hero-caption span{background:#d71920;padding:4px 14px}.content-top{background:#fafafa}.content-top>.gprs-block{padding:34px max(16px,calc((100% - var(--gprs-width))/2))}.content-bottom{padding:38px 0}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:38px;padding-block:38px}.layout.has-sidebar{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.front .layout.has-sidebar{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.front .sidebar{background:url('/sites/default/files/body-bg.jpg');padding:36px}.page-heading{background:#f3f3f3;border-top:1px solid #ddd;padding:22px 0}.page-heading h1{margin:4px 0;color:#333}.block-title,.main-content h1{color:#222;text-align:center;font-weight:400}.field--name-body>.container{width:auto}.content-bottom .row,.content-bottom .block-content>.row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.featured-item{min-height:235px;background:#f1f1f1;border:1px solid #ddd;text-align:center;padding:20px;transition:.2s}.featured-item:hover{background:var(--gprs-blue);color:#fff;transform:translateY(-3px)}.featured-item a{color:inherit}.featured-desc{font-size:13px}.btn,.button,input[type=submit]{display:inline-block;background:var(--gprs-blue);color:#fff!important;border:0;padding:10px 18px;border-radius:2px}.footer-top{background:#f2f2f2;border-top:1px solid #ddd;padding:44px 0}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.footer-grid h2{font-size:20px;text-align:left;color:#333}.footer-grid ul{list-style:none;padding:0}.footer-bottom{background:#333;color:#aaa;padding:20px 0}.footer-bottom p{margin:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}

/* Native Drupal local tasks on node routes. */
.page-heading .block-local-tasks-block{min-width:0;margin-top:12px}
.page-heading .block-local-tasks-block:empty{display:none}
.page-heading .tabs-wrapper{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:3px 3px 5px;scrollbar-width:thin;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.page-heading .tabs{display:flex;align-items:stretch;gap:6px;width:max-content;min-width:100%;margin:0;padding:5px;list-style:none;border:1px solid #d9dce7;border-radius:10px;background:#fff;box-shadow:0 3px 12px #252b4a0d}
.page-heading .tabs__tab{display:flex;flex:0 0 auto;margin:0}
.page-heading .tabs__link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid transparent;border-radius:7px;color:#37405e;font-weight:700;line-height:1.25;white-space:nowrap;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.page-heading .tabs__link:hover{border-color:#d9dce7;background:#f1f3fb;color:#27337f;text-decoration:none}
.page-heading .tabs__link:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:2px}
.page-heading .tabs__link.is-active,.page-heading .tabs__tab.is-active>.tabs__link{border-color:var(--gprs-blue);background:var(--gprs-blue);color:#fff;box-shadow:inset 0 -3px 0 var(--gprs-yellow)}
.page-heading .tabs__link.is-active::before,.page-heading .tabs__tab.is-active>.tabs__link::before{width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--gprs-yellow);content:""}
@media(max-width:600px){.page-heading .block-local-tasks-block{margin-top:10px}.page-heading .tabs__link{min-height:44px;padding:9px 14px}}
@media(max-width:900px){.utility-inner{align-items:flex-start;padding-block:10px}.brand-bar{height:auto;min-height:86px}.nav-toggle{display:block}.primary-navigation{display:none;position:absolute;z-index:20;top:144px;left:0;right:0;background:#fff;box-shadow:0 8px 16px #0003;padding:18px}.primary-navigation.is-open{display:block}.gprs-menu{display:block}.gprs-menu>li{border-bottom:1px solid #ddd}.gprs-menu a{display:inline-block;padding:12px}.gprs-menu ul{position:static;box-shadow:none;border:0;margin-left:18px}.layout.has-sidebar{grid-template-columns:1fr}.content-bottom .row,.content-bottom .block-content>.row{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.gprs-hero{height:380px}.hero-caption{font-size:32px}}
@media(max-width:540px){.utility-inner{display:block}.utility-bar ul{gap:14px;margin-top:8px}.primary-navigation{top:164px}.content-bottom .row,.content-bottom .block-content>.row,.footer-grid{grid-template-columns:1fr}.gprs-hero{height:280px}.hero-caption{font-size:24px}.container{width:min(calc(100% - 24px),var(--gprs-width))}}

/* Taxonomy-driven Sales and Rentals landing pages. */
.catalog-landing .main-column{min-width:0}.catalog-landing-intro{max-width:none;width:100%;margin:0 0 26px;color:#555;font-size:1.05rem}.catalog-landing-intro p{margin-top:0}.catalog-landing :is(.view-sales-categories,.view-rentals-categories){width:100%;max-width:none;min-width:0}.catalog-landing :is(.view-sales-categories,.view-rentals-categories)>.view-header{width:100%}.catalog-landing :is(.view-sales-categories,.view-rentals-categories)>.view-content{width:100%;max-width:none;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.catalog-category-card{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;min-height:145px;padding:24px 23px 54px;border:1px solid #dfe2ea;border-radius:12px;background:linear-gradient(145deg,#fff 0%,#f8f9fc 100%);box-shadow:0 4px 14px #1b23520d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.catalog-category-card::after{content:"View category  →";position:absolute;left:23px;bottom:21px;color:#36428d;font-weight:700}.catalog-category-card:hover,.catalog-category-card:focus-within{transform:translateY(-3px);border-color:#8f98cc;box-shadow:0 10px 24px #252f6d1c}.catalog-category-card__title{margin:0 0 10px!important;color:#27337f!important;font-size:1.15rem!important;line-height:1.28;text-align:left!important;font-weight:700!important}.catalog-category-card__title a{color:inherit;text-decoration:none}.catalog-category-card__title a::after{content:"";position:absolute;inset:0;border-radius:12px}.catalog-category-card__title a:focus-visible{outline:none}.catalog-category-card:has(a:focus-visible){outline:3px solid var(--gprs-yellow);outline-offset:3px}.catalog-category-card__description{color:#60636c;font-size:.93rem;line-height:1.5}.catalog-category-card__description:empty{display:none}
.catalog-category-card__media{height:150px;margin:-24px -23px 20px;overflow:hidden;border-radius:11px 11px 0 0;background:#eef0f5}.catalog-category-card__media img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:1100px){.catalog-landing :is(.view-sales-categories,.view-rentals-categories)>.view-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalog-landing :is(.view-sales-categories,.view-rentals-categories)>.view-content{grid-template-columns:minmax(0,1fr)}.catalog-category-card{min-height:126px;padding:20px 20px 50px}.catalog-category-card::after{left:20px;bottom:18px}.catalog-category-card__media{height:170px;margin:-20px -20px 18px}}

/* Sales and rentals navigation. */
.gprs-menu>li.catalog-menu{position:static}.gprs-menu>li.catalog-menu>.submenu{left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 32px));max-height:min(70vh,650px);overflow:auto;padding:20px;columns:3;column-gap:30px}.gprs-menu>li.catalog-menu>.submenu>li{break-inside:avoid;margin-bottom:7px}.gprs-menu>li.catalog-menu>.submenu>li>a{font-weight:700;color:#27337f;border-bottom:1px solid #e5e7f0}.gprs-menu .submenu .submenu{left:100%;top:-8px;max-height:60vh;overflow:auto}.gprs-menu .has-children>a{padding-right:4px}.gprs-menu .submenu-toggle{min-width:32px;min-height:32px;color:#36428d}.gprs-menu a:hover,.gprs-menu a:focus,.gprs-menu .is-active-trail>a{color:#303c92;text-decoration:none;background:#f2f4ff}

/* Catalog listings, detail pages, and reusable sidebar. */
.catalog-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:36px;align-items:start}.catalog-main{min-width:0}.catalog-grid .view-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #e1e3eb;border-radius:6px;overflow:hidden;box-shadow:0 5px 20px #252b4a12;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #252b4a26}.product-card__media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f6f7fa;overflow:hidden}.product-card__media img{width:100%;height:100%;object-fit:contain}.product-card__media .field__item:not(:first-child){display:none}.product-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:210px;color:#8790b8;font-size:32px;font-weight:700;background:linear-gradient(135deg,#f5f6fb,#e7eaf6)}.product-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.product-card__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#6771ac;font-size:11px;font-weight:700;margin:0 0 7px}.product-card__title{font-size:19px;line-height:1.3;text-align:left;margin:0 0 10px}.product-card__title a{color:#252525}.product-card__categories,.product-detail__categories{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.product-card__categories a,.product-detail__categories a{font-size:12px;background:#eef0fa;border-radius:20px;padding:4px 9px}.product-card__summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}.product-card__summary .field{margin:0}.product-card__details{align-self:flex-start;margin-top:auto}.catalog-empty{text-align:center;background:#f7f8fc;border:1px dashed #aeb5d1;padding:36px}.catalog-sidebar{position:sticky;top:20px}.build-quote{background:#3e4a9b;color:#fff;padding:26px;border-radius:6px;box-shadow:0 8px 22px #20285a30}.build-quote h2{color:#fff;text-align:left;text-transform:uppercase;margin:0 0 10px}.build-quote .button{background:#f5c400;color:#222!important;font-weight:700;text-transform:uppercase}.category-nav{margin-top:24px;border:1px solid #ddd;border-top:4px solid #4854a5;padding:20px;background:#fff}.category-nav h2{text-transform:uppercase;text-align:left;font-size:18px;margin:0 0 12px}.category-nav ul{list-style:none;margin:0;padding:0}.category-nav ul ul{padding-left:14px;border-left:1px solid #dfe2ee;display:none}.category-nav li.is-active>ul,.category-nav li:focus-within>ul{display:block}.category-nav a{display:block;padding:7px 4px;border-bottom:1px solid #eee}.category-nav .is-active>a{font-weight:700;color:#27337f}.product-detail__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:32px}.product-detail__gallery .field__items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product-detail__gallery .field__item:first-child{grid-column:1/-1}.product-detail__gallery img{width:100%;height:auto;object-fit:contain;border:1px solid #e3e3e3;background:#fff}.product-detail__overview h1{text-align:left;margin-top:0;color:#222}.product-detail__overview .gprs-quote-add-to-quote{margin-top:24px;padding:20px;background:#f5f6fa;border-left:4px solid #4854a5}.product-detail__content{margin-top:34px}.product-detail__content .field{margin-bottom:26px}.pager__items{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;list-style:none;padding:20px 0}.pager a{display:block;padding:8px 12px;border:1px solid #ccd0df}.pager__item.is-active a{background:#4854a5;color:#fff}

/* Sales/Rentals taxonomy pages use the real theme sidebar as the first column. */
.layout.catalog-page{grid-template-columns:minmax(240px,27%) minmax(0,1fr);gap:clamp(24px,3vw,44px)}
.catalog-page .main-column,.catalog-page .catalog-main{min-width:0}
.catalog-page .catalog-layout{display:block}
.sidebar--catalog{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto;border-radius:10px;background:#fff;box-shadow:0 8px 30px #252b4a18}
.sidebar--catalog .build-quote{border-radius:10px 10px 0 0;box-shadow:none}
.sidebar--catalog .category-nav{margin:0;border:0;border-top:4px solid var(--gprs-yellow);padding:22px}
.sidebar--catalog .category-nav h2{font-size:17px;letter-spacing:.04em}
.sidebar--catalog .category-nav a{margin:2px 0;padding:9px 10px;border:0;border-radius:6px;color:#37405e;line-height:1.35;transition:background-color .18s,color .18s,transform .18s}
.sidebar--catalog .category-nav a:hover{background:#eef0fa;color:#27337f;text-decoration:none;transform:translateX(2px)}
.sidebar--catalog .category-nav a:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:1px}
.sidebar--catalog .category-nav ul ul{margin:2px 0 6px 10px;padding-left:10px;border-left:2px solid #dfe2ee}
.sidebar--catalog .category-nav li.is-active-trail>ul{display:block}
.sidebar--catalog .category-nav .is-active>a{background:#4854a5;color:#fff;font-weight:700}
.catalog-page .catalog-intro{margin-bottom:28px;font-size:16px;line-height:1.7}
.catalog-children{margin:0 0 clamp(32px,5vw,52px)}
.catalog-children__header{display:flex;align-items:center;margin-bottom:18px;border-bottom:1px solid #dfe2ee}
.catalog-children__title{margin:0;padding:0 0 10px;color:#252b4a;font-size:clamp(24px,3vw,32px);line-height:1.2;text-align:left}
.catalog-children__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.catalog-child-card{position:relative;min-width:0;overflow:hidden;background:#fff;border:1px solid #e1e3eb;border-radius:8px;box-shadow:0 5px 20px #252b4a12;transition:border-color .2s,box-shadow .2s,transform .2s}
.catalog-child-card:hover{transform:translateY(-4px);border-color:#aeb5d1;box-shadow:0 10px 28px #252b4a26}
.catalog-child-card:focus-within{outline:3px solid #f5c400;outline-offset:3px}
.catalog-child-card__media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;background:#f6f7fa}
.catalog-child-card__media img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.catalog-child-card:hover .catalog-child-card__media img{transform:scale(1.025)}
.catalog-child-card__title{margin:0;padding:18px 18px 8px;font-size:clamp(17px,2vw,20px);line-height:1.3;text-align:left}
.catalog-child-card__title a{color:#252b4a;text-decoration:none}
.catalog-child-card__title a::after{position:absolute;inset:0;content:""}
.catalog-child-card__title a:focus{outline:0}
.catalog-child-card__description{padding:0 18px 18px;color:#555d75;font-size:14px;line-height:1.55}
.catalog-child-card__description p{margin:0}
.catalog-page .catalog-grid .view-content{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.catalog-page .product-card__title{font-size:clamp(17px,1.5vw,20px)}

/* Sales/Rentals taxonomy listings fill the main column beside the sidebar. */
.catalog-page .view-taxonomy-term .catalog-grid .view-content{width:100%;max-width:none;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.catalog-page .view-taxonomy-term .catalog-grid .views-row,.catalog-page .view-taxonomy-term .catalog-grid .catalog-grid__item{width:auto;max-width:none;min-width:0}

@media(max-width:1000px){.catalog-grid .view-content,.catalog-page .view-taxonomy-term .catalog-grid .view-content{grid-template-columns:repeat(2,minmax(0,1fr))}.gprs-menu>li.catalog-menu>.submenu{columns:2}.product-detail__hero{grid-template-columns:1fr}}
@media(max-width:900px){.gprs-menu>li.catalog-menu>.submenu{width:auto;max-height:none;columns:1;transform:none;padding:0 0 8px}.gprs-menu .submenu .submenu{max-height:none;overflow:visible}.catalog-layout{grid-template-columns:1fr}.catalog-sidebar{position:static}.catalog-layout>.catalog-main{order:1}.catalog-layout>.catalog-sidebar{order:2}.category-nav ul ul{display:none}.category-nav li.is-active>ul{display:block}}

@media(max-width:900px){.layout.catalog-page{grid-template-columns:minmax(210px,30%) minmax(0,1fr);gap:24px}.catalog-page .catalog-grid .view-content{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar--catalog{position:static;max-height:none;overflow:visible}}
@media(max-width:900px){.catalog-children__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.layout.catalog-page{grid-template-columns:1fr;padding-block:24px}.catalog-page .catalog-grid .view-content,.catalog-page .view-taxonomy-term .catalog-grid .view-content{grid-template-columns:minmax(0,1fr)}.sidebar--catalog{width:100%}.sidebar--catalog .category-nav{padding:18px}.catalog-page .product-card__media{aspect-ratio:16/10}}
@media(max-width:600px){.catalog-children__grid{grid-template-columns:1fr}.catalog-child-card__media{aspect-ratio:16/10}}

/* Global left-sidebar layout and reusable sidebar block treatment. */
.layout.has-sidebar{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start}
.layout.has-sidebar>.sidebar{grid-column:1;grid-row:1}
.layout.has-sidebar>.main-column{grid-column:2;grid-row:1;min-width:0}
.sidebar{min-width:0}
.sidebar>.gprs-block,.sidebar>.block{margin:0 0 24px;padding:22px;background:#fff;border:1px solid #e1e3eb;border-top:4px solid var(--gprs-blue);border-radius:8px;box-shadow:0 6px 22px #252b4a12}
.sidebar>.gprs-block:last-child,.sidebar>.block:last-child{margin-bottom:0}
.sidebar .block-title,.sidebar h2,.sidebar h3{margin:0 0 14px;color:#252525;text-align:left;font-weight:700;line-height:1.25}
.sidebar nav ul,.sidebar .menu{margin:0;padding:0;list-style:none}
.sidebar nav ul ul,.sidebar .menu ul{margin-left:10px;padding-left:12px;border-left:2px solid #dfe2ee}
.sidebar nav a,.sidebar .menu a{display:block;padding:9px 10px;border-radius:5px;color:#37405e;line-height:1.35;overflow-wrap:anywhere}
.sidebar nav a:hover,.sidebar .menu a:hover{background:#eef0fa;color:#27337f;text-decoration:none}
.sidebar nav a.is-active,.sidebar .menu a.is-active,.sidebar .is-active>a{background:var(--gprs-blue);color:#fff;font-weight:700}
.sidebar a:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:1px}

/* Content Bottom is a warm, dimensional bridge between page content and the cool Footer Top. */
.content-bottom{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 72px;background:radial-gradient(circle at 10% 0%,#ffffffd9 0,transparent 34%),radial-gradient(circle at 92% 100%,#bf95231a 0,transparent 38%),linear-gradient(135deg,#fffdf4 0%,#fff9df 45%,#f4edc8 100%);border-bottom:1px solid #d8ca78;color:#3f3f3f}
.content-bottom::before{position:absolute;z-index:-1;top:0;left:50%;width:min(1200px,calc(100% - 40px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#8a680059,#b48b16a6,#8a680059,transparent);content:""}
.content-bottom::after{position:absolute;z-index:-1;right:-140px;bottom:-190px;width:380px;height:380px;border-radius:50%;background:#b58b2012;filter:blur(2px);content:"";pointer-events:none}
.content-bottom+.site-footer .footer-top{border-top:0}
.content-bottom>.container{position:relative;z-index:1}
.content-bottom>.container>.gprs-block,.content-bottom>.container>.block{margin:0}
.block-gprs-locations .block-title,.block-gprs-locations h2{text-align:center;margin:0 0 30px;color:#252b54;font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:.02em}
.block-gprs-locations .locations-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.block-gprs-locations .location-card{display:flex;min-width:0;height:100%;flex-direction:column;padding:24px;background:#ffffffc7;border:1px solid #8a680024;border-top:4px solid var(--gprs-blue);border-radius:16px;box-shadow:0 10px 30px #1e23280d,0 2px 6px #1e232808;backdrop-filter:blur(8px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.block-gprs-locations .location-card h3{margin:0 0 18px;color:#252b54;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.02em}
.block-gprs-locations .location-card h3::after{display:block;width:34px;height:3px;margin-top:10px;border-radius:999px;background:#b58b20;content:""}
.block-gprs-locations .location-card p{margin:0 0 12px;line-height:1.65;overflow-wrap:anywhere}
.block-gprs-locations .location-card p:last-of-type{margin-bottom:20px}
.block-gprs-locations .location-card iframe{display:block;width:100%;min-height:210px;margin-top:auto;border:0;border-radius:6px}
.block-gprs-locations a{color:#34418e;text-decoration-color:transparent;text-underline-offset:3px}
.block-gprs-locations a:hover{color:#806310;text-decoration-color:currentColor}
.block-gprs-locations a[href^="tel:"],.block-gprs-locations a[href^="mailto:"]{font-weight:700;overflow-wrap:anywhere}
.block-gprs-locations a:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:2px}

@media(hover:hover) and (pointer:fine){.block-gprs-locations .location-card:hover{transform:translateY(-3px);border-color:#b58b2066;box-shadow:0 16px 36px #1e232814,0 3px 8px #1e23280d}}

@media(max-width:1199px){.block-gprs-locations .locations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.content-bottom{padding:48px 0 56px}.layout.has-sidebar,.layout.catalog-page,.front .layout.has-sidebar{grid-template-columns:minmax(0,1fr)}.layout.has-sidebar>.sidebar,.layout.has-sidebar>.main-column{grid-column:1;min-width:0}.layout.has-sidebar>.main-column{grid-row:1;order:1}.layout.has-sidebar>.sidebar{grid-row:2;order:2;width:100%;margin-top:0}.sidebar--catalog{position:static;max-height:none;overflow:visible}}
@media(max-width:767px){.content-bottom{padding:36px 0 42px}.content-bottom::before{width:calc(100% - 24px)}.content-bottom::after{right:-210px;bottom:-230px}.block-gprs-locations .locations-grid{grid-template-columns:1fr;gap:18px}.block-gprs-locations .location-card{padding:20px}.block-gprs-locations .location-card iframe{min-height:190px}}
@media(prefers-reduced-motion:reduce){.block-gprs-locations .location-card{transition:none}}
@media(max-width:600px){.catalog-grid .view-content{grid-template-columns:1fr}.product-detail__hero{gap:18px}.product-detail__gallery .field__items{grid-template-columns:repeat(2,1fr)}.product-card__body{padding:16px}.build-quote,.category-nav{padding:18px}}

/* Managed homepage hero View. */
.hero-region .gprs-block,.hero-region .views-element-container{margin:0}
.gprs-hero{position:relative;isolation:isolate;width:100%;height:clamp(380px,42vw,600px);min-height:380px;overflow:hidden;background:#151a2e;color:#fff}
.gprs-hero__slides,.hero-slide{height:100%}
.hero-slide{position:relative;inset:auto;opacity:1;display:grid;width:100%;background:none;overflow:hidden}
.gprs-hero .hero-slide::after{display:none}
.hero-slide[hidden]{display:none}
.hero-slide__media,.hero-slide__shade{position:absolute;inset:0}
.hero-slide__media>div,.hero-slide__media .field,.hero-slide__media .field__item{height:100%;margin:0}
.hero-slide__media img{display:block;width:100%;height:100%!important;max-width:none;object-fit:cover;object-position:center}
.hero-slide--fit-contain .hero-slide__media{background:#c6c6c6}
.hero-slide--fit-contain .hero-slide__media img{object-fit:contain}
.hero-slide--fit-contain .hero-slide__shade{background:linear-gradient(0deg,rgba(13,18,41,.82) 0%,rgba(13,18,41,0) 35%)}
.hero-slide--fit-contain .hero-slide__inner{align-items:flex-end}
.hero-slide--fit-contain .hero-slide__content{width:100%}
.hero-slide--fit-contain .hero-slide__title{max-width:760px;font-size:clamp(30px,4vw,54px)}
.hero-slide--fit-contain .hero-slide__actions{margin-top:18px}
.hero-slide--fit-contain .hero-slide__description{display:none}
.hero-slide__shade{z-index:1;background:linear-gradient(90deg,rgba(13,18,41,.9) 0%,rgba(24,29,58,.68) 42%,rgba(16,18,34,.18) 75%,rgba(16,18,34,.3) 100%)}
.hero-slide__inner{position:relative;z-index:2;display:flex;align-items:center;height:100%;padding-block:64px 92px}
.hero-slide__content{width:min(660px,68%)}
.hero-slide__eyebrow{margin:0 0 12px;color:var(--gprs-yellow);font-size:14px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero-slide__title{margin:0;color:#fff;font-size:clamp(38px,5vw,66px);font-weight:700;line-height:1.04;letter-spacing:-.025em;text-align:left;text-wrap:balance;text-shadow:0 2px 18px #0008}
.hero-slide__description{max-width:590px;margin-top:20px;font-size:clamp(16px,1.5vw,20px);line-height:1.55;text-shadow:0 1px 10px #0008}
.hero-slide__description .field{margin:0}
.hero-slide__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-slide__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:2px solid var(--gprs-yellow);border-radius:999px;background:var(--gprs-yellow);color:#20243c!important;font-weight:700;line-height:1.2;transition:background-color .2s,color .2s,transform .2s}
.hero-slide__cta:hover{background:#fff;border-color:#fff;text-decoration:none;transform:translateY(-2px)}
.hero-slide__cta--secondary{background:transparent;color:#fff!important;border-color:#fff}
.gprs-hero__control{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;background:#171b32a8;color:#fff;font-size:38px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background-color .2s,border-color .2s}
.gprs-hero__control:hover{background:var(--gprs-blue);border-color:#fff}
.gprs-hero__control--previous{left:max(16px,calc((100% - 1320px)/2))}
.gprs-hero__control--next{right:max(16px,calc((100% - 1320px)/2))}
.gprs-hero__dots{position:absolute;z-index:3;left:50%;bottom:28px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:#10142680;transform:translateX(-50%)}
.gprs-hero__dot{width:11px;height:11px;margin:0;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.gprs-hero__dot[aria-current="true"]{background:var(--gprs-yellow);border-color:var(--gprs-yellow);transform:scale(1.15)}
.gprs-hero :focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:4px}

@media(max-width:900px){
  .gprs-hero{height:clamp(360px,56vw,500px);min-height:360px}
  .hero-slide__inner{padding-block:48px 82px}
  .hero-slide__content{width:min(600px,78%)}
  .hero-slide__title{font-size:clamp(34px,6vw,52px)}
  .gprs-hero__control{top:auto;bottom:22px;width:44px;height:44px;transform:none}
  .gprs-hero__control--previous{left:20px}
  .gprs-hero__control--next{right:20px}
}
@media(max-width:540px){
  .gprs-hero{height:clamp(430px,118vw,520px);min-height:430px}
  .hero-slide__shade{background:linear-gradient(180deg,rgba(15,18,35,.28) 0%,rgba(15,18,35,.88) 52%,rgba(15,18,35,.96) 100%)}
  .hero-slide__media img{object-position:center}
  .hero-slide--fit-contain .hero-slide__media img{object-position:center top}
  .hero-slide__inner{align-items:flex-end;padding:42px 24px 96px}
  .hero-slide__content{width:100%}
  .hero-slide__title{font-size:clamp(32px,10vw,44px)}
  .hero-slide__description{font-size:16px;line-height:1.45}
  .hero-slide--fit-contain .hero-slide__description{display:block;max-width:100%;margin-top:12px;padding:10px 12px;border-radius:8px;background:#101426d9;font-size:15px}
  .hero-slide__actions{display:grid;margin-top:22px}
  .hero-slide__cta{width:100%;min-height:50px}
  .gprs-hero__control{bottom:18px}
  .gprs-hero__dots{bottom:23px;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .hero-slide__cta,.gprs-hero__control{transition:none}
}

.build-quote__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:12px;margin-bottom:14px;color:#fff}.build-quote__header :is(h1,h2,h3,h4,h5,h6,a,span,label){color:inherit}.build-quote__header a:hover,.build-quote__header a:focus{color:inherit}.build-quote__header svg{color:inherit;fill:currentColor}.build-quote__header h2{margin:0}.build-quote__count{font-size:13px;white-space:nowrap}.build-quote__items{display:grid;gap:10px}.build-quote__item{min-width:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}.build-quote__product-title,.build-quote__product-title a{color:#fff;font-weight:700;overflow-wrap:anywhere}.build-quote__quantity{margin-top:3px;font-size:13px;color:rgba(255,255,255,.85)}.build-quote__empty p{margin:0 0 8px}.build-quote__actions{margin-top:18px}.build-quote__actions .button{display:block;width:100%;box-sizing:border-box;text-align:center}.gprs-quote-status{margin-top:12px;padding:10px 12px;border-left:4px solid #39843c;background:#edf7ed;color:#1e5721;font-weight:600}

/* Quote cart. Form API remains the source of all controls and submissions. */
.quote-cart{width:min(100%,1040px);margin-inline:auto}.quote-cart__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.quote-cart__header h2{margin:0 0 4px;color:var(--gprs-dark);font-size:1.55rem}.quote-cart__header p{margin:0;color:#666}.quote-cart__count{flex:none;padding:7px 12px;border-radius:999px;background:#eef0fa;color:#35418b;font-weight:700}.quote-cart__items{display:grid;gap:16px}.quote-cart__item{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(130px,160px) auto;align-items:center;gap:24px;min-width:0;padding:22px;border:1px solid #dfe2eb;border-radius:12px;background:#fff;box-shadow:0 6px 22px #252b4a12}.quote-cart__item>img,.quote-cart__image-placeholder{width:120px;height:100px;border-radius:8px;border:1px solid #e1e4ec;background:#f6f7fa;object-fit:contain}.quote-cart__image-placeholder{background:linear-gradient(135deg,#f7f8fb,#e7eaf3)}.quote-cart__details{min-width:0}.quote-cart__eyebrow{margin-bottom:4px;color:#6670aa;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.quote-cart__product-title{margin:0 0 8px!important;font-size:1.2rem!important;line-height:1.3;text-align:left!important}.quote-cart__product-title a{overflow-wrap:anywhere;color:#27337f}.quote-cart__metadata{display:flex;flex-wrap:wrap;gap:5px 14px;list-style:none;margin:0;padding:0;color:#6a6d76;font-size:.88rem}.quote-cart__metadata li{margin:0}.quote-cart__quantity .form-item{margin:0}.quote-cart__quantity label{display:block;margin-bottom:6px;color:#444;font-size:.85rem;font-weight:700}.quote-cart__quantity input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #b9bfce;border-radius:6px;font:inherit}.quote-cart__remove{min-height:44px!important;padding:8px 12px!important;border:1px solid #d5a7a7!important;background:#fff!important;color:#9b2929!important;font-weight:700}.quote-cart__remove:hover{background:#fff1f1!important}.quote-cart__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding:20px;border-radius:10px;background:#f5f6fa}.quote-cart__actions .button,.quote-cart__actions input{min-height:44px;margin:0}.quote-cart__actions .button--primary{margin-left:auto;background:var(--gprs-blue)}.quote-cart .button--secondary{border:1px solid #8e96b9;background:#fff;color:#35418b!important}.quote-cart .button--danger{border:1px solid #d5a7a7;background:#fff;color:#9b2929!important}.quote-cart__empty{padding:54px 28px;border:1px solid #dfe2eb;border-radius:14px;background:linear-gradient(145deg,#fff,#f7f8fc);box-shadow:0 8px 28px #252b4a12;text-align:center}.quote-cart__empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#e9ecf8;color:var(--gprs-blue);font-size:2rem}.quote-cart__empty h2{margin:0 0 8px;color:var(--gprs-dark);font-size:1.6rem}.quote-cart__empty p{max-width:560px;margin:0 auto 22px}.quote-cart__empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.quote-cart :where(button,a,input):focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}
@media(max-width:900px){.quote-cart__item{grid-template-columns:96px minmax(0,1fr) minmax(120px,145px);gap:18px}.quote-cart__item>img,.quote-cart__image-placeholder{width:96px;height:86px}.quote-cart__remove{grid-column:3}.quote-cart__actions .button--primary{margin-left:0}}
@media(max-width:600px){.quote-cart__header{align-items:flex-start}.quote-cart__item{grid-template-columns:76px minmax(0,1fr);padding:17px;gap:15px}.quote-cart__item>img,.quote-cart__image-placeholder{width:76px;height:70px}.quote-cart__quantity{grid-column:1/-1}.quote-cart__remove{grid-column:1/-1;width:100%}.quote-cart__actions{align-items:stretch;flex-direction:column;padding:16px}.quote-cart__actions .button,.quote-cart__actions input{width:100%;text-align:center}.quote-cart__empty{padding:38px 18px}.quote-cart__empty-actions{align-items:stretch;flex-direction:column}.quote-cart__empty-actions .button{width:100%}}

/* Keep destructive cart controls readable over the global submit-button rule. */
#gprs-quote-cart input.quote-cart__remove{border:1px solid #b84a4a!important;background:#fff!important;color:#861f1f!important;opacity:1;cursor:pointer}#gprs-quote-cart input.quote-cart__remove:hover{border-color:#861f1f!important;background:#861f1f!important;color:#fff!important}#gprs-quote-cart input.quote-cart__remove:active{background:#6f1717!important;color:#fff!important}#gprs-quote-cart input.quote-cart__remove:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px;box-shadow:0 0 0 2px #861f1f}#gprs-quote-cart input.quote-cart__remove:disabled{border-color:#b8b8b8!important;background:#eee!important;color:#5f5f5f!important;opacity:1;cursor:not-allowed;box-shadow:none}

/* Canonical Blog listing and article pages. */
.blog-index{--blog-border:#dfe2ec;--blog-ink:#242a46;--blog-muted:#666b79;min-width:0}.blog-index__intro{max-width:780px;margin:0 auto 38px;text-align:center}.blog-index__eyebrow,.blog-article__eyebrow{margin:0 0 8px;color:#4a56a5;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.blog-index__intro h2{margin:0 0 12px;color:var(--blog-ink);font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.16}.blog-index__intro>p:last-child{margin:0;color:var(--blog-muted);font-size:1.05rem}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.blog-grid__item{min-width:0}.blog-card{position:relative;display:flex;height:100%;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--blog-border);border-radius:14px;background:#fff;box-shadow:0 6px 22px #252b4a10;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.blog-card:hover,.blog-card:focus-within{transform:translateY(-4px);border-color:#9da5cf;box-shadow:0 14px 34px #252b4a1c}.blog-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#eef0f8,#dfe3f2);text-decoration:none}.blog-card__media .field,.blog-card__media .field__item{height:100%;margin:0}.blog-card__media .field__item:not(:first-child){display:none}.blog-card__media img{display:block;width:100%;height:100%!important;object-fit:cover;transition:transform .3s ease}.blog-card:hover .blog-card__media img{transform:scale(1.025)}.blog-card__placeholder{display:grid;width:100%;height:100%;place-items:center;color:#4854a5;font-size:1.4rem;font-weight:800;letter-spacing:.15em}.blog-card__body{display:flex;flex:1;flex-direction:column;padding:22px}.blog-card__date{margin-bottom:9px;color:#73788a;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.blog-card__title{margin:0 0 12px!important;color:var(--blog-ink)!important;font-size:1.22rem!important;font-weight:700!important;line-height:1.3;text-align:left!important}.blog-card__title a{color:inherit}.blog-card__categories,.blog-article__categories{margin-bottom:12px}.blog-card__categories .field__items,.blog-article__categories .field__items{display:flex;flex-wrap:wrap;gap:6px}.blog-card__categories a,.blog-article__categories a{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef0fa;color:#3c488e;font-size:.75rem;font-weight:700}.blog-card__summary{display:-webkit-box;margin-bottom:20px;overflow:hidden;color:#5e626e;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:4}.blog-card__summary :is(.field,p){margin-top:0}.blog-card__summary img,.blog-card__summary iframe,.blog-card__summary video{display:none}.blog-card__more{align-self:flex-start;margin-top:auto;color:#34418e;font-weight:700;text-underline-offset:3px}.blog-card__more:hover{text-decoration-thickness:2px}.blog-card :focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}.blog-empty{padding:52px 24px;border:1px dashed #aeb5d1;border-radius:14px;background:#f7f8fc;text-align:center}.blog-empty h2{margin-top:0;color:var(--blog-ink)}.blog-index .pager{margin-top:34px}.blog-index .pager a{min-width:42px;border-radius:8px;background:#fff;text-align:center}.blog-index .pager a:hover{border-color:#4854a5;background:#eef0fa;text-decoration:none}.blog-index .pager__item.is-active a{border-color:#4854a5;background:#4854a5;color:#fff}.blog-index .pager a:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:2px}
.page-node-type-blog .main-column{min-width:0}.blog-article{width:min(100%,860px);margin-inline:auto;color:#353946}.blog-article__header{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid #e0e3eb}.blog-article__date{display:block;margin-bottom:12px;color:#6d7180;font-size:.92rem}.blog-article__hero{margin:0 0 34px;overflow:hidden;border-radius:14px;background:#f1f2f7;box-shadow:0 8px 26px #252b4a12}.blog-article__hero .field__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.blog-article__hero .field__item:first-child{grid-column:1/-1}.blog-article__hero img{display:block;width:100%;height:auto}.blog-article__content{font-size:1.04rem;line-height:1.78}.blog-article__content :is(h2,h3,h4){margin-top:1.7em;color:#272d4d;line-height:1.28}.blog-article__content :is(img,iframe,video){max-width:100%;height:auto}.blog-article__content iframe{width:100%;aspect-ratio:16/9}.blog-article__content a{text-decoration:underline;text-underline-offset:2px}.blog-article__video{margin-top:30px;padding:18px;border-left:4px solid var(--gprs-yellow);background:#f7f8fc;overflow-wrap:anywhere}
.blog-featured{margin:0 0 48px;padding:clamp(24px,4vw,38px);border:1px solid #d9ddea;border-radius:18px;background:linear-gradient(145deg,#f8f9fd,#eef0f8);box-shadow:0 10px 32px #252b4a10}.blog-featured__heading{margin:0 0 24px}.blog-featured__heading h2{margin:0;color:#252b54;font-size:clamp(1.45rem,2.4vw,2rem);text-align:left}.blog-featured__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.blog-featured__item{min-width:0}.featured-blog{display:flex;height:100%;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d9ddea;border-radius:14px;background:#fff;box-shadow:0 7px 22px #252b4a12}.featured-blog__header{padding:24px 24px 0}.featured-blog__date{display:block;margin-bottom:9px;color:#6d7281;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.featured-blog__title{margin:0 0 12px!important;color:#252b54!important;font-size:clamp(1.35rem,2vw,1.75rem)!important;line-height:1.25;text-align:left!important}.featured-blog__title a{color:inherit}.featured-blog__categories,.featured-blog__video{margin-top:12px}.featured-blog__categories .field__items{display:flex;flex-wrap:wrap;gap:6px}.featured-blog__categories a{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef0fa;color:#3c488e;font-size:.75rem;font-weight:700}.featured-blog__media{order:-1;max-height:340px;overflow:hidden;background:#edf0f7}.featured-blog__media .field__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.featured-blog__media .field__item:first-child{grid-column:1/-1}.featured-blog__media img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover}.featured-blog__content{padding:20px 24px 0;line-height:1.7;overflow-wrap:anywhere}.featured-blog__content :is(img,iframe,video){max-width:100%;height:auto}.featured-blog__content iframe{width:100%;aspect-ratio:16/9}.featured-blog__video{padding-inline:24px;overflow-wrap:anywhere}.featured-blog__permalink{align-self:flex-start;margin:22px 24px 24px;font-weight:700;text-underline-offset:3px}.featured-blog :focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}
/* Featured Blog entries remain a single-column list at every breakpoint. */
.blog-featured__items{grid-template-columns:minmax(0,1fr);gap:32px}
.featured-blog:has(>.featured-blog__media){display:grid;grid-template-columns:minmax(260px,38%) minmax(0,1fr);grid-template-rows:auto 1fr auto}
.featured-blog:has(>.featured-blog__media)>.featured-blog__media{grid-column:1;grid-row:1/4;order:0;max-height:none}
.featured-blog:has(>.featured-blog__media)>.featured-blog__media :is(.field,.field__item){height:100%}
.featured-blog:has(>.featured-blog__media)>.featured-blog__media img{width:100%;height:100%;max-height:none;object-fit:cover}
.featured-blog:has(>.featured-blog__media)>.featured-blog__header,.featured-blog:has(>.featured-blog__media)>.featured-blog__content,.featured-blog:has(>.featured-blog__media)>.blog-featured__read-more{grid-column:2}
.featured-blog__content p{margin:0}
.blog-featured__read-more{align-self:start;margin:22px 24px 24px;border-radius:6px;font-weight:700}
.blog-featured__read-more:hover{background:#303c92;text-decoration:none;transform:translateY(-1px)}
@media(max-width:1000px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:780px){.featured-blog:has(>.featured-blog__media){display:flex}.featured-blog__media{order:-1;max-height:none}.featured-blog__media img{height:auto;max-height:none}.blog-featured__read-more{margin-top:20px}}
@media(max-width:620px){.blog-index__intro{margin-bottom:28px}.blog-grid{grid-template-columns:minmax(0,1fr);gap:20px}.blog-card__body{padding:19px}.blog-card__title{font-size:1.15rem!important}.blog-featured{margin-bottom:34px;padding:18px}.featured-blog__header{padding:20px 20px 0}.featured-blog__content{padding:18px 20px 0}.featured-blog__permalink{margin:20px}.blog-article__hero{margin-bottom:25px;border-radius:9px}.blog-article__hero .field__items{grid-template-columns:1fr}.blog-article__hero .field__item:first-child{grid-column:auto}.blog-article__content{font-size:1rem;line-height:1.7}.blog-index .pager__items{gap:4px}.blog-index .pager a{min-width:40px;padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.blog-card,.blog-card__media img,.blog-featured__read-more{transition:none}}

/* Final Request Quote Webform and its server-rendered product summary. */
.quote-request{width:min(100%,1120px);margin-inline:auto}.quote-request__intro{max-width:720px;margin-bottom:24px}.quote-request__intro h2{margin:0 0 6px;color:var(--gprs-dark);font-size:1.7rem}.quote-request__intro p{margin:0;font-size:1rem}.quote-request__layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start;gap:30px}.quote-request__form{min-width:0;padding:26px;border:1px solid #dfe2eb;border-radius:12px;background:#fff;box-shadow:0 6px 22px #252b4a12}.quote-request__form fieldset{margin:0 0 22px;padding:0;border:0}.quote-request__form legend{width:100%;margin-bottom:18px;padding:0 0 10px;border-bottom:1px solid #e1e4ec;color:var(--gprs-dark);font-size:1.3rem;font-weight:700}.quote-request__form .form-item{margin:0 0 18px}.quote-request__form label{display:block;margin-bottom:6px;color:#333;font-weight:700}.quote-request__form :where(input[type=text],input[type=email],input[type=tel],textarea,select){width:100%;min-height:46px;padding:10px 12px;border:1px solid #b9bfce;border-radius:6px;background:#fff;color:#333;font:inherit}.quote-request__form textarea{min-height:140px;resize:vertical}.quote-request__form :where(input,textarea,select):focus{border-color:var(--gprs-blue);outline:3px solid #f5c40080;outline-offset:1px}.quote-request__form .form-required::after{content:" *";color:#a52525}.quote-request__form .form-actions{margin-top:24px}.quote-request__form .form-submit{width:100%;min-height:50px;border-radius:6px;background:var(--gprs-blue);font-size:1rem;font-weight:700}.quote-request__form .form-item--error-message,.quote-request__form .messages--error{color:#8b1f1f}.quote-request__form .error{border-color:#b52e2e!important}.quote-request__summary{position:sticky;top:20px;min-width:0;padding:22px;border-top:4px solid var(--gprs-yellow);border-radius:10px;background:var(--gprs-blue);color:#fff;box-shadow:0 8px 24px #252b4a26}.quote-request__summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #ffffff40}.quote-request__summary-header h2{margin:0;color:#fff;font-size:1.25rem}.quote-request__summary-header span{font-size:.8rem;white-space:nowrap}.quote-request__products{display:grid;gap:0;margin-bottom:18px}.quote-request__product{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:14px 0;border-bottom:1px solid #ffffff2e}.quote-request__product-title{min-width:0;color:#fff;font-weight:700;overflow-wrap:anywhere}.quote-request__product-meta{color:#ffffffbf;font-size:.82rem}.quote-request__product-quantity{grid-column:2;grid-row:1/3;align-self:center;font-weight:700}.quote-request__summary .button{display:block;width:100%;border:1px solid #fff;background:#fff;color:#35418b!important;text-align:center}.quote-request--empty,.quote-request__confirmation{padding:52px 26px;border:1px solid #dfe2eb;border-radius:14px;background:linear-gradient(145deg,#fff,#f7f8fc);text-align:center;box-shadow:0 8px 28px #252b4a12}.quote-request--empty h2,.quote-request__confirmation h2{margin:0 0 10px;color:var(--gprs-dark)}.quote-request__empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.quote-request__confirmation-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:50%;background:#e7f4e8;color:#23722a;font-size:2rem;font-weight:700}.gprs-quote-admin-summary{margin-top:28px;padding:20px;border:1px solid #dfe2eb;border-radius:8px;background:#fff}
@media(max-width:850px){.quote-request__layout{grid-template-columns:1fr}.quote-request__summary{position:static;grid-row:1}}
@media(max-width:520px){.quote-request__form{padding:18px}.quote-request__summary{padding:18px}.quote-request__summary-header{display:block}.quote-request__summary-header span{display:block;margin-top:5px}.quote-request__empty-actions{align-items:stretch;flex-direction:column}.quote-request__empty-actions .button{width:100%}}

/* Canonical Sales and Rentals product details. */
.page-node-type-manufactures-sales .product-detail,
.page-node-type-manufactures-rentals .product-detail {
  --product-border: #dfe2ee;
  --product-surface: #f6f7fb;
  --product-accent: #4854a5;
  color: #252525;
}

.page-node-type-manufactures-sales .product-detail__header,
.page-node-type-manufactures-rentals .product-detail__header {
  margin-bottom: 1.75rem;
}

.page-node-type-manufactures-sales .product-detail__header h1,
.page-node-type-manufactures-rentals .product-detail__header h1 {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0 0 .75rem;
  color: #222;
  text-align: left;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.product-detail__eyebrow {
  margin: 0 0 .5rem;
  color: #6771ac;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-node-type-manufactures-sales .product-detail__main,
.page-node-type-manufactures-rentals .product-detail__main {
  display: flow-root;
}

.product-detail__content {
  min-width: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
}

.product-detail__content .field {
  margin: 0 0 1.75rem;
}

.product-detail__content :where(p, ul, ol) {
  margin-top: 0;
  margin-bottom: 1.1em;
}

.product-detail__content :where(ul, ol) {
  padding-left: 1.5rem;
}

.product-detail__content :where(h2, h3, h4) {
  margin: 1.5em 0 .6em;
  color: #283275;
  text-align: left;
  line-height: 1.25;
}

.product-detail__content :where(img, iframe, video) {
  max-width: 100%;
  height: auto;
}

/* Keep YouTube embeds from formatted text fields responsive without allowing
 * generic media rules to collapse their height. */
iframe:is([src*="youtube.com"], [src*="youtube-nocookie.com"], [src*="youtu.be"]) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
}

@media (min-width: 768px) {
  iframe:is([src*="youtube.com"], [src*="youtube-nocookie.com"], [src*="youtu.be"]) {
    min-height: 480px;
  }
}

.product-detail__content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.product-detail__content :where(th, td) {
  padding: .7rem .8rem;
  border: 1px solid var(--product-border);
  text-align: left;
  vertical-align: top;
}

.product-detail__content a:not(.button) {
  text-decoration: underline;
  text-underline-offset: .15em;
}

.page-node-type-manufactures-sales .product-detail__gallery,
.page-node-type-manufactures-rentals .product-detail__gallery {
  float: right;
  width: min(42%, 460px);
  max-width: 100%;
  margin: 0 0 1.5rem clamp(1.25rem, 3vw, 2rem);
  padding: clamp(.8rem, 1.5vw, 1.1rem);
  box-sizing: border-box;
  border: 1px solid var(--product-border);
  border-radius: .65rem;
  background: #fff;
  box-shadow: 0 8px 24px #252b4a14;
}

.product-detail__gallery .field__label {
  margin-bottom: .75rem;
  color: #283275;
  font-size: .875rem;
  font-weight: 700;
}

.product-detail__gallery .field__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}

.product-detail__gallery .field__item:first-child {
  grid-column: 1 / -1;
}

.product-detail__gallery a {
  display: block;
  border-radius: .35rem;
}

.product-detail__gallery img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #e5e7ef;
  border-radius: .35rem;
  background: #fff;
  object-fit: contain;
}

.product-detail__gallery a:focus-visible,
#gprs-quote-add-to-quote :where(input, button, .button):focus-visible {
  outline: 3px solid #f5c400;
  outline-offset: 3px;
}

.product-detail__overview,
.product-detail__quote {
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid var(--product-border);
}

.product-detail__overview > h2,
.product-detail__quote > h2 {
  margin: 0 0 1.25rem;
  color: #283275;
  text-align: left;
}

.product-detail__specifications {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--product-border);
  border-radius: .4rem;
  background: var(--product-border);
}

.product-detail__specifications > .field {
  min-width: 0;
  padding: 1rem;
  background: #fff;
}

.product-detail__specifications .field__label {
  margin-bottom: .35rem;
  color: #61667b;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.product-detail__quote {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--product-border);
  border-left: 4px solid var(--product-accent);
  border-radius: .4rem;
  background: var(--product-surface);
}

#gprs-quote-add-to-quote {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  margin: 0;
}

#gprs-quote-add-to-quote .form-item {
  margin: 0;
}

#gprs-quote-add-to-quote label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 700;
}

#gprs-quote-add-to-quote input[type="number"] {
  width: 7rem;
  min-height: 2.75rem;
  padding: .5rem .7rem;
  border: 1px solid #9ba1ba;
  border-radius: .25rem;
  background: #fff;
  font: inherit;
}

#gprs-quote-add-to-quote .form-actions {
  margin: 0;
}

#gprs-quote-add-to-quote .button,
#gprs-quote-add-to-quote input[type="submit"] {
  min-height: 2.75rem;
  margin: 0;
  padding: .65rem 1.35rem;
  border: 0;
  border-radius: .25rem;
  background: #4854a5;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

#gprs-quote-add-to-quote .form-item--error-message {
  color: #a51b1b;
  font-weight: 700;
}

#gprs-quote-add-to-quote .error {
  border-color: #a51b1b;
}

@media (max-width: 767px) {
  .page-node-type-manufactures-sales .product-detail__gallery,
  .page-node-type-manufactures-rentals .product-detail__gallery {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0 0 1.5rem;
  }
}

@media (max-width: 600px) {
  .product-detail__gallery .field__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-detail__quote {
    padding: 1.15rem;
  }

  #gprs-quote-add-to-quote {
    display: block;
  }

  #gprs-quote-add-to-quote .form-actions {
    margin-top: 1rem;
  }

  #gprs-quote-add-to-quote .button,
  #gprs-quote-add-to-quote input[type="submit"] {
    width: 100%;
  }
}

/* Native disclosure widgets keep every menu level usable without hover or JS. */
.menu-disclosure>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#333;list-style:none}.menu-disclosure>summary::-webkit-details-marker{display:none}.menu-disclosure>.menu-parent-link{display:none}.menu-disclosure[open]>.submenu{display:block}.gprs-menu>li.catalog-menu>.menu-disclosure>.submenu{left:50%;transform:translateX(-50%);width:min(1120px,calc(100vw - 32px));max-height:min(70vh,650px);overflow:auto;padding:20px;columns:3;column-gap:30px}.gprs-menu>li.catalog-menu>.menu-disclosure>.submenu>li{break-inside:avoid;margin-bottom:7px}
@media(min-width:901px){.gprs-menu li:hover>.menu-disclosure>.submenu,.gprs-menu li:focus-within>.menu-disclosure>.submenu{display:block}}
@media(max-width:900px){.menu-disclosure>summary{min-height:44px;padding:8px 12px;width:100%;justify-content:space-between}.menu-disclosure>.menu-parent-link{display:block;padding-left:12px}.menu-disclosure:focus-within>.submenu{display:block}.gprs-menu>li.catalog-menu>.menu-disclosure>.submenu{width:auto;max-height:none;columns:1;transform:none;padding:0 0 8px}.gprs-menu .menu-disclosure .submenu{position:static;box-shadow:none;border:0;margin-left:18px}}

/* Main navigation: hover/focus dropdowns on desktop and explicit toggles on touch. */
#block-gprs-main-menu{position:relative;z-index:1000}
#block-gprs-main-menu .gprs-menu>li>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 2px;font-size:14px;font-weight:600;letter-spacing:.015em}
#block-gprs-main-menu .submenu{border:1px solid #e2e5ef;border-top:3px solid var(--gprs-blue);border-radius:0 0 8px 8px;background:#fff;box-shadow:0 14px 34px #1c23452e}
#block-gprs-main-menu .submenu a{line-height:1.35;border-radius:4px}
#block-gprs-main-menu .submenu a:hover,#block-gprs-main-menu .submenu a:focus-visible{background:#eef1ff;color:#26358e;text-decoration:none}
#block-gprs-main-menu .is-active-trail>a{box-shadow:inset 0 -3px var(--gprs-yellow)}
@media(min-width:901px){
  #primary-navigation .submenu .menu-item.has-children>a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding-right:18px}
  #primary-navigation .submenu .menu-item.has-children>a::after{content:"";flex:0 0 auto;width:7px;height:7px;margin-left:auto;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;opacity:.7;transform:rotate(45deg);transition:opacity .18s ease,transform .18s ease}
  #primary-navigation .submenu .menu-item.has-children:hover>a::after,#primary-navigation .submenu .menu-item.has-children:focus-within>a::after{opacity:1;transform:translateX(3px) rotate(45deg)}
  #block-gprs-main-menu .submenu-toggle{display:none}
  #block-gprs-main-menu .gprs-menu li>.submenu{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
  #block-gprs-main-menu .gprs-menu li:hover>.submenu,#block-gprs-main-menu .gprs-menu li:focus-within>.submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
  #block-gprs-main-menu .gprs-menu>li.catalog-menu>.submenu{left:auto;right:0;transform:translateY(8px);z-index:1100}
  #block-gprs-main-menu .gprs-menu>li.catalog-menu:hover>.submenu,#block-gprs-main-menu .gprs-menu>li.catalog-menu:focus-within>.submenu{transform:translateY(0)}
  #block-gprs-main-menu .submenu .submenu{transform:translate(8px,0);z-index:1110}
  #block-gprs-main-menu .submenu li:hover>.submenu,#block-gprs-main-menu .submenu li:focus-within>.submenu{transform:translate(0,0)}
}
@media(max-width:900px){
  .primary-navigation.is-open{z-index:10000}
  #block-gprs-main-menu .gprs-menu>li,#block-gprs-main-menu .submenu>li{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center}
  #block-gprs-main-menu .gprs-menu>li>a,#block-gprs-main-menu .submenu>li>a{display:flex;align-items:center;min-height:48px;padding:10px 12px}
  #block-gprs-main-menu .submenu-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-left:1px solid #e3e5ec;color:#303d91;font-size:20px}
  #primary-navigation .submenu .menu-item.has-children>a::after{content:none}
  #block-gprs-main-menu .submenu-toggle span[aria-hidden="true"]{display:block;width:9px;height:9px;font-size:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transform-origin:center}
  #block-gprs-main-menu .submenu-toggle[aria-expanded="true"] span[aria-hidden="true"]{transform:rotate(180deg)}
  #block-gprs-main-menu .submenu-toggle span[aria-hidden="true"]{transition:transform .16s ease}
  #block-gprs-main-menu .gprs-menu li>.submenu{display:none;grid-column:1/-1;position:static;width:auto!important;max-height:none!important;margin:0 0 0 12px!important;padding:0 0 6px!important;columns:1!important;transform:none!important;overflow:visible!important;border:0;border-left:2px solid #dfe3f3;border-radius:0;box-shadow:none}
  #block-gprs-main-menu .gprs-menu li.submenu-open>.submenu{display:block}
  #block-gprs-main-menu .primary-navigation{max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain}
}

/* Coordinated page heading: title first, followed by a modern breadcrumb trail. */
.page-heading{padding:24px 0 20px}
.page-heading #block-gprs-page-title h1{margin:0;color:#292929;line-height:1.2}
.page-heading #block-gprs-breadcrumbs{margin-top:10px}
.page-heading .breadcrumb{min-width:0;color:#626777;font-size:.875rem;line-height:1.5}
.page-heading .breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;min-width:0;margin:0;padding:0;list-style:none}
.page-heading .breadcrumb__item{display:inline-flex;align-items:center;min-width:0}
.page-heading .breadcrumb__item:not(:last-child)::after{content:"›";flex:0 0 auto;margin:0 9px;color:#9297a7;font-size:1.05em;line-height:1}
.page-heading .breadcrumb__link{color:#4251a4;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}
.page-heading .breadcrumb__link:hover{color:#29378e;text-decoration-color:currentColor}
.page-heading .breadcrumb__link:focus-visible{border-radius:2px;outline:3px solid var(--gprs-yellow);outline-offset:3px;text-decoration-color:currentColor}
.page-heading .breadcrumb__current{min-width:0;color:#3e424d;font-weight:600;overflow-wrap:anywhere}
@media(max-width:600px){
  .page-heading{padding:18px 0 16px}
  .page-heading #block-gprs-breadcrumbs{margin-top:8px}
  .page-heading .breadcrumb{font-size:.8125rem}
  .page-heading .breadcrumb__item:not(:last-child)::after{margin-inline:6px}
}

/* Manufacturer profiles and product-to-manufacturer links. */
.product-detail__manufacturer{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}
.product-detail__manufacturer-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:2px solid var(--gprs-blue);border-radius:6px;color:#303c92;font-weight:700;line-height:1.25;transition:background-color .18s,color .18s,transform .18s}
.product-detail__manufacturer-link::after{content:"→";margin-left:9px}
.product-detail__manufacturer-link:hover{background:var(--gprs-blue);color:#fff;text-decoration:none;transform:translateY(-1px)}
.product-detail__manufacturer-link:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}
.manufacturer-detail{min-width:0}
.manufacturer-detail__header{margin-bottom:clamp(24px,4vw,40px);padding-bottom:18px;border-bottom:1px solid #dfe2ea}
.manufacturer-detail__eyebrow{margin:0 0 7px;color:#6670aa;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.manufacturer-detail__header h1{margin:0;color:#252525;font-size:clamp(2rem,4vw,3rem);line-height:1.12;text-align:left}
.manufacturer-detail__layout{display:flow-root;min-width:0}
.manufacturer-detail__media{float:right;box-sizing:border-box;width:min(42%,520px);min-height:210px;margin:0 0 24px clamp(24px,4vw,40px);padding:24px;border:1px solid #e1e3eb;border-radius:10px;background:#fff;box-shadow:0 8px 26px #252b4a12}
.manufacturer-detail__media .field__item:not(:first-child){margin-top:18px}
.manufacturer-detail__media img,.manufacturer-detail__media iframe,.manufacturer-detail__media video{display:block;max-width:100%;height:auto}
.manufacturer-detail__media img{width:auto;max-height:320px;margin-inline:auto;object-fit:contain}
.manufacturer-detail__content{min-width:0;font-size:1rem;line-height:1.7}
.manufacturer-detail__content>.field{margin-bottom:26px}
.manufacturer-detail__content h2,.manufacturer-detail__content h3{color:#292929;text-align:left;line-height:1.25}
.manufacturer-detail__actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.manufacturer-detail__actions>.field{margin:0}
.page-node-type-manufactures .manufacturer-detail__actions a{display:inline-flex;align-items:center;max-width:100%;min-height:44px;padding:10px 16px;border-radius:5px;background:var(--gprs-blue);color:#fff;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.page-node-type-manufactures .manufacturer-detail__actions a:hover{background:#303c92;color:#fff;text-decoration:none}
.page-node-type-manufactures .manufacturer-detail__actions a:focus-visible{color:#fff;outline:3px solid var(--gprs-yellow);outline-offset:3px}
@media(max-width:767px){.manufacturer-detail__media{float:none;width:100%;max-width:none;min-height:160px;margin:0 0 24px}.manufacturer-detail__header{margin-bottom:24px}}

/* Utility navigation ------------------------------------------------------ */
.utility-icons {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
}
.utility-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.utility-icons a:hover {
  border-color: rgba(255, 255, 255, .58);
  background: rgba(255, 255, 255, .18);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.utility-icons a:focus-visible {
  outline: 3px solid var(--gprs-yellow);
  outline-offset: 2px;
}
.utility-icons svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.utility-icons__quote { margin-left: 4px; }
.utility-inner { gap: 14px; }
.utility-inner .phones { flex: 0 0 auto; }
.utility-navigation,
#block-gprs-utility-menu { min-width: 0; }
.utility-menu-toggle { display: none; }
#block-gprs-utility-menu > ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 2px 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
#block-gprs-utility-menu > ul > li { min-width: 0; }
#block-gprs-utility-menu > ul > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 6px 5px;
  border-radius: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .035em;
  text-align: center;
  overflow-wrap: anywhere;
  transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
#block-gprs-utility-menu > ul > li > a:hover,
#block-gprs-utility-menu > ul > li > a:focus-visible {
  background: rgba(255, 255, 255, .14);
  color: #fff;
  text-decoration: none;
}
#block-gprs-utility-menu > ul > li > a.is-active,
#block-gprs-utility-menu > ul > li > a[aria-current="page"] {
  box-shadow: inset 0 -3px var(--gprs-yellow);
}
#block-gprs-utility-menu > ul > li > a:focus-visible {
  outline: 3px solid var(--gprs-yellow);
  outline-offset: 1px;
}
@media (min-width: 901px) and (max-width: 1100px) {
  .utility-inner { gap: 10px; }
  #block-gprs-utility-menu > ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px 4px;
  }

  #block-gprs-utility-menu > ul > li > a {
    justify-content: center;
    width: 100%;
    padding-inline: 5px;
  }
}
@media (max-width: 900px) {
  .site-header { position: relative; }
  .primary-navigation { top: 100%; }
  .utility-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding-block: 10px 12px;
  }
  .utility-inner .phones {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .utility-inner .phones a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    line-height: 1.3;
  }
  .utility-icons {
    justify-content: center;
    width: 100%;
    gap: 8px;
  }
  .utility-icons a { width: 44px; height: 44px; }
  .utility-icons svg { width: 16px; height: 16px; }
  .utility-icons__quote { margin-left: 6px; }
  .utility-navigation { width: 100%; }
  .utility-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 7px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font: inherit;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease;
  }
  .utility-menu-toggle:hover,
  .utility-menu-toggle[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .18);
  }
  .utility-menu-toggle:focus-visible {
    outline: 3px solid var(--gprs-yellow);
    outline-offset: 2px;
  }
  .utility-menu-toggle__icon {
    display: grid;
    gap: 3px;
    width: 17px;
  }
  .utility-menu-toggle__icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
    transition: transform .16s ease, opacity .16s ease;
  }
  .utility-menu-toggle[aria-expanded="true"] .utility-menu-toggle__icon span:first-child { transform: translateY(5px) rotate(45deg); }
  .utility-menu-toggle[aria-expanded="true"] .utility-menu-toggle__icon span:nth-child(2) { opacity: 0; }
  .utility-menu-toggle[aria-expanded="true"] .utility-menu-toggle__icon span:last-child { transform: translateY(-5px) rotate(-45deg); }
  #block-gprs-utility-menu {
    width: 100%;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-5px);
    transition: max-height .2s ease, margin-top .2s ease, opacity .16s ease, transform .2s ease, visibility 0s linear .2s;
  }
  #block-gprs-utility-menu.is-open {
    max-height: 520px;
    margin-top: 8px;
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
  }
  #block-gprs-utility-menu > ul {
    display: block;
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 8px;
    background: #3f4b99;
    box-shadow: 0 10px 24px rgba(20, 25, 62, .24);
  }
  #block-gprs-utility-menu > ul > li + li { border-top: 1px solid rgba(255, 255, 255, .16); }
  #block-gprs-utility-menu > ul > li > a {
    justify-content: flex-start;
    width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border-radius: 0;
    background: transparent;
    font-size: 13px;
    text-align: left;
  }
  #block-gprs-utility-menu > ul > li > a:hover,
  #block-gprs-utility-menu > ul > li > a:focus-visible { background: rgba(255, 255, 255, .13); }
  #block-gprs-utility-menu > ul > li > a.is-active,
  #block-gprs-utility-menu > ul > li > a[aria-current="page"] {
    background: rgba(255, 255, 255, .1);
    box-shadow: inset 4px 0 var(--gprs-yellow);
  }
}
@media (max-width: 540px) {
  .utility-inner .phones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .utility-inner .phones a {
    justify-content: center;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .utility-menu-toggle,
  .utility-icons a,
  .utility-menu-toggle__icon span,
  #block-gprs-utility-menu,
  #block-gprs-utility-menu > ul > li > a { transition: none; }
}

/* Drupal-native four-column footer. */
.site-footer{margin-top:auto}.footer-top{background:#f3f4f8;border-top:1px solid #d9dce7;padding:clamp(38px,5vw,64px) 0}.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,42px);align-items:start}.footer-grid>div{min-width:0}.footer-grid .gprs-block{margin:0}.footer-grid h2{margin:0 0 18px;padding-bottom:11px;border-bottom:2px solid #dadde8;color:#252b54;font-size:1.15rem;font-weight:700;text-align:left}.footer-grid h2::after{display:block;width:42px;margin-bottom:-13px;padding-top:11px;border-bottom:2px solid var(--gprs-yellow);content:""}.footer-grid p{margin:0 0 14px}.footer-grid a{color:#34418e;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.footer-grid a:hover{text-decoration-color:currentColor}.footer-grid a:focus-visible,.footer-grid :where(input,button):focus-visible,.footer-bottom a:focus-visible{border-radius:3px;outline:3px solid var(--gprs-yellow);outline-offset:3px}.footer-social-links{display:flex;flex-wrap:wrap;gap:8px}.footer-social-links a{display:inline-flex;align-items:center;min-height:40px;padding:7px 11px;border:1px solid #cbd0e3;border-radius:999px;background:#fff;font-size:.82rem;font-weight:700}.footer-social-links a:hover{border-color:var(--gprs-blue);background:var(--gprs-blue);color:#fff;text-decoration:none}.footer-review-links{display:flex;align-items:center;gap:12px;margin:18px 0}.footer-review-links a{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:4px;border-radius:7px;background:#fff}.footer-review-links img{display:block;width:auto;max-width:58px;max-height:48px}.footer-holiday-link{padding-top:14px;border-top:1px solid #d8dbe5}.footer-information-links{display:grid;gap:4px}.footer-information-links a{display:flex;align-items:center;min-height:40px;padding:6px 0}.company-logos{display:grid;gap:14px}.company-logos a{display:flex;align-items:center;justify-content:center;min-height:66px;padding:10px;border:1px solid #dde0e9;border-radius:8px;background:#fff}.company-logos img{display:block;width:auto;max-width:100%;max-height:70px}.footer-grid form{display:grid;gap:11px}.footer-grid form .form-item,.footer-grid form .form-actions{margin:0}.footer-grid form label{display:block;margin-bottom:4px;color:#333;font-size:.82rem;font-weight:700}.footer-grid form :where(input[type=text],input[type=email]){width:100%;min-height:44px;padding:9px 11px;border:1px solid #aeb4c5;border-radius:5px;background:#fff;color:#252525;font:inherit}.footer-grid form :where(input[type=text],input[type=email]):focus{border-color:var(--gprs-blue);outline:3px solid #f5c40066;outline-offset:1px}.footer-grid form .form-checkboxes{display:grid;gap:7px}.footer-grid form .form-type-checkbox{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:start}.footer-grid form input[type=checkbox]{width:18px;height:18px;margin:3px 0 0;accent-color:var(--gprs-blue)}.footer-grid form .form-type-checkbox label{margin:0;font-weight:400;line-height:1.45}.footer-grid form .form-submit{width:100%;min-height:46px;border-radius:5px;font-weight:700;cursor:pointer}.footer-grid form .form-submit:hover{background:#303c92}.footer-grid .form-required::after{color:#9b2020;content:" *"}.footer-grid .form-item--error-message,.footer-grid .messages--error{color:#8b1f1f}.footer-bottom{background:#292b33;color:#d8d9df;padding:20px 0}.footer-bottom__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 28px;align-items:center}.footer-bottom p{margin:0}.footer-bottom__copyright{font-size:.9rem}.footer-bottom__credit{font-size:.8rem}.footer-bottom a{color:#fff;text-decoration:underline;text-underline-offset:3px}.footer-bottom__back-to-top{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border-radius:5px;text-decoration:none}.footer-bottom__back-to-top:hover{background:#ffffff12}
@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom__inner{grid-template-columns:1fr}.footer-bottom__back-to-top{grid-column:1;grid-row:auto;width:max-content;margin-top:8px}}

/* Homepage featured services -------------------------------------------- */
.homepage-featured{position:relative;isolation:isolate;overflow:hidden;background:#1e2340 url('../images/slide-bg-sm.jpg') center/cover no-repeat;color:#fff}
.homepage-featured::before{position:absolute;z-index:-1;inset:0;background:rgba(17,22,48,.78);content:""}
.homepage-featured .gprs-block{margin:0}
.featured-services{padding:clamp(52px,6vw,82px) max(16px,calc((100% - var(--gprs-width))/2))}
.featured-services__intro{max-width:690px;margin:0 auto clamp(30px,4vw,46px);text-align:center}
.featured-services__eyebrow{margin:0 0 8px;color:var(--gprs-yellow);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.featured-services__title{margin:0 0 12px;color:#fff;font-size:clamp(1.8rem,3.1vw,2.7rem);font-weight:700;line-height:1.15}
.featured-services__lede{margin:0;color:#e6e8f4;font-size:clamp(.98rem,1.4vw,1.08rem)}
.featured-services__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.featured-services__card{position:relative;display:flex;min-width:0;min-height:330px;flex-direction:column;padding:clamp(22px,2.2vw,30px);overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(28,34,67,.9);box-shadow:0 14px 34px rgba(5,8,25,.28);color:#fff;text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}
.featured-services__card::before{position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gprs-yellow);content:""}
.featured-services__card:hover{transform:translateY(-4px);border-color:rgba(245,196,0,.8);background:rgba(35,42,82,.96);box-shadow:0 20px 42px rgba(5,8,25,.4);color:#fff;text-decoration:none}
.featured-services__card:focus-within{border-color:var(--gprs-yellow);outline:3px solid var(--gprs-yellow);outline-offset:4px}
.featured-services__icon{display:grid;width:52px;height:52px;margin-bottom:22px;place-items:center;border:1px solid rgba(245,196,0,.55);border-radius:12px;background:rgba(245,196,0,.1);color:var(--gprs-yellow)}
.featured-services__icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.featured-services__card h3{margin:0 0 14px;color:#fff;font-size:1.42rem;font-weight:700;line-height:1.2;text-align:left}
.featured-services__card p{margin:0 0 16px;color:#e1e4ef;line-height:1.6}
.featured-services__card ul{margin:0 0 22px;padding-left:18px;color:#e1e4ef;line-height:1.55}
.featured-services__card li::marker{color:var(--gprs-yellow)}
.featured-services__cta{display:flex;align-items:center;gap:7px;min-height:44px;margin-top:auto;color:var(--gprs-yellow);font-weight:700;text-decoration:none}
.featured-services__cta:hover{color:#ffe36d;text-decoration:underline;text-underline-offset:4px}
.featured-services__cta:focus-visible{border-radius:3px;outline:3px solid var(--gprs-yellow);outline-offset:3px}
.featured-services__cta::after{content:"\2192";transition:transform .22s ease}
.featured-services__card:hover .featured-services__cta::after{transform:translateX(4px)}
@media(max-width:1199px){.featured-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-services__card{min-height:300px}}
@media(max-width:699px){.featured-services{padding-block:42px}.featured-services__intro{margin-bottom:26px}.featured-services__grid{grid-template-columns:minmax(0,1fr);gap:14px}.featured-services__card{min-height:0;padding:23px}.featured-services__icon{margin-bottom:17px}}
@media(prefers-reduced-motion:reduce){.featured-services__card,.featured-services__cta::after{transition:none}.featured-services__card:hover{transform:none}}

/* Homepage About Us ---------------------------------------------------- */
body.path-frontpage #block-gprs-main{position:relative;isolation:isolate;margin:0;padding:clamp(50px,6vw,78px) clamp(20px,4vw,54px);overflow:hidden;border:1px solid #e3e5ef;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#f8f9fd 64%,#f4f1de 100%);box-shadow:0 18px 46px rgba(26,34,77,.1)}
body.path-frontpage #block-gprs-main::before{position:absolute;z-index:-1;top:-115px;right:-105px;width:290px;height:290px;border:52px solid rgba(245,196,0,.08);border-radius:50%;content:"";pointer-events:none}
body.path-frontpage #block-gprs-main::after{position:absolute;z-index:-1;bottom:-155px;left:-120px;width:290px;height:290px;border-radius:50%;background:rgba(72,84,165,.055);content:"";pointer-events:none}
body.path-frontpage #block-gprs-main>article>div:last-child>section:empty{display:none}
body.path-frontpage #block-gprs-main .title-box{max-width:760px;margin:0 auto clamp(26px,3.5vw,40px)!important;text-align:center!important}
body.path-frontpage #block-gprs-main .title-box::before{display:inline-block;margin-bottom:10px;color:#3d4995;font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;content:"Hawai\02BBi\2019s roadway partner since 1978"}
body.path-frontpage #block-gprs-main .title-box .title{margin:0;color:#20274e;font-size:clamp(2rem,3.8vw,3rem);font-weight:700;line-height:1.12;letter-spacing:-.025em}
body.path-frontpage #block-gprs-main .title-box .title::after{display:block;width:64px;height:4px;margin:18px auto 0;border-radius:999px;background:var(--gprs-yellow);content:""}
body.path-frontpage #block-gprs-main .field--name-body>.container,
body.path-frontpage #block-gprs-main .title-box+.container{display:grid;width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);margin:0;padding:0}
body.path-frontpage #block-gprs-main .title-box+.container>p:not(.text-center){position:relative;min-width:0;margin:0;padding:clamp(24px,3vw,34px);border:1px solid #dfe2ed;border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(31,39,82,.07);color:#4c5161;font-size:clamp(.96rem,1.2vw,1.04rem);line-height:1.75}
body.path-frontpage #block-gprs-main .title-box+.container>p:not(.text-center)::before{display:block;width:38px;height:4px;margin-bottom:18px;border-radius:999px;background:linear-gradient(90deg,var(--gprs-yellow),#d5a900);content:""}
body.path-frontpage #block-gprs-main .title-box+.container>.text-center{grid-column:1/-1;margin:clamp(6px,1vw,12px) 0 0;text-align:center}
body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;border:2px solid var(--gprs-blue);border-radius:7px;background:var(--gprs-blue);box-shadow:0 8px 18px rgba(45,57,139,.2);font-size:.98rem;font-weight:700;line-height:1.2;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn::after{content:"\2192";transition:transform .18s ease}
body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn:hover{transform:translateY(-2px);border-color:#303c92;background:#303c92;box-shadow:0 12px 24px rgba(45,57,139,.27)}
body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn:hover::after{transform:translateX(4px)}
body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:4px}
@media(max-width:767px){body.path-frontpage #block-gprs-main{padding:42px 20px;border-radius:14px}body.path-frontpage #block-gprs-main .field--name-body>.container,body.path-frontpage #block-gprs-main .title-box+.container{grid-template-columns:minmax(0,1fr)}body.path-frontpage #block-gprs-main .title-box+.container>p:not(.text-center){padding:23px;font-size:.96rem;line-height:1.68}}
@media(max-width:420px){body.path-frontpage #block-gprs-main{padding-inline:16px}body.path-frontpage #block-gprs-main .title-box+.container>p:not(.text-center){padding:20px}}
@media(prefers-reduced-motion:reduce){body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn,body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn::after{transition:none}body.path-frontpage #block-gprs-main .title-box+.container>.text-center .btn:hover{transform:none}}

/* Event detail and homepage Events View. */
.event-detail{margin:0 auto 3rem;max-width:1080px}.event-detail__header{border-left:5px solid var(--gprs-yellow);margin-bottom:2rem;padding:.35rem 0 .5rem 1.35rem}.event-detail__date,.home-events__date{color:var(--gprs-blue);font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.event-detail__date .field,.home-events__date .field{margin:0}.event-detail__title{color:var(--gprs-dark);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.08;margin:.35rem 0 0;text-align:left}.event-detail__layout{display:grid;gap:clamp(1.5rem,4vw,3.5rem)}.event-detail__layout--with-media{grid-template-columns:minmax(0,1fr) minmax(280px,44%)}.event-detail__content{font-size:1.05rem;line-height:1.75;min-width:0}.event-detail__media{align-self:start;background:#fff;border:1px solid #dfe2ea;border-radius:12px;overflow:hidden}.event-detail__media img{display:block;height:auto;width:100%}.event-detail__footer{border-top:1px solid #e2e4e9;margin-top:1.75rem;padding-top:1.25rem}
.home-events{background:#f4f5f8;border-block:1px solid #e2e4ea;padding:clamp(3.5rem,7vw,6rem) 0}.home-events__header{margin:0 auto 2.25rem;max-width:680px;text-align:center}.home-events__header h2{color:var(--gprs-dark);font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.2rem 0 .65rem}.home-events__header>p:last-child{font-size:1.05rem;margin:0}.home-events__eyebrow{color:var(--gprs-blue);font-size:.76rem;font-weight:700;letter-spacing:.15em;margin:0;text-transform:uppercase}.home-events__grid>.view-content{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-events__card{background:#fff;border:1px solid #dde0e7;border-radius:12px;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.home-events__card:hover{border-color:#c2c7d5;box-shadow:0 12px 28px #25252514;transform:translateY(-3px)}.home-events__media{aspect-ratio:16/10;background:#e7e9ef;display:block;overflow:hidden}.home-events__media img{display:block;height:100%;object-fit:cover;transition:transform .35s;width:100%}.home-events__card:hover .home-events__media img{transform:scale(1.025)}.home-events__placeholder{align-items:center;color:#777;display:flex;font-size:1.4rem;font-weight:700;height:100%;justify-content:center;letter-spacing:.12em}.home-events__card-body{display:flex;flex:1;flex-direction:column;padding:1.35rem}.home-events__title{font-size:1.22rem;line-height:1.32;margin:.55rem 0 1.25rem;text-align:left}.home-events__title a{color:var(--gprs-dark)}.home-events__cta{align-self:flex-start;font-weight:700;margin-top:auto}.home-events__cta:hover{text-decoration:none}.home-events__media:focus-visible,.home-events__title a:focus-visible,.home-events__cta:focus-visible{border-radius:2px;outline:3px solid var(--gprs-yellow);outline-offset:3px}
@media (max-width:900px){.home-events__grid>.view-content{grid-template-columns:repeat(2,minmax(0,1fr))}.event-detail__layout--with-media{grid-template-columns:1fr}.event-detail__media{max-width:680px;order:-1}}@media (max-width:560px){.home-events__grid>.view-content{grid-template-columns:1fr}.home-events__card-body{padding:1.15rem}.event-detail__header{padding-left:1rem}.event-detail__title{font-size:2rem}}
.home-events__grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-events__grid>div{display:flex}.home-events__grid .home-events__card{width:100%}@media (max-width:900px){.home-events__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.home-events__grid{grid-template-columns:1fr}}

/* Contracting Services landing and shared Webform treatment. */
.contracting-services{--contracting-border:#dfe2eb;--contracting-surface:#f6f7fa;max-width:1180px;margin:0 auto clamp(2rem,5vw,4.5rem)}
.contracting-services__intro{max-width:780px;margin:0 0 clamp(1.6rem,3vw,2.5rem);color:#555b69;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.75}
.contracting-services__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.1rem,2.5vw,2rem)}
.contracting-service-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--contracting-border);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(29,37,79,.08);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.contracting-service-card:hover{border-color:#c6cad8;box-shadow:0 17px 38px rgba(29,37,79,.14);transform:translateY(-3px)}
.contracting-service-card:focus-within{outline:3px solid var(--gprs-yellow);outline-offset:4px}
.contracting-service-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8eaf0}
.contracting-service-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.contracting-service-card:hover .contracting-service-card__media img{transform:scale(1.025)}
.contracting-service-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.25rem,2.8vw,2rem)}
.contracting-service-card__body h2{margin:0 0 .8rem;color:#252c5d;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.25;text-align:left}
.contracting-service-card__body h2 a{color:inherit;text-decoration:none}
.contracting-service-card__body p{margin:0 0 1.4rem;color:#555b67;line-height:1.7}
.contracting-service-card__cta{display:inline-flex;align-items:center;align-self:flex-start;justify-content:center;min-height:46px;margin-top:auto;padding:.7rem 1.15rem;border-radius:6px;background:var(--gprs-yellow);color:#20264c;font-weight:800;letter-spacing:.035em;text-decoration:none;text-transform:uppercase;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.contracting-service-card__cta::after{margin-left:.55rem;content:"\2192"}
.contracting-service-card__cta:hover{background:#e3b600;color:#151a38;text-decoration:none;transform:translateY(-1px)}
.contracting-service-card__cta:focus-visible{outline:3px solid #2f3b91;outline-offset:3px}

.webform-submission-d7-3932-form,.webform-submission-d7-3951-form,.webform-submission-d7-3961-form,.webform-submission-d7-3954-form{max-width:940px;margin:0 auto clamp(2.5rem,5vw,5rem);padding:clamp(1.2rem,4vw,2.6rem);border:1px solid #dfe2eb;border-top:5px solid var(--gprs-yellow);border-radius:14px;background:#fff;box-shadow:0 15px 38px rgba(31,39,80,.09)}
.contracting-service-form .webform-element-description{margin-top:.45rem;color:#636977;font-size:.875rem;line-height:1.5}
.contracting-service-form .form-item{min-width:0;margin-top:0;margin-bottom:1.25rem}
.contracting-service-form label,.contracting-service-form legend{color:#29305f;font-weight:700}
.contracting-service-form .form-required::after{color:#b52828}
.contracting-service-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:.7rem .8rem;border:1px solid #aeb4c5;border-radius:6px;background:#fff;color:#222735;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}
.contracting-service-form textarea{min-height:150px;resize:vertical}
.contracting-service-form :where(input,select,textarea):hover{border-color:#747d9d}
.contracting-service-form :where(input,select,textarea,button):focus-visible{border-color:#36449a;outline:3px solid rgba(245,196,0,.55);outline-offset:2px;box-shadow:0 0 0 1px #36449a}
.contracting-service-form fieldset{min-width:0;margin:1.4rem 0;padding:clamp(1rem,2.5vw,1.5rem);border:1px solid #d8dce7;border-radius:9px;background:#f8f9fb}
.contracting-service-form fieldset legend{padding:0 .45rem;font-size:1.08rem}
.contracting-service-form .form-checkboxes,.contracting-service-form .form-radios{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem}
.contracting-service-form .form-type-checkbox,.contracting-service-form .form-type-radio{display:flex;align-items:center;gap:.5rem;min-height:44px;margin:0}
.contracting-service-form :where(input[type="checkbox"],input[type="radio"]){width:1.2rem;height:1.2rem;accent-color:#36449a}
.contracting-service-form input[type="file"]{max-width:100%;padding:.55rem;border:1px dashed #8e96af;border-radius:7px;background:#f6f7fa}
.contracting-service-form input[type="file"]::file-selector-button{min-height:40px;margin-right:.75rem;padding:.5rem .8rem;border:0;border-radius:5px;background:#3b489a;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.contracting-service-form .form-actions{margin:1.8rem 0 0}
.contracting-service-form :where(.button,input[type="submit"]){min-height:48px;padding:.75rem 1.5rem;border:0;border-radius:6px;background:var(--gprs-yellow);color:#20264c;font-weight:800;cursor:pointer;transition:background-color .16s ease,transform .16s ease}
.contracting-service-form :where(.button,input[type="submit"]):hover{background:#e3b600;transform:translateY(-1px)}
.contracting-service-form :where(.button,input[type="submit"]):disabled{background:#c9c9c9;color:#666;cursor:not-allowed;transform:none}
.contracting-service-form .form-item--error-message,.contracting-service-form .messages--error{color:#9c1f1f;font-weight:700}
.contracting-service-form .error{border-color:#b52626!important}
@media(max-width:760px){.contracting-services__grid{grid-template-columns:1fr}.contracting-service-card__body{padding:1.25rem}.webform-submission-d7-3932-form,.webform-submission-d7-3951-form,.webform-submission-d7-3961-form,.webform-submission-d7-3954-form{padding:1.15rem;border-radius:10px}.contracting-service-form .webform-flexbox{display:block}.contracting-service-form .webform-flex{width:100%!important}.contracting-service-form input[type="file"]{font-size:.85rem}.contracting-service-form .form-actions :where(.button,input[type="submit"]){width:100%}}
@media(max-width:360px){.contracting-service-card__body{padding:1rem}.contracting-service-card__cta{width:100%}.contracting-service-form input[type="file"]::file-selector-button{display:block;margin:0 0 .5rem}}
@media(prefers-reduced-motion:reduce){.contracting-service-card,.contracting-service-card__media img,.contracting-service-card__cta,.contracting-service-form :where(.button,input[type="submit"]){transition:none}.contracting-service-card:hover,.contracting-service-card__cta:hover,.contracting-service-form :where(.button,input[type="submit"]):hover{transform:none}}

/* Contact page: migrated Webform followed by its managed locations section. */
body.page-node-133 .layout{padding-block:clamp(2.25rem,5vw,4.5rem)}
body.page-node-133 .main-column{width:100%;min-width:0}
body.page-node-133 .webform-submission-d7-133-form{max-width:960px;margin:0 auto;padding:clamp(1.25rem,4vw,2.75rem);border:1px solid #dfe2eb;border-top:5px solid var(--gprs-yellow);border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(31,39,80,.1)}
body.page-node-133 .contact-form-intro{margin:0 0 clamp(1.5rem,3vw,2.25rem);padding-bottom:1.4rem;border-bottom:1px solid #e1e4ec}
body.page-node-133 .contact-form-intro h2{margin:0 0 .55rem;color:#252c5d;font-size:clamp(1.55rem,3vw,2.1rem);text-align:left}
body.page-node-133 .contact-form-intro p{margin:.35rem 0;color:#555b69;font-size:1rem;line-height:1.65}
body.page-node-133 .webform-submission-d7-133-form .form-item{min-width:0;margin-top:0;margin-bottom:1.25rem}
body.page-node-133 .webform-submission-d7-133-form :where(label,legend){color:#29305f;font-weight:700}
body.page-node-133 .webform-submission-d7-133-form .form-required::after{color:#b52828}
body.page-node-133 .webform-submission-d7-133-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-height:50px;padding:.75rem .85rem;border:1px solid #aeb4c5;border-radius:7px;background:#fff;color:#222735;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}
body.page-node-133 .webform-submission-d7-133-form textarea{min-height:170px;resize:vertical}
body.page-node-133 .webform-submission-d7-133-form :where(input,select,textarea):hover{border-color:#747d9d}
body.page-node-133 .webform-submission-d7-133-form :where(input,select,textarea,button):focus-visible{border-color:#36449a;outline:3px solid rgba(245,196,0,.55);outline-offset:2px;box-shadow:0 0 0 1px #36449a}
body.page-node-133 .webform-submission-d7-133-form fieldset{min-width:0;margin:1.35rem 0;padding:clamp(1rem,2.5vw,1.5rem);border:1px solid #d8dce7;border-radius:10px;background:#f8f9fb}
body.page-node-133 .webform-submission-d7-133-form fieldset legend{max-width:100%;padding:0 .45rem;font-size:1rem;line-height:1.45}
body.page-node-133 .webform-submission-d7-133-form :where(.form-checkboxes,.form-radios){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem}
body.page-node-133 .webform-submission-d7-133-form :where(.form-type-checkbox,.form-type-radio){display:flex;align-items:flex-start;gap:.6rem;min-height:42px;margin:0}
body.page-node-133 .webform-submission-d7-133-form :where(input[type="checkbox"],input[type="radio"]){flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.18rem;accent-color:#36449a}
body.page-node-133 .webform-submission-d7-133-form .webform-element-description{margin-top:.4rem;color:#636977;font-size:.875rem;line-height:1.5}
body.page-node-133 .webform-submission-d7-133-form .form-actions{margin:1.8rem 0 0}
body.page-node-133 .webform-submission-d7-133-form :where(.button,input[type="submit"]){min-height:50px;padding:.8rem 1.75rem;border:0;border-radius:7px;background:var(--gprs-yellow);color:#20264c!important;font-weight:800;cursor:pointer;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}
body.page-node-133 .webform-submission-d7-133-form :where(.button,input[type="submit"]):hover{background:#e3b600;box-shadow:0 8px 18px rgba(94,74,0,.18);transform:translateY(-1px)}
body.page-node-133 :where(.webform-submission-d7-133-form .form-item--error-message,.webform-submission-d7-133-form .messages--error,.webform-confirmation,.messages){overflow-wrap:anywhere}
body.page-node-133 .webform-submission-d7-133-form :where(.form-item--error-message,.messages--error){color:#9c1f1f;font-weight:700}
body.page-node-133 .webform-submission-d7-133-form .error{border-color:#b52626!important}
body.page-node-133 .content-bottom{margin-top:clamp(3rem,6vw,6rem);padding-block:clamp(3.5rem,7vw,6.5rem);border-top:1px solid #ded6a8;background:radial-gradient(circle at 12% 0%,#fff 0,transparent 34%),linear-gradient(145deg,#f7f8fc 0%,#fffbea 100%)}
body.page-node-133 .content-bottom>.container{width:min(calc(100% - 32px),var(--gprs-width))}
body.page-node-133 .contact-locations{margin:0}
body.page-node-133 .contact-locations__header{max-width:720px;margin:0 auto clamp(2rem,4vw,3.25rem);text-align:center}
body.page-node-133 .contact-locations__eyebrow{display:block;margin-bottom:.55rem;color:#3d4995;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body.page-node-133 .contact-locations .contact-locations__header .block-title{margin:0 0 .75rem;color:#252b54;font-size:clamp(2rem,4vw,3rem);line-height:1.15}
body.page-node-133 .contact-locations__header .block-title::after{display:block;width:62px;height:4px;margin:1rem auto 0;border-radius:999px;background:var(--gprs-yellow);content:""}
body.page-node-133 .contact-locations__header p{margin:0;color:#575d6b;font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.7}
body.page-node-133 .contact-locations__content{min-width:0}
body.page-node-133 .contact-locations .locations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.25rem)}
body.page-node-133 .contact-locations .location-card{--contact-card-pad:clamp(1.35rem,3vw,1.75rem);padding:var(--contact-card-pad);overflow:hidden;border:1px solid rgba(50,61,125,.16);border-top:5px solid var(--gprs-blue);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(31,39,80,.1)}
body.page-node-133 .contact-locations .location-card h3{font-size:clamp(1.25rem,2vw,1.55rem)}
body.page-node-133 .contact-locations .location-card h3::after{width:42px;height:4px;background:var(--gprs-yellow)}
body.page-node-133 .contact-locations .location-card iframe{display:block;width:calc(100% + var(--contact-card-pad) + var(--contact-card-pad));max-width:none;height:clamp(260px,28vw,340px);min-height:0;margin:auto calc(0px - var(--contact-card-pad)) calc(0px - var(--contact-card-pad));border:0;border-radius:0 0 17px 17px}
@media(max-width:760px){body.page-node-133 .webform-submission-d7-133-form{padding:1.15rem;border-radius:11px}body.page-node-133 .webform-submission-d7-133-form .webform-flexbox{display:block}body.page-node-133 .webform-submission-d7-133-form .webform-flex{width:100%!important}body.page-node-133 .webform-submission-d7-133-form :where(.form-checkboxes,.form-radios){grid-template-columns:1fr}body.page-node-133 .webform-submission-d7-133-form .form-actions :where(.button,input[type="submit"]){width:100%}}
@media(max-width:700px){body.page-node-133 .contact-locations .locations-grid{grid-template-columns:minmax(0,1fr)}body.page-node-133 .contact-locations .location-card iframe{height:230px}}
@media(max-width:430px){body.page-node-133 .content-bottom>.container{width:min(calc(100% - 24px),var(--gprs-width))}body.page-node-133 .contact-locations .location-card{padding:1.15rem}body.page-node-133 .contact-locations .location-card iframe{width:calc(100% + 2.3rem);height:200px;margin-right:-1.15rem;margin-bottom:-1.15rem;margin-left:-1.15rem}body.page-node-133 .webform-submission-d7-133-form{padding:1rem}}
@media(prefers-reduced-motion:reduce){body.page-node-133 .webform-submission-d7-133-form :where(.button,input[type="submit"]){transition:none}body.page-node-133 .webform-submission-d7-133-form :where(.button,input[type="submit"]):hover{transform:none}}

/* About Us: semantic, responsive presentation for node 132. */
body.page-node-132 .layout{padding-block:clamp(2rem,4vw,4rem)}
body.page-node-132 .main-column{min-width:0}
body.page-node-132 .about-us{--about-border:#dfe2eb;--about-ink:#252b54;--about-muted:#565d6d;max-width:100%;overflow:hidden}
body.page-node-132 .about-us-page{display:grid;gap:clamp(3.5rem,7vw,6.5rem);font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.75}
body.page-node-132 .about-us-page :where(h2,h3){color:var(--about-ink);text-align:left}
body.page-node-132 .about-us-page h2{margin:.2rem 0 1.15rem;font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.13}
body.page-node-132 .about-us-page h3{margin:0 0 .65rem;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.3}
body.page-node-132 .about-us-page p{margin:0 0 1.15rem;color:var(--about-muted)}
body.page-node-132 .about-us-eyebrow{margin:0 0 .55rem!important;color:#3c4996!important;font-size:.78rem!important;font-weight:800;letter-spacing:.14em;line-height:1.4!important;text-transform:uppercase}
body.page-node-132 .about-us-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(2rem,5vw,4.5rem)}
body.page-node-132 .about-us-intro__copy{padding-left:clamp(1rem,2.5vw,1.75rem);border-left:5px solid var(--gprs-yellow)}
body.page-node-132 .about-us-intro__media{margin:0;overflow:hidden;border-radius:16px;box-shadow:0 18px 42px rgba(31,39,80,.16)}
body.page-node-132 .about-us-intro__media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.page-node-132 .about-us-license{display:inline-block;margin:.2rem 0 1.2rem;padding:.35rem .7rem;border-radius:4px;background:#f1f2f8;color:#343d7f!important;font-size:.88rem;font-weight:700}
body.page-node-132 .about-us-link{font-weight:800;text-decoration:underline;text-decoration-color:var(--gprs-yellow);text-decoration-thickness:3px;text-underline-offset:4px}
body.page-node-132 .about-us-history{padding:clamp(1.5rem,4vw,3.25rem);border:1px solid var(--about-border);border-radius:18px;background:linear-gradient(145deg,#fff 0%,#f6f7fb 100%);box-shadow:0 14px 36px rgba(31,39,80,.08)}
body.page-node-132 .about-us-history__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem)}
body.page-node-132 .about-us-section-heading{max-width:650px;margin:0 auto 2rem;text-align:center}
body.page-node-132 .about-us-section-heading h2{text-align:center}
body.page-node-132 .about-us-memberships__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem)}
body.page-node-132 .about-us-membership-card{display:flex;min-height:220px;align-items:center;justify-content:center;padding:2rem;border:1px solid var(--about-border);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(31,39,80,.08)}
body.page-node-132 .about-us-membership-card img{display:block;width:auto;max-width:100%;height:auto;max-height:150px;object-fit:contain}
body.page-node-132 .about-us-membership-card:hover{text-decoration:none;box-shadow:0 14px 34px rgba(31,39,80,.13)}
body.page-node-132 .about-us-partner{max-width:900px;margin-inline:auto;text-align:center}
body.page-node-132 .about-us-partner h2{text-align:center}
body.page-node-132 .about-us-lead{color:#363d56!important;font-size:clamp(1.08rem,1.8vw,1.28rem);font-weight:600}
body.page-node-132 .about-us-section{min-width:0}
body.page-node-132 .about-us-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.6rem);margin-top:2rem}
body.page-node-132 .about-us-card{padding:clamp(1.2rem,3vw,1.75rem);border:1px solid var(--about-border);border-top:5px solid var(--gprs-blue);border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(31,39,80,.07)}
body.page-node-132 .about-us-card p{margin:0}
body.page-node-132 .about-us-why{padding:clamp(1.5rem,4vw,3rem);border-radius:18px;background:#303b8e;color:#fff}
body.page-node-132 .about-us-why h2{color:#fff}
body.page-node-132 .about-us-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:1.5rem 0 0;padding:0;list-style:none}
body.page-node-132 .about-us-checklist li{position:relative;padding-left:1.8rem;color:#fff}
body.page-node-132 .about-us-checklist li::before{position:absolute;left:0;color:var(--gprs-yellow);font-weight:900;content:"✓"}
body.page-node-132 .about-us-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);overflow:hidden;border:1px solid var(--about-border);border-radius:18px;background:#f7f8fb}
body.page-node-132 .about-us-cta__copy{padding:clamp(1.5rem,4vw,3rem)}
body.page-node-132 .about-us-cta>img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}
body.page-node-132 .about-us-cta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.5rem}
body.page-node-132 .about-us-cta .button{min-height:48px;padding:.75rem 1.35rem;border-radius:6px;background:var(--gprs-yellow);color:#20264c!important;font-weight:800}
body.page-node-132 .about-us-page :where(a,.about-us-membership-card):focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:4px}
@media(max-width:900px){body.page-node-132 .about-us-intro,body.page-node-132 .about-us-cta{grid-template-columns:1fr}body.page-node-132 .about-us-intro__media{max-width:680px;order:-1}body.page-node-132 .about-us-cta>img{min-height:0;max-height:430px;order:-1}body.page-node-132 .about-us-history__columns{grid-template-columns:1fr}}
@media(max-width:640px){body.page-node-132 .about-us-page{gap:3.4rem}body.page-node-132 .about-us-card-grid,body.page-node-132 .about-us-memberships__grid,body.page-node-132 .about-us-checklist{grid-template-columns:1fr}body.page-node-132 .about-us-membership-card{min-height:170px;padding:1.4rem}body.page-node-132 .about-us-intro__copy{padding-left:1rem}body.page-node-132 .about-us-cta__actions .button{width:100%;text-align:center}}

/* Locations page: enhance the managed legacy body without duplicating its content. */
body.page-node-134 .page-heading{padding-block:clamp(1.75rem,4vw,3rem);background:linear-gradient(135deg,#f5f6fb 0%,#fffbea 100%);border-bottom:1px solid #e0e2ea}
body.page-node-134 .page-heading h1{color:#252b54;font-size:clamp(2rem,4.4vw,3.35rem);line-height:1.12;text-align:left}
body.page-node-134 .layout{padding-block:clamp(2.25rem,5vw,4.75rem)}
body.page-node-134 .main-column{min-width:0}
body.page-node-134 .locations-page{--locations-border:#dfe2eb;--locations-ink:#252b54;--locations-muted:#565d6d;max-width:100%;min-width:0}
body.page-node-134 .locations-page__intro{max-width:760px;margin:0 0 clamp(2rem,4vw,3.25rem);padding-left:clamp(1rem,2.5vw,1.6rem);border-left:5px solid var(--gprs-yellow)}
body.page-node-134 .locations-page__eyebrow{display:block;margin-bottom:.45rem;color:#3c4996;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
body.page-node-134 .locations-page__intro p{margin:0;color:var(--locations-muted);font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.7}
body.page-node-134 .locations-page__body{min-width:0}
body.page-node-134 .locations-page__body .locations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.25rem)}
body.page-node-134 .locations-page__body .locations-grid>hr{display:none}
body.page-node-134 .location-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;margin:0;border:1px solid var(--locations-border);border-top:5px solid var(--gprs-blue);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(31,39,80,.1);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
body.page-node-134 .location-card__body{padding:clamp(1.35rem,3vw,1.8rem)}
body.page-node-134 .location-card__header{margin:0 0 1.15rem;color:var(--locations-ink);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.25;text-align:left}
body.page-node-134 .location-card__header::after{display:block;width:42px;height:4px;margin-top:.75rem;border-radius:999px;background:var(--gprs-yellow);content:""}
body.page-node-134 .location-card__body p{margin:0;color:var(--locations-muted);font-size:1rem;line-height:1.75;overflow-wrap:anywhere}
body.page-node-134 .location-card__spacer{display:none}
body.page-node-134 .location-card__map{display:flex;min-height:clamp(240px,28vw,330px);margin-top:auto}
body.page-node-134 .location-card__map>br,body.page-node-134 .location-card__map>p{display:none}
body.page-node-134 .location-card iframe{display:block;width:100%!important;max-width:100%;height:100%!important;min-height:clamp(240px,28vw,330px);border:0!important}
body.page-node-134 .location-card a{color:#34418e;font-weight:700;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
body.page-node-134 .location-card a:hover{color:#765c0f;text-decoration-color:currentColor}
body.page-node-134 .location-card a:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}

/* Reusable long-form content typography. Keep managed Drupal body content
   consistent across standard pages; feature components may layer layout on top. */
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child){color:#555;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.7}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(h1,h2,h3,h4,h5,h6){margin:1.65em 0 .65em;color:var(--gprs-dark);font-family:inherit;font-weight:700;line-height:1.25;text-align:left}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) h1{font-size:clamp(2rem,4vw,3rem)}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) h2{font-size:clamp(1.55rem,3vw,2.15rem)}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) h3{font-size:clamp(1.3rem,2.3vw,1.7rem)}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(h4,h5,h6){font-size:1.1rem}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(p,ul,ol,table){margin-block:0 1.25rem}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(ul,ol){padding-left:1.4em}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) li+li{margin-top:.45rem}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) a{color:#36428d;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) a:hover{color:#27337f;text-decoration-thickness:.13em}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(strong,b){color:#333;font-weight:700}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(em,i){font-style:italic}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) table{width:100%;border-collapse:collapse;background:#fff}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) :where(th,td){padding:.8rem 1rem;border:1px solid #dfe2eb;text-align:left;vertical-align:top}
.main-content :where(#block-gprs-main) :where(.field--name-body,article>div>div:last-child) th{background:#f2f3f8;color:#252b54;font-weight:700}

/* Privacy Policy: a restrained, readable long-form legal document. */
#block-gprs-main .privacy-policy{max-width:940px;margin:0 auto clamp(2.5rem,5vw,4.5rem)}
#block-gprs-main .privacy-policy>div>div:last-child{min-width:0;padding:clamp(1.5rem,4vw,3.25rem);overflow-wrap:anywhere;border:1px solid #dfe2eb;border-top:5px solid var(--gprs-blue);border-radius:16px;background:linear-gradient(145deg,#fff 0%,#fafafd 100%);box-shadow:0 14px 36px rgba(31,39,80,.08);color:#515766;font-size:clamp(1rem,1.15vw,1.075rem);line-height:1.78}
#block-gprs-main .privacy-policy>div>div:last-child>:first-child{margin-top:0}
#block-gprs-main .privacy-policy>div>div:last-child>:last-child{margin-bottom:0}
#block-gprs-main .privacy-policy :where(h2,h3,h4,h5,h6){position:relative;margin:2.1em 0 .7em;color:#252b54;font-weight:700;line-height:1.25}
#block-gprs-main .privacy-policy h4{padding-bottom:.65rem;border-bottom:1px solid #e2e4ec;font-size:clamp(1.2rem,2vw,1.45rem)}
#block-gprs-main .privacy-policy h4::after{position:absolute;bottom:-1px;left:0;width:44px;height:3px;border-radius:999px;background:var(--gprs-yellow);content:""}
#block-gprs-main .privacy-policy :where(p,ul,ol,table){margin:0 0 1.25rem}
#block-gprs-main .privacy-policy :where(ul,ol){padding-left:1.55em}
#block-gprs-main .privacy-policy li{padding-left:.2em}
#block-gprs-main .privacy-policy li+li{margin-top:.65rem}
#block-gprs-main .privacy-policy a{color:#34418e;font-weight:600;text-decoration-color:#a68a1f;text-decoration-thickness:.09em;text-underline-offset:.2em}
#block-gprs-main .privacy-policy a:hover{color:#26347f;text-decoration-thickness:.14em}
#block-gprs-main .privacy-policy a:focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}
#block-gprs-main .privacy-policy strong{color:#34394a}
#block-gprs-main .privacy-policy table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;background:#fff}
#block-gprs-main .privacy-policy :where(th,td){min-width:8rem;padding:.8rem 1rem;border:1px solid #dfe2eb;text-align:left;vertical-align:top}
#block-gprs-main .privacy-policy th{background:#f2f3f8;color:#252b54}
@media(max-width:640px){#block-gprs-main .privacy-policy>div>div:last-child{padding:1.25rem;border-radius:12px;font-size:1rem;line-height:1.72}#block-gprs-main .privacy-policy :where(h2,h3,h4,h5,h6){margin-top:1.8em}#block-gprs-main .privacy-policy h4{font-size:1.2rem}#block-gprs-main .privacy-policy :where(ul,ol){padding-left:1.35em}}

/* Holidays Observed: Body field list items are presented by node--4104.html.twig. */
body.page-node-4104 #block-gprs-main{width:100%;max-width:1120px;margin:0 auto clamp(2.5rem,6vw,5rem)}
.holidays-observed{min-width:0}
.holidays-observed__intro{max-width:760px;margin:0 0 clamp(1.8rem,4vw,3rem)}
.holidays-observed__eyebrow{margin:0 0 .55rem;color:#5965a5;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.holidays-observed__intro h2{margin:0 0 .8rem;color:#252b54;font-size:clamp(1.65rem,3.2vw,2.45rem);font-weight:700;line-height:1.18;text-align:left}
.holidays-observed__intro>p:last-child{margin:0;color:#565c6b;font-size:1.05rem;line-height:1.7}
.holidays-observed__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin:0;padding:0;list-style:none}
.holiday-card{position:relative;display:flex;min-width:0;min-height:112px;align-items:center;gap:16px;margin:0;padding:22px;border:1px solid #dfe2eb;border-radius:14px;background:linear-gradient(145deg,#fff,#f8f9fc);box-shadow:0 8px 24px #252b4a0d;transition:border-color .2s,box-shadow .2s,transform .2s}
.holiday-card::before{position:absolute;top:0;left:22px;width:44px;height:4px;border-radius:0 0 4px 4px;background:var(--gprs-yellow);content:""}
.holiday-card__icon{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;border:1px solid #d9ddec;border-radius:12px;background:#eef0fa}
.holiday-card__icon img{display:block;width:28px;height:28px}
.holiday-card__title{min-width:0;margin:0;color:#283275;font-size:1.05rem;font-weight:700;line-height:1.4;text-align:left;overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.holiday-card:hover{border-color:#aeb5d1;box-shadow:0 14px 32px #252b4a1a;transform:translateY(-3px)}}
@media(max-width:1024px){.holidays-observed__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.holidays-observed__grid{grid-template-columns:minmax(0,1fr);gap:14px}.holiday-card{min-height:96px;padding:18px}.holiday-card::before{left:18px}.holiday-card__icon{width:46px;height:46px;flex-basis:46px}.holidays-observed__intro>p:last-child{font-size:1rem}}
@media(max-width:430px){.holiday-card{gap:13px;padding:16px;border-radius:12px}.holiday-card::before{left:16px}.holiday-card__title{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.holiday-card{transition:none}.holiday-card:hover{transform:none}}
@media(hover:hover) and (pointer:fine){body.page-node-134 .location-card:hover{border-color:rgba(72,84,165,.34);box-shadow:0 18px 42px rgba(31,39,80,.15);transform:translateY(-3px)}}
@media(max-width:700px){body.page-node-134 .locations-page__body .locations-grid{grid-template-columns:minmax(0,1fr)}body.page-node-134 .location-card__map,body.page-node-134 .location-card iframe{min-height:230px}}
@media(max-width:430px){body.page-node-134 .location-card{border-radius:13px}body.page-node-134 .location-card__body{padding:1.15rem}body.page-node-134 .location-card__map,body.page-node-134 .location-card iframe{min-height:205px}}
@media(prefers-reduced-motion:reduce){body.page-node-134 .location-card{transition:none}body.page-node-134 .location-card:hover{transform:none}}

/* Resources directory. */
.resources-directory{max-width:1120px;margin:0 auto clamp(2.5rem,6vw,5rem)}
.resources-directory__intro{max-width:760px;margin:0 0 clamp(1.8rem,4vw,3rem)}
.resources-directory__eyebrow,.resource-card__type,.manufacturers-view__eyebrow{margin:0 0 .55rem;color:#5965a5;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.resources-directory__intro h2{margin:0 0 .8rem;color:#252b54;font-size:clamp(1.65rem,3.2vw,2.45rem);line-height:1.18;text-align:left}
.resources-directory__intro>p:last-child,.manufacturers-view__intro>p:last-child{margin:0;color:#565c6b;font-size:1.05rem;line-height:1.7}
.resources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.resource-card{position:relative;display:flex;min-width:0;min-height:240px;flex-direction:column;padding:25px 24px;border:1px solid #dfe2eb;border-radius:14px;background:linear-gradient(145deg,#fff,#f8f9fc);box-shadow:0 8px 24px #252b4a0d;transition:border-color .2s,box-shadow .2s,transform .2s}
.resource-card::before{position:absolute;top:0;left:24px;width:46px;height:4px;border-radius:0 0 4px 4px;background:var(--gprs-yellow);content:""}
.resource-card:hover{transform:translateY(-3px);border-color:#aeb5d1;box-shadow:0 14px 32px #252b4a1a}
.resource-card:focus-within{outline:3px solid var(--gprs-yellow);outline-offset:4px}
.resource-card h3{margin:0 0 .8rem;color:#283275;font-size:1.25rem;line-height:1.3;text-align:left}
.resource-card h3 a{color:inherit;text-decoration:none}
.resource-card h3 a::after{position:absolute;inset:0;border-radius:14px;content:""}
.resource-card h3 a:focus-visible{outline:0}
.resource-card p:not(.resource-card__type){margin:0 0 1.2rem;color:#5c6170;line-height:1.6}
.resource-card__cta{margin-top:auto;color:#35418f;font-weight:800}
.resource-card--featured{border-color:#8993c6;background:linear-gradient(145deg,#f5f6ff,#eceef9)}

/* Dynamic manufacturer Views directory. */
.view-manufacturers-directory{max-width:1120px;margin:0 auto clamp(2.5rem,6vw,5rem)}
.manufacturers-view__intro{max-width:760px;margin:0 0 clamp(1.8rem,4vw,3rem)}
.manufacturers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.manufacturer-card{position:relative;display:flex;min-width:0;min-height:300px;flex-direction:column;overflow:hidden;border:1px solid #dfe2eb;border-radius:14px;background:#fff;box-shadow:0 8px 24px #252b4a0d;transition:border-color .2s,box-shadow .2s,transform .2s}
.manufacturer-card:hover{transform:translateY(-3px);border-color:#aeb5d1;box-shadow:0 14px 32px #252b4a1a}
.manufacturer-card:focus-within{outline:3px solid var(--gprs-yellow);outline-offset:4px}
.manufacturer-card__logo{display:flex;min-height:220px;flex:1;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:#f7f8fb}
.manufacturer-card__logo .field-content,.manufacturer-card__logo a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.manufacturer-card__logo img{display:block;width:auto;max-width:100%;height:auto;max-height:180px;object-fit:contain}
.manufacturer-card__title{margin:0!important;padding:18px 20px;color:#283275!important;font-size:1.1rem!important;line-height:1.35;text-align:left!important}
.manufacturer-card__title a{color:inherit;text-decoration:none}
.manufacturer-card__title a::after{position:absolute;inset:0;border-radius:14px;content:""}
.manufacturer-card__title a:focus-visible,.manufacturer-card__logo a:focus-visible{outline:0}
.manufacturers-view__empty{padding:32px;border:1px dashed #aeb5d1;border-radius:10px;background:#f7f8fc;text-align:center}
@media(max-width:1024px){body.page-node-3924 .resources-grid,.manufacturers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.page-node-3924 .resources-grid,.manufacturers-grid{grid-template-columns:minmax(0,1fr);gap:16px}.resource-card{min-height:0;padding:22px 20px}.manufacturer-card{min-height:260px}.manufacturer-card__logo{min-height:185px}}
@media(prefers-reduced-motion:reduce){.resource-card,.manufacturer-card{transition:none}.resource-card:hover,.manufacturer-card:hover{transform:none}}

/* Videos: provider-backed players and a dynamic Views card grid. */
.video-listing,.video-detail{max-width:1120px;margin:0 auto clamp(2.5rem,6vw,5rem)}
.video-listing__intro{max-width:760px;margin:0 0 clamp(1.8rem,4vw,3rem)}
.video-listing__eyebrow{margin:0 0 .55rem;color:#5965a5;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.video-listing__intro h2,.video-detail__title{margin:0 0 .8rem;color:#252b54;font-size:clamp(1.8rem,3.6vw,2.75rem);line-height:1.16;text-align:left}
.video-listing__intro>p:last-child{margin:0;color:#565c6b;font-size:1.05rem;line-height:1.7}
.video-grid{display:grid;width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.video-card{position:relative;display:flex;min-width:0;height:100%;overflow:hidden;flex-direction:column;border:1px solid #dfe2eb;border-radius:14px;background:#fff;box-shadow:0 8px 24px #252b4a0d;transition:border-color .2s,box-shadow .2s,transform .2s}
.video-card:hover{border-color:#aeb5d1;box-shadow:0 14px 32px #252b4a1a;transform:translateY(-3px)}
.video-card:focus-within{outline:3px solid var(--gprs-yellow);outline-offset:4px}
.video-card__media{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#171b35}
.video-card__thumbnail,.video-card__thumbnail .field,.video-card__thumbnail .field__item,.video-card__thumbnail a{display:block;width:100%;height:100%}
.video-card__thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.video-card:hover .video-card__thumbnail img{transform:scale(1.035)}
.video-card__play{position:absolute;top:50%;left:50%;width:58px;height:58px;border:3px solid #fff;border-radius:50%;background:rgba(37,43,84,.84);box-shadow:0 6px 18px #0005;pointer-events:none;transform:translate(-50%,-50%)}
.video-card__play::after{position:absolute;top:50%;left:53%;border-width:10px 0 10px 16px;border-style:solid;border-color:transparent transparent transparent #fff;content:"";transform:translate(-50%,-50%)}
.video-card__content{display:flex;flex:1;flex-direction:column;padding:22px 22px 24px}
.video-card__title{margin:0 0 .75rem;color:#283275;font-size:1.2rem;line-height:1.32;text-align:left}
.video-card__title a{color:inherit;text-decoration:none}
.video-card__summary{display:-webkit-box;overflow:hidden;margin-bottom:1rem;color:#5c6170;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.video-card__summary :where(p,div){margin:0}.video-card__link{align-self:flex-start;margin-top:auto;color:#35418f;font-weight:800;text-decoration:none}
.video-card :where(a):focus-visible{outline:3px solid var(--gprs-yellow);outline-offset:3px}
.video-detail__header{max-width:900px;margin-bottom:1.5rem}.video-detail__player{overflow:hidden;margin-bottom:clamp(1.5rem,4vw,2.75rem);border-radius:16px;background:#171b35;box-shadow:0 16px 38px #1f275026}
.video-detail__player .video-embed-field-responsive-video{margin:0}.video-detail__player iframe{display:block;max-width:100%;border:0}
.video-detail__content{max-width:900px;color:#565c6b;font-size:1.03rem;line-height:1.75}
@media(max-width:700px){.video-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}.video-card__content{padding:19px}.video-card__play{width:50px;height:50px}.video-detail__player{border-radius:11px}}
@media(prefers-reduced-motion:reduce){.video-card,.video-card__thumbnail img{transition:none}.video-card:hover{transform:none}.video-card:hover .video-card__thumbnail img{transform:none}}
