@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Baskerville:wght@400;700&display=swap');

html[data-theme="edward"]{
  --navy:#252521;
  --navy-2:#393832;
  --paper:#f7f4ec;
  --white:#fff;
  --ink:#272620;
  --muted:#68645a;
  --accent:#806700;
  --mist:#ffec8a;
  --line:#d9d0b8;
  --brand-yellow:#ffcd00;
}
html[data-theme="heritage"]{
  --navy:#1f1f1c;
  --navy-2:#34332e;
  --paper:#f4f0e7;
  --white:#fff;
  --ink:#292722;
  --muted:#6d675d;
  --accent:#b1873b;
  --mist:#e7decd;
  --line:#d7ccba;
}

html[data-theme="edward"] body{
  font-family:Arial,Helvetica,sans-serif;
}
html[data-theme="heritage"] body{
  font-family:'DM Sans',Arial,sans-serif;
}
html[data-theme="heritage"] h1,
html[data-theme="heritage"] h2,
html[data-theme="heritage"] h3,
html[data-theme="heritage"] .result-amount,
html[data-theme="heritage"] .about-fact strong{
  font-family:'Libre Baskerville',Georgia,serif;
  font-weight:400;
  letter-spacing:.005em;
}
html[data-theme="heritage"] h1,
html[data-theme="heritage"] h2{
  line-height:1.09;
}
html[data-theme="heritage"] h3{
  line-height:1.28;
}

html[data-theme="edward"] .hero,
html[data-theme="edward"] .process,
html[data-theme="edward"] .profile-band,
html[data-theme="edward"] .page-hero,
html[data-theme="edward"] .calculator-result,
html[data-theme="edward"] footer{
  background:var(--navy);
}
html[data-theme="heritage"] .hero,
html[data-theme="heritage"] .process,
html[data-theme="heritage"] .profile-band,
html[data-theme="heritage"] .page-hero,
html[data-theme="heritage"] .calculator-result,
html[data-theme="heritage"] footer{
  background:var(--navy);
}
html[data-theme="edward"] .verify,
html[data-theme="heritage"] .verify{
  background:var(--mist);
}
html[data-theme="edward"] .eyebrow,
html[data-theme="edward"] .page-hero h1 strong,
html[data-theme="edward"] .process-step span{
  color:var(--mist);
}
html[data-theme="heritage"] .eyebrow,
html[data-theme="heritage"] .page-hero h1 strong,
html[data-theme="heritage"] .process-step span,
html[data-theme="heritage"] .hero h1 strong,
html[data-theme="heritage"] .result-kicker{
  color:#d3b66f;
}
html[data-theme="edward"] .hero h1 strong,
html[data-theme="edward"] .result-kicker{
  color:var(--brand-yellow);
}
html[data-theme="edward"] .result-progress span{
  background:var(--brand-yellow);
}
html[data-theme="edward"] .calc-range{
  background:#d7b628;
}
html[data-theme="edward"] :focus-visible{
  outline-color:var(--brand-yellow);
}
html[data-theme="edward"] .contact:before,
html[data-theme="edward"] .cta:before{
  filter:blur(1.2px) grayscale(1) sepia(1) saturate(1.25) hue-rotate(2deg) brightness(.88);
}
html[data-theme="edward"] .contact:after,
html[data-theme="edward"] .cta:after{
  background:linear-gradient(90deg,rgba(250,247,237,.89),rgba(255,236,138,.42));
}
html[data-theme="heritage"] .contact:before,
html[data-theme="heritage"] .cta:before{
  filter:blur(1.2px) grayscale(1) sepia(.75) saturate(.75) brightness(.78);
}
html[data-theme="heritage"] .contact:after,
html[data-theme="heritage"] .cta:after{
  background:linear-gradient(90deg,rgba(248,244,235,.88),rgba(239,228,205,.48));
}
html[data-theme="edward"] .contact-form,
html[data-theme="heritage"] .contact-form{
  border-top-color:var(--accent);
}
html[data-theme="edward"] .service-row,
html[data-theme="edward"] .about-ledger,
html[data-theme="edward"] .about-fact,
html[data-theme="edward"] .principle,
html[data-theme="edward"] .work-row,
html[data-theme="edward"] details,
html[data-theme="edward"] .verify-row{
  border-color:var(--line);
}
html[data-theme="heritage"] .service-row,
html[data-theme="heritage"] .about-ledger,
html[data-theme="heritage"] .about-fact,
html[data-theme="heritage"] .principle,
html[data-theme="heritage"] .work-row,
html[data-theme="heritage"] details,
html[data-theme="heritage"] .verify-row{
  border-color:var(--line);
}

.theme-panel{
  position:fixed;
  z-index:9999;
  right:12px;
  bottom:12px;
  width:min(224px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  overflow:auto;
  padding:10px;
  border:1px solid rgba(20,29,33,.22);
  background:rgba(255,255,255,.96);
  color:#17242a;
  box-shadow:0 12px 34px rgba(12,26,31,.18);
  font-family:Arial,Helvetica,sans-serif;
  backdrop-filter:blur(10px);
  overscroll-behavior:contain;
}
.theme-panel__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.theme-panel__head strong{
  font-size:12px;
  letter-spacing:.01em;
}
.theme-panel__head span{
  color:#6b777b;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.theme-panel__options{
  display:grid;
  gap:5px;
}
.theme-panel__option{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 12px;
  align-items:center;
  gap:7px;
  width:100%;
  padding:6px 7px;
  border:1px solid #d4dadc;
  background:#fff;
  color:#17242a;
  text-align:left;
  cursor:pointer;
}
.theme-panel__option:hover{
  border-color:#73858c;
}
.theme-panel__option[aria-pressed="true"]{
  border-color:#17242a;
  box-shadow:inset 3px 0 0 #17242a;
}
.theme-panel__swatches{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:22px;
  height:22px;
  overflow:hidden;
  border:1px solid rgba(20,29,33,.14);
}
.theme-panel__swatches i{
  display:block;
}
.theme-panel__copy strong,
.theme-panel__copy small{
  display:block;
}
.theme-panel__copy strong{
  margin-bottom:1px;
  font-size:11.5px;
}
.theme-panel__copy small{
  color:#6a767a;
  font-size:9px;
  line-height:1.2;
}
.theme-panel__check{
  color:#17242a;
  font-size:12px;
  opacity:0;
}
.theme-panel__option[aria-pressed="true"] .theme-panel__check{
  opacity:1;
}
.theme-panel__note{
  margin:7px 0 0;
  color:#727d80;
  font-size:8px;
  line-height:1.3;
}
@media(max-width:600px){
  .theme-panel{
    right:8px;
    bottom:8px;
    width:210px;
    max-height:calc(100dvh - 16px);
    padding:9px;
  }
  .theme-panel__note{
    display:none;
  }
}
