/* =========================================================
   RC base layer — reproduces the live site's Elementor/Hello
   defaults on top of Divi so the per-element styles below
   land the same way. Brand tokens are in :root.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');
:root{
  --rc-primary:#2985C8; --rc-secondary:#1A2B49; --rc-text:#4B5563; --rc-accent:#C9A84C;
  --rc-blue:#1976D2; --rc-sky:#5AB4F0; --rc-navy:#0D1E35; --rc-blue-dark:#1E6FA8; --rc-ink:#0A0F1A; --rc-light:#FAFAFA;
}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#333;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
#page-container .rc-sec{font-size:16px;line-height:1.5;color:#333;}
#page-container .rc-sec *,#page-container .rc-sec *::before,#page-container .rc-sec *::after{box-sizing:border-box;}

/* ---------- Divi structure resets ---------- */
#page-container :where(.et_pb_section).rc-sec{padding:0;display:flex;flex-direction:column;align-items:center;}
#page-container :where(.rc-sec > .et_pb_row){width:100%;margin-left:auto;margin-right:auto;}
#page-container :where(.rc-sec > .et_pb_row:not(.rc-c)){padding:0;}
#page-container :where(.rc-row)::after{display:none;}
#page-container :where(.rc-row) > .et_pb_column{float:none;margin:0 !important;width:100%;min-width:0;}
#page-container :where(.rc-row.rc-dr) > .et_pb_column{width:100%;flex:0 1 auto;}
/* Divi gives columns min-height:1px; Elementor containers keep the automatic minimum so flex items never collapse below their content */
#page-container :where(.rc-row > .et_pb_column){min-height:auto;}
#page-container .rc-col .et_pb_module{margin:0 !important;}
#page-container :where(.rc-c){display:flex;flex-direction:column;gap:20px;padding:10px;position:relative;min-width:0;}
#page-container :where(.et_pb_row.rc-row:not(.rc-c)){display:flex;flex-direction:column;padding:0;}
#page-container :where(.rc-col:not(.rc-c)){display:flex;flex-direction:column;gap:20px;padding:0;}
#page-container :where(.rc-c:not(.rc-dr) > *){width:100%;}
#page-container :where(.rc-dr){flex-direction:row;}
#page-container :where(.rc-c.rc-dr > *){flex:0 1 auto;}
#page-container .rc-tm,#page-container .rc-tm .et_pb_text_inner{padding:0;line-height:inherit;color:inherit;font-size:inherit;font-weight:inherit;}
/* Text-module wrappers are layout-transparent on the front end so their contents act as the
   flex items of the column (the way Elementor widgets did). In the Visual Builder they stay boxes. */
body:not(.et-fb):not(.et-vb) #page-container .rc-tm,body:not(.et-fb):not(.et-vb) #page-container .rc-tm > .et_pb_text_inner{display:contents;}
#page-container :where(.rc-c:not(.rc-dr) > .rc-tm > .et_pb_text_inner > *){width:100%;}
#page-container :where(.rc-c.rc-dr > .rc-tm > .et_pb_text_inner > *){flex:0 1 auto;}

/* image placeholders that were background-image containers */
#page-container .rc-bgimg{padding:0;overflow:hidden;}
/* image placeholders behave like Elementor background containers: the image never sets the height */
#page-container .rc-bgimg{position:relative;}
#page-container .rc-bgimg .et_pb_image_wrap,#page-container .rc-bgimg > img{position:absolute;inset:0;display:block;width:100%;height:100%;}
#page-container .rc-bgimg img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block;}
#page-container .et_pb_image.rc-fill{padding:0;margin:0;flex:1 1 auto;min-height:inherit;height:100%;}
#page-container .rc-col:has(> .rc-fill){padding:0;}

/* ---------- Elementor widget defaults (kit) ---------- */
#page-container .rc-hw{font-family:"Inter",sans-serif;font-weight:700;color:var(--rc-primary);line-height:1;margin:0;padding:0;}
#page-container h1.rc-hw{font-size:2.5rem}#page-container h2.rc-hw{font-size:2rem}#page-container h3.rc-hw{font-size:1.75rem}
#page-container h4.rc-hw{font-size:1.5rem}#page-container h5.rc-hw{font-size:1.25rem}#page-container h6.rc-hw{font-size:1rem}
#page-container p.rc-hw,#page-container div.rc-hw,#page-container span.rc-hw{font-size:1rem;}
#page-container .rc-te{font-family:"Inter",sans-serif;font-weight:400;color:var(--rc-text);font-size:16px;line-height:1.5;}
#page-container .rc-te p{margin:0 0 .9rem;padding:0;line-height:inherit;font-size:inherit;color:inherit;}
#page-container .rc-te :is(h1,h2,h3,h4,h5,h6){color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin:.5rem 0 1rem;padding:0;}
#page-container .rc-te h1{font-size:2.5rem}#page-container .rc-te h2{font-size:2rem}#page-container .rc-te h3{font-size:1.75rem}#page-container .rc-te h4{font-size:1.5rem}
#page-container .rc-te ul,#page-container .rc-te ol{margin:0;padding:0 0 0 40px;line-height:inherit;}
#page-container .rc-te ul{list-style:disc;}
#page-container .rc-te li{padding:0;}
#page-container .rc-te a{color:#c36;text-decoration:none;}
#page-container .rc-te a:hover{color:#336;}
#page-container .rc-te strong,#page-container .rc-te b{font-weight:bolder;}
#page-container .rc-img img,#page-container .et_pb_image.rc-img img{max-width:100%;height:auto;vertical-align:middle;display:inline-block;}

/* buttons (Elementor button widget + kit) — works for text-module links and Divi button modules */
#page-container a.rc-btn,#page-container .et_pb_button.rc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--rc-accent);color:#fff;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px;font-weight:600;line-height:1 !important;padding:12px 24px;border:none;border-radius:3px;text-align:center;text-decoration:none;transition:all .3s;letter-spacing:normal;}
#page-container .et_pb_button.rc-btn:hover{padding:12px 24px;}
#page-container .et_pb_button.rc-btn::after,#page-container .et_pb_button.rc-btn::before{display:none;}
#page-container .rc-btn .rc-bi{display:inline-flex;}
#page-container .rc-btn .rc-bi svg{width:1em;height:1em;fill:currentColor;}
#page-container .et_pb_button.rc-ico::before{display:inline-block !important;position:static;opacity:1;margin:0;font-family:ETmodules !important;font-size:1em;line-height:1;content:"";order:-1;}
#page-container .et_pb_button.rc-ico-phone::before,#page-container .et_pb_button.rc-ico-phone-alt::before{content:"\e090";}
#page-container .et_pb_button.rc-ico-arrow-right::before{content:"\24";order:2;}
#page-container .et_pb_button.rc-ico-calendar-alt::before,#page-container .et_pb_button.rc-ico-calendar::before{content:"\e023";}
#page-container .et_pb_button.rc-ico-envelope::before{content:"\e076";}
#page-container .et_pb_button_module_wrapper{line-height:0;}

/* icon list (check-circle) */
#page-container .rc-il{list-style:none;margin:0;padding:0;}
#page-container .rc-il li{display:flex;align-items:center;gap:5px;margin:0;padding:0;position:relative;color:var(--rc-secondary);line-height:1.5;}
#page-container .rc-il li::before{content:"";flex:none;width:var(--rc-il-size,1em);height:var(--rc-il-size,1em);margin-right:0;background-color:var(--rc-primary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E") center/contain no-repeat;}
#page-container .rc-il a{color:inherit;display:flex;align-items:center;}

/* accordion (Elementor accordion look on Divi toggles) */
#page-container .rc-acc .et_pb_toggle{border:1px solid #d5d8dc;margin:0;padding:0;background:transparent;}
#page-container .rc-acc .et_pb_toggle + .et_pb_toggle{border-top:none;}
#page-container .rc-acc .et_pb_toggle_title{font-family:"Inter",sans-serif;font-weight:700;line-height:1;margin:0;padding:15px 44px 15px 20px;color:var(--rc-primary);font-size:16px;cursor:pointer;position:relative;}
#page-container .rc-acc .et_pb_toggle_title::before{right:16px;color:inherit;font-size:16px;margin-top:-8px;content:"\33";}
#page-container .rc-acc .et_pb_toggle_open .et_pb_toggle_title::before{display:block;content:"\32";}
#page-container .rc-acc .et_pb_toggle_content{border-top:1px solid #d5d8dc;padding:15px 20px;font-size:16px;line-height:1.5;color:var(--rc-text);}
#page-container .rc-acc .et_pb_toggle_content p{padding:0;margin:0 0 .9rem;}
#page-container .rc-acc .et_pb_toggle_content p:last-child{margin:0;}
@media (max-width:767px){#page-container .rc-acc .et_pb_toggle_title{padding:12px 40px 12px 15px}#page-container .rc-acc .et_pb_toggle_content{padding:7px 15px}}

/* Elementor mobile behaviour: containers go full width and wrap */
@media (max-width:767px){
  #page-container :where(.rc-c:not(.rc-sec)){width:100%;}
  #page-container :where(.rc-dr){flex-wrap:wrap;}
}

/* Elementor per-device visibility, carried over as utility classes (mobile <=767, tablet 768-1024, desktop >=1025).
   The Visual Builder always shows everything so hidden items stay editable. */
@media (max-width:767px){body:not(.et-fb):not(.et-vb) #page-container .rc-hide-m{display:none !important;}}
@media (min-width:768px) and (max-width:1024px){body:not(.et-fb):not(.et-vb) #page-container .rc-hide-t{display:none !important;}}
@media (min-width:1025px){body:not(.et-fb):not(.et-vb) #page-container .rc-hide-d{display:none !important;}}

/* =========================================================
   Converted raw-HTML blocks (industry pages, service areas, home)
   ========================================================= */
#page-container .rc-blkrow{line-height:1.5;font-size:16px;color:#333;}
#page-container .rc-blkrow .et_pb_text,#page-container .rc-blkrow .et_pb_text_inner{line-height:inherit;color:inherit;font-size:inherit;}
#page-container .rc-blkrow :is(h1,h2,h3,h4,h5,h6){padding:0;font-family:"Inter",sans-serif;font-weight:500;line-height:1.2;color:inherit;}
#page-container .rc-blkrow p{padding:0;}
#page-container .rc-blkrow > .et_pb_column{padding:0;}
#page-container .rc-blkrow .et_pb_image{display:block;margin:0 !important;}
#page-container .rc-blkrow .et_pb_image .et_pb_image_wrap{display:block;width:100%;height:100%;}
#page-container .rc-blkrow svg{display:block;}
#page-container .rc-blkrow a{text-decoration:none;}

/* industry: "Built for ..." image + badge + icon grid */
#page-container .et_pb_row.rcmo{display:flex;flex-direction:row;flex-wrap:wrap;background:#fff;border-top:1px solid #f3f4f6;}
#page-container .rcmo > .rcmo-img{position:relative;flex:1 1 50%;width:auto;min-height:440px;}
#page-container .rcmo-img .rcmo-photo{position:absolute;inset:0;}
#page-container .rcmo-img .rcmo-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#page-container .rcmo-badge{position:absolute;top:40px;right:40px;z-index:2;background:rgba(26,43,73,.9);color:#fff;padding:28px 32px;border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:300px;}
#page-container .rcmo-badge .lines{display:flex;align-items:flex-start;gap:16px;}
#page-container .rcmo-badge .plus{font-size:2.5rem;font-weight:300;line-height:1;}
#page-container .rcmo-badge .lines b{display:block;font-size:1.25rem;font-weight:600;letter-spacing:.05em;margin-bottom:4px;}
#page-container .rcmo > .rcmo-txt{flex:1 1 50%;width:auto;padding:48px 32px;display:flex;flex-direction:column;justify-content:center;}
@media(min-width:1024px){#page-container .rcmo > .rcmo-txt{padding:80px;}}
#page-container .rcmo-txt h2.rcmo-h{font-size:2.25rem;font-weight:700;color:#1a2b49;margin:0 0 16px;line-height:1.15;}
#page-container .rcmo-txt .intro{color:#4b5563;font-size:1.125rem;margin:0 0 40px;}
#page-container .rcmo-grid{display:grid;grid-template-columns:1fr;gap:28px;}
@media(min-width:640px){#page-container .rcmo-grid{grid-template-columns:1fr 1fr;}}
#page-container .rcmo-item{display:flex;align-items:center;gap:16px;}
#page-container .rcmo-ic{width:48px;height:48px;border-radius:9999px;background:#eff6ff;color:#2985c8;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#page-container .rcmo-ic svg{width:24px;height:24px;}
#page-container .rcmo-item span{font-weight:600;color:#1a2b49;}

/* industry: benefits checklist + curved image */
#page-container .et_pb_row.rcch{display:flex;flex-direction:row;flex-wrap:wrap;background:#f0f7fd;overflow:hidden;}
#page-container .rcch > .rcch-txt{flex:1 1 50%;width:auto;padding:48px 32px;display:flex;flex-direction:column;justify-content:center;}
@media(min-width:1024px){#page-container .rcch > .rcch-txt{padding:80px;}}
#page-container .rcch-txt h2.rcch-h{font-size:2.25rem;font-weight:700;color:#1a2b49;margin:0 0 16px;line-height:1.15;}
#page-container .rcch-txt .intro{color:#4b5563;font-size:1.125rem;margin:0 0 40px;}
#page-container .rcch-grid{display:grid;grid-template-columns:1fr;gap:16px 32px;}
@media(min-width:640px){#page-container .rcch-grid{grid-template-columns:1fr 1fr;}}
#page-container .rcch-item{display:flex;align-items:center;gap:12px;}
#page-container .rcch-ck{width:20px;height:20px;border-radius:9999px;background:#2985c8;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#page-container .rcch-ck svg{width:12px;height:12px;}
#page-container .rcch-lbl{color:#1a2b49;font-weight:500;font-size:.9rem;}
#page-container .rcch > .rcch-imgwrap{flex:1 1 50%;width:auto;position:relative;min-height:420px;}
#page-container .rcch-imgwrap .rcch-photo{position:absolute;inset:0;background:#fff;clip-path:ellipse(100% 100% at 100% 50%);}
#page-container .rcch-imgwrap .rcch-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
@media(max-width:1023px){#page-container .rcch-imgwrap .rcch-photo{clip-path:none;}}

/* industry: three benefit cards */
#page-container .rc-sec:has(> .rcbc-headrow){padding:80px 16px;background:#fff;gap:0;}
#page-container .et_pb_row.rcbc-headrow{max-width:1280px;margin:0 auto 64px;text-align:center;}
#page-container .rcbc-head h2{font-size:2rem;font-weight:700;color:#1a2b49;display:inline-block;position:relative;margin:0;padding-bottom:18px;}
#page-container .rcbc-head h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:64px;height:4px;background:#2985c8;}
#page-container .et_pb_row.rcbc-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:1280px;margin:0 auto;}
@media(min-width:768px){#page-container .et_pb_row.rcbc-grid{grid-template-columns:repeat(3,1fr);}}
#page-container .rcbc-grid > .rcbc-card{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:background-color .3s,box-shadow .3s;width:auto;}
#page-container .rcbc-grid > .rcbc-card:hover{background:#1a2b49;box-shadow:0 10px 30px rgba(0,0,0,.12);}
#page-container .rcbc-top{padding:32px;flex-grow:1;}
#page-container .rcbc-ic{width:56px;height:56px;border-radius:9999px;background:#1a2b49;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:background-color .3s,color .3s;}
#page-container .rcbc-ic svg{width:24px;height:24px;}
#page-container .rcbc-card:hover .rcbc-ic{background:#fff;color:#1a2b49;}
#page-container .rcbc-top h3{font-size:1.25rem;font-weight:700;color:#1a2b49;margin:0 0 12px;transition:color .3s;}
#page-container .rcbc-top p{color:#4b5563;font-size:.9rem;line-height:1.6;margin:0;transition:color .3s;}
#page-container .rcbc-card:hover h3{color:#fff;}
#page-container .rcbc-card:hover p{color:rgba(255,255,255,.9);}
#page-container .rcbc-card .et_pb_image.rcbc-img{height:288px;width:100%;}
#page-container .rcbc-card .rcbc-img img{width:100%;height:100%;object-fit:cover;object-position:top;}

/* industry: navy trust bar */
#page-container .rc-sec:has(> .rchx-in){background:#1a2b49;color:#fff;padding:48px 16px;gap:0;}
#page-container .et_pb_row.rchx-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:768px){#page-container .et_pb_row.rchx-in{grid-template-columns:1fr 1fr;}}
#page-container .rchx-in > .et_pb_column{width:auto;}
#page-container .rchx-item{display:flex;align-items:center;gap:24px;color:#fff;}
@media(min-width:768px){#page-container .rchx-item.r{border-left:1px solid rgba(255,255,255,.2);padding-left:32px;}#page-container .rchx-item.l{padding-right:32px;}}
@media(max-width:767px){#page-container .rchx-item.r{border-top:1px solid rgba(255,255,255,.2);padding-top:32px;}}
#page-container .rchx-ic{width:64px;height:64px;border-radius:9999px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#page-container .rchx-ic svg{width:32px;height:32px;color:#fff;}
#page-container .rchx-item h3{font-size:1.25rem;font-weight:700;margin:0 0 4px;color:#fff;}
#page-container .rchx-item p{color:rgba(255,255,255,.8);font-size:.9rem;line-height:1.6;margin:0;}

/* medical: why-choose cards */
#page-container .et_pb_row.rcwc-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:8px;max-width:1280px;}
@media(min-width:768px){#page-container .et_pb_row.rcwc-grid{grid-template-columns:repeat(3,1fr);}}
#page-container .rcwc-grid > .rcwc-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;width:auto;}
#page-container .rcwc-grid > .rcwc-card:hover{background:#2985c8;transform:translateY(-8px);box-shadow:0 20px 42px rgba(41,133,200,.28);}
#page-container .rcwc-card .et_pb_image.rcwc-img{height:224px;width:100%;overflow:hidden;}
#page-container .rcwc-card .rcwc-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease;}
#page-container .rcwc-card:hover .rcwc-img img{transform:scale(1.06);}
#page-container .rcwc-body{padding:32px;text-align:center;flex-grow:1;}
#page-container .rcwc-body h3{font-size:1.5rem;font-weight:700;color:#1a2b49;margin:0 0 16px;transition:color .3s;}
#page-container .rcwc-body p{color:#4b5563;line-height:1.7;margin:0;transition:color .3s;}
#page-container .rcwc-card:hover h3,#page-container .rcwc-card:hover p{color:#fff;}

/* service areas: statewide intro */
#page-container .rc-sec:has(> .samap-in){padding:80px 16px;background:#fff;gap:0;}
#page-container .et_pb_row.samap-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:48px;align-items:center;}
@media(min-width:1024px){#page-container .et_pb_row.samap-in{grid-template-columns:1fr 1fr;gap:64px;}}
#page-container .samap-in > .et_pb_column{width:auto;}
#page-container .samap-in > .samap-img{position:relative;display:flex;justify-content:center;}
#page-container .samap-photo .et_pb_image_wrap{display:flex;justify-content:center;}
#page-container .samap-photo img{width:100%;max-width:512px;height:auto;object-fit:cover;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);position:relative;z-index:1;}
#page-container .samap-eb{color:#2985c8;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;}
#page-container .samap-txt h2{font-size:2.25rem;font-weight:700;color:#111827;margin:0 0 24px;line-height:1.15;}
#page-container .samap-txt p{font-size:1.125rem;color:#4b5563;line-height:1.7;margin:0 0 24px;}
#page-container .samap-txt p:last-child{margin-bottom:0;}

/* service areas: region cards */
#page-container .et_pb_row.sareg-grid{display:grid;grid-template-columns:1fr;gap:32px;max-width:1280px;margin:0 auto;}
@media(min-width:1024px){#page-container .et_pb_row.sareg-grid{grid-template-columns:repeat(3,1fr);}}
#page-container .sareg-grid > .et_pb_column{width:auto;}
#page-container .sareg-card{background:#fff;border:1px solid #eef2f7;border-radius:16px;padding:32px;box-shadow:0 10px 30px rgba(0,0,0,.05);height:100%;}
#page-container .sareg-ic{width:48px;height:48px;border-radius:12px;background:#eff6ff;color:#2985c8;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
#page-container .sareg-ic svg{width:24px;height:24px;}
#page-container .sareg-card h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 12px;}
#page-container .sareg-card > p{color:#4b5563;margin:0 0 28px;line-height:1.6;}
#page-container .sareg-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#page-container .sareg-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:1px solid #eef2f7;border-radius:8px;color:#1a2b49;font-weight:600;font-size:.92rem;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;}
#page-container .sareg-link:hover{background:#2985c8;border-color:#2985c8;color:#fff;}
#page-container .sareg-ar{width:16px;height:16px;color:#9ca3af;flex-shrink:0;transition:color .2s,transform .2s;}
#page-container .sareg-link:hover .sareg-ar{color:#fff;transform:translateX(3px);}

/* service areas: industry photo cards */
#page-container .rc-sec:has(> .saind-headrow){padding:96px 16px;gap:0;background:#fff;border-top:1px solid #f3f4f6;}
#page-container .et_pb_row.saind-headrow{max-width:768px;margin:0 auto 64px;text-align:center;}
#page-container .saind-eb{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px;}
#page-container .saind-eb span{color:#2985c8;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;}
#page-container .saind-eb i{display:block;height:1px;width:48px;background:#2985c8;}
#page-container .saind-head h2{font-size:2.5rem;font-weight:700;color:#1a2b4c;margin:0 0 24px;}
#page-container .saind-head p{font-size:1.125rem;color:#4b5563;line-height:1.7;margin:0;}
#page-container .et_pb_row.saind-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:1280px;margin:0 auto;}
@media(min-width:640px){#page-container .et_pb_row.saind-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){#page-container .et_pb_row.saind-grid{grid-template-columns:repeat(6,1fr);}}
#page-container .saind-grid > .et_pb_column{width:auto;}
#page-container .saind-card{position:relative;height:320px;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05);display:block;}
@media(min-width:1024px){#page-container .saind-card{height:360px;}}
#page-container .saind-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
#page-container .saind-card:hover img{transform:scale(1.1);}
#page-container .saind-ov{position:absolute;inset:0;background:linear-gradient(to top,#1a2b4c 0%,rgba(26,43,76,.3) 50%,transparent 100%);opacity:.9;transition:opacity .3s;}
#page-container .saind-card:hover .saind-ov{opacity:1;}
#page-container .saind-t{position:absolute;left:0;bottom:0;width:100%;padding:20px;}
#page-container .saind-t h4{color:#fff;font-weight:700;font-size:1.25rem;line-height:1.15;margin:0;}

/* home: member logo marquee */
#page-container .rc-marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);}
#page-container .rc-marquee-track{display:flex;align-items:center;width:max-content;animation:rc-marquee 35s linear infinite;}
#page-container .rc-marquee:hover .rc-marquee-track{animation-play-state:paused;}
#page-container .rc-marquee-track img{height:90px;width:auto;object-fit:contain;flex:0 0 auto;margin-right:64px;}
@keyframes rc-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(max-width:767px){#page-container .rc-marquee-track img{height:60px;margin-right:40px;}}

/* maps (code module) */
#page-container .et_pb_code.rc-map,#page-container .et_pb_code.rc-map .et_pb_code_inner{height:100%;padding:0;}
#page-container .rc-map iframe{display:block;width:100%;border:0;}

/* ---------- blog listing (Blog page, home "latest", archives) ---------- */
#page-container .rc-blogbody{background:#f7f8fa;padding:70px 16px 80px;}
#page-container .et_pb_row.rc-blogrow{align-items:flex-start;gap:40px;flex-wrap:wrap;padding:0;}
#page-container .rc-blogrow > .rc-blogmain{width:calc(67% - 20px);padding:0;}
#page-container .rc-blogrow > .rc-blogside{width:calc(33% - 20px);padding:0;}
#page-container .rc-bloglist .et_pb_ajax_pagination_container,#page-container .rc-bloglist > div{display:flex;flex-direction:column;gap:26px;}
#page-container .rc-bloglist article.et_pb_post{margin:0;padding:0;background:#fff;border:1px solid #e8ecf1;border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column;}
#page-container .rc-bloglist .entry-featured-image-url{display:block;margin:0;line-height:0;}
#page-container .rc-bloglist .entry-featured-image-url img{width:100%;height:320px;object-fit:cover;display:block;}
#page-container .rc-bloglist .entry-title,#page-container .rc-bloglist .post-meta,#page-container .rc-bloglist .post-content{padding-left:30px;padding-right:30px;}
#page-container .rc-bloglist .post-meta{order:2;margin:0;padding-top:26px;padding-bottom:0;font-size:12px;color:#9ca3af;font-family:"Inter",sans-serif;}
#page-container .rc-bloglist .post-meta a{color:#2985c8;}
#page-container .rc-bloglist .entry-featured-image-url{order:1;}
#page-container .rc-bloglist .entry-title{order:3;margin:10px 0 0;padding-bottom:0;font-family:"Inter",sans-serif;font-size:21px;font-weight:700;line-height:1.3;}
#page-container .rc-bloglist .entry-title a{color:#1a2b49;}
#page-container .rc-bloglist .entry-title a:hover{color:#2985c8;}
#page-container .rc-bloglist .post-content{order:4;padding-top:10px;padding-bottom:26px;font-size:14px;line-height:1.6;color:#4b5563;}
#page-container .rc-bloglist .post-content p{padding:0;margin:0 0 14px;}
#page-container .rc-bloglist .more-link{display:inline-block;background:#2985c8;color:#fff;font-size:12px;font-weight:600;border-radius:30px;padding:8px 18px;line-height:1;transition:background-color .2s;}
#page-container .rc-bloglist .more-link:hover{background:#1a2b49;}
#page-container .rc-bloglist .wp-pagenavi,#page-container .rc-bloglist .pagination{order:9;padding:10px 0 0;font-size:14px;}
#page-container .rc-bloglist .pagination a{color:#2985c8;font-weight:600;}
/* home: latest 3 as a grid */
#page-container .rc-latest-eb{font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#2985c8;text-align:center;}
#page-container .rc-latest-h{font-size:36px;font-weight:700;color:#1a2b49;text-align:center;line-height:1.2;margin-bottom:24px !important;}
#page-container .rc-latest.rc-bloglist .et_pb_ajax_pagination_container,#page-container .rc-latest.rc-bloglist > div{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
#page-container .rc-latest.rc-bloglist .entry-featured-image-url img{height:220px;}
@media (max-width:980px){#page-container .rc-latest.rc-bloglist .et_pb_ajax_pagination_container,#page-container .rc-latest.rc-bloglist > div{grid-template-columns:1fr;}}
/* sidebar cards */
#page-container .rc-sidebar .et_pb_widget,#page-container #sidebar .et_pb_widget{width:100%;float:none;margin:0 0 24px;}
#page-container .rc-side-card{background:#fff;border:1px solid #e8ecf1;border-radius:12px;padding:24px;}
#page-container .rc-side-card h3{font-family:"Inter",sans-serif;font-size:18px;font-weight:700;color:#1a2b49;padding:0;margin:0 0 12px;}
#page-container .rc-side-card ul{list-style:none;margin:0;padding:0;}
#page-container .rc-side-card li{padding:8px 0;border-bottom:1px solid #f1f1f1;font-size:14px;color:#4b5563;line-height:1.4;}
#page-container .rc-side-card li:last-child{border-bottom:0;}
#page-container .rc-side-card a{color:#1a2b49;font-weight:600;}
#page-container .rc-side-card a:hover{color:#2985c8;}
@media (max-width:980px){#page-container .rc-blogrow > .rc-blogmain,#page-container .rc-blogrow > .rc-blogside{width:100%;}}

/* ---------- single post template ---------- */
#page-container .rc-posthero{background:#0d1b2a;padding:80px 16px 60px;}
#page-container .rc-posthero .et_pb_post_title .entry-title{font-family:"Inter",sans-serif;font-size:42px;font-weight:700;color:#fff;line-height:1.25;text-align:center;padding:0;}
#page-container .rc-posthero .et_pb_title_meta_container{color:rgba(255,255,255,.7);font-size:14px;text-align:center;margin-top:14px;}
#page-container .rc-posthero .et_pb_title_meta_container a{display:inline-block;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:9999px;}
#page-container .rc-postbody{background:#f7f8fa;padding:60px 16px 80px;}
#page-container .et_pb_row.rc-postrow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:40px;width:100%;max-width:1280px;padding:0;}
#page-container .rc-postrow > .rc-postmain{width:calc(67% - 20px);margin:0 !important;background:#fff;border:1px solid #e8ecf1;border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.05);overflow:hidden;}
#page-container .rc-postrow > .rc-postside{width:calc(33% - 20px);margin:0 !important;}
#page-container .rc-postmain .et_pb_module{margin-bottom:0;}
#page-container .rc-postimg .et_post_meta_wrapper img,#page-container .rc-postimg img{width:100%;height:auto;max-height:460px;object-fit:cover;display:block;}
#page-container .rc-postimg .et_pb_title_featured_container{margin:0;}
#page-container .rc-postcontent{padding:40px 48px 48px;font-family:"Inter",sans-serif;font-size:16px;line-height:1.7;color:#4b5563;}
#page-container .rc-postcontent h2{font-size:28px;font-weight:500;line-height:1.25;color:#1f2937;margin:28px 0 12px;padding:0;}
#page-container .rc-postcontent h3{font-size:22px;font-weight:600;color:#1f2937;margin:24px 0 10px;padding:0;}
#page-container .rc-postcontent p{margin:0 0 16px;padding:0;}
#page-container .rc-postcontent ul,#page-container .rc-postcontent ol{margin:0 0 16px;padding-left:1.4em;}
#page-container .rc-postcontent li{margin-bottom:6px;}
#page-container .rc-postcontent a{color:#c36;}
#page-container .rc-postcontent a:hover{color:#336;}
#page-container .rc-postcontent img{border-radius:12px;}
@media (max-width:980px){#page-container .rc-postrow > .rc-postmain,#page-container .rc-postrow > .rc-postside{width:100%;}#page-container .rc-postcontent{padding:28px 22px 32px;}#page-container .rc-posthero .et_pb_post_title .entry-title{font-size:30px;}}
#page-container .rc-postrow > .rc-archmain{width:calc(67% - 20px);margin:0 !important;}
#page-container .rc-archtitle{font-family:"Inter",sans-serif;font-size:46px;font-weight:700;color:#fff;text-align:center;padding:0;line-height:1.2;}
#page-container .rc-archsub{color:rgba(255,255,255,.7);text-align:center;font-size:16px;padding:0;margin-top:14px;}
@media (max-width:980px){#page-container .rc-postrow > .rc-archmain{width:100%;}#page-container .rc-archtitle{font-size:32px;}}

/* ---------- contact page ---------- */
#page-container .rc-ctbody{background:#fff;padding:96px 16px;gap:48px;}
#page-container .rc-cthead{text-align:center;}
#page-container .rc-ct-eb{font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#2985c8;padding:0;margin:0 0 12px;}
#page-container .rc-ct-h2{font-family:"Inter",sans-serif;font-size:44px;font-weight:700;line-height:1.15;color:#1a2b49;padding:0;margin:0 0 14px;}
#page-container .rc-ct-sub{font-size:16px;color:#4b5563;padding:0;margin:0;}
#page-container .et_pb_row.rc-ctcols{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;}
#page-container .rc-ctcols > .et_pb_column{width:calc(50% - 24px);display:flex;flex-direction:column;gap:24px;}
#page-container .rc-ctimg img{border-radius:16px;box-shadow:0 18px 30px rgba(0,0,0,.18);width:100%;}
#page-container .rc-ctlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#page-container .rc-ctlist li{background:#f7f8fa;border-radius:12px;padding:16px 18px;font-size:15px;color:#4b5563;line-height:1.5;}
#page-container .rc-ctlist strong{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#2985c8;margin-bottom:4px;}
#page-container .rc-ctlist a{color:#1a2b49;font-weight:700;font-size:18px;}
#page-container .rc-ctform{background:#fff;border:1px solid #e8ecf1;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:36px;}
#page-container .rc-ctform .et_pb_contact_main_title{font-family:"Inter",sans-serif;font-size:24px;font-weight:700;color:#1a2b49;padding:0 0 18px;}
#page-container .rc-ctform .et_pb_contact_field{margin-bottom:14px;padding:0;}
#page-container .rc-ctform .input{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:14px 16px;font-family:"Inter",sans-serif;font-size:15px;color:#1f2937;}
#page-container .rc-ctform .input:focus{border-color:#2985c8;box-shadow:0 0 0 3px rgba(41,133,200,.15);}
#page-container .rc-ctform textarea.input{min-height:150px;}
#page-container .rc-ctform .et_contact_bottom_container{float:none;width:100%;margin:6px 0 0;}
#page-container .rc-ctform .et_pb_contact_submit{width:100%;margin:0;background:#2985c8;border:0;border-radius:8px;color:#fff;font-family:"Inter",sans-serif;font-size:16px;font-weight:600;padding:14px 24px;line-height:1.2 !important;}
#page-container .rc-ctform .et_pb_contact_submit:hover{background:#1a2b49;padding:14px 24px;}
#page-container .rc-ctform .et_pb_contact_submit::after{display:none;}
@media (max-width:767px){#page-container .rc-ctcols > .et_pb_column{width:100%;}#page-container .rc-ct-h2{font-size:30px;}#page-container .rc-ctlist{grid-template-columns:1fr;}#page-container .rc-ctform{padding:24px;}}
#page-container .rc-bloglist .more-link{text-transform:capitalize;}
/* WordPress auto-paragraphs duplicate the card link; hide the empty copies */
#page-container .saind-wrap > p,#page-container .saind-card > p{display:none;}
/* HTML-block rows wrap like the original flex markup: columns keep their content minimum width */
#page-container .rc-blkrow > .et_pb_column{min-width:auto;}
/* Mobile parity with the live kit: Divi button wrappers span the column like Elementor's button wrapper */
@media (max-width:767px){#page-container .rc-sec .et_pb_button_module_wrapper{width:100%;}}
/* Home hero on tablet/phone: the row fills the hero so the text can sit at the bottom like live */
@media (max-width:1024px){body.page-id-299 #page-container .rc-hmherosec > .et_pb_row{flex:1 1 auto;display:flex;flex-direction:column;}}
/* City-page FAQ titles were H4s on the live site: 24px line boxes */
#page-container .rc-faqacc .et_pb_toggle_title{line-height:24px;}
/* Reviews badge button keeps its natural width on phones, as on live */
@media (max-width:767px){#page-container .rc-rvbbtn.rc-btn,#page-container .rc-rvbbtn .rc-btn{width:auto;}}
/* keep FAQ question text clear of the chevron */
#page-container .rc-acc[class] .et_pb_toggle .et_pb_toggle_title{padding-right:44px !important;}
