/* BEGIN GENERATED LUNDBERG FOUNDATION */
/* Lundberg shared foundation v1. R140 editorial roles; compact utility roles.
   Generated sites embed these exact bytes to avoid another blocking request. */
:root {
  --ls-font: "Source Sans 3", Arial, sans-serif;
  --ls-ink: #16304a;
  --ls-text: #506672;
  --ls-muted: #667983;
  --ls-link: #15586b;
  --ls-action: #4f7e78;
  --ls-action-hover: #406c67;
  --ls-gold: #b59a45;
  --ls-selected: #e7efeb;
  --ls-border: #c5d1cf;
  --ls-background: #e9eff1;
  --ls-surface: #ffffff;
  --ls-pale: #f7f9f9;
  --ls-type-editorial: clamp(32px, 3.7vw, 52px);
  --ls-type-utility: clamp(30px, 2.6vw, 36px);
  --ls-type-section: clamp(25px, 2.3vw, 32px);
  --ls-type-utility-section: clamp(24px, 2.2vw, 30px);
  --ls-type-card: clamp(20px, 1.5vw, 22px);
  --ls-weight-editorial: 450;
  --ls-weight-utility: 500;
  --ls-weight-emphasis: 550;
  --ls-space-near: 8px;
  --ls-space-text: 12px;
  --ls-space-action: 24px;
  --ls-space-group: 32px;
  --ls-space-section: clamp(32px, 4vw, 52px);
  --ls-radius-control: 6px;
}
@media(max-width:620px) {
  :root { --ls-type-editorial: clamp(30px, 7.6vw, 36px); }
}
/* END GENERATED LUNDBERG FOUNDATION */
/* Presentation adapter: the same type family and restrained hierarchy as Sanabit. */
:root { --if-ink: var(--ls-ink); --if-text: var(--ls-text); --if-action: var(--ls-action); --if-ink-soft: var(--ls-text); --if-border: var(--ls-border); }
.IFAccountPage .IFAccountShell { box-shadow:none; border-radius:12px; display:flex; flex-direction:column; }
.IFAccountPage .IFAccountBrand { width:190px; flex:0 0 190px; }
.IFAccountBrand img { width:100%; height:auto; display:block; }
.IFAccountPage .IFAccountHeader { flex-wrap:wrap; gap:20px; min-height:104px; }
.IFAccountPage .IFAccountNav { gap:20px; }
.IFAccountPage .IFHeaderAccount { margin-left:auto; white-space:nowrap; }
.IFLanguageSwitch { font-size:14px; white-space:nowrap; }
.IFAccountPage .IFAuthIntro { padding-top:0; }
.IFAccountPage .IFAuthIntro h1,
.IFAccountPage .IFSingleCard h1,
.IFAccountPage .IFAccountHero h1 { font-size:clamp(30px,2.6vw,36px)!important; line-height:1.2!important; font-weight:500!important; }
.IFAccountPage .IFAccountPanel h2 { font-size:1.5rem; line-height:1.25; }
.IFAccountPage .IFPrimaryButton,
.IFAccountPage .IFPrimaryLink { background:var(--if-action); border-color:var(--if-action); font-size:1rem; box-shadow:none; }
.IFAccountPage .IFAuthIntro > p:not(.IFAccountKicker) { max-width:29ch; font-size:1.125rem; line-height:1.55; }
.IFAccountPage .IFAccountMain { padding-top:56px; }
.IFAccountPage .IFAuthCard { box-shadow:none; }
.IFAccountPage .IFSocialButton { display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid var(--if-border); border-radius:6px; text-decoration:none; }
.IFAccountPage .IFInformationMailPanel .IFInformationMailChoices { border-top:0; padding-top:0; }
.IFAccountPage .IFBookIllustration { width:100%; height:auto; margin-top:28px; }
.IFAccountPage .IFAccountFooter { overflow-wrap:anywhere; margin-top:auto; }
.IFAccountPage a, .IFAccountPage a:hover, .IFAccountPage a:focus-visible { text-decoration:none; }
.IFAccountPage .footer { margin-top:auto; }
.IFAccountPage .IFFooterCompany { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px; font-size:13px; line-height:1.5; }
.IFAccountMobileMenu { display:none; }
.IFAccountMobileMenu summary { cursor:pointer; padding:8px 0; }
.IFAccountMobileMenu nav { display:grid; gap:8px; padding:8px 0; }
@media(max-width:900px) {
  .IFLanguageSwitch { display:none; }
  .IFAccountPage .IFAccountNav { display:none; }
  .IFAccountMobileMenu { display:block; order:3; width:100%; }
  .IFAccountPage .IFAccountHeader { display:flex; }
}
@media(max-width:760px) {
  .IFAccountPage .IFFooterCompany { justify-content:flex-start; }
  .IFAccountPage .IFFooterCompany > [aria-hidden="true"] { display:none; }
  .IFAccountPage .IFAccountBrand { width:145px; flex-basis:145px; }
  .IFAccountPage .IFAccountHeader { padding:16px; }
  .IFAccountPage .IFAccountNav { gap:4px 16px; }
  .IFAccountPage .IFBookIllustration { display:none; }
  .IFAccountPage .IFAccountMain { padding-top:28px; }
}

/* Shared heading hierarchy and functional spacing. */
.IFAccountPage .IFAccountMain h2 { font-weight:500; margin-bottom:12px; }
.IFAccountPage .IFAccountMain h3 { font-weight:500; font-size:20px; margin-bottom:8px; }
.IFAccountPage .IFAccountKicker { font-weight:550; letter-spacing:.11em; margin-bottom:12px; }
.IFAccountPage .IFAccountMain h1 { margin-top:0; margin-bottom:20px; }

.IFAccountPage .IFMembershipFacts > div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.IFAccountPage .IFMembershipFacts dt, .IFAccountPage .IFMembershipFacts dd { min-width:0; overflow-wrap:anywhere; }
@media(max-width:600px) { .IFAccountPage .IFMembershipFacts > div { grid-template-columns:minmax(0,1fr); gap:4px; } }

/* Membership terms link: compatible with the account Content Security Policy. */
.IFMembershipTermsChecklist .IFTermsInlineLink { text-decoration: none; font-weight: 600; }

/* Membership checkout action follows the right edge of its consent form. */
.IFMembershipChoices + .IFBillingForm > .IFPrimaryButton[type="submit"] {
  display: flex !important;
  width: fit-content;
  max-width: 100%;
  margin-inline-start: auto;
  margin-inline-end: 0;
}

/* Hosted checkout: two plan actions, no intermediate consent form. */
.IFCheckoutCardForm { margin: auto 0 0; padding-top: 12px; }
.IFCheckoutCardForm .IFMembershipChoiceButton { width: 100%; min-height: 48px !important; font: inherit; font-weight: 600; cursor: pointer; }
.IFMembershipChoice { display: flex; flex-direction: column; }
.IFCheckoutProvider { margin: 12px 0 24px; font-size: .875rem; line-height: 1.5; color: #526d79; }
.IFCheckoutProvider a { text-decoration: none !important; font-weight: 600; }
