@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap');:root{--paper:#efece4;--ink:#3b514a;--accent:#4b6b60;--soft:#e4ece6;--orange:#c78361;--line:#d6d8cc;--white:#fffefa;--muted:#7b857d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}body.terracotta{--accent:#ae6c53;--soft:#f4e6dc;--ink:#594037}body.blue{--accent:#58758b;--soft:#e4edf1;--ink:#344f61}header{height:74px;padding:0 5vw;display:flex;align-items:center;gap:48px;border-bottom:1px solid var(--line)}.brand,footer strong{font:700 24px Fraunces,Georgia,serif}.brand span,footer strong span{color:var(--orange)}nav{display:flex;gap:24px;font-size:12px;font-weight:700}nav a:hover{text-decoration:underline}.head-note{margin-left:auto;font-size:9px;letter-spacing:1.5px;color:#9c9f92;font-weight:700}.hero{min-height:480px;display:grid;grid-template-columns:1fr .85fr;max-width:1550px;margin:auto}.hero-copy{padding:90px 5vw 70px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.7px;color:#ad765c;font-weight:700}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500}h1{font-size:clamp(56px,5.9vw,90px);letter-spacing:-2.6px;line-height:1.06;margin:21px 0}h1 em,h2 em{font-weight:500;color:#ad765c}.hero-copy p{color:#718077;font-size:16px;line-height:1.7;max-width:500px;margin:0 0 26px}.cta,.add{background:var(--accent);color:#fff;border:0;display:inline-flex;justify-content:space-between;gap:55px;padding:15px 18px;font-size:12px;font-weight:700}.cta:hover,.add:hover{filter:brightness(1.13)}.cta span{font-size:18px}.hero-micro{margin-top:24px;font-size:9px;letter-spacing:1.3px;font-weight:700;color:#9fa194}.art{background:#dce4d8;display:grid;place-items:center;position:relative;overflow:hidden}.art:before{content:'';position:absolute;width:520px;height:520px;border:1px solid #bdcfbf;border-radius:50%}.art-page{position:relative;width:min(74%,355px);background:#fffefa;padding:29px;transform:rotate(-6deg);box-shadow:16px 18px 0 #91a89466}.art-page small{font-size:9px;letter-spacing:1.5px;color:#b17559;font-weight:700}.art-page strong{display:block;font:500 43px Fraunces,Georgia,serif;margin:8px 0 17px}.art-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:20px}.art-calendar b,.art-calendar i{height:30px;display:grid;place-items:center;font-style:normal;font-size:10px}.art-calendar b{background:#e8ede6;color:#7d9485}.art-calendar i{border:1px solid #e8eae4}.art-calendar i:nth-child(17){background:#e8b6a0}.tool{background:#e7e8df;padding:67px 5vw 85px}.tool>.section-kicker,.tool-intro,.app{max-width:1460px;margin-left:auto;margin-right:auto}.tool-intro h2,.how h2{font-size:clamp(40px,4.1vw,64px);letter-spacing:-1.6px;margin:13px 0 7px}.tool-intro p{color:#77827b;margin:0 0 25px}.app{display:grid;grid-template-columns:315px 1fr;gap:17px;align-items:start}.settings,.calendar-panel{background:var(--white);border:1px solid #ced7cd;border-radius:3px;padding:22px}.settings h3{font-size:22px;margin:0 0 15px}.settings h3 span{font:700 11px 'DM Sans',sans-serif;color:#9a8172}.settings label{display:block;font-size:11px;font-weight:700;margin:14px 0 7px}.settings input,.settings select{width:100%;border:1px solid #cbd5ca;background:#fff;padding:10px;color:var(--ink)}.settings input:focus,.settings select:focus{outline:2px solid var(--accent);outline-offset:1px}.divider{border-top:1px solid #e1e4dc;margin:23px 0}.add{width:100%;margin-top:16px}.error{background:#fff0e9;color:#a74436;padding:9px;font-size:11px}.event-list{max-height:230px;overflow:auto}.event-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e1e4dc;padding:8px 0;font-size:11px}.event-row time{color:#ad765c;font-weight:700;flex:none}.event-row span{flex:1;overflow:hidden;text-overflow:ellipsis}.event-row button{border:0;background:none;color:#aa9e92;font-size:16px}.privacy{font-size:10px;color:#9fa9a0;line-height:1.5;margin-top:20px}.calendar-panel{padding:27px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e5dd;padding-bottom:18px}.calendar-toolbar span{font-size:9px;letter-spacing:1.4px;color:#b0775e;font-weight:700}.calendar-toolbar h3{font-size:31px;margin:4px 0;text-transform:capitalize}.nav{display:flex;gap:5px}.nav button{border:1px solid #cbd8cb;background:#fff;padding:8px 10px;color:var(--ink);font-weight:700}.nav button:hover{background:var(--soft)}.weekday,.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday{margin:14px 0 7px}.weekday span{text-align:center;font-size:10px;letter-spacing:.7px;color:#8b9b90;font-weight:700}.day{border:1px solid #dce4dc;background:#fff;min-height:85px;padding:7px;cursor:pointer;overflow:hidden}.day:hover{background:var(--soft)}.day.blank{background:#fafaf8;border-color:#f1f2ed;cursor:default}.day.today{outline:2px solid var(--accent);outline-offset:-2px}.day .num{font-size:11px;color:#6b7e72;font-weight:700}.day .event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);color:var(--accent);padding:3px 4px;margin-top:4px;font-size:9px;font-weight:700}.calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e0e5dd;margin-top:17px;padding-top:17px}.calendar-footer span{font-size:10px;color:#9da89e}.calendar-footer button,.year-action button{border:0;background:var(--accent);color:#fff;padding:10px 13px;font-size:11px;font-weight:700}.year-action{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--soft);padding:14px;margin-top:14px}.year-action strong{font-size:12px}.year-action p{font-size:10px;margin:4px 0 0;color:#75867b}.year-action button{background:#fff;color:var(--accent);border:1px solid var(--accent)}.how{max-width:1530px;margin:auto;padding:88px 5vw}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:33px}.steps article{border-top:1px solid #cdd6cb;padding-top:17px}.steps article span{font:500 25px Fraunces,Georgia,serif;color:#bd8060}.steps h3{font-size:24px;margin:15px 0 5px}.steps p{line-height:1.65;color:#7d8a7f;max-width:310px}.faq{max-width:1380px;margin:auto;border-top:1px solid #d1d9ce;padding:45px 5vw 80px}.faq details{border-bottom:1px solid #d1d9ce;padding:18px 0}.faq summary{font-weight:700;cursor:pointer}.faq p{line-height:1.7;color:#7d8a7f}footer{background:#36564b;color:#c6d8c8;padding:25px 5vw;display:flex;align-items:center;gap:25px;font-size:11px}footer strong{color:#fff}footer span:last-child{margin-left:auto}#print-sheets{display:none}.print-month{padding:8mm;break-after:page}.print-month:last-child{break-after:auto}.print-month h2{font-size:34pt;text-transform:capitalize;margin:0 0 7mm}.print-month .weekday,.print-month .grid{gap:0}.print-month .weekday span{font-size:9pt;padding:3mm}.print-month .day{min-height:30mm;border:1px solid #9da99d;cursor:default}.print-month .day.blank{border-color:#d7d7d7}.print-month .day .num{font-size:11pt}.print-month .day .event{white-space:normal;font-size:8pt}@media(max-width:900px){.hero{grid-template-columns:1fr}.art{min-height:350px}.app{grid-template-columns:1fr}}@media(max-width:600px){header{height:63px;gap:15px}nav{margin-left:auto;gap:12px;font-size:11px}.head-note{display:none}.hero-copy{padding:60px 5vw}.tool{padding:55px 4vw}.calendar-panel{padding:14px}.calendar-toolbar h3{font-size:24px}.day{min-height:58px;padding:4px}.day .event{font-size:7px}.calendar-footer,.year-action{display:block}.calendar-footer button,.year-action button{margin-top:10px;width:100%}.steps{grid-template-columns:1fr}.how{padding:65px 5vw}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}@media print{header,.hero,.tool>.section-kicker,.tool-intro,.app,.how,.faq,footer{display:none!important}body,.tool{background:#fff}.tool{padding:0}#print-sheets{display:block}.print-month{height:185mm}.print-month .day{min-height:22mm}@page{size:A4 landscape;margin:10mm}}
.print-events{display:flex;align-items:center;gap:7px;margin:16px 0;color:#4d665d;font-size:12px}.print-events input{accent-color:#4b6b60}.clear-events{background:transparent;border:0;border-bottom:1px solid #9caf9e;color:#446759;font-size:11px;padding:7px 0;cursor:pointer}.practical{max-width:1450px;margin:auto;padding:40px 5vw 70px;border-top:1px solid #d6d4ca}.practical h2{font-size:clamp(32px,4vw,55px);margin:16px 0}.practical p{max-width:850px;color:#68746d;line-height:1.8}@media print{.practical,.print-events,.clear-events{display:none!important}}


/* Usability pass: bring the working area into view sooner. */
@media screen {
  html { scroll-padding-top: 20px; }
  :where(a,button,input,select,textarea):focus-visible { outline: 3px solid #b66a48; outline-offset: 3px; }
  .hero h1 { font-size: clamp(46px,5.1vw,66px); line-height: 1.04; }
  .hero p { margin-bottom: 19px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(34px,3.8vw,52px); }
  .tool-intro,.section-intro,.intro,.tool-heading { margin-bottom: 19px; }
}
@media screen and (max-width:700px) {
  .hero h1 { font-size: clamp(42px,11vw,50px); }
  .hero-art,.hero-pattern,.hero-visual,.box-art,.hero .art { display: none; }
  .hero-copy,.hero-text,.hero-left,.hero>div:first-child { padding: 34px 5vw 28px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(32px,8.2vw,40px); }
  .tool,.planner,.tool-wrap { padding-top: 30px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

@media screen and (min-width:701px){.hero{min-height:0}.hero-copy{padding:32px 5vw 25px}.art{min-height:340px}.tool{padding-top:27px}}@media screen and (max-width:700px){.hero{min-height:0}}
