@charset "utf-8";
/* Estate Planning page styles - ported from the reference estate-planning mockup.
   All rules are scoped under #epPage so they cannot leak into the rest of the site. */

#epPage{
  --ep:#8a6d3b; --ep-dark:#6e5629; --ep-soft:#faf7f1; --ep-line:#e8dcc6;
  --link:#2a8bd0; --text:#333; --muted:#666; --rule:#ddd; --panel:#efefef; --icon:#2a8bd0; --tbc:#fff3b0; --ok:#3c9a5f; --warn:#b5651d;
  font-family:'Roboto Condensed',Arial,sans-serif;
  color:var(--text);
  font-size:15px;
  line-height:1.55;
}
#epPage *{box-sizing:border-box}
#epPage a{color:var(--link);text-decoration:none}
#epPage a:hover{text-decoration:underline}

#epPage .wrap{max-width:1380px;margin:0 auto;padding:22px 16px 60px}
#epPage .subtabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:2px solid var(--ep);margin-bottom:22px}
#epPage .subtabs button{font:inherit;font-size:14px;font-weight:700;color:var(--link);background:#fff;border:1px solid var(--rule);border-bottom:none;padding:8px 14px;cursor:pointer}
#epPage .subtabs button.on{background:var(--ep);color:#fff;border-color:var(--ep)}

#epPage h1{font-weight:400;font-size:30px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
#epPage h3.sec{font-size:19px;font-weight:700;margin:26px 0 10px}
#epPage .priceline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 14px}
#epPage .priceline h2{font-size:18px;margin:0}
#epPage .order{background:var(--ep);color:#fff;border:none;font:inherit;font-weight:700;padding:8px 16px;cursor:pointer}
#epPage .order:hover{background:var(--ep-dark)}
#epPage .howorder{margin:-6px 0 16px;color:var(--muted);font-size:14px;text-align:right}
#epPage .intro{font-size:17px;color:#444;margin:0 0 18px;max-width:900px}

/* "In simple words" explainer */
#epPage .simple{border-left:4px solid var(--ep);background:var(--ep-soft);padding:14px 18px;margin:0 0 20px;max-width:980px}
#epPage .simple h4{margin:0 0 4px;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--ep-dark)}
#epPage .simple p{margin:0;font-size:17px;color:#3a3a3a}

#epPage .panel{background:var(--panel);padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}
#epPage .panel label{color:#555}
#epPage .panel select{font:inherit;padding:6px 10px;min-width:240px;border:1px solid #ccc;background:#fff}
#epPage .panel .order{padding:7px 14px}
#epPage .panel small{flex-basis:100%;color:var(--muted)}
#epPage .panel .result{flex-basis:100%;background:#fff;border:1px solid var(--rule);padding:12px 14px;display:none}
#epPage .panel .result.on{display:block}
#epPage .panel .result ul{margin:6px 0 0;padding-left:18px}

#epPage .cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#epPage .box{border:1px solid var(--ep-line);background:var(--ep-soft);padding:16px 18px}
#epPage .box h4{margin:0 0 8px;font-size:17px}
#epPage .ticks{list-style:none;margin:0;padding:0}
#epPage .ticks li{position:relative;padding:4px 0 4px 26px}
#epPage .ticks li::before{content:"";position:absolute;left:2px;top:9px;width:12px;height:7px;border-left:2.5px solid var(--ok);border-bottom:2.5px solid var(--ok);transform:rotate(-45deg)}

/* why it matters (risks) */
#epPage .risks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
#epPage .risk{border:1px solid var(--rule);border-top:3px solid var(--warn);padding:14px 16px;background:#fff;display:flex;flex-direction:column}
#epPage .risk b{display:block;margin-bottom:4px;color:#3a3a3a}
#epPage .risk span{flex:1;color:#555}
#epPage .risk .protect{display:block;margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule);color:#2f7a4b}
#epPage .risk .protect::before{content:"\2713  ";font-weight:700}
#epPage .riskfoot{margin:12px 0 0;color:var(--ep-dark);font-style:italic}

#epPage .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:s}
#epPage .steps div{border:1px solid var(--rule);padding:14px 16px 14px 58px;position:relative}
#epPage .steps div::before{counter-increment:s;content:counter(s);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--ep);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
#epPage .steps b{display:block}
#epPage .steps span{color:var(--muted)}

/* rating line near the top */
#epPage .ratebar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-4px 0 20px;font-size:14px;color:#555}
#epPage .ratebar .stars{color:#f2a900;letter-spacing:1px;font-size:15px}
#epPage .ratebar b{color:#333}
#epPage .ratebar .dot{color:#ccc}

/* reviews block */
#epPage .revgrid{display:grid;grid-template-columns:240px 1.35fr 1fr;gap:16px;align-items:stretch}
#epPage .revsum{background:var(--ep-soft);border:1px solid var(--ep-line);padding:18px;text-align:center;display:flex;flex-direction:column;gap:6px;justify-content:center}
#epPage .revsum .big{font-size:42px;font-weight:700;line-height:1;color:var(--ep-dark)}
#epPage .revsum .stars{color:#f2a900;font-size:20px;letter-spacing:2px}
#epPage .revsum small{color:var(--muted)}
#epPage .revsum hr{border:none;border-top:1px solid var(--ep-line);width:100%;margin:8px 0}
#epPage .revsum .fact b{display:block;font-size:18px;color:#333}
#epPage .revsum .fact{font-size:13px;color:#555}
#epPage .revsum .order{margin-top:8px;font-size:14px;display:inline-block}
#epPage .revsum .order:hover{text-decoration:none}
#epPage .rev{border:1px solid var(--rule);background:#fff;padding:16px 18px;display:flex;flex-direction:column}
#epPage .rev .stars{color:#f2a900;letter-spacing:2px;font-size:15px}
#epPage .rev q{display:block;quotes:"\201C" "\201D";margin:8px 0 12px;color:#3a3a3a;flex:1}
#epPage .rev q::before{content:open-quote;color:var(--ep);font-size:1.4em;line-height:0;margin-right:2px}
#epPage .rev q::after{content:close-quote;color:var(--ep);font-size:1.4em;line-height:0;margin-left:2px}
#epPage .rev.feat{border-left:4px solid var(--ep);padding:22px 24px}
#epPage .rev.feat q{font-size:20px;line-height:1.5}
#epPage .rev .who{font-weight:700;color:#333}
#epPage .rev .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
#epPage .rev .tag{font-size:12px;border:1px solid var(--ep-line);background:var(--ep-soft);color:var(--ep-dark);padding:1px 8px;border-radius:10px}
#epPage .revstack{display:flex;flex-direction:column;gap:16px}
#epPage .revstack .rev{flex:1}

#epPage .feat{list-style:none;margin:0;padding:0}
#epPage .feat > li{display:flex;gap:16px;align-items:flex-start;padding:8px 0}
#epPage .feat svg{flex:0 0 30px;width:30px;height:30px;stroke:var(--icon);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#epPage .feat ul{margin:4px 0 0;padding-left:18px}
#epPage .tbc{background:var(--tbc);color:#333;padding:0 4px;border-radius:2px}

#epPage .note{border-left:4px solid var(--ep);background:var(--ep-soft);padding:12px 16px;margin-top:24px;color:#555}
#epPage .note b{color:var(--text)}

#epPage table.st{border-collapse:collapse;width:100%;margin:6px 0 10px;font-size:14px}
#epPage table.st th,#epPage table.st td{border:1px solid var(--rule);padding:7px 10px;text-align:left;vertical-align:top}
#epPage table.st th{background:var(--panel)}
#epPage .tw{overflow-x:auto}

#epPage details{border:1px solid var(--rule);margin:0 0 6px;background:#fff}
#epPage summary{cursor:pointer;padding:10px 14px;font-weight:700;color:#444}
#epPage details[open] summary{border-bottom:1px solid var(--rule);background:var(--ep-soft)}
#epPage details .a{padding:10px 14px;color:#555}
#epPage details .a p{margin:0 0 8px}
#epPage details .a p:last-child{margin:0}
#epPage details .a ul{margin:4px 0 8px;padding-left:18px}
#epPage details .a li{margin-bottom:4px}

/* big FAQ page */
#epPage .faqtools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 18px}
#epPage .faqtools input{font:inherit;padding:8px 12px;border:1px solid #ccc;min-width:280px;flex:1 1 280px;max-width:460px}
#epPage .chips{display:flex;flex-wrap:wrap;gap:6px}
#epPage .chips button{font:inherit;font-size:13px;border:1px solid var(--ep-line);background:#fff;color:var(--ep-dark);padding:5px 11px;border-radius:14px;cursor:pointer}
#epPage .chips button.on{background:var(--ep);border-color:var(--ep);color:#fff}
#epPage .faqgroup h3{font-size:18px;margin:22px 0 8px;color:var(--ep-dark)}
#epPage .picker{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:4px 0 8px}
#epPage .picker > div{border:1px solid var(--ep-line);background:var(--ep-soft);padding:14px 16px}
#epPage .picker b{display:block;font-size:16px;margin-bottom:4px}
#epPage .picker .p{color:var(--ep-dark);font-weight:700;margin-top:6px}
#epPage .help{margin-top:28px;border:1px solid var(--ep-line);background:var(--ep-soft);padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
#epPage .empty{display:none;color:var(--muted);padding:10px 0}

#epPage .pane{display:none}
#epPage .pane.on{display:block}

@media (max-width:800px){
  #epPage h1{font-size:24px}
  #epPage .panel select{min-width:0;width:100%}
  #epPage .cols,#epPage .steps,#epPage .picker,#epPage .revgrid,#epPage .risks{grid-template-columns:1fr}
  #epPage .howorder{text-align:left}
}
