@font-face{font-family:Nunito;src:url('assets/nunito-bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
@font-face{font-family:Story;src:url('assets/story.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito.ttf') format('truetype');font-weight:400;font-display:swap}

:root{--paper:#fffaf2;--ink:#3b322b;--muted:#71665c;--accent:#ae4829;--orange:#c85a32;--blue:#d9edf3;--mint:#eaf1df;--yellow:#f8db8e;--line:#e8dfd1;--serif:Story,Georgia,serif;--sans:Nunito,'Trebuchet MS',sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #156c91;outline-offset:5px}
.section-wrap{width:min(880px,calc(100% - 48px));margin:auto}

.site-header{border-bottom:1px solid var(--line);background:rgba(255,250,242,.97)}
.header-inner{width:min(1280px,calc(100% - 48px));min-height:80px;display:flex;align-items:center;justify-content:center;margin:auto}
.brand{display:inline-flex;align-items:center;gap:9px;font:bold 30px/1 var(--serif);letter-spacing:-1.5px}
.brand svg{width:32px;height:32px;fill:var(--yellow);stroke:var(--accent);stroke-width:1.7;stroke-linejoin:round}
.brand-dot{color:var(--orange);margin-left:-8px}

.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding:64px 0 56px}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--mint);color:#49663c;font-size:13px;font-weight:800;padding:8px 16px;border-radius:99px}
h1{font-size:clamp(2.4rem,4.6vw,3.6rem);letter-spacing:-1.8px;margin-top:20px}
.hero-description{max-width:440px;color:var(--muted);font-size:17px;line-height:1.65;margin-top:18px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:58px;border-radius:10px;padding:14px 26px;background:var(--accent);color:#fff;font-size:16px;font-weight:800;text-decoration:none;border:1px solid var(--accent);transition:background .2s,transform .2s;box-shadow:0 4px 0 #80351f;margin-top:28px}
.button:hover{background:#92381e;transform:translateY(-2px)}
.button:active{transform:translateY(1px)}
.button span{font-size:20px;font-weight:400;line-height:1}
.purchase-note{font-size:12px;margin-top:13px;color:var(--muted)}

.hero-art{position:relative;height:380px;isolation:isolate}
.hero-art-field{position:absolute;inset:5% 6% 5% 6%;background:var(--blue);border-radius:48% 48% 14px 14px;z-index:-1}
.hero-cover{position:absolute;width:58%;height:auto;top:8%;left:21%;transform:rotate(-6deg);box-shadow:5px 17px 26px #4f687338;border:5px solid #fff}

.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;display:flex;align-items:center;gap:10px;color:#77614b}
.eyebrow>span{width:26px;height:2px;background:var(--orange)}

.tutorial{padding:20px 0 72px;border-top:1px solid var(--line)}
.tutorial h2{margin-top:15px;font-size:clamp(1.8rem,3.4vw,2.4rem);letter-spacing:-1px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:40px 0 0;text-align:center}
.step-number{display:inline-grid;place-items:center;width:48px;height:48px;font:600 21px var(--serif);border-radius:50%;background:var(--yellow);margin-bottom:16px}
.steps li:nth-child(2) .step-number{background:var(--blue)}
.steps li:nth-child(3) .step-number{background:var(--mint)}
.steps h3{font-size:19px;letter-spacing:-.3px}
.steps p{font-size:14px;color:var(--muted);margin-top:10px}

.help{padding:0 0 72px}
.help h2{font-size:clamp(1.5rem,2.8vw,1.9rem);letter-spacing:-.6px}
.help-list{margin:22px 0 0;padding:0 0 0 20px;color:var(--muted);font-size:15px;line-height:1.8}
.help-list li{margin-bottom:6px}

.site-footer{text-align:center;padding:44px 24px 56px;border-top:1px solid var(--line)}
.site-footer p{margin:16px 0 6px;font-size:14px}
.site-footer small{font-size:12px;color:var(--muted)}

@media(max-width:760px){
  .hero{grid-template-columns:1fr;padding:36px 0 40px;gap:0;text-align:center}
  .hero-description{margin:16px auto 0}
  .hero-art{order:-1;height:230px;margin-bottom:20px}
  .hero-cover{width:44%;left:28%}
  .button{width:100%}
  .steps{grid-template-columns:1fr;gap:26px;text-align:left}
  .steps li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:start}
  .step-number{grid-row:span 2;margin:0}
}
