:root {
  color-scheme: light;
  --navy: #0c1437;
  --gold: #c49a2e;
  --cream: #f5f2ec;
  --stone: #ebe7df;
  --white: #fff;
  --body: rgba(12, 20, 55, .88);
  --serif: "Cormorant Garamond", Georgia, serif;
  --display: "Cinzel", Georgia, serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--body);
  font: 500 22px/1.6 var(--serif);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: #806315; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.shell { width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
.site-header {
  position: relative;
  z-index: 5;
  background: var(--cream);
  border-bottom: 1px solid rgba(196, 154, 46, .55);
}
.header-inner { min-height: 94px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:15px; color:var(--navy); text-decoration:none; min-width:0; }
.brand img { width:56px; height:56px; object-fit:contain; flex:0 0 auto; }
.brand-name { font:600 15px/1.35 var(--display); letter-spacing:.06em; text-transform:uppercase; max-width:270px; }
.desktop-nav { display:flex; align-items:center; gap:32px; }
.desktop-nav a, .mobile-nav a {
  color:var(--navy); text-decoration:none; font:600 13px/1.2 var(--display);
  letter-spacing:.06em; text-transform:uppercase;
}
.desktop-nav a:not(.join-link):hover, .mobile-nav a:not(.join-link):hover { color:#806315; }
.join-link, .button {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--gold); color:var(--navy); border:1px solid var(--gold);
  border-radius:10px; padding:14px 22px; text-decoration:none;
  font:600 13px/1.35 var(--display); letter-spacing:.06em; text-transform:uppercase;
  transition:background-color .2s ease, transform .2s ease;
}
.join-link:hover, .button:hover { color:var(--navy); background:#b38a22; transform:translateY(-2px); }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { list-style:none; width:46px; height:46px; display:grid; place-content:center; cursor:pointer; border:1px solid rgba(12,20,55,.22); border-radius:8px; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.menu-mark, .menu-mark::before, .menu-mark::after { display:block; width:20px; height:2px; background:var(--navy); position:relative; }
.menu-mark::before, .menu-mark::after { content:""; position:absolute; left:0; }
.menu-mark::before { top:-6px; }.menu-mark::after { top:6px; }
.mobile-nav { position:absolute; top:calc(100% + 14px); right:0; width:min(280px, calc(100vw - 36px)); padding:18px; background:var(--cream); border:1px solid rgba(196,154,46,.65); box-shadow:0 18px 40px rgba(12,20,55,.12); display:grid; gap:19px; }
.mobile-nav a { padding:6px 4px; }
.mobile-nav .join-link { width:100%; padding:14px; }
main { overflow:hidden; }
.hero { padding:34px 0 92px; }
.hero-cover { display:block; width:100%; max-height:570px; object-fit:cover; object-position:center; background:var(--stone); }
.hero-cover[hidden], .brand img[hidden] { display:none; }
.hero-copy { max-width:850px; margin:0 auto; padding:54px 26px 0; text-align:center; }
.eyebrow { margin:0 0 17px; color:#6b5319; font:600 12px/1.5 var(--display); letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3 { color:var(--navy); font-family:var(--display); font-weight:600; letter-spacing:.045em; line-height:1.3; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(34px, 5vw, 57px); }
h2 { margin:0 0 22px; font-size:clamp(24px, 3vw, 34px); }
h3 { margin:0; font-size:17px; }
.hero-subtitle { max-width:730px; margin:18px auto 28px; font-size:clamp(22px, 2.5vw, 27px); line-height:1.45; }
.hero-note { margin:16px 0 0; font-size:18px; font-style:italic; }
.section { padding:82px 0; }
.section-stone { background:var(--stone); }
.section-inner { width:min(940px, calc(100% - 56px)); margin-inline:auto; }
.section-heading { text-align:center; margin-bottom:34px; }
.section-heading::after { display:block; content:""; width:68px; height:1px; background:var(--gold); margin:22px auto 0; }
.prose p { margin:0 0 18px; }
.prose p:last-child { margin-bottom:0; }
.split-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:65px; align-items:start; }
.split-section h2 { max-width:280px; }
.list-clean { margin:0; padding:0; list-style:none; display:grid; gap:17px; }
.list-clean li { position:relative; padding-left:26px; }
.list-clean li::before { content:""; position:absolute; top:.75em; left:0; width:9px; height:1px; background:var(--gold); }
.cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.info-card { padding:25px 24px 28px; background:var(--white); border-radius:10px; border-top:2px solid var(--gold); min-height:182px; }
.info-card h3 { margin-bottom:12px; font-size:15px; line-height:1.5; }
.info-card p { margin:0; font-size:19px; line-height:1.5; }
.membership { background:var(--navy); color:var(--cream); text-align:center; }
.membership h2 { color:var(--cream); }
.membership .section-inner { max-width:740px; }
.price { display:block; margin:0 0 5px; color:#e1bd61; font:600 clamp(32px,4vw,46px)/1.3 var(--display); letter-spacing:.04em; }
.membership p { margin:10px 0 25px; }
.membership .button { margin-top:10px; }
.sms-copy { max-width:820px; margin-inline:auto; }
.sms-copy p { margin:0 0 18px; }
.sms-copy ul { padding-left:25px; margin:12px 0 18px; }
.sms-copy li { margin:8px 0; }
.sms-copy .legal-links { margin-top:24px; }
.page-intro { padding:74px 0 48px; text-align:center; }
.page-intro .section-inner { max-width:850px; }
.page-intro p { max-width:760px; margin:19px auto 0; font-size:22px; }
.content-section { padding:24px 0 90px; }
.content-width { width:min(940px, calc(100% - 56px)); margin-inline:auto; }
.content-block { padding:28px 0; border-top:1px solid rgba(196,154,46,.72); }
.content-block:first-child { border-top:0; }
.content-block h2 { margin:0 0 17px; }
.content-block p { margin:0 0 17px; }
.content-block p:last-child { margin-bottom:0; }
.business-card, .contact-card { background:var(--white); border-radius:10px; border-top:2px solid var(--gold); padding:25px 30px; }
.business-card dl { margin:0; display:grid; grid-template-columns:140px 1fr; gap:9px 18px; }
.business-card dt { color:var(--navy); font-weight:600; }
.business-card dd { margin:0; }
.contact-card p { margin:0 0 4px; }
.contact-card p:last-child { margin-bottom:0; }
.contact-action { margin-top:28px; }
.legal { width:min(760px, calc(100% - 44px)); margin:0 auto; padding:62px 0 98px; }
.legal h1 { margin:0 0 8px; font-size:clamp(30px, 4vw, 43px); }
.updated { margin:0 0 36px; font-style:italic; color:#435073; }
.legal .content-block { padding:24px 0; }
.legal .content-block h2 { font-size:20px; letter-spacing:.035em; }
.legal p { margin:0 0 16px; }
.legal p:last-child { margin-bottom:0; }
.legal ul { margin:0; padding-left:25px; }
.legal li { margin:0 0 8px; }
.site-footer { padding:59px 0 25px; background:var(--navy); color:var(--cream); }
.footer-grid { display:grid; grid-template-columns:1.15fr .9fr .85fr; gap:48px; }
.footer-block h2 { color:var(--cream); margin:0 0 14px; font:600 14px/1.4 var(--display); letter-spacing:.08em; }
.footer-block p { margin:0 0 8px; font-size:20px; line-height:1.5; }
.footer-block a { color:var(--cream); text-decoration-color:rgba(245,242,236,.55); }
.footer-links { display:grid; gap:8px; justify-items:start; }
.footer-links a { font-size:18px; }
.footer-bottom { margin-top:43px; padding-top:18px; border-top:1px solid rgba(196,154,46,.65); display:flex; justify-content:space-between; gap:20px; color:#e6dfd1; font-size:18px; }
.footer-bottom p { margin:0; }
@media (max-width:760px) {
  body { font-size:21px; }
  .shell { width:calc(100% - 36px); }
  .header-inner { min-height:76px; }
  .brand { gap:10px; }
  .brand img { width:44px; height:44px; }
  .brand-name { font-size:11px; max-width:190px; }
  .desktop-nav { display:none; }
  .mobile-menu { display:block; }
  .hero { padding:18px 0 62px; }
  .hero-cover { width:100%; max-height:370px; object-position:center; }
  .hero-copy { padding:37px 18px 0; }
  .hero-subtitle { font-size:22px; }
  .section { padding:60px 0; }
  .section-inner, .content-width { width:calc(100% - 38px); }
  .split-section { grid-template-columns:1fr; gap:18px; }
  .split-section h2 { max-width:none; }
  .cards { grid-template-columns:1fr; gap:13px; }
  .info-card { min-height:0; padding:22px; }
  .page-intro { padding:56px 0 34px; }
  .content-section { padding:14px 0 65px; }
  .business-card, .contact-card { padding:21px; }
  .business-card dl { grid-template-columns:1fr; gap:2px; }
  .business-card dd { margin-bottom:9px; }
  .legal { padding:44px 0 65px; }
  .legal .content-block { padding:20px 0; }
  .footer-grid { grid-template-columns:1fr; gap:29px; }
  .site-footer { padding:43px 0 22px; }
  .footer-bottom { margin-top:30px; flex-direction:column; gap:7px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* Warm, welcoming treatment for the FNH audience */
body.warm-home {
  --warm-cream: #f8f4eb;
  --warm-paper: #fffdf8;
  --warm-clay: #e7d7bf;
  --warm-sage: #66755c;
  --warm-ink: #152747;
  --warm-gold: #bd8c35;
  color: var(--warm-ink);
  background: var(--warm-cream);
}
.warm-home .site-header { background:var(--warm-paper); border-bottom:1px solid #e4d5bc; }
.warm-home .brand, .warm-home .desktop-nav a, .warm-home .mobile-nav a { color:var(--warm-ink); }
.warm-home .brand-name { max-width:300px; letter-spacing:.045em; }
  .warm-home .join-link, .warm-home .button {
  color:#152747; background:#d6ad56; border-color:#c49a2e;
  border-radius:999px; letter-spacing:.035em;
}
.warm-home .join-link:hover, .warm-home .button:hover { background:#c49a2e; color:#152747; }
.warm-home .mobile-menu summary { border-color:#c8b99f; border-radius:50%; }
.warm-home .menu-mark, .warm-home .menu-mark::before, .warm-home .menu-mark::after { background:var(--warm-ink); }
.warm-home .mobile-nav { background:var(--warm-paper); border-color:#d8c9b1; border-radius:18px; }
.warm-home .hero { padding:26px 0 78px; }
.warm-home .hero .shell { position:relative; }
.warm-home .hero-cover {
  height:auto; max-height:none; aspect-ratio:auto; object-fit:contain;
  border-radius:30px; box-shadow:0 18px 48px rgba(67,55,37,.13);
}
.warm-home .hero-copy {
  position:relative; max-width:890px; margin:-45px auto 0; padding:43px 48px 25px;
  background:var(--warm-paper); border:1px solid rgba(218,202,176,.8);
  border-radius:28px; box-shadow:0 15px 42px rgba(67,55,37,.08);
}
.warm-home .eyebrow { color:#6a4b12; letter-spacing:.095em; font-size:12px; }
.warm-home h1, .warm-home h2, .warm-home h3 { color:var(--warm-ink); letter-spacing:.025em; }
.warm-home h1 { font-size:clamp(34px,5vw,56px); }
.warm-home .hero-subtitle { max-width:700px; font-size:clamp(21px,2.4vw,26px); }
.warm-home .hero-note {
  display:flex; align-items:center; justify-content:center; gap:9px;
  color:#6a4b12; font-size:21px;
}
.warm-home .hero-note svg { width:18px; height:18px; flex:none; }
.warm-home .section { padding:78px 0; }
.warm-home .section-inner { width:min(1020px,calc(100% - 56px)); }
.warm-home .section-stone { background:#efe7d9; }
.warm-home .section-heading { margin-bottom:30px; }
.warm-home .section-heading h2, .warm-home .membership h2 {
  display:flex; align-items:center; justify-content:center; gap:13px;
}
.warm-home .split-section h2 { display:flex; align-items:center; gap:13px; }
.warm-home .section-heading::after { width:56px; height:3px; background:var(--warm-gold); border-radius:4px; }
.warm-home .prose, .warm-home .sms-copy {
  padding:38px 42px; background:var(--warm-paper); border-radius:26px;
  box-shadow:0 12px 34px rgba(67,55,37,.06);
}
.warm-home .prose { max-width:850px; }
.warm-home .prose p { font-size:23px; }
.warm-home .split-section { grid-template-columns:.76fr 1.24fr; gap:48px; }
.warm-home .split-section h2 { max-width:300px; }
.warm-home .list-clean { gap:14px; }
.warm-home .list-clean li {
  display:flex; align-items:center; gap:16px; padding:17px 20px;
  background:var(--warm-paper); border-radius:18px; box-shadow:0 5px 18px rgba(67,55,37,.045);
}
.warm-home .list-clean li::before { display:none; }
.warm-home .list-clean li svg {
  width:42px; height:42px; flex:none; padding:9px; color:#8b641b;
  background:#f2e5c9; border-radius:15px; stroke-width:1.8;
}
.warm-home .cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.warm-home .info-card {
  min-height:0; display:flex; flex-direction:column; align-items:flex-start;
  padding:24px 22px; background:var(--warm-paper);
  border:1px solid #e4d7c4; border-top:3px solid var(--warm-gold);
  border-radius:20px; box-shadow:0 7px 20px rgba(67,55,37,.055);
  transition:transform .22s ease, box-shadow .22s ease;
}
.warm-home .info-card:hover { transform:translateY(-4px); box-shadow:0 14px 28px rgba(67,55,37,.1); }
.warm-home .topic-icon {
  display:grid; width:48px; height:48px; place-items:center; margin-bottom:19px;
  color:#8b641b; background:#f2e5c9; border-radius:16px;
}
.warm-home .topic-icon svg { width:24px; height:24px; stroke-width:1.8; }
.warm-home .info-card h3 { margin-bottom:10px; font-size:17px; line-height:1.4; }
.warm-home .info-card p { font-size:20px; line-height:1.5; }
.warm-home .microcourse-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
  margin:0 0 30px;
}
.warm-home .microcourse-card {
  padding:27px 24px 30px; background:var(--warm-paper);
  border:1px solid #e4d7c4; border-top:4px solid var(--warm-gold);
  border-radius:24px 24px 24px 10px; box-shadow:0 9px 24px rgba(67,55,37,.07);
}
.warm-home .microcourse-art {
  display:block; width:100%; height:auto; border-radius:14px; margin:0 0 18px;
}
.warm-home .microcourse-visual { display:flex; align-items:center; gap:14px; margin-bottom:17px; }
.warm-home .microcourse-card .topic-icon { width:54px; height:54px; flex:none; margin:0; }
.warm-home .microcourse-label {
  padding:8px 12px; color:#765311; background:#f5ecd8; border-radius:999px;
  font:600 12px/1.25 var(--display); letter-spacing:.08em; text-transform:uppercase;
}
.warm-home .microcourse-card h3 { margin:0 0 12px; font-size:19px; line-height:1.45; }
.warm-home .microcourse-card p { margin:0; font-size:21px; line-height:1.55; }
.warm-home .membership {
  position:relative; overflow:hidden; color:#fbf6eb;
  background:radial-gradient(ellipse at 50% 0%,rgba(238,208,150,.16),transparent 54%),
    linear-gradient(145deg,#30486b 0%,#1c2f4f 76%);
}
.warm-home .membership::before, .warm-home .membership::after {
  position:absolute; content:""; width:280px; height:280px; background:rgba(238,208,150,.08);
  border-radius:58% 42% 52% 48%; pointer-events:none; filter:blur(2px);
}
.warm-home .membership::before { top:-175px; left:-140px; }
.warm-home .membership::after { right:-135px; bottom:-185px; width:340px; height:340px; }
.warm-home .membership .section-inner { position:relative; z-index:1; max-width:900px; }
.warm-home .membership-card {
  max-width:790px; margin:0 auto; padding:46px 56px 52px;
  color:var(--warm-ink); text-align:center;
  background:linear-gradient(145deg,#fffdf8 0%,#f5eddd 100%);
  border:1px solid #e2c17f; border-radius:34px 34px 82px 34px;
  box-shadow:0 24px 70px rgba(10,22,42,.28);
}
.warm-home .membership-mark {
  display:grid; width:68px; height:68px; place-items:center; margin:0 auto 12px;
  color:#805c19; background:#f2e5c9; border-radius:50% 50% 44% 56%;
}
.warm-home .membership-mark svg { width:38px; height:38px; }
.warm-home .membership h2 { justify-content:center; margin-bottom:10px; color:var(--warm-ink); }
.warm-home .price { color:#805c19; }
.warm-home .membership p { max-width:610px; margin:12px auto 19px; font-size:23px; line-height:1.55; }
.warm-home .membership .button { margin-top:7px; background:#d6ad56; border-color:#c49a2e; color:#152747; }
.warm-home .membership .button:hover { background:#c49a2e; color:#152747; }
.warm-home .sms-copy { max-width:860px; }
.warm-home .sms-copy ul { padding:0; list-style:none; display:grid; gap:12px; }
.warm-home .sms-copy li {
  margin:0; padding:15px 18px; background:#f7f0e2;
  border-left:3px solid var(--warm-gold); border-radius:0 14px 14px 0;
}
.warm-home .sms-copy strong { color:#6a4b12; }
.warm-home .page-intro {
  padding:68px 0 48px; background:
    radial-gradient(circle at 12% 35%, rgba(231,215,191,.56), transparent 28%),
    linear-gradient(180deg, #f8f4eb 0%, #f3ecdf 100%);
}
.warm-home .page-intro .section-inner { max-width:880px; }
.warm-home .page-intro h1 { max-width:820px; margin-inline:auto; }
.warm-home .page-intro p { font-size:23px; line-height:1.5; }
.warm-home .content-section { padding:28px 0 82px; }
.warm-home .content-width { width:min(920px,calc(100% - 56px)); }
.warm-home .content-block {
  margin:18px 0; padding:27px 30px; background:var(--warm-paper);
  border:1px solid #e7dac7; border-radius:20px; border-top:3px solid var(--warm-gold);
  box-shadow:0 8px 22px rgba(67,55,37,.045);
}
.warm-home .content-block:first-child { border-top:3px solid var(--warm-gold); }
.warm-home .content-block h2 { display:flex; align-items:center; gap:13px; margin:0 0 15px; }
.warm-home .profile-layout {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  align-items:center; gap:30px;
}
.warm-home .profile-layout-reverse { grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr); }
.warm-home .profile-layout-reverse .profile-copy { grid-column:2; }
.warm-home .profile-layout-reverse .profile-image { grid-column:1; grid-row:1; }
.warm-home .profile-image img { display:block; width:100%; height:auto; }
.warm-home .profile-image-transparent {
  align-self:end; margin:-18px -12px -27px 0;
}
.warm-home .profile-image-framed {
  width:80%; justify-self:center; overflow:hidden; aspect-ratio:4 / 5; padding:7px; background:#fffaf0;
  border:1px solid #d9bc7c; border-radius:22px;
  box-shadow:0 12px 28px rgba(67,55,37,.13);
}
.warm-home .profile-image-framed img {
  width:100%; height:100%; object-fit:cover; border-radius:15px;
}
.warm-home .section-mark {
  display:inline-grid; width:42px; height:42px; flex:none; place-items:center;
  color:#8b641b; background:#f2e5c9; border-radius:15px;
}
.warm-home .section-mark svg { width:22px; height:22px; stroke-width:1.8; }
.warm-home .business-card, .warm-home .contact-card {
  background:#f6f1e7; border:1px solid #e4d7c4; border-top:0; border-radius:16px; padding:24px 26px;
}
.warm-home .business-card dl { grid-template-columns:150px 1fr; gap:11px 18px; }
.warm-home .business-card dt { color:#6a4b12; }
.warm-home .contact-card .contact-item {
  display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:11px;
  margin:12px 0; overflow-wrap:anywhere;
}
.warm-home .contact-symbol { width:23px; height:23px; color:#8b641b; }
.warm-home .contact-action .button { margin-top:12px; }
.warm-home .legal {
  width:min(790px,calc(100% - 36px)); padding:56px 0 88px;
}
.warm-home .legal h1 { margin:0 0 10px; font-size:clamp(32px,4vw,46px); }
.warm-home .legal .updated { margin:0 0 28px; color:#6a4b12; }
.warm-home .legal > p:not(.updated) {
  padding:24px 26px; background:var(--warm-paper); border:1px solid #e7dac7;
  border-radius:18px; box-shadow:0 7px 20px rgba(67,55,37,.04);
}
.warm-home .legal .content-block { padding:24px 26px; }
.warm-home .legal .content-block h2 { font-size:20px; letter-spacing:.025em; }
.warm-home .legal .content-block h2::before {
  content:""; display:block; width:38px; height:38px; flex:none;
  border-radius:14px; background-color:#f2e5c9;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b641b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.9 3.1c-5.5 0-11.6 1.2-14.4 4C3.8 9.9 4 14 6.5 16.5c2.5 2.5 6.6 2.7 9.4 0 2.8-2.8 4-8.9 4-13.4Z'/%3E%3Cpath d='M3 21c3-3 7-7 13-10'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:22px;
}
.warm-home .legal .content-block p, .warm-home .legal li { line-height:1.65; }
.warm-home .legal ul { padding-left:26px; }
.warm-home .site-footer { background:#182a45; }
.warm-home .footer-block h2 { color:#f4d89f; }
.warm-home .footer-bottom { border-color:rgba(228,193,129,.5); }
.warm-home a:focus-visible, .warm-home summary:focus-visible { outline-color:#c49a2e; }
.warm-home a { overflow-wrap:anywhere; }

@media (max-width:760px) {
  .warm-home .hero { padding:14px 0 50px; }
  .warm-home .hero-cover {
    height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; object-position:center;
    border-radius:18px; background:var(--warm-paper);
  }
  .warm-home .hero-copy { margin:-20px 8px 0; padding:31px 19px 23px; border-radius:22px; }
  .warm-home .eyebrow { font-size:11px; }
  .warm-home .hero-subtitle { font-size:22px; }
  .warm-home .hero-note { align-items:flex-start; text-align:left; font-size:20px; }
  .warm-home .hero-note svg { margin-top:4px; }
  .warm-home .section { padding:54px 0; }
  .warm-home .section-inner, .warm-home .content-width { width:calc(100% - 36px); }
  .warm-home .prose, .warm-home .sms-copy { padding:27px 23px; }
  .warm-home .prose p { font-size:21px; }
  .warm-home .split-section { grid-template-columns:1fr; gap:8px; }
  .warm-home .list-clean li { align-items:flex-start; padding:15px; }
  .warm-home .list-clean li svg { width:40px; height:40px; margin-top:2px; }
  .warm-home .cards { grid-template-columns:1fr; gap:12px; }
  .warm-home .info-card { min-height:0; display:flex; flex-direction:column; align-items:flex-start; padding:22px; }
  .warm-home .topic-icon { width:48px; height:48px; margin:0 0 12px; }
  .warm-home .info-card h3 { align-self:flex-start; margin-bottom:8px; font-size:17px; }
  .warm-home .info-card p { align-self:flex-start; font-size:20px; }
  .warm-home .microcourse-grid { grid-template-columns:minmax(0,1fr); gap:14px; margin-bottom:22px; }
  .warm-home .microcourse-card { min-width:0; padding:23px 21px 25px; }
  .warm-home .microcourse-art {
    width:100%; max-width:100%; height:auto; aspect-ratio:1460 / 752; object-fit:contain;
  }
  .warm-home .microcourse-card p { font-size:20px; }
  .warm-home .membership-card { padding:34px 23px 38px; border-radius:28px 28px 58px 28px; }
  .warm-home .membership-mark { width:60px; height:60px; }
  .warm-home .membership p { font-size:21px; }
  .warm-home .page-intro { padding:51px 0 36px; }
  .warm-home .page-intro p { font-size:22px; }
  .warm-home .content-section { padding:12px 0 62px; }
  .warm-home .content-width { width:calc(100% - 36px); }
  .warm-home .content-block { margin:13px 0; padding:22px 20px; }
  .warm-home .profile-layout, .warm-home .profile-layout-reverse { grid-template-columns:1fr; gap:20px; }
  .warm-home .profile-layout-reverse .profile-copy,
  .warm-home .profile-layout-reverse .profile-image { grid-column:auto; grid-row:auto; }
  .warm-home .profile-layout-reverse .profile-image { order:2; }
  .warm-home .profile-image-transparent { max-width:310px; margin:0 auto -22px; }
  .warm-home .profile-image-framed { width:min(80%,264px); margin:0 auto; }
  .warm-home .section-mark { width:38px; height:38px; border-radius:13px; }
  .warm-home .business-card, .warm-home .contact-card { padding:20px; }
  .warm-home .business-card dl { grid-template-columns:1fr; gap:2px; }
  .warm-home .business-card dd { margin-bottom:9px; }
  .warm-home .legal { padding:40px 0 64px; }
  .warm-home .legal .content-block { padding:20px; }
  .warm-home .legal > p:not(.updated) { padding:20px; }
  .warm-home .legal .content-block h2 { align-items:flex-start; }
  .warm-home .site-footer { padding:43px 0 22px; }
}
@media (min-width:761px) and (max-width:920px) {
  .warm-home .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
