:root{
  --eupp-blue:#194461;
  --eupp-blue-2:#2b648d;
  --eupp-blue-3:#7fa9c7;
  --eupp-navy:#0e293e;
  --eupp-ink:#10263b;
  --eupp-text:#52677a;
  --eupp-muted:#74889a;
  --eupp-line:rgba(25,68,97,.10);
  --eupp-bg:#f5f8fc;
  --eupp-soft:#eef4fa;
  --eupp-white:#fff;
  --eupp-gradient:linear-gradient(135deg,#194461 0%,#2b648d 58%,#7fa9c7 100%);
  --eupp-gradient-dark:linear-gradient(135deg,#0e293e 0%,#194461 58%,#2b648d 100%);
  --eupp-shadow:0 24px 70px rgba(14,41,62,.10);
  --eupp-shadow-soft:0 12px 34px rgba(14,41,62,.07);
  --eupp-radius:30px;
  --eupp-radius-sm:20px;
}

.eupp-fullbleed,.eupp-page{position:relative;width:100%;margin:0;max-width:none;overflow:hidden;background:#fff;color:var(--eupp-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.eupp-page *{box-sizing:border-box}
.eupp-page img{max-width:100%;height:auto;display:block}
.eupp-page a{color:var(--eupp-blue);text-decoration:none}
.eupp-page h1,.eupp-page h2,.eupp-page h3,.eupp-page h4{font-family:"Inter Tight",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--eupp-ink);letter-spacing:-.045em;text-wrap:balance}
.eupp-inner{width:min(calc(100% - 40px),1220px);margin:0 auto}

/* Shared hero */
.eupp-hero{padding:48px 0;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);border-bottom:1px solid var(--eupp-line)}
.eupp-hero-shell{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:34px;align-items:center}
.eupp-hero-copy{padding:20px 0}
.eupp-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(127,169,199,.16);color:var(--eupp-blue);padding:8px 13px;border-radius:999px;font:800 12px/1 Inter,Arial,sans-serif;letter-spacing:.025em;margin-bottom:16px}
.eupp-hero h1{font:850 clamp(42px,5.3vw,72px)/.98 "Inter Tight",Inter,Arial,sans-serif;margin:0 0 18px;max-width:840px}
.eupp-hero-lead{font:500 17px/1.72 Inter,Arial,sans-serif;color:var(--eupp-text);max-width:710px;margin:0 0 20px}
.eupp-hero-phone{display:inline-flex;align-items:center;color:var(--eupp-ink)!important;font:850 clamp(27px,3vw,42px)/1 "Inter Tight",Inter,Arial,sans-serif;margin:20px 0 0;letter-spacing:-.04em}
.eupp-hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.eupp-hero-pills span{display:inline-flex;align-items:center;white-space:nowrap;background:#fff;border:1px solid var(--eupp-line);box-shadow:0 7px 18px rgba(14,41,62,.04);color:var(--eupp-blue);padding:9px 12px;border-radius:999px;font:750 12px/1 Inter,Arial,sans-serif}
.eupp-hero-media{position:relative;min-height:370px;border-radius:32px;overflow:hidden;background:var(--eupp-gradient-dark);box-shadow:var(--eupp-shadow)}
.eupp-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eupp-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,41,62,.02),rgba(14,41,62,.14));pointer-events:none}
.eupp-media-badge{position:absolute;z-index:2;left:18px;bottom:18px;right:18px;background:rgba(255,255,255,.90);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.74);border-radius:20px;padding:15px 16px;color:var(--eupp-ink);box-shadow:0 14px 34px rgba(14,41,62,.14);font:750 13px/1.45 Inter,Arial,sans-serif}
.eupp-hero-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;color:var(--eupp-ink);font-weight:800}.eupp-stars{letter-spacing:2px;color:#e9aa2f}

/* Standard content */
.eupp-content-wrap,.eupp-gallery-section,.eupp-reviews-section,.eupp-simple-form-page,.eupp-contact-page{padding:62px 0;background:#fff}
.eupp-two-col{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(310px,.72fr);gap:34px;align-items:start}
.eupp-main-copy{max-width:780px}
.eupp-main-copy h2,.eupp-section-heading h2,.eupp-contact-card h2,.eupp-gallery-section h2{font:850 clamp(30px,3vw,44px)/1.03 "Inter Tight",Inter,Arial,sans-serif;margin:0 0 16px}
.eupp-main-copy h3,.eupp-contact-card h3{font:820 clamp(22px,2.2vw,30px)/1.08 "Inter Tight",Inter,Arial,sans-serif;margin:30px 0 10px}
.eupp-main-copy p,.eupp-main-copy li,.eupp-section-heading p,.eupp-contact-card p,.eupp-gallery-intro,.eupp-review-card p,.eupp-side-copy,.eupp-bottom-quote p{font:500 16px/1.72 Inter,Arial,sans-serif;color:var(--eupp-text)}
.eupp-main-copy p{margin:0 0 18px}.eupp-main-copy ul{margin:12px 0 28px;padding-left:1.15rem}.eupp-main-copy li{margin:0 0 8px;padding-left:3px}
.eupp-main-copy a:not(.eupp-btn){font-weight:750;text-decoration:underline;text-decoration-color:rgba(25,68,97,.25);text-underline-offset:3px}
.eupp-side-card{position:sticky;top:24px;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);border:1px solid var(--eupp-line);border-radius:28px;padding:26px;box-shadow:var(--eupp-shadow-soft)}
.eupp-side-card h3{font:850 clamp(25px,2.3vw,36px)/1.02 "Inter Tight",Inter,Arial,sans-serif;margin:0 0 14px;color:var(--eupp-ink)!important}
.eupp-side-copy p,.eupp-side-card p{color:var(--eupp-text)!important}
.eupp-side-phone{font:850 clamp(27px,2.8vw,39px)/1 "Inter Tight",Inter,Arial,sans-serif;color:var(--eupp-blue);margin:22px 0 12px;letter-spacing:-.04em}
.eupp-side-note{font:700 14px/1.55 Inter,Arial,sans-serif;color:var(--eupp-text);padding-top:14px;border-top:1px solid var(--eupp-line)}

/* Buttons */
.eupp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:0 22px;text-decoration:none!important;font:800 14px/1 Inter,Arial,sans-serif;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:none;cursor:pointer}
.eupp-btn.solid{background:var(--eupp-gradient);color:#fff!important;box-shadow:0 10px 24px rgba(25,68,97,.18)}
.eupp-btn.outline{border:1px solid rgba(25,68,97,.15);color:var(--eupp-blue)!important;background:#fff}
.eupp-btn:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(25,68,97,.14)}
.eupp-button-stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* Appointment / secure forms */
.eupp-simple-form-page{background:var(--eupp-bg)}
.eupp-form-shell{display:grid;grid-template-columns:minmax(0,.72fr) minmax(440px,1.08fr);gap:24px;align-items:start}
.eupp-form-intro,.eupp-form-card{background:#fff;border:1px solid var(--eupp-line);border-radius:30px;box-shadow:var(--eupp-shadow-soft)}
.eupp-form-intro{padding:30px;position:sticky;top:24px}.eupp-form-card{padding:28px}
.eupp-form-intro h1{font:850 clamp(38px,4vw,58px)/.98 "Inter Tight",Inter,Arial,sans-serif;color:var(--eupp-ink);margin:0 0 16px}
.eupp-form-intro p{font:500 16px/1.7 Inter,Arial,sans-serif;color:var(--eupp-text)}
.eupp-form-intro .eupp-hero-phone{margin-top:12px}
.eupp-form-card form,.eupp-form-card .elite-secure-form,.eupp-form-card [class*="form"]{max-width:100%}
.eupp-form-card label,.eupp-form label{display:block;font:750 13px/1.3 Inter,Arial,sans-serif;color:var(--eupp-ink);margin-bottom:7px}
.eupp-form-card input,.eupp-form-card select,.eupp-form-card textarea,.eupp-form input,.eupp-form select,.eupp-form textarea{width:100%;min-height:48px;border:1px solid rgba(25,68,97,.13);border-radius:14px;background:#fbfdff;color:var(--eupp-ink);padding:12px 14px;font:500 15px/1.4 Inter,Arial,sans-serif;box-shadow:none;outline:none;transition:.2s ease}
.eupp-form-card textarea,.eupp-form textarea{min-height:110px;resize:vertical}
.eupp-form-card input:focus,.eupp-form-card select:focus,.eupp-form-card textarea:focus,.eupp-form input:focus,.eupp-form select:focus,.eupp-form textarea:focus{background:#fff;border-color:rgba(43,100,141,.55);box-shadow:0 0 0 4px rgba(127,169,199,.14)}
.eupp-form-card button,.eupp-form-card input[type="submit"],.eupp-form .eupp-btn{min-height:48px;border-radius:999px!important;background:var(--eupp-gradient)!important;color:#fff!important;border:0!important;padding:0 24px!important;font-weight:800!important;box-shadow:0 10px 24px rgba(25,68,97,.18)!important}
.eupp-alert{margin:0 0 16px;padding:13px 15px;border-radius:14px;font:700 13px/1.45 Inter,Arial,sans-serif}.eupp-alert.success{background:#edf6fc;color:#194461;border:1px solid rgba(25,68,97,.1)}.eupp-alert.error{background:#fff2f2;color:#8a1d1d;border:1px solid rgba(138,29,29,.1)}

/* Contact */
.eupp-contact-page{background:var(--eupp-bg)}
.eupp-contact-hero{margin-bottom:24px}
.eupp-map-wrap{overflow:hidden;border-radius:30px;box-shadow:var(--eupp-shadow-soft);border:1px solid var(--eupp-line);background:#eef4fa}.eupp-map-wrap iframe{display:block;width:100%;height:390px;border:0}
.eupp-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.eupp-contact-card{background:#fff;border:1px solid var(--eupp-line);border-radius:24px;padding:22px;box-shadow:var(--eupp-shadow-soft)}
.eupp-contact-card h2{font-size:28px}.eupp-contact-card h3{font-size:19px;margin-top:18px}.eupp-contact-card p{margin:0 0 12px}
.eupp-contact-method{display:grid;gap:10px}.eupp-contact-method a{font-weight:750;word-break:break-word}
.eupp-hours-list div{padding:8px 0;border-top:1px solid var(--eupp-line);font:500 14px/1.55 Inter,Arial,sans-serif;color:var(--eupp-text)}.eupp-hours-list div:first-child{border-top:0}
.eupp-social-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.eupp-social-row a{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--eupp-soft);font:750 12px/1 Inter,Arial,sans-serif}
.eupp-contact-form-section{margin-top:18px}.eupp-contact-form-section .eupp-form-card{max-width:780px}

/* Patient forms */
.eupp-patient-forms .eupp-main-copy .eupp-button-stack .eupp-btn{flex:1 1 220px}
.eupp-patient-forms .eupp-main-copy .eupp-button-stack{padding-top:4px}

/* Gallery */
.eupp-gallery-section{background:#fff}
.eupp-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:38px;align-items:end;margin-bottom:28px}
.eupp-section-heading p{margin:0}
.eupp-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:14px}
.eupp-gallery-item{position:relative;display:block;grid-column:span 4;aspect-ratio:1/1;overflow:hidden;border-radius:22px;background:var(--eupp-soft);box-shadow:var(--eupp-shadow-soft);cursor:zoom-in}
.eupp-gallery-item:nth-child(7n+1){grid-column:span 8;aspect-ratio:16/9}.eupp-gallery-item:nth-child(7n+4){grid-column:span 6;aspect-ratio:4/3}.eupp-gallery-item:nth-child(7n+5){grid-column:span 6;aspect-ratio:4/3}
.eupp-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}
.eupp-gallery-item::after{content:"View";position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.9);color:var(--eupp-ink);padding:7px 10px;border-radius:999px;font:750 11px/1 Inter,Arial,sans-serif;opacity:0;transform:translateY(5px);transition:.25s ease;backdrop-filter:blur(10px)}
.eupp-gallery-item:hover img{transform:scale(1.035);filter:saturate(1.04)}.eupp-gallery-item:hover::after{opacity:1;transform:none}
.eupp-gallery-footer{text-align:center;margin-top:28px}
.eupp-gallery-footer a:not(.eupp-btn){font:800 18px/1.2 Inter,Arial,sans-serif;color:var(--eupp-blue)}
.eupp-gallery-empty{grid-column:1/-1;border:1px dashed rgba(25,68,97,.18);background:var(--eupp-bg);border-radius:24px;padding:44px;text-align:center;color:var(--eupp-muted);font-weight:650}

/* Lightbox */
.eupp-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(8,22,34,.94);display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(18px)}
.eupp-lightbox.is-open{display:flex}
.eupp-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:min(92vw,1400px);height:min(84vh,940px)}
.eupp-lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.38)}
.eupp-lightbox-close,.eupp-lightbox-prev,.eupp-lightbox-next{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;transition:.2s ease}
.eupp-lightbox-close{top:18px;right:18px;width:46px;height:46px;border-radius:50%;font-size:26px}.eupp-lightbox-prev,.eupp-lightbox-next{top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;font-size:28px}.eupp-lightbox-prev{left:18px}.eupp-lightbox-next{right:18px}.eupp-lightbox-close:hover,.eupp-lightbox-prev:hover,.eupp-lightbox-next:hover{background:rgba(255,255,255,.18)}
.eupp-lightbox-meta{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:rgba(8,22,34,.55);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:9px 14px;color:#fff;font:650 12px/1.3 Inter,Arial,sans-serif;backdrop-filter:blur(12px);max-width:calc(100% - 40px)}
body.eupp-lightbox-open{overflow:hidden}

/* Reviews */
.eupp-reviews-section{background:var(--eupp-bg)}
.eupp-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.eupp-review-card{position:relative;background:#fff;border:1px solid var(--eupp-line);border-radius:24px;padding:24px;box-shadow:var(--eupp-shadow-soft)}
.eupp-review-stars{font:750 18px/1 Inter,Arial,sans-serif;color:#e9aa2f;margin-bottom:15px;letter-spacing:2px}.eupp-review-card p{margin:0 0 18px}.eupp-review-meta{font:750 13px/1.5 Inter,Arial,sans-serif;color:var(--eupp-ink)}.eupp-review-meta span{opacity:.35;padding:0 5px}

/* Bottom review strip */
.eupp-bottom-review-strip{padding:28px 0 58px;background:#fff}
.eupp-bottom-review-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:22px;align-items:stretch}
.eupp-bottom-video-card{min-height:260px;border-radius:26px;background:linear-gradient(180deg,rgba(14,41,62,.12),rgba(14,41,62,.35)),url('../img/placeholder-hero.svg') center/cover no-repeat;display:flex;align-items:flex-end;color:#fff;padding:22px;overflow:hidden;box-shadow:var(--eupp-shadow-soft)}
.eupp-bottom-video-overlay{font:700 13px/1.45 Inter,Arial,sans-serif}.eupp-bottom-video-overlay strong{font:850 30px/1.02 "Inter Tight",Inter,Arial,sans-serif;display:block;margin-top:7px;letter-spacing:-.04em}
.eupp-bottom-quote{padding:28px;border:1px solid var(--eupp-line);background:var(--eupp-bg);border-radius:26px;display:flex;flex-direction:column;justify-content:center}.eupp-quote-mark{font-size:34px;color:var(--eupp-blue);margin-bottom:8px}.eupp-quote-meta{font:700 13px/1.5 Inter,Arial,sans-serif;color:var(--eupp-ink)}

/* Compatibility with direct plugin form renderer */
.eupp-form{margin-top:18px}.eupp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.eupp-span-2{grid-column:span 2}.eupp-small-note{font:500 12px/1.5 Inter,Arial,sans-serif;color:var(--eupp-muted)}

@media(max-width:1000px){
  .eupp-hero-shell,.eupp-two-col,.eupp-form-shell,.eupp-bottom-review-grid{grid-template-columns:1fr}
  .eupp-hero-media{min-height:320px}.eupp-side-card,.eupp-form-intro{position:relative;top:auto}
  .eupp-contact-grid,.eupp-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eupp-section-heading{grid-template-columns:1fr;gap:8px}
}
@media(max-width:760px){
  .eupp-inner{width:min(calc(100% - 28px),1220px)}
  .eupp-hero{padding:26px 0}.eupp-hero-shell{gap:18px}.eupp-hero-copy{padding:4px 0}
  .eupp-hero h1{font-size:clamp(35px,10.8vw,50px);margin-bottom:13px}.eupp-hero-lead{font-size:14px;line-height:1.58}
  .eupp-hero-pills{flex-wrap:nowrap;overflow-x:auto;margin-right:-14px;padding-right:14px;scrollbar-width:none}.eupp-hero-pills::-webkit-scrollbar{display:none}.eupp-hero-pills span{flex:0 0 auto}
  .eupp-hero-phone{font-size:30px;margin-top:14px}.eupp-hero-media{min-height:240px;border-radius:22px}.eupp-media-badge{left:12px;right:12px;bottom:12px;border-radius:16px;padding:12px;font-size:11px}
  .eupp-content-wrap,.eupp-gallery-section,.eupp-reviews-section,.eupp-simple-form-page,.eupp-contact-page{padding:38px 0}
  .eupp-main-copy h2,.eupp-section-heading h2,.eupp-gallery-section h2{font-size:clamp(28px,8.5vw,38px)}
  .eupp-main-copy p,.eupp-main-copy li,.eupp-section-heading p,.eupp-gallery-intro,.eupp-review-card p,.eupp-side-copy,.eupp-bottom-quote p{font-size:14px;line-height:1.62}
  .eupp-side-card,.eupp-form-intro,.eupp-form-card,.eupp-contact-card,.eupp-review-card{padding:18px;border-radius:20px}
  .eupp-button-stack{display:grid;grid-template-columns:1fr}.eupp-button-stack .eupp-btn{width:100%}
  .eupp-contact-grid,.eupp-review-grid{grid-template-columns:1fr;gap:12px}.eupp-map-wrap{border-radius:20px}.eupp-map-wrap iframe{height:280px}
  .eupp-form-grid{grid-template-columns:1fr}.eupp-span-2{grid-column:span 1}
  .eupp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.eupp-gallery-item,.eupp-gallery-item:nth-child(n){grid-column:auto;aspect-ratio:1/1;border-radius:15px}.eupp-gallery-item:nth-child(5n+1){grid-column:span 2;aspect-ratio:16/10}
  .eupp-gallery-item::after{display:none}
  .eupp-lightbox{padding:12px}.eupp-lightbox-stage{width:100%;height:82vh}.eupp-lightbox-prev{left:8px}.eupp-lightbox-next{right:8px}.eupp-lightbox-close{top:10px;right:10px}.eupp-lightbox-prev,.eupp-lightbox-next{width:44px;height:44px}.eupp-lightbox-meta{bottom:10px;font-size:11px;max-width:calc(100% - 20px)}
  .eupp-bottom-review-strip{padding:20px 0 38px}.eupp-bottom-video-card{min-height:220px;border-radius:20px}.eupp-bottom-quote{padding:20px;border-radius:20px}
}
@media(max-width:390px){.eupp-gallery-grid{grid-template-columns:1fr}.eupp-gallery-item:nth-child(n){grid-column:auto;aspect-ratio:4/3}.eupp-contact-method a{word-break:break-all}}

/* Brand compatibility for nested/legacy form markup */
.eupp-page [style*="#044c26"],.eupp-page [style*="#0b6b41"],.eupp-page [style*="#055f2e"],.eupp-page [style*="rgb(4, 76, 38)"],.eupp-page [style*="rgb(11, 107, 65)"]{background:var(--eupp-gradient)!important;border-color:rgba(25,68,97,.18)!important}
.eupp-page button:not(.eupp-lightbox-close):not(.eupp-lightbox-prev):not(.eupp-lightbox-next),.eupp-page input[type="submit"]{border-radius:999px}

/* v2.0.1 — Contact page callback form matches the streamlined homepage lead flow */
.eupp-contact-form-section .eupp-form-card{max-width:860px;margin-inline:auto;padding:clamp(22px,3vw,32px)}
.eupp-contact-form-section .eupp-form-card>h2{font:850 clamp(30px,3.2vw,44px)/1.02 "Inter Tight",Inter,Arial,sans-serif;margin:0 0 10px;color:var(--eupp-ink)}
.eupp-contact-form-section .eupp-form-card>p{margin:0 0 20px;color:var(--eupp-text);font:500 15px/1.65 Inter,Arial,sans-serif;max-width:650px}
.eupp-callback-form{margin-top:10px}
.eupp-callback-grid{grid-template-columns:1fr 1fr;gap:14px}
.eupp-callback-form input{min-height:54px;background:#f8fbfe;border-color:rgba(25,68,97,.14)}
.eupp-callback-form .eupp-small-note{margin:12px 0 16px;color:var(--eupp-muted);font-size:12px}
.eupp-callback-submit{width:100%;min-height:54px!important;font-size:15px!important}
@media(max-width:760px){.eupp-callback-grid{grid-template-columns:1fr}.eupp-callback-grid .eupp-span-2{grid-column:span 1}.eupp-contact-form-section .eupp-form-card{padding:20px 18px}}


/* v2.0.2 — Unified Dr. Brandwein logo-blue page heroes (no hero images) */
.eupp-page .eupp-brand-hero,
.eupp-page.eupp-request-page > .eupp-brand-hero,
.eupp-page.eupp-contact-page > .eupp-brand-hero {
  position: relative;
  width: 100%;
  margin: 0;
  padding: clamp(64px, 7vw, 96px) 0;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 88% 8%, rgba(127,169,199,.22), transparent 27%),
    radial-gradient(circle at 12% 110%, rgba(43,100,141,.35), transparent 32%),
    linear-gradient(135deg, #0e293e 0%, #194461 56%, #235b82 100%) !important;
  color: #fff !important;
}
.eupp-page .eupp-brand-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 92%);
}
.eupp-brand-hero-inner {
  position: relative;
  z-index: 1;
  display: block;
}
.eupp-brand-hero .eupp-hero-copy {
  max-width: 980px;
  padding: 0;
}
.eupp-brand-hero .eupp-eyebrow {
  margin-bottom: 18px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10) !important;
  color: #dce9f4 !important;
  backdrop-filter: blur(10px);
}
.eupp-brand-hero h1,
.eupp-brand-hero h2 {
  max-width: 1020px;
  margin: 0 0 20px;
  color: #fff !important;
  font: 850 clamp(44px, 5.6vw, 78px)/.98 "Inter Tight",Inter,Arial,sans-serif !important;
  letter-spacing: -.052em;
  text-shadow: 0 2px 20px rgba(0,0,0,.08);
}
.eupp-brand-hero .eupp-hero-lead {
  max-width: 820px;
  margin: 0 0 22px;
  color: rgba(255,255,255,.86) !important;
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.65;
}
.eupp-brand-hero .eupp-hero-pills {
  margin-top: 20px;
}
.eupp-brand-hero .eupp-hero-pills span {
  border-color: rgba(255,255,255,.15) !important;
  background: rgba(255,255,255,.09) !important;
  box-shadow: none !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
}
.eupp-brand-hero .eupp-hero-phone {
  margin-top: 26px;
  color: #fff !important;
  text-decoration: none !important;
}
.eupp-brand-hero .eupp-hero-rating {
  color: #fff !important;
  margin-top: 20px;
}
.eupp-brand-hero .eupp-hero-rating strong,
.eupp-brand-hero .eupp-hero-rating span:not(.eupp-stars) {
  color: #fff !important;
}
.eupp-brand-hero .eupp-stars { color: #f6bd4c !important; }

/* Space content cleanly after the full-width hero. */
.eupp-form-shell-after-hero { padding-top: 54px; padding-bottom: 62px; }
.eupp-contact-content-after-hero { padding-top: 54px; padding-bottom: 62px; }
.eupp-contact-page { padding: 0 !important; background: var(--eupp-bg) !important; }
.eupp-request-page { padding: 0 !important; background: var(--eupp-bg) !important; }
.eupp-contact-content-after-hero .eupp-map-wrap { margin-bottom: 20px; }

/* Supporting request card typography after introducing a real hero. */
.eupp-form-intro h2 {
  font: 850 clamp(30px,3.1vw,44px)/1.02 "Inter Tight",Inter,Arial,sans-serif;
  color: var(--eupp-ink);
  margin: 0 0 14px;
  letter-spacing: -.04em;
}
.eupp-form-intro .eupp-hero-pills span { background:#f7faff; color:var(--eupp-blue); }

@media(max-width:760px){
  .eupp-page .eupp-brand-hero { padding: 44px 0 48px; }
  .eupp-brand-hero h1,.eupp-brand-hero h2 { font-size: clamp(36px, 11.5vw, 52px) !important; line-height: .99 !important; margin-bottom: 15px; }
  .eupp-brand-hero .eupp-hero-lead { font-size: 14px; line-height: 1.58; margin-bottom: 16px; }
  .eupp-brand-hero .eupp-hero-pills { margin-top: 16px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
  .eupp-brand-hero .eupp-hero-phone { font-size: 28px; margin-top: 20px; }
  .eupp-form-shell-after-hero,.eupp-contact-content-after-hero { padding-top: 34px; padding-bottom: 40px; }
}

/* v2.0.3 — hard brand lock: no green, cache-safe blue heroes, repaired Gallery/Reviews, callback scheduling */
html body .eupp-page,
html body .eupp-fullbleed.eupp-page {
  --eupp-blue:#194461;
  --eupp-blue-2:#2b648d;
  --eupp-blue-3:#7fa9c7;
  --eupp-navy:#0e293e;
  --eupp-ink:#10263b;
  --eupp-text:#52677a;
  --eupp-soft:#eef4fa;
  --eupp-bg:#f5f8fc;
  --eupp-gradient:linear-gradient(135deg,#194461 0%,#2b648d 58%,#7fa9c7 100%);
  --eupp-gradient-dark:linear-gradient(135deg,#0e293e 0%,#194461 58%,#2b648d 100%);
}

/* Override theme/legacy hero rules with the logo palette. */
html body .eupp-page > section.eupp-brand-hero,
html body .entry-content .eupp-page > section.eupp-brand-hero,
html body main .eupp-page > section.eupp-brand-hero,
html body .site-main .eupp-page > section.eupp-brand-hero {
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(64px,7vw,96px) 0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-color:#194461!important;
  background-image:
    radial-gradient(circle at 88% 6%,rgba(127,169,199,.23),transparent 28%),
    radial-gradient(circle at 10% 112%,rgba(43,100,141,.30),transparent 34%),
    linear-gradient(135deg,#0e293e 0%,#194461 56%,#245d86 100%)!important;
  color:#fff!important;
  opacity:1!important;
  filter:none!important;
}
html body .eupp-page > section.eupp-brand-hero::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:radial-gradient(circle at 78% 45%,rgba(127,169,199,.08),transparent 34%)!important;
  opacity:1!important;
  pointer-events:none!important;
}
html body .eupp-page > section.eupp-brand-hero::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
  opacity:1!important;
  pointer-events:none!important;
}
html body .eupp-brand-hero .eupp-inner,
html body .eupp-brand-hero .eupp-hero-copy { position:relative!important;z-index:2!important; }
html body .eupp-brand-hero h1,
html body .eupp-brand-hero h2,
html body .eupp-brand-hero .eupp-hero-phone,
html body .eupp-brand-hero .eupp-hero-rating,
html body .eupp-brand-hero .eupp-hero-rating strong,
html body .eupp-brand-hero .eupp-hero-rating span:not(.eupp-stars) { color:#fff!important; }
html body .eupp-brand-hero .eupp-hero-lead { color:rgba(255,255,255,.87)!important; }
html body .eupp-brand-hero .eupp-eyebrow,
html body .eupp-brand-hero .eupp-hero-pills span {
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.15)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html body .eupp-brand-hero .eupp-stars { color:#f6bd4c!important; }

/* Gallery / reviews explicitly reset away from legacy hero/media designs. */
html body .eupp-gallery-page,
html body .eupp-reviews-page,
html body .eupp-patient-forms,
html body .eupp-request-page,
html body .eupp-contact-page { background:#f5f8fc!important; }
html body .eupp-gallery-page .eupp-gallery-section,
html body .eupp-reviews-page .eupp-reviews-section { padding:clamp(48px,6vw,78px) 0!important; }
html body .eupp-gallery-page .eupp-section-heading,
html body .eupp-reviews-page .eupp-section-heading { margin-bottom:30px!important; }
html body .eupp-gallery-page .eupp-gallery-grid { align-items:stretch; }
html body .eupp-reviews-page .eupp-review-grid { align-items:stretch; }
html body .eupp-reviews-page .eupp-review-card {
  background:#fff!important;
  border-color:rgba(25,68,97,.11)!important;
  box-shadow:0 14px 38px rgba(14,41,62,.07)!important;
}
html body .eupp-gallery-page .eupp-gallery-item {
  background:#eef4fa!important;
  border:1px solid rgba(25,68,97,.08)!important;
}

/* Request Appointment is now the same streamlined callback flow. */
.eupp-request-callback-card > h2 {
  margin:0 0 10px!important;
  color:var(--eupp-ink)!important;
  font:850 clamp(30px,3.2vw,44px)/1.02 "Inter Tight",Inter,Arial,sans-serif!important;
  letter-spacing:-.04em!important;
}
.eupp-form-card-intro { margin:0 0 18px!important;color:var(--eupp-text)!important;font:500 15px/1.65 Inter,Arial,sans-serif!important; }
.eupp-request-callback-card .eupp-callback-form { margin-top:12px; }

/* Force all plugin-owned CTA accents to logo blues even if the site theme has green button rules. */
html body .eupp-page .eupp-btn.solid,
html body .eupp-page button.eupp-btn,
html body .eupp-page input[type="submit"] {
  background:#1d5b8d!important;
  background-image:linear-gradient(135deg,#194461 0%,#2b648d 100%)!important;
  border-color:transparent!important;
  color:#fff!important;
}
html body .eupp-page .eupp-btn.outline {
  background:#fff!important;
  border-color:rgba(25,68,97,.18)!important;
  color:#194461!important;
}

/* Neutralize common legacy green inline values inside these shortcodes. */
html body .eupp-page [style*="#044c26"],
html body .eupp-page [style*="#0b6b41"],
html body .eupp-page [style*="#055f2e"],
html body .eupp-page [style*="#073b24"],
html body .eupp-page [style*="#0b5e39"],
html body .eupp-page [style*="#0f2619"],
html body .eupp-page [style*="#14532d"],
html body .eupp-page [style*="#166534"],
html body .eupp-page [style*="#15803d"],
html body .eupp-page [style*="rgb(4, 76, 38)"],
html body .eupp-page [style*="rgb(11, 107, 65)"] {
  background:#194461!important;
  background-image:linear-gradient(135deg,#0e293e,#194461 58%,#2b648d)!important;
  border-color:rgba(25,68,97,.18)!important;
  color:#fff!important;
}

@media(max-width:760px){
  html body .eupp-page > section.eupp-brand-hero,
  html body .entry-content .eupp-page > section.eupp-brand-hero,
  html body main .eupp-page > section.eupp-brand-hero { padding:44px 0 50px!important; }
  html body .eupp-brand-hero h1 { font-size:clamp(36px,10.8vw,52px)!important;line-height:1!important; }
  html body .eupp-brand-hero .eupp-hero-pills { flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important; }
  html body .eupp-brand-hero .eupp-hero-pills::-webkit-scrollbar { display:none!important; }
  html body .eupp-gallery-page .eupp-gallery-section,
  html body .eupp-reviews-page .eupp-reviews-section { padding:38px 0 48px!important; }
}



/* v2.0.4 — full-width page-shell repair.
   These shortcodes can live inside a theme's narrow .container/.entry-content wrapper.
   Normalize only utility-page ancestors so Gallery, Reviews, Contact, Patient Forms,
   and Request Callback stay centered and span the available viewport correctly. */
html body.eupp-has-page .content-area {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
html body.eupp-has-page .content-area > .container,
html body.eupp-has-page main > .container,
html body.eupp-has-page .site-main > .container,
html body.eupp-has-page .entry-content,
html body.eupp-has-page article.entry-content,
html body.eupp-has-page .page-content {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
html body.eupp-has-page .entry-content > .eupp-page,
html body.eupp-has-page .page-content > .eupp-page,
html body.eupp-has-page .eupp-page {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
}
html body.eupp-has-page .eupp-brand-hero,
html body.eupp-has-page .eupp-gallery-section,
html body.eupp-has-page .eupp-reviews-section,
html body.eupp-has-page .eupp-simple-form-page,
html body.eupp-has-page .eupp-contact-page,
html body.eupp-has-page .eupp-content-wrap {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body.eupp-has-page .eupp-inner {
  width:min(calc(100% - 40px),1220px)!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:760px){
  html body.eupp-has-page .eupp-inner{width:min(calc(100% - 24px),1220px)!important;}
}
html body.eupp-has-page .eupp-page-host{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}


/* v2.0.5 — centered Gallery presentation and no empty-state placeholder */
html body.eupp-has-page .eupp-gallery-page .eupp-brand-hero-inner {
  display:flex!important;
  justify-content:center!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-brand-hero .eupp-hero-copy {
  width:min(100%,900px)!important;
  max-width:900px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-brand-hero h1,
html body.eupp-has-page .eupp-gallery-page .eupp-brand-hero .eupp-hero-lead {
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-brand-hero .eupp-hero-pills {
  justify-content:center!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-section-heading {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  max-width:900px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-section-heading > div,
html body.eupp-has-page .eupp-gallery-page .eupp-section-heading h2,
html body.eupp-has-page .eupp-gallery-page .eupp-gallery-intro {
  width:100%!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-gallery-intro {
  max-width:780px!important;
}
html body.eupp-has-page .eupp-gallery-page .eupp-gallery-empty {
  display:none!important;
}
@media(max-width:760px){
  html body.eupp-has-page .eupp-gallery-page .eupp-section-heading { margin-bottom:24px!important; }
  html body.eupp-has-page .eupp-gallery-page .eupp-gallery-intro { max-width:100%!important; }
}


/* v2.0.6 — FAQ page shortcode [elite_faq_page] */
html body .eupp-faq-page { background:#f5f8fc!important; }
html body .eupp-faq-page .eupp-faq-hero .eupp-brand-hero-inner {
  display:flex!important;
  justify-content:center!important;
  text-align:center!important;
}
html body .eupp-faq-page .eupp-faq-hero .eupp-hero-copy {
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:0 auto!important;
  text-align:center!important;
}
html body .eupp-faq-page .eupp-faq-hero h1,
html body .eupp-faq-page .eupp-faq-hero .eupp-hero-lead {
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body .eupp-faq-page .eupp-faq-hero .eupp-hero-pills { justify-content:center!important; }
.eupp-faq-section { width:100%; padding:clamp(48px,6vw,84px) 0 80px; background:#f5f8fc; }
.eupp-faq-heading { max-width:820px; margin:0 auto 32px; text-align:center; }
.eupp-faq-heading .eupp-eyebrow { margin-bottom:12px; }
.eupp-faq-heading h2 {
  margin:0 0 14px;
  color:var(--eupp-ink);
  font:850 clamp(34px,4vw,54px)/1 "Inter Tight",Inter,Arial,sans-serif;
  letter-spacing:-.045em;
}
.eupp-faq-heading p { max-width:760px; margin:0 auto; color:var(--eupp-text); font:500 16px/1.7 Inter,Arial,sans-serif; }
.eupp-faq-list { max-width:920px; margin:0 auto; display:grid; gap:12px; }
.eupp-faq-item {
  overflow:hidden;
  border:1px solid rgba(25,68,97,.11);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(14,41,62,.055);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.eupp-faq-item[open] { border-color:rgba(43,100,141,.24); box-shadow:0 18px 44px rgba(14,41,62,.08); }
.eupp-faq-item summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 24px;
  color:var(--eupp-ink);
  font:800 17px/1.4 Inter,Arial,sans-serif;
}
.eupp-faq-item summary::-webkit-details-marker { display:none; }
.eupp-faq-item summary::marker { display:none; content:""; }
.eupp-faq-icon { position:relative; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:#edf4fa; border:1px solid rgba(25,68,97,.08); }
.eupp-faq-icon::before,.eupp-faq-icon::after { content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; border-radius:999px; background:#194461; transform:translate(-50%,-50%); transition:transform .2s ease,opacity .2s ease; }
.eupp-faq-icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.eupp-faq-item[open] .eupp-faq-icon::after { opacity:0; transform:translate(-50%,-50%) rotate(0); }
.eupp-faq-answer { padding:0 24px 22px; }
.eupp-faq-answer p { margin:0; max-width:800px; color:var(--eupp-text); font:500 15px/1.72 Inter,Arial,sans-serif; }
.eupp-faq-cta {
  max-width:920px;
  margin:34px auto 0;
  padding:26px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-radius:26px;
  border:1px solid rgba(25,68,97,.11);
  background:linear-gradient(135deg,#fff 0%,#edf5fb 100%);
  box-shadow:0 16px 42px rgba(14,41,62,.065);
}
.eupp-faq-cta h2 { margin:5px 0 7px; color:var(--eupp-ink); font:850 clamp(26px,3vw,38px)/1 "Inter Tight",Inter,Arial,sans-serif; letter-spacing:-.04em; }
.eupp-faq-cta p { margin:0; color:var(--eupp-text); font:500 14px/1.6 Inter,Arial,sans-serif; }
.eupp-faq-cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.eupp-faq-cta-actions .eupp-btn { white-space:nowrap; }
@media(max-width:760px){
  .eupp-faq-section{padding:38px 0 52px;}
  .eupp-faq-heading{margin-bottom:24px;}
  .eupp-faq-heading p{font-size:14px;line-height:1.62;}
  .eupp-faq-list{gap:9px;}
  .eupp-faq-item{border-radius:18px;}
  .eupp-faq-item summary{padding:18px 16px;gap:14px;font-size:15px;}
  .eupp-faq-icon{flex-basis:32px;width:32px;height:32px;}
  .eupp-faq-answer{padding:0 16px 18px;}
  .eupp-faq-answer p{font-size:14px;line-height:1.65;}
  .eupp-faq-cta{margin-top:24px;padding:20px 18px;display:grid;grid-template-columns:1fr;border-radius:20px;}
  .eupp-faq-cta-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .eupp-faq-cta-actions .eupp-btn{width:100%;}
}


/* v2.0.7 — softer centered utility heroes + Gallery cleanup */
html body.eupp-has-page .eupp-brand-hero .eupp-brand-hero-inner,
html body .eupp-page .eupp-brand-hero .eupp-brand-hero-inner {
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-brand-hero .eupp-hero-copy,
html body .eupp-page .eupp-brand-hero .eupp-hero-copy {
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-brand-hero h1,
html body .eupp-page .eupp-brand-hero h1 {
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-weight:700!important;
  font-size:clamp(40px,5vw,64px)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-brand-hero .eupp-hero-lead,
html body .eupp-page .eupp-brand-hero .eupp-hero-lead {
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:1.7!important;
  text-align:center!important;
}
html body.eupp-has-page .eupp-brand-hero .eupp-eyebrow,
html body .eupp-page .eupp-brand-hero .eupp-eyebrow {
  font-weight:700!important;
}
html body.eupp-has-page .eupp-brand-hero .eupp-hero-phone,
html body .eupp-page .eupp-brand-hero .eupp-hero-phone {
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-weight:700!important;
}
html body.eupp-has-page .eupp-brand-hero .eupp-hero-rating,
html body .eupp-page .eupp-brand-hero .eupp-hero-rating,
html body.eupp-has-page .eupp-brand-hero .eupp-hero-pills,
html body .eupp-page .eupp-brand-hero .eupp-hero-pills {
  justify-content:center!important;
}
/* Gallery page: no secondary intro/placeholder block under the hero. If images exist,
   only the actual photo grid is rendered. */
html body.eupp-has-page .eupp-gallery-page .eupp-gallery-grid-only,
html body .eupp-gallery-page .eupp-gallery-grid-only {
  padding:clamp(36px,5vw,64px) 0!important;
  background:#fff!important;
}
html body .eupp-gallery-page .eupp-section-heading,
html body .eupp-gallery-page .eupp-gallery-empty { display:none!important; }

@media(max-width:760px){
  html body.eupp-has-page .eupp-brand-hero h1,
  html body .eupp-page .eupp-brand-hero h1 {
    font-size:clamp(34px,9vw,46px)!important;
    line-height:1.06!important;
  }
  html body.eupp-has-page .eupp-brand-hero .eupp-hero-lead,
  html body .eupp-page .eupp-brand-hero .eupp-hero-lead { font-size:14px!important;line-height:1.62!important; }
}

/* =========================================================
   v2.0.8 — Contact redesign + universal responsive hardening
   ========================================================= */
:root{
  --eupp-gutter:clamp(16px,3vw,24px);
  --eupp-baby-blue:#a9d9ff;
  --eupp-baby-blue-soft:#d8efff;
}

html body.eupp-has-page{overflow-x:clip!important;}
html body.eupp-has-page .eupp-page-host,
html body.eupp-has-page .eupp-page,
html body.eupp-has-page .eupp-fullbleed{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
.eupp-page,
.eupp-page *{
  box-sizing:border-box!important;
  min-width:0;
}
.eupp-page img,
.eupp-page video,
.eupp-page iframe,
.eupp-page svg,
.eupp-page canvas{
  max-width:100%!important;
}
.eupp-page h1,
.eupp-page h2,
.eupp-page h3,
.eupp-page h4,
.eupp-page p,
.eupp-page li,
.eupp-page a,
.eupp-page span,
.eupp-page strong,
.eupp-page label{
  overflow-wrap:anywhere;
}
html body.eupp-has-page .eupp-inner,
.eupp-page .eupp-inner{
  width:100%!important;
  max-width:1260px!important;
  margin-inline:auto!important;
  padding-inline:var(--eupp-gutter)!important;
}

/* Every plugin hero now uses one consistent full-width treatment. */
html body .eupp-page > section.eupp-brand-hero,
html body .entry-content .eupp-page > section.eupp-brand-hero,
html body main .eupp-page > section.eupp-brand-hero,
html body .site-main .eupp-page > section.eupp-brand-hero{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  padding:clamp(62px,7vw,94px) 0!important;
  background-color:#194461!important;
  background-image:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.13),transparent 23%),
    radial-gradient(circle at 84% 16%,rgba(169,217,255,.24),transparent 27%),
    radial-gradient(circle at 76% 82%,rgba(255,255,255,.07),transparent 26%),
    linear-gradient(120deg,#0e293e 0%,#194461 28%,#3779aa 58%,#82bce6 100%)!important;
  background-size:100% 100%,100% 100%,100% 100%,230% 230%!important;
  animation:euppHeroGradient208 14s ease infinite!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
@keyframes euppHeroGradient208{
  0%{background-position:0 0,0 0,0 0,0% 50%}
  50%{background-position:0 0,0 0,0 0,100% 50%}
  100%{background-position:0 0,0 0,0 0,0% 50%}
}
html body .eupp-page > section.eupp-brand-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(135deg,rgba(4,22,36,.20),rgba(4,22,36,.04) 54%,rgba(255,255,255,.02))!important;
}
html body .eupp-page > section.eupp-brand-hero::after{
  content:""!important;
  position:absolute!important;
  width:clamp(260px,32vw,520px)!important;
  aspect-ratio:1!important;
  right:-10%!important;
  bottom:-55%!important;
  inset:auto -10% -55% auto!important;
  z-index:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(216,239,255,.18),rgba(169,217,255,.04) 44%,transparent 70%)!important;
  filter:blur(7px)!important;
  pointer-events:none!important;
}
html body .eupp-brand-hero .eupp-brand-hero-inner,
html body .eupp-brand-hero .eupp-hero-copy{
  position:relative!important;
  z-index:2!important;
}
html body .eupp-brand-hero .eupp-hero-copy{
  width:min(100%,930px)!important;
  max-width:930px!important;
  margin-inline:auto!important;
  padding:0!important;
  text-align:center!important;
}
html body .eupp-brand-hero h1{
  max-width:920px!important;
  margin:0 auto 18px!important;
  color:#fff!important;
  font:850 clamp(42px,5.3vw,70px)/1 "Inter Tight",Inter,Arial,sans-serif!important;
  letter-spacing:-.05em!important;
  text-align:center!important;
  text-wrap:balance;
}
html body .eupp-brand-hero .eupp-hero-lead{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:0 auto!important;
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(15px,1.35vw,18px)!important;
  line-height:1.68!important;
  text-align:center!important;
}
html body .eupp-brand-hero .eupp-eyebrow{
  width:fit-content!important;
  max-width:100%!important;
  margin:0 auto 16px!important;
  padding:9px 14px!important;
  border:1px solid rgba(255,255,255,.17)!important;
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  white-space:normal!important;
  text-align:center!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
html body .eupp-brand-hero .eupp-hero-pills{
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  width:100%!important;
  max-width:100%!important;
  margin:22px auto 0!important;
  padding:0!important;
  overflow:visible!important;
}
html body .eupp-brand-hero .eupp-hero-pills span{
  flex:0 1 auto!important;
  width:fit-content!important;
  max-width:100%!important;
  white-space:normal!important;
  text-align:center!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html body .eupp-brand-hero .eupp-hero-phone{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:24px auto 0!important;
  color:#fff!important;
  font-size:clamp(26px,2.8vw,38px)!important;
  text-align:center!important;
}

/* Contact page — clean, deliberate layout. */
.eupp-contact-page-v208{padding:0!important;background:#f5f8fc!important;}
.eupp-contact-hero-v208 .eupp-hero-copy{max-width:900px!important;}
.eupp-contact-hero-actions-v208{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:11px;
  margin-top:26px;
}
.eupp-contact-hero-actions-v208 .eupp-btn{min-height:50px;padding-inline:22px;}
.eupp-contact-hero-primary-v208{
  background:#fff!important;
  background-image:none!important;
  color:#174f78!important;
  border:1px solid #fff!important;
  box-shadow:0 13px 30px rgba(3,22,37,.18)!important;
}
.eupp-contact-hero-secondary-v208{
  background:rgba(255,255,255,.08)!important;
  background-image:none!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.eupp-hero-foot{
  position:absolute;
  z-index:1;
  width:clamp(28px,3.5vw,46px);
  height:clamp(28px,3.5vw,46px);
  background:linear-gradient(180deg,rgba(216,239,255,.64),rgba(169,217,255,.34));
  opacity:.68;
  pointer-events:none;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='black'%3E%3Cellipse cx='18' cy='40' rx='8' ry='15' transform='rotate(-20 18 40)'/%3E%3Ccircle cx='10' cy='20' r='4'/%3E%3Ccircle cx='16' cy='14' r='4'/%3E%3Ccircle cx='23' cy='13' r='4'/%3E%3Ccircle cx='29' cy='16' r='4'/%3E%3Cellipse cx='46' cy='40' rx='8' ry='15' transform='rotate(20 46 40)'/%3E%3Ccircle cx='38' cy='20' r='4'/%3E%3Ccircle cx='44' cy='14' r='4'/%3E%3Ccircle cx='51' cy='13' r='4'/%3E%3Ccircle cx='57' cy='16' r='4'/%3E%3C/g%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='black'%3E%3Cellipse cx='18' cy='40' rx='8' ry='15' transform='rotate(-20 18 40)'/%3E%3Ccircle cx='10' cy='20' r='4'/%3E%3Ccircle cx='16' cy='14' r='4'/%3E%3Ccircle cx='23' cy='13' r='4'/%3E%3Ccircle cx='29' cy='16' r='4'/%3E%3Cellipse cx='46' cy='40' rx='8' ry='15' transform='rotate(20 46 40)'/%3E%3Ccircle cx='38' cy='20' r='4'/%3E%3Ccircle cx='44' cy='14' r='4'/%3E%3Ccircle cx='51' cy='13' r='4'/%3E%3Ccircle cx='57' cy='16' r='4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  animation:euppFootFloat208 8s ease-in-out infinite;
}
@keyframes euppFootFloat208{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
.eupp-hero-foot--one{left:5%;top:22%;}
.eupp-hero-foot--two{right:7%;top:18%;animation-delay:-2.5s;}
.eupp-hero-foot--three{right:20%;bottom:14%;width:34px;height:34px;animation-delay:-5s;}

.eupp-contact-main-v208{padding:clamp(42px,6vw,76px) 0;background:#f5f8fc;}
.eupp-contact-primary-grid-v208{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:22px;
  align-items:stretch;
}
.eupp-contact-overview-v208,
.eupp-contact-callback-v208,
.eupp-contact-card-v208,
.eupp-map-card-v208{
  width:100%;
  max-width:100%;
  border:1px solid rgba(25,68,97,.10);
  border-radius:28px;
  background:#fff;
  box-shadow:0 16px 46px rgba(14,41,62,.07);
}
.eupp-contact-overview-v208{padding:clamp(24px,3vw,34px);}
.eupp-contact-overview-v208 h2,
.eupp-contact-callback-v208 h2{
  margin:0 0 12px;
  color:var(--eupp-ink);
  font:850 clamp(31px,3.6vw,48px)/1.02 "Inter Tight",Inter,Arial,sans-serif;
  letter-spacing:-.045em;
}
.eupp-contact-overview-v208>p{
  max-width:620px;
  margin:0;
  color:var(--eupp-text);
  font:500 15px/1.68 Inter,Arial,sans-serif;
}
.eupp-contact-quick-list-v208{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
.eupp-contact-quick-list-v208>div{
  min-height:92px;
  padding:15px 16px;
  border:1px solid rgba(25,68,97,.09);
  border-radius:17px;
  background:linear-gradient(180deg,#fbfdff,#f4f8fc);
}
.eupp-contact-quick-list-v208 span{
  display:block;
  margin-bottom:6px;
  color:var(--eupp-muted);
  font:750 11px/1.3 Inter,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.eupp-contact-quick-list-v208 a,
.eupp-contact-quick-list-v208 strong{
  display:block;
  color:var(--eupp-ink)!important;
  font:800 14px/1.45 Inter,Arial,sans-serif;
}
.eupp-contact-overview-actions-v208{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.eupp-contact-callback-v208{padding:clamp(24px,3vw,34px)!important;}
.eupp-contact-callback-v208 .eupp-callback-form{width:100%;max-width:100%;}
.eupp-contact-callback-v208 .eupp-callback-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.eupp-contact-callback-v208 .eupp-span-2{grid-column:1/-1;}
.eupp-contact-callback-v208 input,
.eupp-contact-callback-v208 textarea,
.eupp-contact-callback-v208 select{max-width:100%!important;}
.eupp-contact-callback-v208 .ddb-site-sms-consent,
.eupp-form-card .ddb-site-sms-consent{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.eupp-contact-detail-grid-v208{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,.72fr) minmax(0,1.12fr);
  gap:18px;
  margin-top:20px;
  align-items:stretch;
}
.eupp-contact-detail-grid--no-map-v208{grid-template-columns:repeat(2,minmax(0,1fr));}
.eupp-contact-card-v208{padding:24px;}
.eupp-contact-card-v208 h2{margin:0 0 14px;font-size:clamp(26px,2.5vw,34px);}
.eupp-contact-card-v208 .eupp-eyebrow{width:fit-content;}
.eupp-contact-card-v208 .eupp-hours-list div{padding:10px 0;}
.eupp-contact-card-v208 .eupp-contact-method a{overflow-wrap:anywhere;word-break:normal;}
.eupp-text-link-v208{display:inline-flex;margin-top:16px;font-weight:850;}
.eupp-map-card-v208{overflow:hidden;min-height:100%;}
.eupp-map-card-v208 .eupp-map-wrap{height:100%;min-height:360px;border:0;border-radius:28px;box-shadow:none;}
.eupp-map-card-v208 .eupp-map-wrap iframe{width:100%!important;height:100%!important;min-height:360px;}

/* Universal grid/card protection for all plugin shortcodes. */
.eupp-two-col,
.eupp-form-shell,
.eupp-form-grid,
.eupp-callback-grid,
.eupp-contact-grid,
.eupp-review-grid,
.eupp-section-heading,
.eupp-bottom-review-grid,
.eupp-gallery-grid,
.eupp-faq-cta{
  max-width:100%!important;
}
.eupp-two-col>* ,
.eupp-form-shell>* ,
.eupp-form-grid>* ,
.eupp-callback-grid>* ,
.eupp-contact-grid>* ,
.eupp-review-grid>* ,
.eupp-section-heading>* ,
.eupp-bottom-review-grid>* ,
.eupp-gallery-grid>*{
  min-width:0!important;
  max-width:100%!important;
}
.eupp-side-card,
.eupp-form-intro,
.eupp-form-card,
.eupp-contact-card,
.eupp-review-card,
.eupp-faq-item,
.eupp-faq-cta,
.eupp-bottom-quote,
.eupp-bottom-video-card{
  max-width:100%!important;
}
.eupp-form-card form,
.eupp-form-card .eupp-form,
.eupp-form-card fieldset,
.eupp-form-card label,
.eupp-form-card input,
.eupp-form-card textarea,
.eupp-form-card select,
.eupp-form-card button{
  max-width:100%!important;
}
.eupp-contact-method a{word-break:normal!important;overflow-wrap:anywhere!important;}
.eupp-btn{max-width:100%;text-align:center;white-space:normal;}

@media(max-width:1000px){
  .eupp-contact-primary-grid-v208{grid-template-columns:1fr;}
  .eupp-contact-detail-grid-v208,
  .eupp-contact-detail-grid--no-map-v208{grid-template-columns:repeat(2,minmax(0,1fr));}
  .eupp-map-card-v208{grid-column:1/-1;}
}

@media(max-width:760px){
  :root{--eupp-gutter:16px;}
  html body.eupp-has-page .eupp-inner,
  .eupp-page .eupp-inner{padding-inline:16px!important;}
  html body .eupp-page > section.eupp-brand-hero,
  html body .entry-content .eupp-page > section.eupp-brand-hero,
  html body main .eupp-page > section.eupp-brand-hero{
    padding:44px 0 40px!important;
  }
  html body .eupp-brand-hero h1{
    max-width:100%!important;
    font-size:clamp(34px,10vw,48px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  html body .eupp-brand-hero .eupp-hero-lead{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.58!important;
  }
  html body .eupp-brand-hero .eupp-hero-pills{
    flex-wrap:wrap!important;
    overflow:visible!important;
    margin-right:auto!important;
    padding-right:0!important;
  }
  html body .eupp-brand-hero .eupp-hero-pills span{
    flex:0 1 auto!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  .eupp-contact-hero-actions-v208{display:grid;grid-template-columns:1fr;width:100%;}
  .eupp-contact-hero-actions-v208 .eupp-btn{width:100%;}
  .eupp-hero-foot--one{left:3%;top:16%;width:22px;height:22px;}
  .eupp-hero-foot--two{right:3%;top:14%;width:25px;height:25px;}
  .eupp-hero-foot--three{right:12%;bottom:12%;width:22px;height:22px;}

  .eupp-contact-main-v208{padding:34px 0 46px;}
  .eupp-contact-primary-grid-v208,
  .eupp-contact-detail-grid-v208,
  .eupp-contact-detail-grid--no-map-v208{grid-template-columns:1fr;gap:14px;}
  .eupp-map-card-v208{grid-column:auto;}
  .eupp-contact-overview-v208,
  .eupp-contact-callback-v208,
  .eupp-contact-card-v208,
  .eupp-map-card-v208{border-radius:22px;}
  .eupp-contact-overview-v208,
  .eupp-contact-callback-v208,
  .eupp-contact-card-v208{padding:20px!important;}
  .eupp-contact-overview-v208 h2,
  .eupp-contact-callback-v208 h2{font-size:clamp(29px,8vw,38px);}
  .eupp-contact-quick-list-v208{grid-template-columns:1fr;}
  .eupp-contact-quick-list-v208>div{min-height:0;}
  .eupp-contact-overview-actions-v208{display:grid;grid-template-columns:1fr;}
  .eupp-contact-overview-actions-v208 .eupp-btn{width:100%;}
  .eupp-contact-callback-v208 .eupp-callback-grid{grid-template-columns:1fr!important;}
  .eupp-contact-callback-v208 .eupp-span-2{grid-column:auto!important;}
  .eupp-map-card-v208 .eupp-map-wrap,
  .eupp-map-card-v208 .eupp-map-wrap iframe{min-height:280px;}

  .eupp-two-col,
  .eupp-form-shell,
  .eupp-form-grid,
  .eupp-callback-grid,
  .eupp-contact-grid,
  .eupp-review-grid,
  .eupp-section-heading,
  .eupp-bottom-review-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .eupp-span-2{grid-column:auto!important;}
  .eupp-side-card,
  .eupp-form-intro,
  .eupp-form-card,
  .eupp-contact-card,
  .eupp-review-card,
  .eupp-faq-cta,
  .eupp-bottom-quote{padding:20px!important;border-radius:20px!important;}
  .eupp-form-intro{position:static!important;}
  .eupp-side-card{position:static!important;}
  .eupp-section-heading{gap:10px!important;}
  .eupp-faq-item summary{min-width:0!important;}
  .eupp-faq-item summary>span:first-child{min-width:0!important;overflow-wrap:anywhere!important;}
  .eupp-faq-cta{display:grid!important;grid-template-columns:1fr!important;}
  .eupp-faq-cta-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .eupp-faq-cta-actions .eupp-btn{width:100%!important;}
  .eupp-button-stack{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .eupp-button-stack .eupp-btn{width:100%!important;}
  .eupp-review-card p{overflow-wrap:anywhere!important;}
  .eupp-gallery-grid{width:100%!important;max-width:100%!important;}
  .eupp-gallery-item{max-width:100%!important;overflow:hidden!important;}
}

@media(max-width:390px){
  :root{--eupp-gutter:14px;}
  html body.eupp-has-page .eupp-inner,
  .eupp-page .eupp-inner{padding-inline:14px!important;}
  html body .eupp-brand-hero h1{font-size:clamp(31px,10.2vw,42px)!important;}
  .eupp-contact-overview-v208,
  .eupp-contact-callback-v208,
  .eupp-contact-card-v208{padding:17px!important;}
  .eupp-btn{padding-inline:16px;}
}

@media(prefers-reduced-motion:reduce){
  html body .eupp-page > section.eupp-brand-hero{animation:none!important;}
  .eupp-hero-foot{animation:none!important;}
}
