:root {
  --ink:#123e3b;
  --green:#12534c;
  --muted:#475f5c;
  --pale:#daeee6;
  --rule:#c6d9d2;
  --paper:#fafcf8;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.wrap {
  max-width:1180px;
  width:90%;
  margin:auto;
}

header {
  border-bottom:1px solid var(--rule);
}

.nav,.signature,.tag,.meta {
  display:flex;
  align-items:center;
}

.nav {
  justify-content:space-between;
  min-height:72px;
}

.signature {
  gap:10px;
  font-size:18px;
  font-weight:700;
  letter-spacing:-.6px;
}

.nav a {
  color:var(--ink);
  font-size:14px;
  text-underline-offset:4px;
}

.hero {
  display:grid;
  grid-template-columns:1.06fr 1fr;
  align-items:center;
  gap:6%;
  padding:70px 0;
}

.tag {
  font-size:15px;
  gap:9px;
  font-weight:600;
  margin:0 0 22px;
}

.tag span {
  width:9px;
  height:9px;
  border-radius:50%;
  background:#408867;
}

h1,h2,p,figure {
  margin:0;
}

h1,h2,.paperTitle,.message p {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}

h1 {
  font-size:clamp(52px,6.2vw,87px);
  line-height:1;
  letter-spacing:-.058em;
  max-width:10em;
}

.lead {
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.48;
  color:var(--muted);
  max-width:28em;
  margin:23px 0 27px;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--green);
  color:white;
  text-decoration:none;
  border:0;
  border-radius:6px;
  padding:15px 24px;
  line-height:1.3;
  font-family:inherit;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
}

.button:hover {
  background:#073e38;
}

.button:disabled {
  opacity:.7;
}

.meta {
  color:var(--muted);
  gap:9px;
  font-size:14px;
  margin-top:17px;
}

.meta span {
  font-size:18px;
}

.meta i {
  height:12px;
  border-left:1px solid #91aaa3;
}

figure {
  position:relative;
  isolation:isolate;
  background-color:#cbe7da;
  background-image:linear-gradient(#58897920 1px,transparent 1px),linear-gradient(90deg,#58897920 1px,transparent 1px);
  background-size:23px 23px;
  border-radius:20px;
  padding:34px 8% 20px;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
}

.message {
  transform:rotate(-4deg);
  background:var(--green);
  color:white;
  padding:16px 20px 20px;
  border-radius:14px 14px 14px 2px;
  z-index:1;
  margin-left:-4%;
}

.message span,.paperSub,figcaption {
  font-size:12px;
}

.message span {
  color:#d0eddf;
}

.message p {
  font-size:clamp(19px,2vw,29px);
  margin-top:5px;
}

.paper {
  align-self:stretch;
  background:#fffef8;
  box-shadow:4px 5px 0 #71988a4d;
  transform:rotate(2deg);
  padding:23px 21px 13px;
  margin:8px 0 17px;
  border-top:6px solid #668c75;
}

.paperTitle {
  font-size:clamp(24px,2.5vw,35px);
  letter-spacing:-1px;
}

.paperSub {
  color:var(--muted);
  margin:4px 0 16px;
}

.row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  border-top:1px solid var(--rule);
  padding:11px 0;
  font-size:clamp(12px,1.15vw,15px);
}

.row b {
  font-weight:500;
}

.row em {
  font-style:normal;
  color:#366b52;
  white-space:nowrap;
}

.row .pending {
  color:#754e0c;
  background:#ffecb6;
  padding:4px 7px;
  border-radius:3px;
}

figcaption {
  color:#39594e;
  align-self:flex-end;
}

.band {
  background:#eaf3ec;
}

.learning,.signup {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9%;
  padding:46px 0;
}

.learning h2,h2 {
  font-size:clamp(33px,3.3vw,46px);
  letter-spacing:-.045em;
  line-height:1.1;
}

ul {
  padding:0;
  margin:0;
  list-style:none;
}

li {
  position:relative;
  padding:0 0 0 23px;
  line-height:1.45;
}

li+li {
  margin-top:11px;
}

li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:#46765e;
}

.signup {
  padding:60px 0 75px;
}

.signup p {
  line-height:1.5;
  color:var(--muted);
  max-width:35ch;
  margin-top:12px;
}

form {
  display:grid;
  gap:15px;
}

label {
  display:grid;
  gap:6px;
  font-size:14px;
  font-weight:600;
}

input {
  width:100%;
  border:1px solid #92aea1;
  border-radius:5px;
  background:#fff;
  padding:12px 13px;
  font:inherit;
  font-size:16px;
}

.success {
  background:var(--pale);
  padding:20px;
}

.success strong {
  font-size:23px;
}

a:focus-visible,input:focus-visible,button:focus-visible {
  outline:3px solid #2776a0;
  outline-offset:4px;
}

@media(max-width:760px) {
  .hero,.learning,.signup {
    grid-template-columns:1fr;
    gap:28px;
  }
  .hero {
    padding:38px 0;
  }
  .nav {
    min-height:60px;
  }
  .signature {
    font-size:16px;
  }
  .nav a {
    font-size:13px;
  }
  .tag {
    margin-bottom:15px;
  }
  .lead {
    margin:16px 0 21px;
  }
  .hero figure {
    max-width:500px;
    width:100%;
    justify-self:center;
  }
  .learning,.signup {
    padding:33px 0;
  }
  .message p {
    font-size:24px;
  }
  .row {
    font-size:14px;
  }
  .paperTitle {
    font-size:30px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}

.schedule {
  font-size: 16px;
  line-height: 1.45;
  margin-bottom: 20px;
}

.schedule time {
  font-weight: 600;
}

.row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.agenda h3 { font-size: 18px; margin: 0 0 8px; }
.agenda p { line-height: 1.55; color: var(--muted); }
.agenda p + h3 { margin-top: 24px; }

.profile-link { color: var(--green); text-underline-offset: 3px; }

.google-form {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.google-form iframe {
  display: block;
  width: 100%;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: #fff;
}

.google-form a {
  justify-self: start;
  color: var(--green);
  font-size: 0.9rem;
  text-underline-offset: 3px;
}

@media (min-width: 900px) {
  .signup { grid-template-columns: minmax(220px, 1fr) minmax(480px, 1.5fr); }
}

.signup-mobile { display: none; }

@media (min-width: 761px) {
  .google-form .form-link { grid-row: 2; }
}

@media (min-width: 761px) and (max-width: 899px) {
  .signup { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 760px) {
  .hero, .learning, .signup { grid-template-columns: minmax(0, 1fr); }
  .signup-desktop { display: none; }
  .signup-mobile { display: flex; width: 100%; }
  .nav a, .profile-link { display: inline-flex; align-items: center; min-height: 44px; }
  .hero h1 { font-size: clamp(42px, 12vw, 58px); }
  .meta { flex-wrap: wrap; margin-top: 8px; }
  .agenda h3 { line-height: 1.35; }
  .agenda p + h3 { padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--rule); }
  .google-form .form-link {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    min-height: 48px;
    padding: 10px 16px;
    color: white;
    background: var(--green);
    border-radius: 6px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
  }
  .google-form iframe { height: 800px; }
  .paper { padding-inline: clamp(10px, 3vw, 20px); }
}
