/* Marketing pages (feature 024): the parts the landing page, /pricing and the help pages share, plus /pricing and
   the site footer. The landing page adds landing.css. Existing tokens only. Mockups Main, LandingPhone, Pricing. */
.marketing{--faq-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1917' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E");--faq-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1917' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");--chk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10.6' fill='%232e7d32' stroke='%231c1917' stroke-width='1.8'/%3E%3Cpath d='M7.4 12.3l3.1 3.1 6.1-6.3' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--bk:color-mix(in srgb,var(--paper) 88%,transparent);font-family:Nunito,var(--font-body);font-size:17px;line-height:1.6}
.marketing .site-header{max-width:1132px}
.marketing .site-nav{padding:0 3px 3px 0;min-height:47px;align-items:center}
.marketing .nav-menu{padding:0 3px 3px 0;margin:-1.5px 0}
.marketing :is(h1,h2,h3){font-family:var(--font-display);letter-spacing:.005em}
:where(.marketing) p{margin:0}
.mk-main{position:relative;z-index:1}
.mk-section{position:relative;max-width:1132px;margin:0 auto;padding:8px 16px 60px}
.bk{background:var(--bk);border-radius:10px;padding:4.8px 12.8px}
.bk{width:fit-content;max-width:100%}
.mk-h2{margin:0;padding:2px 0;font-weight:700;font-size:clamp(28px,2.78vw,40px);line-height:1.2;text-wrap:balance;text-align:center}
.mk-h1{margin:18px 0 0;max-width:min(100%,calc(6.75em + 26px));width:fit-content;background:var(--bk);border-radius:10px;padding:4.8px 12.8px;font-weight:700;font-size:clamp(40px,4.45vw,64px);line-height:1.05;text-wrap:balance}
.mk-lede{margin-top:16px;max-width:520px;font-size:20px;line-height:1.55}
.mascot{display:block;height:auto;filter:drop-shadow(0 8px 10px rgba(28,25,23,.2))}
.mk-card{min-width:0;background:var(--paper);border:var(--outline);border-radius:20px;box-shadow:var(--shadow)}
.mk-card.lg{box-shadow:6px 6px 0 var(--ink)}
.marketing .tier-badge{display:inline-block;line-height:1.5}
.mk-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;font-size:17px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em}
.mk-link .ic{position:relative;top:-3.5px;stroke-width:2.6}
.mk-btn{display:flex;align-items:center;justify-content:center;min-height:50px;padding:10px 18px;background:var(--paper);border:var(--outline);border-radius:10px;box-shadow:var(--shadow-sm);color:var(--ink);font:600 17.6px/1.2 var(--font-display);text-align:center;text-decoration:none}
.mk-btn.go,.mk-btn.go:hover{background:var(--leaf);box-shadow:3px 3px 0 var(--ink);color:#fff}
.mk-btn:hover{color:var(--ink)}.mk-btn.go:hover{background:var(--leaf-dark)}
.mk-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-weight:600;line-height:1.45}
.mk-checks li{display:flex;align-items:flex-start;gap:10px}
.mk-checks li::before,td.yes::before{box-sizing:border-box;content:"";flex:none;display:inline-block;width:24px;height:24px;border:var(--outline);border-radius:50%;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4.2 4.2L18.5 8'/%3E%3C/svg%3E") center/16px no-repeat}
.save{display:inline-block;padding:0 9px;border-radius:999px;background:var(--tint);color:var(--forest);font-weight:700;white-space:nowrap}

/* Claim box */
.claim{container-type:inline-size;max-width:520px;margin:0}
.claim label{margin:0 0 8px;font-weight:700;font-size:15px;line-height:1.4}
.claim-row{position:relative;display:flex;flex-wrap:wrap;row-gap:14px}
.claim-field{flex:1 1 200px;min-width:0;display:flex;align-items:center;height:64px;padding:0 196px 0 18px;background:var(--paper);border:var(--outline);border-radius:14px;box-shadow:6px 6px 0 var(--ink)}
.claim-field:focus-within{outline:3px solid var(--sun);outline-offset:2px}
.claim-field span{flex:none;color:var(--muted);font-weight:600;font-size:18px;line-height:1}
.claim-field input{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0 0 0 1px;border:0;border-radius:0;background:none;font:600 18px Nunito,var(--font-body);outline:none}
.claim-field input::placeholder{color:#5f6f58}
.claim button{position:absolute;top:8px;right:10px;width:176px;height:48px;padding:0 16px;background:var(--leaf);border-radius:10px;box-shadow:3px 3px 0 var(--ink);color:#fff;font:600 18px/1 var(--font-display);white-space:nowrap}
.claim button:hover{background:var(--leaf-dark)}
.claim-foot{margin-top:14px}
.claim-note,.claim-login{color:var(--muted);font-size:14.5px;line-height:1.5}
.claim-login{font-size:15px}.claim-login a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.mk-claim{margin-top:30px}
.mk-claim .claim-foot{width:fit-content;max-width:100%;padding:6px 12px 2px;background:var(--bk);border-radius:10px}
@container (max-width:479px){.claim-field{height:56px;padding:0 14px}.claim button{position:static;width:100%;height:56px}}

/* Plan cards: compact on the landing page, full on /pricing */
.plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:28px;margin-top:48px}
.plan-cards-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-inline:auto}
.plan-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:520px;padding:30px 28px 28px;background:var(--paper);border:var(--outline);border-radius:20px;box-shadow:var(--shadow)}
.plan-card.is-pro{box-shadow:4px 4px 0 var(--leaf)}
.plan-flag svg{flex:none;max-width:none}
.plan-flag{width:max-content;position:absolute;top:-17px;left:50%;translate:-50% 0;display:inline-flex;align-items:center;gap:6px;padding:4px 14px;background:var(--leaf);border:var(--outline);border-radius:999px;box-shadow:var(--shadow-sm);color:#fff;font:600 14.5px/1.3 var(--font-display);white-space:nowrap}
.plan-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.plan-head h3{margin:0;font-weight:700;font-size:clamp(24px,1.94vw,28px);line-height:1.2}
.marketing .plan-price{margin:0;font-family:inherit;font-weight:inherit;font-size:inherit;line-height:1}
.plan-cards:not(.plan-cards-full) .plan-price{display:flex;align-items:baseline;gap:6px;line-height:inherit}
.plan-gap{display:none}
.plan-amount{font:700 40px/1 var(--font-display)}
.plan-per{color:var(--muted);font-family:Nunito,var(--font-body);font-weight:700;font-size:17px}
.plan-year{margin-top:6px;color:var(--muted);font-weight:600;font-size:15px;line-height:1.4;text-align:right}
.plan-desc{flex:1 0 auto;margin:14px 0 24px;font-size:16px;line-height:1.55}
.plan-top{display:flex;align-items:center;gap:14px}
.plan-top h2{margin:0;font-weight:700;font-size:30px;line-height:1.1}
.plan-top .tier-badge{margin-left:auto;display:inline-flex;align-items:center;line-height:20.4px}
.plan-icon{display:flex;flex:none;align-items:center;justify-content:center;width:48px;height:48px;border:var(--outline);border-radius:12px;background:var(--tint);box-shadow:var(--shadow-sm);color:var(--leaf)}
.plan-icon.pro{background:var(--sun-pale)}.plan-icon.max{background:var(--sun)}
.plan-list{margin-top:24px;padding-top:20px;border-top:2px dashed var(--rule)}
.plan-list p{margin-bottom:12px;font-weight:700;font-size:15.5px;line-height:1.45}
.plan-list .mk-checks{gap:12px;font-weight:400;font-size:16px}
.plan-cards-full{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:0;max-width:1068px;margin:20px auto 0}
.plan-cards-full.plan-cards-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.plan-cards-full .plan-card{grid-row:span 5;display:grid;grid-template-rows:subgrid;row-gap:0;max-width:560px;margin-top:26px;padding:28px;box-shadow:6px 6px 0 var(--ink)}
.plan-cards-full .plan-card.is-pro{box-shadow:6px 6px 0 var(--leaf)}
.plan-cards-full .plan-flag{top:-18px;padding:5px 14px;font-size:15px;line-height:20px}
.plan-cards-full .plan-price{margin:22px 0 0}
.plan-list .mk-checks li::before{width:22px;height:22px;margin-top:1px;border:0;border-radius:0;background:var(--chk) center/contain no-repeat}
.plan-cards-full .plan-amount{font-size:48px;letter-spacing:-.01em}
.plan-cards-full .plan-per{font-size:18px}
.plan-cards-full .plan-year{margin-top:10px;font-size:15.5px;line-height:1.5;text-align:left}
.plan-cards-full .plan-card>div:nth-of-type(2){margin-top:22px}

/* Pricing page */
.mk-wrap{position:relative;width:min(1100px,calc(100% - 32px));margin:0 auto;padding-bottom:64px}
.mk-title{margin-top:4px;text-align:center}
.mk-title .mk-lede{margin:14px auto 0;max-width:560px;text-wrap:balance}
.mk-h1w{position:relative;width:fit-content;max-width:100%;margin:0 auto}
.mk-h1-sm{margin:0;max-width:none;font-size:clamp(40px,3.9vw,56px)}
.m-grin{width:96px;margin:0 auto 6px;rotate:6deg}
.mk-small{margin:40px auto;max-width:780px;color:var(--muted);font-size:14.5px;line-height:1.55;text-align:center}
.mk-block{margin-top:72px}
.mk-block>.mk-h2{display:block;width:fit-content;margin:0 auto 28px;padding:4.8px 12.8px;line-height:1.15}
.mk-table{overflow:hidden}
.mk-table table{width:100%;border-collapse:collapse;table-layout:fixed}
.mk-table :is(th,td){padding:0 6px;text-align:center;vertical-align:middle}
.mk-table thead .tier-badge{display:inline-flex;align-items:center;line-height:20.4px}
.mk-table thead th{padding:20px 6px 16px;border-bottom:var(--outline)}
.mk-table .feat{width:40%;padding-left:clamp(12px,1.7vw,26px);color:var(--muted);font-weight:700;font-size:15px;text-align:left}
.mk-table th[scope=rowgroup]{padding:12px clamp(12px,1.7vw,26px);background:var(--tint);font:600 18px/1.3 var(--font-display);text-align:left}
.mk-table th[scope=row]{height:52px;padding:8px clamp(12px,1.7vw,26px);border-top:2px dashed var(--rule);font-weight:600;font-size:16.5px;line-height:1.35;text-align:left}
.mk-table td{box-sizing:content-box;height:52px;border-top:2px dashed var(--rule)}
.mk-table tbody:not(:first-of-type) th[scope=rowgroup]{border-top:var(--outline)}
.mk-table tr:has(th[scope=rowgroup])+tr>*{border-top:0}
td.no::before{content:"";display:inline-block;vertical-align:middle;width:18px;height:3px;border-radius:2px;background:var(--muted)}
td.yes::before{vertical-align:middle;width:26px;height:26px;border:0;border-radius:0;background:var(--chk) center/contain no-repeat}
.mk-faq{max-width:820px;margin:36px auto 0;padding:8px 32px;overflow:hidden}
.mk-block .mk-faq{margin-top:0}
.mk-faq details+details{border-top:2px dashed var(--rule)}
.mk-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none;font-weight:700;font-size:18px;line-height:1.35}
.mk-faq summary::-webkit-details-marker{display:none}
.mk-faq summary::after{box-sizing:border-box;content:"";flex:none;width:32px;height:32px;border:var(--outline);border-radius:50%;box-shadow:var(--shadow-sm);background:var(--faq-plus) center/16px no-repeat,var(--paper)}
.mk-faq details[open] summary::after{background:var(--faq-minus) center/16px no-repeat,var(--sun)}
.mk-faq p{max-width:690px;padding:0 0 18px}
.mk-closing{display:flex;flex-wrap:wrap;align-items:center;gap:24px 56px;padding:44px 52px}
.mk-closing h2{flex:1 1 300px;margin:0;font-weight:700;font-size:clamp(28px,2.78vw,40px);line-height:1.15}
.mk-closing-form{flex:1 1 440px;max-width:580px;min-width:0}
.mk-closing-form .claim{max-width:none}
.mk-closing-form>.mk-btn{width:fit-content;padding-inline:28px}

/* Site footer (also on the help pages) */
.site-footer{position:relative;z-index:1;background:var(--paper);border-top:var(--outline);font:16px/1.5 Nunito,var(--font-body)}
.site-footer-in{max-width:1132px;margin:0 auto;padding:40px 16px 32px}
.site-footer-cols{display:flex;flex-wrap:wrap;gap:24px 40px}
.site-footer-brand{flex:1 1 240px;min-width:0}
.site-footer-brand .brand{min-height:44px}
.site-footer-brand p{margin:8px 0 0;color:var(--muted)}
.site-footer-nav{flex:3 1 528px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:20px 24px}
.site-footer .footer-heading{margin:0 0 6px;font:600 15px/1.3 var(--font-display);letter-spacing:.02em}
.site-footer ul{margin:0;padding:0;list-style:none}
.site-footer li a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration-thickness:1.5px;text-underline-offset:.18em}
.site-footer-copy{margin:28px 0 0;padding-top:16px;border-top:2px dashed var(--rule);color:var(--muted);font-size:14px}
.site-footer+.scenery{margin-top:0;background-color:var(--paper)}

@media (min-width:700px){.mk-title{margin-top:34px}.mk-title .mk-lede{max-width:450px}.plan-cards-full{margin-top:36px}}
@media (min-width:962px){.plan-cards:not(.plan-cards-full) .plan-gap{display:block;height:27px}}
@media (min-width:1000px){.mk-title{padding-right:140px}}
@media (min-width:1100px){.m-grin{position:absolute;left:calc(100% + 88px);top:-28px;width:130px;margin:0}}
@media (max-width:961px){.plan-cards:not(.plan-cards-full){grid-template-columns:minmax(0,1fr);gap:28px;max-width:520px;margin-inline:auto}}
@media (max-width:899px){
  .plan-cards,.plan-cards-two,.plan-cards-full,.plan-cards-full.plan-cards-two{grid-template-columns:minmax(0,1fr);gap:36px;max-width:520px;margin-inline:auto}
  .plan-cards-full{max-width:560px;gap:0}
  .plan-cards-full .plan-card{grid-row:auto;display:flex;margin-top:36px}
}
@media (max-width:699px){
  .marketing{font-size:16px;line-height:1.55}
  .mk-card.lg{box-shadow:4px 4px 0 var(--ink)}
  .mk-section{padding:40px 16px}
  .mk-wrap{padding-bottom:56px}
  .mk-h1{margin-top:14px;font-size:40px;line-height:1.08;max-width:312px}
  .mk-lede{margin-top:12px;font-size:17px}
  .mk-claim{margin-top:22px}
  .mk-h2{text-align:left;font-size:28px}
  .mk-faq{padding:4px 18px;margin-top:24px}.mk-faq summary{padding:10px 0;font-size:17px}.mk-faq p{padding:0 0 16px;font-size:16px;line-height:1.6}
  .mk-closing{padding:22px 18px}.mk-block{margin-top:56px}
  .mk-table .feat{padding-left:12px}
  .mk-table th[scope=row]{padding:8px 6px 8px 12px;font-size:15px}.mk-table th[scope=rowgroup]{padding:12px}
  .plan-cards-full .plan-card{padding:24px 20px}
  .plan-cards:not(.plan-cards-full){gap:26px;margin-top:32px}
  .plan-cards:not(.plan-cards-full) .plan-card{padding:22px 18px 18px}
  .plan-desc{margin:12px 0 16px}
}
@media (prefers-reduced-motion:reduce){.marketing *{transition:none!important;animation:none!important}}
@media (min-width:700px){
  .mk-block .mk-faq{padding:6px 0}
  .mk-block .mk-faq summary{min-height:64px;padding:12px 26px;line-height:1.4}
  .mk-block .mk-faq p{max-width:64ch;padding:0 26px 22px}
  .mk-block .mk-faq summary::after{background:var(--faq-plus) center/16px no-repeat,var(--paper)}
  .mk-block .mk-faq details[open] summary::after{background:var(--faq-minus) center/16px no-repeat,var(--sun-pale)}
}
@media (max-width:379px){
  .mk-table thead th{padding-inline:2px}
  .mk-table thead .tier-badge{padding:2px 6px;font-size:12px}
}
