/* Privacy Policy page (/privacy, page 3, Elementor HTML widget d7f2b046 holds the markup; loaded by echuan-privacy-page.php).
   Moved out of the widget's inline <style> on 2026-10-14. Grid tracks use minmax(0,…): a plain 1fr track cannot shrink
   below its content, so the 480px-min table in .content made the page ~480px wide (sideways drag) on phones. */
.es-priv{
  --blue:#253993;--blue-deep:#1a2a70;--blue-tint:#eef1fa;--ink:#1c2233;--ink-soft:#5a6275;
  --line:#dfe3ee;--paper-alt:#f5f6fa;--accent:#f4b400;
  font-family:"Barlow",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.es-priv *{box-sizing:border-box;margin:0;padding:0}
.es-priv p{margin:0}
.es-priv table,.es-priv th,.es-priv td{border:0}
.es-priv a{color:var(--blue)}
.es-priv a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.es-priv .wrap{width:min(1140px,92%);margin:0 auto}
.es-priv h1,.es-priv h2,.es-priv h3{color:inherit;text-transform:none}
.es-priv .hero h1{color:#fff}
.es-priv .btn,.es-priv .btn:hover{color:#fff}
.es-priv .btn-ghost,.es-priv .btn-ghost:hover{color:var(--blue)}
.es-priv .h-display{font-family:"Barlow Condensed","Barlow",sans-serif;font-weight:700;line-height:1.1}

.es-priv .btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:.7rem 1.4rem;border-radius:4px;transition:background .15s}
.es-priv .btn:hover{background:var(--blue-deep)}
.es-priv .btn-ghost{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.es-priv .btn-ghost:hover{background:var(--blue-tint)}

.es-priv .hero{background:var(--blue);color:#fff;position:relative;overflow:hidden;padding:4.5rem 0 4rem}
.es-priv .hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 85% 30%,rgba(255,255,255,.08) 0 2px,transparent 3px),
    radial-gradient(circle at 70% 70%,rgba(255,255,255,.08) 0 2px,transparent 3px),
    radial-gradient(circle at 92% 75%,rgba(255,255,255,.08) 0 2px,transparent 3px),
    repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.05) 46px 47px);}
.es-priv .crumbs{font-size:.85rem;opacity:.8;margin-bottom:1rem}
.es-priv .crumbs a{color:#fff;text-decoration:none}
.es-priv .crumbs span{margin:0 .4rem}
.es-priv .hero h1{font-size:clamp(2.6rem,6vw,4.25rem);line-height:1;letter-spacing:.01em}
.es-priv .hero p{max-width:38rem;margin-top:1rem;font-size:1.1rem;opacity:.92}
.es-priv .hero .meta{margin-top:1.5rem;font-size:.9rem;opacity:.85}

/* summary strip */
.es-priv .summary{margin-top:-2.25rem;position:relative;z-index:2}
.es-priv .summary ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(37,57,147,.10)}
.es-priv .summary li{padding:1.5rem 1.75rem;border-right:1px solid var(--line);display:flex;gap:1rem;align-items:flex-start}
.es-priv .summary li:last-child{border-right:0}
.es-priv .summary svg{width:34px;height:34px;flex:none;color:var(--blue)}
.es-priv .summary .lbl{font-weight:700}
.es-priv .summary .sub{color:var(--ink-soft);font-size:.9rem;margin-top:.15rem}

.es-priv .policy{padding:4rem 0}
.es-priv .policy .layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:3.5rem;align-items:start}
.es-priv .toc{position:sticky;top:96px;border-left:3px solid var(--blue);padding-left:1.1rem}
.es-priv .toc p{font-weight:700;margin-bottom:.6rem}
.es-priv .toc ul{list-style:none}
.es-priv .toc li{margin:.35rem 0}
.es-priv .toc a{text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.95rem}
.es-priv .toc a:hover{color:var(--blue)}
.es-priv .content section{padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.es-priv .content section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.es-priv .content h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:2rem;line-height:1.1;margin-bottom:1rem}
.es-priv .content h3{font-size:1.1rem;font-weight:700;margin:1.25rem 0 .4rem}
.es-priv .content p{color:var(--ink-soft);max-width:40rem}
.es-priv .content,.es-priv address{overflow-wrap:anywhere} /* long e-mail addresses / URLs */
.es-priv .content p+p{margin-top:.85rem}
.es-priv .content ul{color:var(--ink-soft);max-width:40rem;padding-left:1.25rem;margin-top:.5rem}
.es-priv .content li{margin:.35rem 0}
.es-priv .note{border:1px solid var(--line);border-left:5px solid var(--blue);background:var(--blue-tint);padding:1rem 1.25rem;margin-top:1.25rem;max-width:40rem;color:var(--ink);font-weight:500}
.es-priv .tbl{overflow-x:auto;border:1px solid var(--line);margin-top:1rem;max-width:40rem}
.es-priv table{width:100%;border-collapse:collapse;min-width:480px}
.es-priv th,.es-priv td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.95rem}
.es-priv th{background:var(--blue);color:#fff;font-weight:700}
.es-priv tr:last-child td{border-bottom:0}
.es-priv td:first-child{font-weight:700;color:var(--ink)}
.es-priv td{color:var(--ink-soft)}
.es-priv address{font-style:normal;color:var(--ink-soft);line-height:1.8;border-left:3px solid var(--blue);padding-left:1.25rem;margin-top:1rem;max-width:40rem}
.es-priv address strong{display:block;color:var(--ink)}

.es-priv .help{padding:0 0 4rem}
.es-priv .help .box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:center;border:1px solid var(--line);padding:2.5rem;background:var(--paper-alt)}
.es-priv .help h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:2rem;line-height:1.1;margin-bottom:.5rem}
.es-priv .help p{color:var(--ink-soft);max-width:32rem}
.es-priv .help .actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.es-priv .help address{margin-top:0}


@media (max-width:820px){
  .es-priv .hero{padding:3rem 0 3.5rem}
  .es-priv .summary ul{grid-template-columns:minmax(0,1fr)}
  .es-priv .summary li{border-right:0;border-bottom:1px solid var(--line)}
  .es-priv .summary li:last-child{border-bottom:0}
  .es-priv .policy .layout{grid-template-columns:minmax(0,1fr);gap:2rem}
  .es-priv .toc{position:static}
  .es-priv .help .box{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.es-priv *{transition:none!important}}
