/* ePortalHub v1.4.3 — Unified public UI system
   Applies a consistent public design language across finance, home cost,
   utilities, guides, categories, articles, search, authors and legal pages. */

.eph-public{
  --eph-surface:#fff;
  --eph-soft:#f7f9fc;
  --eph-soft-amber:#fff8e8;
  --eph-border:#e3e9ef;
  --eph-border-strong:#d5dde7;
  --eph-muted:#627187;
  --eph-muted-2:#7d8999;
  --eph-shadow:0 12px 38px rgba(27,43,75,.06);
  --eph-shadow-hover:0 18px 46px rgba(27,43,75,.105);
  --eph-radius:18px;
  --eph-radius-sm:12px;
  background:var(--page-bg);
}
.eph-public main{min-height:48vh}
.eph-public .container{width:min(calc(100% - 36px),1200px)}

/* Shared breadcrumb */
.eph-public .breadcrumb-bar{background:#fff;border-bottom:1px solid var(--eph-border)}
.eph-public .breadcrumb{min-height:48px;display:flex;align-items:center;gap:8px;padding:0;color:#6d7a8c;font-size:.81rem}
.eph-public .breadcrumb a{color:#526174;text-decoration:none;font-weight:600}
.eph-public .breadcrumb a:hover{color:var(--navy)}

/* Shared compact public page hero */
.eph-public .page-hero,
.eph-public .utility-page-hero{
  position:relative;overflow:hidden;padding:42px 0 38px;
  background:linear-gradient(135deg,#f7f9fc 0%,#fff 58%,#fff8e8 100%);
  border-bottom:1px solid var(--eph-border);
}
.eph-public .page-hero:after,
.eph-public .utility-page-hero:after{
  content:"";position:absolute;right:-120px;top:-210px;width:430px;height:430px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,158,11,.13),rgba(245,158,11,0) 70%);pointer-events:none
}
.eph-public .page-hero .container,
.eph-public .utility-page-hero .container{position:relative;z-index:1}
.eph-public .page-hero h1,
.eph-public .utility-page-hero h1{max-width:920px;margin:7px 0 10px;font-size:clamp(2.2rem,4.4vw,3.5rem);letter-spacing:-.045em}
.eph-public .page-hero p,
.eph-public .utility-page-hero p{max-width:790px;margin:0;color:var(--eph-muted);font-size:1.02rem;line-height:1.7}
.eph-public .section-kicker,
.eph-public .utility-eyebrow,
.eph-public .eyebrow{display:inline-flex;align-items:center;gap:7px;color:#a66500;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.eph-public .section-kicker:before,
.eph-public .utility-eyebrow:before{content:"";width:20px;height:2px;border-radius:99px;background:var(--amber)}

/* Sections */
.eph-public .section{padding:46px 0}
.eph-public .section-white{background:#fff;border-top:1px solid #f0f3f6;border-bottom:1px solid #f0f3f6}
.eph-public .section-head{margin-bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.eph-public .section-head h2{margin:4px 0 0;font-size:clamp(1.55rem,2.5vw,2rem)}
.eph-public .section-head p{margin:7px 0 0;color:var(--eph-muted);line-height:1.65}

/* Shared cards */
.eph-public .card,
.eph-public .content-card,
.eph-public .tool-card,
.eph-public .panel,
.eph-public .sidebar-card,
.eph-public .quick-card,
.eph-public .method-card,
.eph-public .lead-form,
.eph-public .utility-side-card,
.eph-public .utility-content,
.eph-public .converter-card,
.eph-public .calc-tool{
  border:1px solid var(--eph-border);border-radius:var(--eph-radius);background:#fff;box-shadow:var(--eph-shadow)
}
.eph-public .card,.eph-public .content-card,.eph-public .panel,.eph-public .quick-card,.eph-public .method-card,.eph-public .sidebar-card{padding:22px}
.eph-public .card-link,.eph-public .content-card,.eph-public .tool-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.eph-public .card-link:hover .card,.eph-public a.content-card:hover,.eph-public .tool-card:hover{transform:translateY(-3px);border-color:#d7dee7;box-shadow:var(--eph-shadow-hover)}
.eph-public .card h2,.eph-public .card h3,.eph-public .content-card h3,.eph-public .tool-card h3{margin-top:0}
.eph-public .card p,.eph-public .content-card p,.eph-public .tool-card p,.eph-public .method-card p{color:var(--eph-muted);line-height:1.65}
.eph-public .grid,.eph-public .card-grid{gap:18px}
.eph-public .tool-grid{gap:17px}
.eph-public .tool-card{min-height:188px;padding:20px}
.eph-public .tool-icon{background:#fff5dd;border:1px solid #f8dfaa;box-shadow:none}
.eph-public .card-arrow{color:#9a5f00;font-size:.82rem}

/* Buttons */
.eph-public .btn-primary,.eph-public .primary-button,.eph-public .header-cta{border-radius:10px;box-shadow:0 7px 18px rgba(245,158,11,.16)}
.eph-public .btn-navy{border-radius:10px;box-shadow:0 8px 20px rgba(27,43,75,.14)}
.eph-public .btn-outline,.eph-public .secondary-button{border-color:var(--eph-border-strong);border-radius:10px}

/* Finance + home hub heroes share the same premium proportions */
.eph-public .hero{padding:58px 0;background:linear-gradient(125deg,#172945 0%,var(--navy) 58%,#29446f 100%)}
.eph-public .hero-grid{gap:42px}
.eph-public .hero h1{font-size:clamp(2.55rem,5vw,4.15rem);letter-spacing:-.05em}
.eph-public .hero p{line-height:1.72}
.eph-public .hero-card{border-radius:20px;border-color:rgba(255,255,255,.16);box-shadow:0 24px 65px rgba(9,18,35,.23)}
.eph-public .trust-pill{border-radius:999px}

/* Calculator / form consistency */
.eph-public .calc-layout{gap:28px}
.eph-public .calc-tool{overflow:hidden}
.eph-public .calc-tool-header{padding:20px 23px;background:linear-gradient(125deg,#172945,var(--navy-light))}
.eph-public .calc-tool-body{padding:23px}
.eph-public .form-control label,.eph-public .field label,.eph-public .converter-field>span{color:#34445a;font-size:.79rem;font-weight:800;letter-spacing:.01em}
.eph-public .form-control input,.eph-public .form-control select,.eph-public .form-control textarea,
.eph-public .field input,.eph-public .field select,.eph-public .field textarea,
.eph-public .converter-field input,.eph-public .converter-field select{
  border:1px solid var(--eph-border-strong);border-radius:10px;background:#fff;outline:none;transition:border-color .16s,box-shadow .16s
}
.eph-public .form-control input:focus,.eph-public .form-control select:focus,.eph-public .form-control textarea:focus,
.eph-public .field input:focus,.eph-public .field select:focus,.eph-public .field textarea:focus,
.eph-public .converter-field input:focus,.eph-public .converter-field select:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,.11)}
.eph-public .lead-form{padding:24px;background:linear-gradient(135deg,#fffaf0,#fff)}
.eph-public .currency-note,.eph-public .utility-notice,.eph-public .notice{border-radius:12px}

/* Article system */
.eph-public .article-page-hero{padding:40px 0 28px;background:linear-gradient(135deg,#f8fafc 0%,#fff 58%,#fff8e9 100%);border-bottom:1px solid var(--eph-border)}
.eph-public .article-page-hero .article-head{max-width:900px}
.eph-public .article-page-hero h1{margin:10px 0 13px;font-size:clamp(2.35rem,4.7vw,3.8rem);letter-spacing:-.05em}
.eph-public .article-page-hero .article-dek{max-width:790px;margin:0;color:var(--eph-muted);font-size:1.06rem;line-height:1.68}
.eph-public .article-meta{margin-top:19px;padding:14px 0 0;border:0;color:#6e7c8f;font-size:.79rem;gap:8px 16px}
.eph-public .article-meta strong{color:#34445a}
.eph-public .article-section{padding:34px 0 64px}
.eph-public .article-layout{grid-template-columns:minmax(0,820px) 292px;gap:30px;justify-content:center}
.eph-public .article-document{min-width:0;padding:30px 34px 38px;border:1px solid var(--eph-border);border-radius:20px;background:#fff;box-shadow:var(--eph-shadow)}
.eph-public .article-body{color:#405066}
.eph-public .article-body>p,.eph-public .article-body section>p{max-width:75ch;font-size:.98rem;line-height:1.82}
.eph-public .article-body h2{margin:40px 0 13px;padding-top:2px;scroll-margin-top:100px;font-size:1.66rem}
.eph-public .article-body h2:before{content:"";display:block;width:34px;height:3px;margin-bottom:11px;border-radius:99px;background:var(--amber)}
.eph-public .article-body h3{margin:27px 0 10px;font-size:1.18rem}
.eph-public .article-body ul,.eph-public .article-body ol{max-width:74ch;color:#405066}
.eph-public .article-body table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--eph-border);border-radius:12px;overflow:hidden}
.eph-public .article-body th,.eph-public .article-body td{padding:11px 13px;border-bottom:1px solid #e9eef3;text-align:left;vertical-align:top}
.eph-public .article-body th{background:#f7f9fc;color:var(--navy);font-size:.8rem}
.eph-public .article-body tr:last-child td{border-bottom:0}
.eph-public .takeaways{margin-top:0;background:#fff9ed;border:1px solid #f2d89b;border-left:4px solid var(--amber)}
.eph-public .toc{background:#fbfcfe;border-color:var(--eph-border)}
.eph-public .toc ol{columns:2;column-gap:26px}
.eph-public .toc li{break-inside:avoid;margin:5px 0}
.eph-public .toc a{text-decoration:none;color:#4a5c72}
.eph-public .toc a:hover{color:var(--navy);text-decoration:underline}
.eph-public .faq-item{border-color:var(--eph-border);border-radius:12px;box-shadow:none}
.eph-public .faq-item summary{padding:15px 17px}
.eph-public .article-sidebar{position:sticky;top:92px;display:grid;gap:15px}
.eph-public .article-sidebar .sidebar-card{box-shadow:0 8px 26px rgba(27,43,75,.045)}
.eph-public .article-sidebar .sidebar-card h2{font-size:1rem;margin:0 0 10px}
.eph-public .article-sidebar .sidebar-card a{display:block;padding:8px 0;border-bottom:1px solid #edf1f4;text-decoration:none;color:#4c5e73;font-size:.82rem;font-weight:650}
.eph-public .article-sidebar .sidebar-card a:last-child{border-bottom:0}

/* Listing pages */
.eph-public .listing-section{padding:34px 0 64px}
.eph-public .listing-card{height:100%}
.eph-public .content-card small,.eph-public .card small{color:#7a8797;font-size:.75rem}
.eph-public .empty-state{padding:28px;border:1px dashed #cad4df;border-radius:16px;background:#fff;text-align:center;color:#69788c}

/* Author pages */
.eph-public .author-card{position:relative;overflow:hidden}
.eph-public .author-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--amber)}

/* Search */
.eph-public .search-panel{max-width:760px;padding:18px;margin-top:18px}
.eph-public .search-results-title{margin-top:4px}

/* Utility pages stay specialised but use the same surfaces */
.eph-public .utility-two-col{gap:28px}
.eph-public .utility-side-card{padding:19px;box-shadow:0 8px 26px rgba(27,43,75,.045)}
.eph-public .utility-side-card h3{margin-top:0;font-size:1rem}
.eph-public .utility-side-card a{display:block;padding:7px 0;color:#4a5c72;text-decoration:none}
.eph-public .converter-card{box-shadow:var(--eph-shadow)}
.eph-public .utility-content{padding:24px;margin-top:22px}
.eph-public .utility-content h2:first-child{margin-top:0}
.eph-public .utility-category-card{border-radius:17px;border-color:var(--eph-border);box-shadow:var(--eph-shadow)}

/* Footer: same finish on every page */
.eph-public .site-footer{margin-top:0;background:linear-gradient(180deg,#132440,#0f1d34)}
.eph-public .footer-grid{padding:46px 0 34px;gap:28px}
.eph-public .footer-col h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#eef4fb}
.eph-public .footer-col a{color:#bdcadb}
.eph-public .footer-col a:hover{color:#fff}
.eph-public .footer-bottom{padding:18px 0 23px}

.eph-public .quote-layout{display:grid;grid-template-columns:minmax(0,780px) 300px;gap:28px;align-items:start;justify-content:center}

/* Simple status pages */
.eph-public .status-page{padding:54px 0 76px}
.eph-public .status-card{max-width:760px;margin:auto;padding:42px 38px;text-align:center;border:1px solid var(--eph-border);border-radius:20px;background:#fff;box-shadow:var(--eph-shadow)}
.eph-public .status-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 15px;border-radius:16px;background:#fff4d8;color:#945900;font-size:1.25rem;font-weight:900}
.eph-public .status-card h1{margin:0 0 10px;font-size:2.15rem}
.eph-public .status-card p{max-width:620px;margin:0 auto 22px;color:var(--eph-muted)}

@media(max-width:1080px){
  .eph-public .quote-layout{grid-template-columns:minmax(0,1fr)}
  .eph-public .article-layout{grid-template-columns:minmax(0,1fr)}
  .eph-public .article-sidebar{display:none}
  .eph-public .toc ol{columns:1}
}
@media(max-width:760px){
  .eph-public .container{width:min(calc(100% - 24px),1200px)}
  .eph-public .page-hero,.eph-public .utility-page-hero{padding:30px 0 27px}
  .eph-public .page-hero h1,.eph-public .utility-page-hero h1{font-size:2.25rem}
  .eph-public .section{padding:36px 0}
  .eph-public .hero{padding:42px 0}
  .eph-public .article-page-hero{padding:28px 0 22px}
  .eph-public .article-page-hero h1{font-size:2.25rem}
  .eph-public .article-section{padding:22px 0 44px}
  .eph-public .article-document{padding:24px 20px 30px;border-radius:15px}
  .eph-public .article-body h2{font-size:1.42rem}
  .eph-public .lead-form,.eph-public .utility-content{padding:20px}
  .eph-public .status-card{padding:32px 22px}
}

/* ePortalHub v1.4.4 — reusable editorial components
   Shared visual treatment for sources, authors and related-content cards. */
.eph-public .article-component-section{margin-top:42px}
.eph-public .component-heading{margin-bottom:17px}
.eph-public .component-heading>h2{margin:6px 0 7px;padding:0;font-size:1.58rem}
.eph-public .component-heading>h2:before{display:none}
.eph-public .component-heading>p{max-width:68ch;margin:0;color:var(--eph-muted);font-size:.91rem;line-height:1.62}
.eph-public .component-kicker{display:inline-flex;align-items:center;gap:7px;color:#9c6200;font-size:.69rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.eph-public .component-kicker:before{content:"";width:26px;height:3px;border-radius:99px;background:var(--amber)}

/* Sources and verification */
.eph-public .source-verification-section{padding:0}
.eph-public .source-list{display:grid;gap:9px}
.eph-public .source-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;border:1px solid var(--eph-border);border-radius:13px;background:#fbfcfe;color:inherit;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}
.eph-public .source-item:hover{border-color:#e6c477;background:#fffaf0;transform:translateY(-1px);box-shadow:0 8px 22px rgba(27,43,75,.055)}
.eph-public .source-badge{min-width:62px;max-width:116px;padding:6px 9px;border:1px solid #efd28c;border-radius:999px;background:#fff5dc;color:#8a5700;font-size:.67rem;font-weight:850;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eph-public .source-copy{min-width:0;display:grid;gap:2px}
.eph-public .source-copy strong{color:var(--navy);font-size:.91rem;line-height:1.35}
.eph-public .source-copy small{color:var(--eph-muted-2);font-size:.74rem}
.eph-public .source-open{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#fff;border:1px solid var(--eph-border);color:#66768a;font-weight:800}

/* Article author profile */
.eph-public .author-profile-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:23px 24px;border:1px solid var(--eph-border);border-radius:17px;background:linear-gradient(135deg,#fff 0%,#fbfcff 68%,#fff8e9 100%);box-shadow:0 9px 30px rgba(27,43,75,.05);overflow:hidden}
.eph-public .author-profile-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--amber)}
.eph-public .author-profile-avatar{width:60px;height:60px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,var(--navy),#2a426a);color:#fff;box-shadow:0 9px 22px rgba(27,43,75,.16);font-size:1rem;font-weight:900;letter-spacing:.04em;overflow:hidden}
.eph-public .author-profile-avatar img{width:100%;height:100%;object-fit:cover}
.eph-public .author-profile-copy{min-width:0}
.eph-public .author-profile-copy h2{margin:5px 0 2px;padding:0;font-size:1.28rem}
.eph-public .author-profile-copy h2:before{display:none}
.eph-public .author-profile-copy>p{max-width:70ch;margin:9px 0 0!important;color:#536378!important;font-size:.9rem!important;line-height:1.7!important}
.eph-public .author-profile-copy .author-role{margin-top:3px!important;color:#748195!important;font-size:.77rem!important;font-weight:750}
.eph-public .author-profile-copy .author-expertise{padding-top:9px;border-top:1px solid #e9edf2}
.eph-public .author-actions{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:14px}
.eph-public .text-cta{display:inline-flex;align-items:center;gap:6px;color:#1557a0;text-decoration:none;font-size:.8rem;font-weight:800}
.eph-public .text-cta:hover{text-decoration:underline;text-underline-offset:3px}

/* Related content system — also reusable outside articles */
.eph-public .related-guides-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eph-public .related-guide-card{min-width:0;display:flex;flex-direction:column;padding:17px 18px;border:1px solid var(--eph-border);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.eph-public .related-guide-card:hover{transform:translateY(-2px);border-color:#e6c477;box-shadow:0 11px 28px rgba(27,43,75,.075)}
.eph-public .related-guide-category{align-self:flex-start;margin-bottom:9px;padding:4px 8px;border-radius:999px;background:#fff4d8;color:#8c5700;font-size:.65rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.eph-public .related-guide-card>strong{color:var(--navy);font-size:.94rem;line-height:1.43}
.eph-public .related-guide-card>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:8px 0 13px!important;color:var(--eph-muted)!important;font-size:.78rem!important;line-height:1.55!important}
.eph-public .related-guide-cta{margin-top:auto;color:#1557a0;font-size:.76rem;font-weight:850}
.eph-public .related-guide-cta b{margin-left:4px}

/* Existing utility SEO lists now inherit a cleaner card rhythm project-wide. */
.eph-public .seo-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eph-public .seo-link-list>a{min-width:0;display:flex;flex-direction:column;gap:6px;padding:16px 17px;border:1px solid var(--eph-border);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.eph-public .seo-link-list>a:hover{transform:translateY(-2px);border-color:#e6c477;box-shadow:0 10px 26px rgba(27,43,75,.07)}
.eph-public .seo-link-list>a strong{color:var(--navy);font-size:.9rem;line-height:1.4}
.eph-public .seo-link-list>a span{color:var(--eph-muted);font-size:.77rem;line-height:1.5}

/* Author directory cards align with the same compact profile language. */
.eph-public .listing-section .author-card{padding:22px 23px;border-radius:16px;background:linear-gradient(145deg,#fff,#fbfcfe)}
.eph-public .listing-section .author-card h2{margin:7px 0 8px;font-size:1.22rem}
.eph-public .listing-section .author-card p{margin:7px 0;color:var(--eph-muted);font-size:.86rem;line-height:1.65}

@media(max-width:760px){
  .eph-public .source-item{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:13px}
  .eph-public .source-open{display:none}
  .eph-public .source-badge{min-width:54px;max-width:90px}
  .eph-public .author-profile-card{grid-template-columns:1fr;padding:21px 19px}
  .eph-public .author-profile-avatar{width:52px;height:52px;border-radius:14px}
  .eph-public .related-guides-grid,.eph-public .seo-link-list{grid-template-columns:1fr}
}
