/* Swatch shared site chrome (nav, footer, doc pages). The planner (index.html)
   and the landing hero keep their own styles; this is for the marketing/info pages. */
:root{
  --ink:#19191B; --ink2:#3F4248; --muted:#76767C; --faint:#A6A6AD;
  --line:rgba(25,25,27,.09);
  --glass:rgba(255,255,255,.62); --glass2:rgba(255,255,255,.42); --glassb:rgba(255,255,255,.66);
}
*{box-sizing:border-box;margin:0;}
html{scroll-behavior:smooth;}
body{font-family:'Hanken Grotesk',sans-serif;color:var(--ink);min-height:100vh;line-height:1.6;
  background:linear-gradient(168deg,#F0F0F2,#DBDADF 60%,#D2D1D6);-webkit-font-smoothing:antialiased;}

.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;}
.orb{position:absolute;border-radius:50%;filter:blur(85px);}
.orb.a{width:520px;height:520px;background:#AEBCC8;opacity:.30;top:-150px;left:-110px;animation:drift 28s ease-in-out infinite;}
.orb.b{width:520px;height:520px;background:#B4BEC8;opacity:.26;bottom:-200px;right:-100px;animation:drift 34s ease-in-out infinite reverse;}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(40px,-30px) scale(1.05);}}

.glass{background:linear-gradient(135deg,var(--glass),var(--glass2));
  backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);
  border:1px solid var(--glassb);
  box-shadow:0 18px 54px -22px rgba(18,18,26,.28),inset 0 1px 0 rgba(255,255,255,.75);}

/* nav */
.nav{position:sticky;top:14px;z-index:50;max-width:1080px;margin:14px auto 0;
  display:flex;align-items:center;justify-content:space-between;padding:11px 14px 11px 20px;border-radius:18px;}
.nav .wm{display:inline-flex;align-items:center;gap:11px;font-weight:300;letter-spacing:.32em;
  text-transform:uppercase;font-size:15px;text-decoration:none;color:var(--ink);}
.nav .wm .mk{width:34px;height:34px;border-radius:9px;}
.nav .links{display:flex;gap:26px;}
.nav .links a{color:var(--ink2);text-decoration:none;font-size:13px;font-weight:500;transition:.15s;}
.nav .links a:hover{color:var(--ink);}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:600;font-size:14px;
  border-radius:999px;padding:12px 22px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:.17s;white-space:nowrap;}
.btn.dark{background:var(--ink);color:#fff;}
.btn.dark:hover{transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(18,18,26,.6);}
.btn.sm{padding:9px 16px;font-size:13px;}

.appstore{display:inline-flex;align-items:center;gap:9px;background:#000;color:#fff;border-radius:9px;padding:8px 15px;
  text-decoration:none;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Arial,sans-serif;transition:.17s;}
.appstore:hover{transform:translateY(-1px);box-shadow:0 12px 28px -12px rgba(0,0,0,.5);}
.appstore svg{width:26px;height:26px;fill:#fff;flex:0 0 auto;}
.appstore .att{display:flex;flex-direction:column;line-height:1;text-align:left;}
.appstore .att small{font-size:11px;font-weight:400;letter-spacing:.01em;margin-bottom:3px;}
.appstore .att b{font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1;}

/* doc page body */
.doc{max-width:720px;margin:0 auto;padding:72px 22px 30px;}
.doc .kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.doc h1{font-weight:300;font-size:clamp(32px,5vw,46px);letter-spacing:-.015em;margin:12px 0 10px;}
.doc .updated{color:var(--muted);font-size:13px;margin-bottom:30px;}
.doc .lead{font-size:18px;color:var(--ink);margin:0 0 26px;line-height:1.55;}
.doc h2{font-weight:600;font-size:19px;margin:34px 0 8px;}
.doc p{color:var(--ink2);font-size:15.5px;margin:0 0 14px;}
.doc ul{margin:0 0 14px;padding-left:20px;color:var(--ink2);font-size:15.5px;}
.doc li{margin-bottom:7px;}
.doc a{color:var(--ink);text-underline-offset:2px;}
.doc .panel{border-radius:20px;padding:30px 30px 14px;margin-top:8px;}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:18px 0;}
.faq details:last-child{border-bottom:none;}
.faq summary{font-weight:600;font-size:15.5px;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--muted);font-weight:300;font-size:22px;line-height:1;}
.faq details[open] summary::after{content:"\2013";}
.faq p{margin:12px 0 2px;}

/* contact form */
.contact{margin-top:10px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.field label span{color:var(--muted);font-weight:400;}
.field input,.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:12px;padding:12px 14px;transition:.15s;-webkit-appearance:none;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);background:rgba(255,255,255,.9);}
.field textarea{resize:vertical;min-height:120px;line-height:1.5;}
.contact .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.contact .btn{cursor:pointer;}
.formnote{font-size:12px;color:var(--muted);margin:14px 0 0;}
.formnote a{color:var(--ink2);}
.formstatus{margin:16px 0 4px;font-size:14px;font-weight:500;padding:12px 14px;border-radius:12px;}
.formstatus.ok{background:rgba(79,142,140,.14);color:#2c5755;border:1px solid rgba(79,142,140,.32);}
.formstatus.err{background:rgba(178,59,42,.1);color:#9a3526;border:1px solid rgba(178,59,42,.25);}

/* footer */
footer{margin-top:80px;padding:0 22px 30px;}
.foot{max-width:1080px;margin:0 auto;border-radius:24px;padding:44px 44px 32px;}
.foot .cols{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:30px;}
.foot .brand .wm{display:inline-flex;align-items:center;gap:11px;font-weight:300;letter-spacing:.3em;
  text-transform:uppercase;font-size:15px;color:var(--ink);text-decoration:none;}
.foot .brand .wm .mk{width:26px;height:26px;border-radius:7px;}
.foot .brand p{color:var(--ink2);font-size:13.5px;margin:14px 0 18px;max-width:34ch;}
.foot .col h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:14px;}
.foot .col a{display:block;color:var(--ink2);text-decoration:none;font-size:14px;margin-bottom:11px;transition:.15s;}
.foot .col a:hover{color:var(--ink);}
.foot .base{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);
  margin-top:36px;padding-top:20px;color:var(--muted);font-size:12.5px;flex-wrap:wrap;gap:8px;}
.foot .base .m{color:var(--ink2);}
.foot .base a{color:var(--muted);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .15s;}
.foot .base a:hover{color:var(--ink);}

@media (max-width:760px){
  .nav .links{display:none;}
  .nav{margin:8px 14px 0;}
  .foot .cols{grid-template-columns:1fr 1fr;gap:28px 22px;}
  .foot .brand{grid-column:1 / -1;}
  .foot{padding:32px 24px 26px;}
  .foot .base{flex-direction:column;align-items:flex-start;}
}

a:focus-visible,button:focus-visible{outline:2.5px solid #4F8E8C;outline-offset:3px;border-radius:6px;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .orb{animation:none;}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}
