/* EWF common shell | 2026-10-23. Header/footer styles are maintained ONLY here. */
:root {
  --brand-header: #1c1c1c;
  --brand-accent: #9caab4;
  --content-width: 1020px;
  --control-height: 44px;
}
.shell { width:min(calc(100% - 48px),var(--content-width)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:100; background:#fff; box-shadow:0 2px 10px rgba(11,27,40,.09); }
.header-top { background:var(--brand-header); color:#fff; }
.site-header .header-core { display:flex; align-items:center; justify-content:space-between; gap:14px; height:62px; }
.site-header .brand { display:flex; align-items:center; flex-shrink:0; gap:11px; color:#fff; text-decoration:none; }
.site-header .brand:hover { color:#fff; }
.site-header .brand-logo { display:block; width:92px; height:47px; object-fit:contain; mix-blend-mode:normal; filter:none; }
.site-header .brand-sub { border-left:1px solid #606060; padding-left:11px; color:#d6d6d6; font-size:13px; letter-spacing:.02em; line-height:1.38; }
.site-header .brand-sub strong { display:block; color:#fff; font-size:16px; font-weight:650; letter-spacing:0; margin-top:2px; }
.site-header .header-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.site-header .header-contact { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:0 16px; min-height:40px; border:1px solid var(--brand-accent); border-radius:5px; background:transparent; color:#fff; font-size:13px; font-weight:600; white-space:nowrap; }
.site-header .header-contact:hover { background:#ecf1f3; color:#1c2f3b; }
.site-header .nav-strip { background:#fff; border-top:1px solid #ededed; }
.site-header .nav-strip-inner { width:min(calc(100% - 48px),var(--content-width)); margin:auto; }
.site-header .primary-nav { display:flex; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start; gap:2px; min-height:46px; height:46px; margin:0; padding:0; background:#fff; }
.site-header .nav-direct { display:inline-flex; align-items:center; justify-content:center; min-width:0; padding:0 13px; text-decoration:none; color:#344451; font-weight:600; font-size:13px; white-space:nowrap; border-bottom:2px solid transparent; }
.site-header .nav-direct:hover,.site-header .nav-direct[aria-current="page"] { background:#f6f6f3; color:#1b3343; border-bottom-color:#7e929e; }
/* The SS family remains visible in the primary navigation on every route. */
body.ewf-ss-site .site-header .nav-direct[href="/ss.html"],body.ewf-ss-info .site-header .nav-direct[href="/ss.html"] {background:#e6eff2;color:#1c465b;border-bottom-color:#315e73;font-weight:750;}
.site-header .mobile-menu { display:none; align-items:center; justify-content:center; flex-direction:row; gap:8px; min-width:92px; height:44px; padding:7px 11px; border:1px solid #818181; border-radius:5px; background:transparent; color:#fff; }
.site-header .mobile-menu .hamburger { display:flex; flex:0 0 19px; width:19px; height:17px; flex-direction:column; justify-content:space-around; }
.site-header .mobile-menu .hamburger i { display:block; width:19px; height:2px; background:currentColor; border-radius:2px; }
.site-header .mobile-menu .menu-label { white-space:nowrap; font-size:12px; font-weight:600; line-height:1; color:inherit; }
.site-header .nav-mobile-contact { display:none; }
.site-footer { background:#101b26; color:#d0d9dd; padding:32px 0 18px; }
.site-footer .footer-top { display:grid; grid-template-columns:minmax(155px,.8fr) minmax(0,2fr); gap:30px; margin-bottom:24px; }
.site-footer .footer-identity img { display:block; width:106px; max-height:60px; object-fit:contain; margin:0 0 8px; mix-blend-mode:normal; }
.site-footer .footer-identity p { font-size:12px; line-height:1.65; color:#b6c4ca; margin:0; }
.site-footer .footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.site-footer .footer-links h3 { font-size:13px; margin:0 0 11px; color:#e9f0f2; font-weight:700; }
.site-footer .footer-links a { display:block; font-size:12px; line-height:1.55; color:#b8c7ce; text-decoration:none; margin:0 0 8px; overflow-wrap:anywhere; }
.site-footer .footer-links a:hover { color:#fff; text-decoration:none; }
.site-footer .footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-top:17px; border-top:1px solid #35434f; color:#93a0aa; font-size:11px; line-height:1.55; }
.site-footer .footer-bottom a { color:inherit; text-decoration:none; }
.site-footer .footer-bottom a:hover { color:#fff; }
.site-header :is(a,button):active { transform:scale(.98); }
.site-header :is(a,button) { transition:background-color .15s ease, color .15s ease, transform .15s ease; }
.site-header :is(a,button):focus-visible, .site-footer a:focus-visible { outline:2px solid #aebdc7; outline-offset:3px; }
@media(max-width:900px) {
  /* Compact mobile header: the contact CTA is already inside the mobile menu. */
  .site-header .header-contact { display:none; }
  .site-header .header-core { min-width:0; }
  .site-header .brand { min-width:0; }
  .site-header .header-actions { flex-shrink:0; }
  .site-header .nav-strip { border:0; height:0; }
  .site-header .nav-strip-inner { width:100%; }
  .site-header .mobile-menu { display:flex; }
  .site-header .primary-nav { display:none; position:absolute; top:100%; left:0; right:0; z-index:3; width:100%; height:auto; max-height:calc(100dvh - 62px); overflow-y:auto; padding:6px 16px 14px; background:#fff; box-shadow:0 15px 24px rgba(13,26,35,.15); }
  .site-header .primary-nav.is-active { display:block; }
  .site-header .nav-direct { display:flex; justify-content:flex-start; padding:0 10px; min-height:44px; font-size:14px; white-space:normal; text-align:left; border-bottom:1px solid #e8edee; }
  .site-header .nav-mobile-contact { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:12px; padding:10px; border-radius:5px; color:white; background:#243b4b; text-decoration:none; font-size:14px; font-weight:600; }
}
/* Insurance publication notes: small type and no prominent promotional card. */
.site-footer .footer-compliance { padding:12px 0 14px; border-top:1px solid #35434f; color:#b6c4ca; font-size:11px; line-height:1.65; }
.site-footer .footer-compliance p { margin:0 0 4px; }
.ewf-approval-note { width:min(calc(100% - 48px), 960px); margin:15px auto 34px; padding:12px 0 0; border-top:1px solid #dfe5e8; font-size:12px; line-height:1.65; color:#59656b; }
.ewf-approval-note p { margin:0; }
.ewf-approval-note .ewf-approval-value { font-weight:500; }
@media(max-width:640px) {
  .ewf-approval-note { width:calc(100% - 30px); font-size:11px; margin-bottom:24px; }

  body { font-size:14px; line-height:1.65; }
  .shell { width:calc(100% - 30px); }
  .site-header .header-core { height:56px; }
  .site-header .brand-logo { width:76px; height:42px; }
  .site-header .brand-sub { padding-left:8px; font-size:11.5px; }
  .site-header .brand-sub strong { font-size:14px; }
  .site-header .primary-nav { max-height:calc(100dvh - 56px); }
  .site-footer { padding-top:25px; }
  .site-footer .footer-top { grid-template-columns:1fr; gap:14px; }
  .site-footer .footer-identity { display:flex; align-items:center; gap:12px; }
  .site-footer .footer-identity img { width:82px; flex-shrink:0; }
  .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .site-footer .footer-links>div:last-child { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; row-gap:5px; }
  .site-footer .footer-links>div:last-child h3 { grid-column:1/-1; margin-bottom:3px; }
  .site-footer .footer-links>div:last-child a { margin-bottom:3px; }
  .site-footer .footer-links a { font-size:11px; }
  .site-footer .footer-bottom { font-size:10px; }
}
@media(max-width:355px) {
  .site-header .brand-logo { width:70px; }
  .site-header .mobile-menu { min-width:44px; width:44px; padding:7px; }
  .site-header .mobile-menu .menu-label { display:none; }
  .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print { .site-header { position:relative; box-shadow:none; } .site-header .nav-strip { display:none; } }


/* 2026-10-31 EWF navigation clarity — source/role classes only */
.ewf-source-label{display:inline-flex;align-items:center;gap:5px;color:#25506b;font-size:.78rem;font-weight:740;letter-spacing:.025em;margin-bottom:8px}
.ewf-zenp-box,.ewf-zenp-issuer{background:#edf5fd!important;border:1px solid #9bbede!important;border-radius:9px;color:#233d52}
.ewf-zenp-box{padding:clamp(16px,2.4vw,26px)}
.ewf-zenp-box .ewf-source-label,.ewf-zenp-issuer .insc_inquiry_focus{color:#174f84!important}
.ewf-zenp-box h2,.ewf-zenp-box h3,.ewf-zenp-issuer h3{color:#1a4c78}
.ewf-zenp-issuer{padding:clamp(14px,2vw,20px)}
.ewf-zenp-box a:not(.ewf-route-link){color:#164f87}
.ewf-zenp-box .btn,.ewf-zenp-issuer .btn{background:white;border-color:#8bb1d2}
.ewf-route-link{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;line-height:1.45;padding:10px 14px;text-decoration:none;border:1px solid #aabfcf;border-radius:7px;font-weight:680;color:#234c66!important;background:#fff;max-width:100%;overflow-wrap:anywhere}
.ewf-route-link>span{flex:0 0 auto;font-size:1.1em}
.ewf-zenp-box .ewf-route-link{border-color:#86afd3;color:#17518a!important}
.ewf-route-link:hover,.ewf-route-link:focus-visible{background:#e8f1fa;outline:2px solid transparent;border-color:#467db1}
.ewf-route-actions,.ewf-sub-support-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:14px}
.ewf-route-disclaimer{font-size:.77rem!important;color:#5c6f80!important;line-height:1.7;margin:12px 0 0}
.ewf-support-reframe-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}
.ewf-support-reframe .ewf-ewf-box{background:#f7f9fa;border:1px solid #d4dce1;border-radius:9px;padding:clamp(16px,2.4vw,26px)}
.ewf-support-reframe h3{font-size:1.04rem;margin:0 0 8px}
.ewf-support-reframe p{line-height:1.7;font-size:.91rem}
.ewf-support-reframe .ewf-section-head{margin-bottom:16px}
.ewf-service-guide{padding-bottom:45px}
.ewf-service-heading{max-width:900px}
.ewf-support-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 20px}
.ewf-support-jumps a{min-height:42px;display:inline-flex;align-items:center;border:1px solid #d3dfe4;border-radius:5px;padding:9px 12px;text-decoration:none;color:#36546b;background:#fff;font-size:.88rem}
.ewf-support-jumps a:hover,.ewf-support-jumps a:focus-visible{border-color:#5691bf;color:#174f84}
.ewf-support-group{margin:22px 0 30px;scroll-margin-top:120px}
.ewf-support-group>h2{margin:0 0 10px;font-size:clamp(1.16rem,2vw,1.38rem);line-height:1.5;color:#28485e}
.ewf-support-group>p{max-width:880px;margin:8px 0 16px;line-height:1.74;color:#52616c}
.ewf-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}
.ewf-route-grid>article{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:#fff;border:1px solid #d9e3e7;border-radius:8px;padding:18px}
.ewf-route-grid>article h3{font-size:1rem;color:#234760;margin:0;line-height:1.5}
.ewf-route-grid>article p{line-height:1.65;color:#596a74;font-size:.88rem;margin:0}
.ewf-route-grid>article .ewf-route-link{margin-top:auto;width:100%;font-size:.88rem}
.ewf-zenp-box .ewf-route-grid>article{border-color:#b5cfe7;background:#faffff}
.ewf-ewf-area,.ewf-accident-hub{padding:clamp(14px,2vw,25px);border-radius:9px;border:1px solid #dce5e9;background:#f9fbfc}
.ewf-insurer-kicker{font-size:.74rem;color:#4c6a7e;font-weight:700}
.ewf-route-grid>article.ewf-pn-exception{border-color:#c7d5e1;background:#f8fafc}
.ewf-support-phone{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ewf-support-phone a{font-weight:750;font-size:1.18rem;color:#185b89;text-decoration:none}
.ewf-support-phone small{font-size:.74rem;color:#637887}
.ewf-accident-grid>article{border-left:3px solid #8098ab}
.ewf-policy-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.ewf-policy-links>a{display:flex;align-items:center;min-height:44px;padding:12px 14px;border:1px solid #dce5e9;background:#fff;border-radius:6px;color:#31536c;text-decoration:none}
.ewf-policy-links>a:hover{border-color:#8aacca;background:#f1f7fb}
.ewf-company-details,.ewf-policy-overview{margin:22px 0 26px;border:1px solid #d7e2e6;border-radius:8px;padding:clamp(16px,2.5vw,26px);background:#fff}
.ewf-company-details h2,.ewf-policy-overview h2{font-size:1.22rem;margin:0 0 17px}
.ewf-company-dl{margin:0 0 18px}
.ewf-company-dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:13px 4px;border-bottom:1px solid #e7edf0}
.ewf-company-dl dt{font-weight:730;color:#526975}.ewf-company-dl dd{margin:0;line-height:1.74;color:#243a4d}
.ewf-company-note{font-size:.83rem;color:#687985;line-height:1.65}
.ewf-pn-contact{font-size:.86rem!important;color:#40596a!important}
.ewf-pn-contact a{font-weight:750;color:#235d85}
.ewf-accident-routelink{margin:9px 0 16px;font-size:.85rem;color:#526671}
.ewf-accident-routelink a{color:#205a8e;text-decoration:underline}
@media(max-width:760px){.ewf-support-reframe-grid,.ewf-route-grid{grid-template-columns:1fr}.ewf-company-dl>div{grid-template-columns:1fr;gap:4px}.ewf-support-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ewf-support-jumps a{font-size:.8rem;padding:9px 8px}}
@media(max-width:460px){.ewf-policy-links{grid-template-columns:1fr}.ewf-route-actions .ewf-route-link,.ewf-sub-support-actions .ewf-route-link{width:100%}}


/* v05: policy and complaint information belong to the company group, not the support hub. */
.ewf-company-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
.ewf-company-jumps>a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 16px;background:#fff;border:1px solid #cddde5;border-radius:6px;color:#325772;text-decoration:none;font-size:.89rem}
.ewf-company-jumps>a:hover,.ewf-company-jumps>a:focus-visible{border-color:#6b99b6;background:#f0f7fb}
.ewf-company-complaint-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.ewf-company-complaint-actions>.ewf-route-link{flex:0 1 auto;min-width:210px;max-width:100%}
.ewf-company-complaints{scroll-margin-top:115px}
.ewf-company-complaints>p,.ewf-policy-overview>p{line-height:1.73;color:#586b76}
.ewf-policy-unfilled{min-height:170px;border-top:1px solid #e8edf0;background:#fff}
.ewf-policy-links a span{margin-left:auto;padding-left:8px}
@media(max-width:460px){.ewf-company-jumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ewf-company-jumps>a{padding:9px 7px;font-size:.77rem}.ewf-company-complaint-actions{display:grid;grid-template-columns:1fr}.ewf-company-complaint-actions>.ewf-route-link{min-width:0;width:100%}}


/* v06: identity and action consistency across EWF's insurer pages.
   Source photographs are copied into assets/zenp-cards. No remote image dependencies. */
.ewf-zenp-box,.ewf-zenp-issuer,.ewf-zenp-portal{background:#edf5fd!important;border:1px solid #a6c4df!important;border-radius:9px;color:#243f55}
.ewf-zenp-box .ewf-source-label,.ewf-zenp-issuer .ewf-source-label{color:#175486;font-size:.78rem;font-weight:760;letter-spacing:0;display:block;margin-bottom:8px}
.ewf-zenp-portal{margin:17px 0 20px;padding:15px 17px}
.ewf-zenp-portal>p{margin:0 0 8px;font-size:.88rem;line-height:1.7;color:#34536c}
.ewf-zenp-portal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ewf-zenp-portal-actions a,.ewf-zenp-box a.ewf-zenp-button,.ewf-zenp-issuer a.ewf-zenp-button{
 display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 14px;background:#fff;border:1px solid #90b3d2;
 border-radius:6px;color:#155387;text-decoration:none;font-size:.86rem;font-weight:700;line-height:1.5
}
.ewf-zenp-portal-actions a:hover,.ewf-zenp-portal-actions a:focus-visible,
.ewf-zenp-box a.ewf-zenp-button:hover,.ewf-zenp-issuer a.ewf-zenp-button:focus-visible{border-color:#4c80a7;background:#f8fbff;text-decoration:underline}
.ewf-zenp-portal-actions a:focus-visible,.ewf-zenp-box a.ewf-zenp-button:focus-visible{outline:2px solid #174f84;outline-offset:2px}
.ewf-zenp-portal .ewf-route-disclaimer{margin:7px 0 0;color:#536f86!important}
.ewf-photo-products{margin:18px 0 21px}
.ewf-photo-products-heading{font-size:1rem;font-weight:770;color:#244456;margin:0 0 11px}
.ewf-photo-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ewf-photo-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dce5e9;border-radius:8px;overflow:hidden;text-decoration:none;color:#264150;background:#fff}
.ewf-photo-card:hover,.ewf-photo-card:focus-visible{border-color:#85a8bc;box-shadow:0 3px 15px rgba(20,65,90,.09)}
.ewf-photo-card img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:center}
.ewf-photo-card-copy{display:flex;flex-direction:column;gap:4px;padding:11px 12px;flex:1;font-size:.84rem}
.ewf-photo-card-copy strong{line-height:1.45;color:#244354}
.ewf-photo-card-copy small{color:#596e78;font-size:.77rem}
.ewf-photo-card-copy>span{margin-top:auto;padding-top:4px;color:#145b8c;font-size:.8rem;font-weight:730}
/* Consistent photo rhythm on the index and PTA list. */
.ewf-small-products .card-visual img{max-width:194px;width:100%;height:117px;object-fit:cover;object-position:center}
.pta-product img{width:136px;height:101px;object-fit:cover;object-position:center}
@media(max-width:800px){.ewf-photo-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ewf-photo-products-grid{gap:8px}.ewf-photo-card-copy{padding:10px 9px;font-size:.77rem}
 .ewf-zenp-portal{padding:13px}.ewf-zenp-portal-actions{display:grid;grid-template-columns:1fr}.ewf-zenp-portal-actions a{width:100%}
 .ewf-small-products .card-visual img{max-width:154px;height:104px}.pta-product img{width:112px;height:84px}}

/* EWF four official policy documents v07 | scoped to the dedicated compliance pages. */
.ewf-policy-page .page-heading{max-width:930px}
.ewf-policy-page .page-heading p{max-width:860px}
.ewf-policy-sibling-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 23px}
.ewf-policy-sibling-nav a{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px;min-height:46px;color:#294c60;background:#fff;border:1px solid #cfdce4;border-radius:7px;font-size:.84rem;line-height:1.5;font-weight:650;text-decoration:none}
.ewf-policy-sibling-nav a[aria-current="page"]{background:#eaf2f7;border-color:#739ab4;color:#164b73;box-shadow:inset 0 -3px #567f9d}
.ewf-policy-sibling-nav a:hover,.ewf-policy-sibling-nav a:focus-visible{border-color:#537e9b;background:#edf5fb}
.ewf-policy-sibling-nav a:focus-visible,.ewf-policy-doc a:focus-visible,.ewf-policy-company-return:focus-visible{outline:2px solid #144b77;outline-offset:3px}
.ewf-policy-doc{max-width:940px;margin:0 auto;padding:clamp(17px,3vw,32px);border:1px solid #d5e1e9;border-radius:10px;background:#fff;color:#253e4d;font-size:.94rem;line-height:1.9}
.ewf-policy-doc p{margin:0 0 13px;line-height:1.86}
.ewf-policy-doc p.ewf-policy-intro{margin-bottom:24px;font-size:1.01rem;color:#243f50}
.ewf-policy-doc h2{margin:31px 0 14px;padding:0 0 8px;font-size:1.1rem;line-height:1.48;color:#244b68;border-bottom:1px solid #d8e4ec}
.ewf-policy-doc h2:first-child{margin-top:0}
.ewf-policy-doc .ewf-policy-contact-title{margin-top:35px}
.ewf-policy-doc .ewf-policy-list{margin:7px 0 21px;padding-left:1.55rem}
.ewf-policy-doc .ewf-policy-list li{padding-left:2px;margin:0 0 8px;line-height:1.85}
.ewf-policy-table-scroll{max-width:100%;overflow-x:auto;outline-offset:3px;margin:15px 0 23px}
.ewf-policy-table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.7}
.ewf-policy-table thead th{background:#eef4f8;text-align:left;color:#284b62;font-weight:720;padding:11px 13px;border-bottom:2px solid #c5d8e4}
.ewf-policy-table tbody th,.ewf-policy-table tbody td{padding:11px 13px;vertical-align:top;text-align:left;border-bottom:1px solid #dae4e9;overflow-wrap:anywhere}
.ewf-policy-table tbody th{width:28%;background:#f6f9fa;white-space:normal;color:#344f60;font-weight:700}
.ewf-policy-table a{color:#17628b;text-decoration:underline;text-underline-offset:3px}
.ewf-policy-revision{text-align:right;margin:26px 0 0!important;color:#647885;font-size:.85rem}
.ewf-policy-end-nav{margin:25px 0 16px}
.ewf-policy-end-nav .ewf-policy-sibling-nav{margin:0 0 12px}
.ewf-policy-company-return{display:inline-flex;align-items:center;min-height:44px;color:#1c597e;text-decoration:underline;text-underline-offset:4px;font-weight:650}
@media(max-width:760px){.ewf-policy-sibling-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.ewf-policy-doc{font-size:.92rem}}
@media(max-width:400px){.ewf-policy-sibling-nav{gap:7px}.ewf-policy-sibling-nav a{min-height:49px;padding:9px 7px;font-size:.78rem}.ewf-policy-doc{padding:16px 12px}.ewf-policy-table{font-size:.83rem}.ewf-policy-table th,.ewf-policy-table td{padding:9px 7px!important}}


/* v08: show the whole original 16:9 card photo, without cropping subjects. */
.ewf-photo-card img,
.ewf-small-products .card-visual img,
.pta-product img,
.ewf-intro-photo img,
.source-article .insc_titleblock .ewf-product-picture img,
.ewf-ss-header-photo img {
  object-fit:contain;
  object-position:center;
}
.ewf-small-products .card-visual img,
.pta-product img {
  height:auto;
  aspect-ratio:16/9;
}
@media(max-width:600px){
  .ewf-intro-photo img {max-height:none;object-fit:contain;}
  .ewf-small-products .card-visual img,.pta-product img{height:auto;}
}

/* v08: keep the main section visible while users browse individual products and SS procedures. */
.site-header .nav-direct[aria-current="location"],
.site-header .nav-direct[aria-current="page"]{
  background:#eaf0f3;
  color:#1f465d;
  border-bottom-color:#527a8e;
  font-weight:750;
}
@media(max-width:900px){
  .site-header .nav-direct[aria-current="location"],
  .site-header .nav-direct[aria-current="page"]{
    background:#eaf2f5;
    border-left:3px solid #527a8e;
    border-bottom-color:#d4dfe5;
    padding-left:12px;
  }
}
.ewf-current-page{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 9px;
  margin:24px 0 8px;padding:0 0 0 10px;
  border-left:3px solid #a4b7c2;
  font-size:12px;line-height:1.65;color:#617481;
}
.ewf-current-page strong{font-size:12px;font-weight:650;color:#344e60}
.ewf-ss-brochure-index.ewf-ss-current-page{font-size:12px;font-weight:680;color:#335367;letter-spacing:0;line-height:1.55}
.ewf-ss-brochure-index .ewf-current-year{font-size:11px;font-weight:500;color:#697f8c}
@media(max-width:600px){
  .ewf-current-page{font-size:11.5px;gap:2px 6px;margin:18px 0 8px;}
  .ewf-current-page strong{font-size:11.5px;}
}


/* v09 card photography: use the 400x300 card originals, not 1200x500 hero crops.
   Remove the tall grey photo rail and preserve the whole 4:3 image. */
.page-home .ewf-small-products .product-card{
  grid-template-columns:148px minmax(0,1fr);
}
.page-home .ewf-small-products .card-visual{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:9px 0 9px 12px;
  min-height:0;
  background:#fff;
}
.page-home .ewf-small-products .card-visual img{
  display:block;
  width:136px;
  max-width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  border-radius:5px;
}
.page-home .ewf-small-products .product-card-inner{
  padding:11px 13px 11px 10px;
  justify-content:center;
}
.page-pta-index .pta-product{
  grid-template-columns:144px minmax(0,1fr);
  gap:14px;
  padding:11px 12px;
  align-items:center;
}
.page-pta-index .pta-product img{
  display:block;
  width:144px;
  max-width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  align-self:center;
  background:transparent;
  border-radius:5px;
}
.page-pta-index .pta-product-content{align-self:center;}
.page-product .ewf-photo-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  background:#fff;
}
@media(max-width:960px){
  .page-home .ewf-small-products .product-card{grid-template-columns:128px minmax(0,1fr);}
  .page-home .ewf-small-products .card-visual{padding-left:9px;}
  .page-home .ewf-small-products .card-visual img{width:119px;}
  .page-pta-index .pta-product{grid-template-columns:119px minmax(0,1fr);gap:11px;}
  .page-pta-index .pta-product img{width:119px;}
}
@media(max-width:700px){
  .page-pta-index .pta-product{grid-template-columns:112px minmax(0,1fr);gap:10px;padding:11px;}
  .page-pta-index .pta-product img{width:112px;}
}
@media(max-width:560px){
  .page-home .ewf-small-products .product-card{grid-template-columns:112px minmax(0,1fr);}
  .page-home .ewf-small-products .card-visual{padding:8px 0 8px 9px;}
  .page-home .ewf-small-products .card-visual img{width:103px;}
  .page-home .ewf-small-products .product-card-inner{padding:9px 10px;}
}
@media(max-width:360px){
  .page-pta-index .pta-product{grid-template-columns:95px minmax(0,1fr);gap:9px;}
  .page-pta-index .pta-product img{width:95px;}
}

/* EWF INS common navigation | v05 | 2026-11-04
   Merged into a preserved css/site-shared.css by the included installer.
   In-page navigation = subdued white base (no color-filled in-page jumps).
   Contact CTAs use a separate light blue-gray family and dark legible text.
   Same-role peers keep equal button height/width within a row, without forcing
   oversized buttons on the rest of the site. Do not apply to application/submit CTAs.
*/
.ewf-support-jumps, .ewf-company-jumps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,880px);max-width:100%;gap:9px;
  justify-content:start;align-items:stretch;
}
.ewf-support-jumps > a,
.ewf-company-jumps > a {
  box-sizing:border-box;min-width:0;min-height:44px;height:100%;
  display:flex;align-items:center;justify-content:space-between;gap:9px;
  background:#fff;color:#536d7c;border:1px solid #dfe7eb;border-radius:5px;
  padding:9px 12px;text-decoration:none;font-size:.88rem;font-weight:650;
  line-height:1.5;text-align:left;
}
.ewf-support-jumps > a[href^="#"]::after,
.ewf-company-jumps > a[href^="#"]::after {
  content:"↓";display:inline-block;flex:none;font-size:1.28em;font-weight:800;
  line-height:1;color:#6f8795;
}
.ewf-support-jumps > a:not([href^="#"])::after,
.ewf-company-jumps > a:not([href^="#"])::after {
  content:"→";display:inline-block;flex:none;font-size:1.11em;font-weight:750;
  line-height:1;color:#31566a;
}
.ewf-support-jumps > a[href^="http"]::after,
.ewf-company-jumps > a[href^="http"]::after {
  content:"↗";color:#3c6e85;
}
.ewf-support-jumps > a:hover,
.ewf-company-jumps > a:hover {
  background:#f5f8fa;border-color:#b6cbd5;
}
.ewf-support-jumps > a:focus-visible,
.ewf-company-jumps > a:focus-visible {
  outline:3px solid #689cb7;outline-offset:2px;
}
/* This preserves a comfortable 44px tap target while reducing excessive
   empty button width on 360/390px screens. The three peer controls are equal. */
/* Existing product-template and SS navigation already use grid: preserve its
   number of columns; just prevent unequal control heights within one row. */
.ewf-template .ewf-t-page-nav,
.ewf-ss-page .ewf-ss-jump-items {align-items:stretch;}
.ewf-template .ewf-t-page-nav a,
.ewf-ss-page .ewf-ss-jump-items a {box-sizing:border-box;height:100%;min-height:44px;}
@media (max-width:640px) {
  .ewf-support-jumps, .ewf-company-jumps {
    grid-template-columns:minmax(0,1fr);width:min(100%,296px);gap:6px;
  }
  .ewf-support-jumps > a,
  .ewf-company-jumps > a {
    min-height:44px;height:100%;padding:7px 10px;gap:8px;
    font-size:.84rem;line-height:1.38;
  }
}

/* v05 role classes for consistent separate-page and inquiry buttons.
   Do not recolor submit, contract-application or accident emergency actions. */
.ewf-nav-unit {display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:100%;}
.ewf-nav-unit > a {box-sizing:border-box;min-height:44px;display:inline-flex;align-items:center;gap:10px;}
.ewf-nav-unit > .ewf-nav-caption {display:block;margin:0;color:#526a78;font-size:.74rem;line-height:1.6;max-width:290px;}
.ewf-nav-unit > a.ewf-nav-inpage {background:#fff;border:1px solid #dfe7eb;color:#536d7c;}
.ewf-nav-unit > a.ewf-nav-contact {background:#deebf1;border:1px solid #a9c5d3;color:#294f64;}
.ewf-nav-unit > a.ewf-nav-contact:hover {background:#d3e5ed;border-color:#789eaf;}
@media (prefers-reduced-motion:reduce) {
  .ewf-support-jumps a,.ewf-company-jumps a,.ewf-nav-unit a {transition:none;}
}

/* EWF INS support card CTA roles | v06 | 2026-11-04
   Visually emphasize only an enquiry / consultation CTA (not forms' submit
   buttons, application links, or accident-specific emergency links).
   Captions are rendered below the actual clickable button.
*/
.page-support .ewf-route-grid > article > a.ewf-nav-contact {
  background:#deebf1;
  border-color:#a9c5d3;
  color:#294f64!important;
}
.page-support .ewf-route-grid > article > a.ewf-nav-contact:hover {
  background:#d3e5ed;
  border-color:#789eaf;
  color:#244b61!important;
}
.page-support .ewf-route-grid > article > a.ewf-nav-contact:focus-visible {
  outline:3px solid #689cb7;
  outline-offset:2px;
}
.page-support .ewf-route-grid > article > .ewf-nav-caption {
  display:block;
  align-self:flex-start;
  max-width:100%;
  margin-top:-4px;
  padding:0;
  color:#536a7a;
  font-size:.74rem;
  line-height:1.6;
}
.page-support .ewf-route-grid > article > .ewf-pn-fax {
  margin:0;
  font-size:.83rem;
  color:#435d6c;
  line-height:1.6;
}


/* EWF INS v07 | Equal-sized ZenP links and a single destination note per group.
   2026-11-04: Same-role buttons share dimensions, modest at 360/390px.
   No insurance facts, form validation, MFP, or accident routing is changed.
   This visual fallback consolidates existing identical captions while the
   separate original product HTML files await content-level cleanup.
*/
:where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
  .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) {
  position:relative;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,210px));
  max-width:100%;
  gap:10px;
  padding-bottom:24px;
  align-items:stretch;
  justify-content:start;
}
:where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
  .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) > .ewf-link-unit {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  align-items:stretch;
  justify-content:flex-start;
  gap:0;
}
:where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
  .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) > .ewf-link-unit > a {
  box-sizing:border-box;
  display:inline-flex;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:46px;
  height:100%;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:8px 11px;
  font-size:.86rem;
  line-height:1.4;
  white-space:normal;
  text-align:center;
}
/* The first existing destination text remains a real DOM node and is placed
   after the complete group. Only its identical siblings are visually hidden. */
:where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
  .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) > .ewf-link-unit:first-child .ewf-destination {
  display:block;
  position:absolute;
  left:0;
  bottom:0;
  width:auto;
  max-width:100%;
  margin:0;
  padding:0;
  color:#586d7d;
  font-size:.74rem;
  line-height:1.55;
  text-align:left;
}
:where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
  .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) > .ewf-link-unit:not(:first-child) .ewf-destination {
  display:none;
}
/* Support page: one explanatory line for all 4 ZenP links, separate from cards. */
.page-support .ewf-zenp-box .ewf-zenp-group-note {
  margin:12px 0 0;
  color:#536b7b;
  font-size:.78rem;
  line-height:1.65;
}
@media(max-width:620px) {
  :where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
    .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) {
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:min(100%,350px);
    gap:9px;
    padding-bottom:24px;
  }
  :where(.source-article .ewf-zenp-quickstart, .ewf-pta-gateway)
    .ewf-inline-actions:has(> .ewf-link-unit:nth-child(3)) > .ewf-link-unit > a {
    min-height:44px;
    padding:7px 8px;
    font-size:.81rem;
    gap:6px;
  }
}

/* R25 V01 | PTA product-card copy-to-CTA breathing room on narrow screens.
   Visual spacing only; four same-role links. No insurance or interaction changes. */
@media(max-width:700px){
  .page-pta-index .pta-product-content > p:not(.pta-insurer){margin-bottom:9px;}
}
