:root{color-scheme:light;--paper:#f7f4ec;--ink:#252b22;--green:#405439;--muted:#535b4e;--line:#d5d8c9;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid #967450;outline-offset:5px}
.shell{width:min(1240px, calc(100% - 112px));margin-inline:auto}
.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:88px;border-bottom:1px solid var(--line)}
.brand{
  display:block;
  width:max-content;
  padding-top:.18em;
  color:var(--green);
  font:700 36px/1 var(--serif);
  letter-spacing:-.05em;
}
.brand-domain{font-size:.75em;font-weight:400;letter-spacing:-.04em}
.brand-flower{
  position:relative;
  display:inline-block;
  width:.28em;
  color:transparent;
}
.brand-flower::before{
  content:'';
  position:absolute;
  left:.12em;
  bottom:.15em;
  width:.065em;
  height:.43em;
  border-radius:0 0 .055em .03em;
  background:var(--green);
  transform:rotate(7deg);
}
.brand-flower::after{
  content:'';
  position:absolute;
  left:-.058em;
  bottom:.52em;
  width:.39em;
  height:.34em;
  background:
    radial-gradient(ellipse at 52% 75%, #b87976 0 24%, transparent 27%),
    radial-gradient(ellipse at 50% 26%, #cb8f88 0 27%, transparent 30%),
    radial-gradient(ellipse at 24% 53%, #d3a19a 0 29%, transparent 32%),
    radial-gradient(ellipse at 76% 53%, #d3a19a 0 29%, transparent 32%);
  transform:rotate(-12deg);
}
.brand-intro{position:relative}
.brand-wordmark{display:block}
.brand-bloom{display:none}
@media(prefers-reduced-motion:no-preference){
  .brand-wordmark{animation:wordmark-reveal 2.35s ease both}
  .brand-bloom{
    display:grid;
    place-items:center;
    position:absolute;
    top:50%;
    left:50%;
    width:1.05em;
    height:1.05em;
    pointer-events:none;
    animation:bloom-intro 2.35s cubic-bezier(.2,.7,.2,1) both;
  }
  .bloom-petals{position:absolute;inset:0}
  .bloom-petals span{
    position:absolute;
    top:50%;
    left:50%;
    width:.28em;
    height:.44em;
    margin:-.43em 0 0 -.14em;
    border-radius:55% 55% 43% 43%;
    background:linear-gradient(#e4b6aa,#b97672);
    box-shadow:inset 0 0 0 1px #995c5633;
    transform-origin:50% 98%;
    animation:petal-unfold 2.35s cubic-bezier(.2,.7,.2,1) both;
    --petal-angle:0deg;
  }
  .bloom-petals span:nth-child(2){--petal-angle:60deg}
  .bloom-petals span:nth-child(3){--petal-angle:120deg}
  .bloom-petals span:nth-child(4){--petal-angle:180deg}
  .bloom-petals span:nth-child(5){--petal-angle:240deg}
  .bloom-petals span:nth-child(6){--petal-angle:300deg}
  .brand-bloom::after{
    content:'';
    position:relative;
    width:.16em;
    height:.16em;
    border-radius:50%;
    background:#f3d08b;
    box-shadow:0 0 0 1px #a36a5159;
  }
  @keyframes bloom-intro{
    0%{opacity:0;transform:translate(-50%,-50%) rotate(-110deg) scale(.22)}
    16%{opacity:1;transform:translate(-50%,-50%) rotate(-78deg) scale(.68)}
    58%{opacity:1;transform:translate(-50%,-50%) rotate(210deg) scale(1.16)}
    69%{opacity:1;transform:translate(-50%,-50%) rotate(250deg) scale(1.05)}
    87%,100%{opacity:0;transform:translate(-62%,-68%) rotate(275deg) scale(.28)}
  }
  @keyframes petal-unfold{
    0%,12%{transform:rotate(var(--petal-angle)) scale(.54) translateY(.1em)}
    48%,68%{transform:rotate(var(--petal-angle)) translateY(-.035em)}
    89%,100%{transform:rotate(var(--petal-angle)) translateY(-.11em)}
  }
  @keyframes wordmark-reveal{
    0%,68%{opacity:0;transform:translateY(.12em) scale(.94)}
    92%,100%{opacity:1;transform:none}
  }
}
.header-brand{display:grid;justify-items:start;gap:2px;padding-block:8px}
.tagline{margin:0;color:var(--green);font:italic 15px/1.25 var(--serif)}
@media(max-width:730px){.tagline{font-size:13px}}
nav{display:flex;gap:32px;font-size:14px;color:var(--muted)}
nav a:hover,.text-link:hover,.footer>a:last-child:hover{text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;white-space:nowrap;padding:12px 19px;min-height:46px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:600;line-height:1.2;transition:background .2s,color .2s}
.outline{background:transparent;color:var(--green);border-color:#a3af99}
.outline:hover{background:#e8ecdf}
.header-cta{justify-self:end}
.primary{color:#fff;background:var(--green);border-color:var(--green)}
.primary:hover{background:#30422b}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:61px 64px}
.eyebrow{margin:0 0 19px;display:flex;align-items:center;gap:10px;color:var(--green);font-size:11px;font-weight:680;text-transform:uppercase;letter-spacing:.16em;line-height:1.45}
.eyebrow span{width:19px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}
h1{font-size:clamp(49px,6.45vw,99px);line-height:.99;letter-spacing:-.065em}
h1 em{font-weight:400;color:var(--green)}
h2{font-size:clamp(36px,4.1vw,61px);letter-spacing:-.06em;line-height:1.04}
h3{font-size:clamp(23px,2.1vw,32px);line-height:1.1;letter-spacing:-.045em}
.hero-copy{margin:24px 0 25px;max-width:405px;font-size:17px;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.text-link{font-size:14px;color:var(--green);font-weight:600}
.text-link span{margin-left:4px}
.hero-figure{margin:0;position:relative}
.hero-figure img{width:100%;height:auto;aspect-ratio:1.23;object-fit:cover;object-position:center 50%;border-radius:5px;background:#ded4c4}
figcaption{font-size:11px;color:var(--muted);position:absolute;right:0;bottom:-23px}
.curriculum{background:#e9ede2;padding:57px 0 62px}
.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:32px}
.section-head .eyebrow{margin-bottom:11px}
.section-head>p{max-width:305px;margin:0;color:var(--muted)}
.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.modules article{border-top:1px solid #aebaa6;padding-top:18px}
.modules p{margin:9px 0 0;max-width:32ch;color:var(--muted);font-size:15px}
.lesson-section{padding-block:58px 0}
.lesson-panel{background:var(--green);color:#fdfaf0;border-radius:5px;padding:38px 44px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.lesson-panel .eyebrow{color:#e1e9d5;margin-bottom:13px}
.lesson-panel h2{font-size:clamp(34px,3.5vw,53px)}
.lesson-panel p:last-child{margin:13px 0 0;max-width:57ch;color:#edf0e7}
.light{background:#f8f4e9;color:#354630}
.light:hover{background:#e6ebdc}
.questions{display:grid;grid-template-columns:1fr 1.25fr;gap:35px;padding-block:64px}
details{border-top:1px solid var(--line);padding:14px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:600}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:var(--green);font-size:21px;line-height:1}
details[open] summary::after{content:'−'}
details p{margin:10px 25px 0 0;color:var(--muted)}
.footer{border-top:1px solid var(--line);padding-block:21px 26px;display:flex;align-items:center;justify-content:space-between;font-size:14px}
.footer .brand{font-size:27px}
.footer-contact{margin:0;display:flex;flex-wrap:wrap;gap:4px 8px;color:var(--muted)}
.footer-contact a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
@media(max-width:730px){
  .footer{display:grid;grid-template-columns:1fr auto;gap:10px 14px}
  .footer-contact{grid-column:1 / -1;grid-row:2}
}
dialog{border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);width:min(540px,calc(100% - 30px));padding:28px;max-height:calc(100% - 30px)}
dialog::backdrop{background:#222d23a6}
.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dialog-head{margin-bottom:13px}
.dialog-head .eyebrow{margin:0}
.close{border:0;background:transparent;color:var(--ink);font-size:29px;line-height:1;padding:4px 8px}
#step-title{font-size:clamp(32px,6vw,44px)}
.tip{background:#e9ede2;padding:12px 15px;border-radius:4px}
.dialog-actions{margin-top:23px}
button:disabled{opacity:.45;cursor:default}
section[id]{scroll-margin-top:18px}
@media(max-width:980px){.shell{width:calc(100% - 64px)}.hero{gap:26px} .hero-actions{gap:12px 17px}}
@media(max-width:730px){.shell{width:calc(100% - 36px)}.header{grid-template-columns:1fr auto;min-height:66px;gap:10px}.header nav{display:none}.brand{font-size:31px}.header-cta{padding:8px 10px;gap:6px;min-height:39px;font-size:12px}.hero{grid-template-columns:1fr;padding-block:38px 49px;gap:24px}.hero-copy{margin:17px 0 19px}.hero-figure img{aspect-ratio:1.32}.curriculum{padding:36px 0 41px}.section-head,.questions{grid-template-columns:1fr;gap:15px}.section-head{margin-bottom:23px}.modules{grid-template-columns:1fr;gap:16px}.modules article{padding-top:12px}.modules p{max-width:none;margin-top:5px}.lesson-section{padding-top:34px}.lesson-panel{padding:24px;align-items:flex-start;flex-direction:column;gap:19px}.questions{padding-block:41px}.questions h2{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
