/* Exponent Calculator — modern minimal design system
   Palette: indigo-blue (shared across the calculator family) on a calm neutral canvas. */

:root{
  --bg:        #f6f8fb;
  --surface:   #ffffff;
  --ink:       #0f1726;   /* headings */
  --text:      #3a4658;   /* body copy */
  --muted:     #6b7787;   /* secondary */
  --line:      #e4e7ef;   /* hairlines */
  --brand:     #4458dc;   /* indigo-blue */
  --brand-dark:#3445b8;
  --brand-soft:#eef0fb;   /* tint panels */
  --brand-bd:  #cdd4f5;
  --ring:      rgba(68,88,220,.20);
  --shadow:    0 14px 34px -16px rgba(15,23,42,.30);
  --radius:    16px;
  --maxw:      1080px;
  --readw:     760px;
  --serif:     "Times New Roman", Times, Georgia, serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.7;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{color:var(--ink);line-height:1.25;letter-spacing:-.01em;}
h1{font-size:clamp(2rem,5vw,2.7rem);font-weight:700;margin:0;}
h2{font-size:1.6rem;font-weight:700;margin:0 0 .6rem;}
h3{font-size:1.1rem;font-weight:600;margin:0 0 .4rem;}
p{margin:0 0 1rem;}
a{color:var(--brand);text-decoration:none;}
a:hover{color:var(--brand-dark);text-decoration:underline;}
sup{font-size:.62em;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.read{max-width:var(--readw);margin-left:auto;margin-right:auto;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(150%) blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);}
.brand:hover{text-decoration:none;color:var(--ink);}
.brand-mark{
  display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;
  background:var(--brand);color:#fff;
  font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1;
}
.brand-name{font-size:1.05rem;letter-spacing:-.01em;}
.site-nav{display:flex;gap:1.5rem;}
.site-nav a{color:var(--muted);font-weight:500;font-size:.95rem;}
.site-nav a:hover{color:var(--brand);text-decoration:none;}

/* ---------- Hero ---------- */
.hero{text-align:center;padding:60px 0 8px;}
.hero .sub{color:var(--muted);font-size:1.18rem;max-width:580px;margin:.7rem auto 0;}

/* ---------- Hero two-column (calculator + facts) ---------- */
.hero-grid{display:grid;grid-template-columns:minmax(0,480px) 1fr;gap:34px;align-items:start;max-width:960px;margin:30px auto 0;text-align:left;}
.hero-grid .calc{margin:0;width:100%;max-width:none;}
.facts{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 26px;}
.facts-title{font-size:1.15rem;font-weight:700;color:var(--ink);margin:0 0 4px;}
.facts-list{list-style:none;margin:0;padding:0;}
.fact{padding:14px 16px;border-radius:10px;background:var(--brand-soft);margin-top:12px;color:var(--text);font-size:.95rem;line-height:1.6;}
.fact strong{color:var(--brand-dark);}
.fact sup{color:var(--brand);font-size:.7em;}
@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;max-width:480px;gap:24px;}
}

/* ---------- Calculator ---------- */
.calc{
  max-width:480px;margin:34px auto 0;
  background:var(--surface);border:1px solid var(--line);border-radius:20px;
  padding:32px 28px;box-shadow:var(--shadow);
}
.calc-display{
  text-align:center;font-family:var(--serif);font-style:italic;font-size:60px;
  color:var(--brand);line-height:1.05;min-height:92px;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;
}
.calc-display .exp{font-size:.5em;display:inline-block;transform:translateY(-0.95em);margin-left:.06em;}
.calc-display .eq{font-style:normal;color:var(--ink);margin:0 .12em;}
.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:7px;}
.field .var{font-family:var(--serif);font-style:italic;}
.form-control{
  width:100%;padding:12px 14px;font-size:18px;color:var(--ink);
  border:1px solid var(--line);border-radius:12px;background:#fff;box-sizing:border-box;
  font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;
  font-variant-numeric:lining-nums;
}
.form-control:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ring);}
.calc-hint{font-size:13px;color:var(--muted);text-align:center;margin:14px 0 0;}

.result-box{margin-top:18px;}
.result-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:7px;}
.result-field{position:relative;background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:16px 50px 16px 16px;min-height:56px;}
.result-val{font-size:22px;color:var(--ink);font-variant-numeric:lining-nums tabular-nums;word-break:break-all;}
.copy-btn{position:absolute;top:9px;right:9px;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:flex;line-height:1;}
.copy-btn:hover{color:var(--brand);background:#eef0f8;}
.show-full{margin-top:12px;border:none;background:transparent;color:var(--brand);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;padding:4px 0;}
.show-full:hover{text-decoration:underline;text-underline-offset:3px;}

.clear-row{text-align:center;margin-top:16px;}
.clear-link{color:var(--brand);font-size:15px;font-weight:500;cursor:pointer;}
.clear-link:hover{text-decoration:underline;text-underline-offset:3px;}
.clear-hint{color:var(--muted);font-size:14px;margin-left:8px;}
.key{display:inline-block;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#5b6b7c;background:#f1f2f5;border:1px solid #dcdfe5;border-bottom-width:2px;border-radius:5px;padding:1px 6px;margin:0 2px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  font-weight:600;font-size:1rem;font-family:inherit;cursor:pointer;
  padding:.8rem 1.4rem;border-radius:12px;border:1px solid transparent;
  transition:background .15s,border-color .15s,color .15s,transform .05s;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-dark);color:#fff;text-decoration:none;}
.btn-block{width:100%;margin-top:18px;padding:14px;font-size:16px;}

/* ---------- Sections ---------- */
.section{padding:44px 0;}
.section + .section{padding-top:8px;}

/* ---------- Callout ---------- */
.callout{
  background:var(--brand-soft);border:1px solid var(--brand-bd);
  border-left:4px solid var(--brand);border-radius:12px;
  padding:18px 22px;color:var(--ink);font-size:1.05rem;
}
.callout strong{color:var(--brand-dark);}

/* ---------- Card + table ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 18px;}
.table-clean{width:100%;border-collapse:collapse;}
.table-clean th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:12px;border-bottom:2px solid var(--line);}
.table-clean td{padding:12px;border-bottom:1px solid var(--line);color:var(--ink);}
.table-clean tr:last-child td{border-bottom:none;}
.table-clean td:first-child{font-family:var(--serif);font-size:1.05rem;}

/* ---------- Steps ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.step{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;}
.step .n{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-weight:700;margin-bottom:10px;}
.step p{margin:0;color:var(--text);font-size:.97rem;}

/* ---------- FAQ ---------- */
.faq-item{padding:20px 0;border-bottom:1px solid var(--line);}
.faq-item:last-child{border-bottom:none;}
.faq-item h3{margin-bottom:.35rem;}
.faq-item p{margin:0;color:var(--text);}

/* ---------- Links list ---------- */
.links-list{list-style:none;padding:0;margin:0;}
.links-list li{padding:10px 0;border-bottom:1px solid var(--line);}
.links-list li:last-child{border-bottom:none;}

/* ---------- Tool cards ---------- */
.tools{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.tool-card{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;color:var(--ink);font-weight:600;font-size:1.05rem;transition:border-color .15s,box-shadow .15s,transform .12s;}
.tool-card:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px);text-decoration:none;color:var(--ink);}
.tool-card .arrow{color:var(--brand);font-size:1.2rem;}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-size:.88rem;color:var(--muted);margin:0 0 1.2rem;}
.crumbs a{color:var(--brand);}
.crumbs .sep{margin:0 .45rem;color:var(--muted);}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:30px 0;margin-top:48px;text-align:center;background:#fff;}
.footer-nav{display:flex;gap:1.3rem;justify-content:center;flex-wrap:wrap;margin-bottom:.6rem;}
.footer-nav a{color:var(--muted);font-size:.92rem;}
.footer-nav a:hover{color:var(--brand);text-decoration:none;}
.copyright{color:var(--muted);font-size:.85rem;margin:0;}

/* ---------- Responsive ---------- */
@media (max-width:640px){
  body{font-size:16px;}
  .hero{padding:38px 0 4px;}
  .calc{padding:24px 20px;margin-top:26px;}
  .calc-display{font-size:50px;}
  .calc-fields{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:1fr;}
  .tools{grid-template-columns:1fr;}
  .brand-name{display:none;}
  .section{padding:34px 0;}
}
