:root{--paper:#fdfdfb;--ink:#23252b;--soft:#5d6270;--rule:#e3e0e6;--mauve:#8d6f8f;--mauve-dark:#6e5470;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--wrap:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--serif);-webkit-font-smoothing:antialiased}a{color:var(--mauve);text-decoration:none}a:hover{color:var(--mauve-dark);text-decoration:underline}:focus-visible{outline:2px solid var(--mauve);outline-offset:3px}.skip{position:fixed;left:1rem;top:-5rem;z-index:20;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:99px}.skip:focus{top:1rem}.mandala{position:fixed;inset:0;z-index:0;pointer-events:none;background:url('/mandala.gif') 50% 50%/cover no-repeat;opacity:.1;filter:saturate(2.4)}.site-shell{position:relative;z-index:1}.wrap{width:min(100%,var(--wrap));margin-inline:auto;padding-inline:32px}.nav{min-height:82px;display:flex;align-items:center;gap:38px}.brand{display:block;color:var(--ink);flex:none}.brand img{display:block;width:100px;height:auto}.nav-links,.footer nav{display:flex;gap:28px}.nav-links a,.footer a{color:var(--soft);font-size:15px}.nav-cta{margin-left:auto}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 27px;border-radius:99px;background:var(--mauve);color:#fff;font-size:16px;line-height:1.3;transition:background .18s ease,transform .18s ease}.button:hover{background:var(--mauve-dark);color:#fff;text-decoration:none;transform:translateY(-1px)}.button-ink{background:var(--ink);padding:10px 21px;font-size:15px}.button-ink:hover{background:var(--mauve)}
.hero{min-height:620px;padding-top:clamp(80px,11vh,130px);padding-bottom:120px}.eyebrow{margin:0 0 12px;color:var(--mauve);font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{color:var(--ink);font-family:var(--serif);text-wrap:balance}h1{max-width:820px;margin:0 0 26px;font-size:clamp(2.65rem,5vw,4rem);font-weight:400;letter-spacing:-.02em;line-height:1.06}h1 em{color:var(--mauve);font-weight:400}.hero-copy{max-width:54ch;margin:0 0 36px;color:var(--soft);font-size:1.23rem;line-height:1.6}.actions{display:flex;align-items:center;gap:18px}.text-link{font-size:16px}.section{padding-block:92px;scroll-margin-top:0}.wash{border-block:1px solid var(--rule);background:rgba(253,253,251,.84);backdrop-filter:blur(2px)}h2{max-width:25ch;margin:0 0 18px;font-size:clamp(2rem,3.4vw,2.7rem);font-weight:400;letter-spacing:-.015em;line-height:1.15}.section-copy{max-width:58ch;margin:0 0 54px;color:var(--soft)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.card,.price-card{border:1px solid var(--rule);border-radius:10px;background:var(--paper)}.card{min-height:225px;padding:28px 25px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card:hover{border-color:var(--mauve);box-shadow:0 8px 30px rgba(35,37,43,.07);transform:translateY(-2px)}.glyph{display:grid;width:34px;height:34px;place-items:center;margin-bottom:20px;border-radius:8px;background:rgba(141,111,143,.12);color:var(--mauve);font:500 14px/1 var(--mono)}h3{margin:0 0 8px;font-size:1.16rem;font-weight:600}.card p,.step p{margin:0;color:var(--soft);font-size:.95rem;line-height:1.55}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:54px}.step>span{display:block;padding-bottom:14px;border-bottom:1px solid var(--rule);color:var(--mauve);font:400 14px/1 var(--mono)}.step h3{margin-top:18px}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.pricing-grid .section-copy{margin-bottom:0}.price-card{padding:36px 34px;box-shadow:0 10px 40px rgba(35,37,43,.06)}.price-name{margin:0 0 5px;color:var(--soft);font-size:.95rem}.price{display:flex;align-items:baseline;gap:8px;margin:0 0 18px}.price strong{font-size:2.9rem;font-weight:400;letter-spacing:-.02em}.price span{color:var(--soft)}.price-card ul{display:grid;gap:8px;margin:0 0 27px;padding:0;list-style:none;font-size:.95rem}.price-card li:before{content:'—';margin-right:9px;color:var(--mauve)}.price-card .button{width:100%}.cta{padding-block:108px;text-align:center}.cta h2{margin-inline:auto}.cta>p:not(.eyebrow){margin:0 auto 32px;color:var(--soft)}.footer{border-top:1px solid var(--rule);background:rgba(253,253,251,.88)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-block:42px}.footer nav{margin-left:auto}.footer-inner>p{width:100%;margin:4px 0 0;color:var(--soft);font-size:13px}
@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}.pricing-grid{gap:44px}}@media(max-width:640px){.wrap{padding-inline:22px}.nav{min-height:72px;gap:18px;flex-wrap:wrap;padding-block:15px}.nav-links{order:3;width:100%;gap:22px;overflow-x:auto}.nav-cta{padding:8px 15px}.hero{min-height:0;padding-top:76px;padding-bottom:90px}h1{font-size:clamp(2.45rem,12vw,3.25rem)}.hero-copy{font-size:1.08rem}.actions{align-items:flex-start;flex-direction:column}.section{padding-block:72px}.cards,.steps,.pricing-grid{grid-template-columns:1fr}.steps{gap:34px}.footer-inner{align-items:flex-start;flex-direction:column}.footer nav{margin-left:0;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mandala{background-image:url('/mandala-static.svg')}.button,.card{transition:none}}

/* Comfortable reading scale: secondary information should never feel like fine print. */
.brand img{width:122px}
.nav-links,.footer nav{gap:32px}
.nav-links a,.footer a{font-size:17px}
.button{padding:13px 29px;font-size:17px}
.button-ink{padding:11px 23px;font-size:16px}
.eyebrow{font-size:14px}
h1{font-size:clamp(2.8rem,5vw,4.15rem)}
h2{font-size:clamp(2.1rem,3.4vw,2.8rem)}
h3{font-size:1.24rem}
.hero-copy{font-size:1.28rem}
.text-link{font-size:17px}
.section-copy,.cta>p:not(.eyebrow){font-size:1.05rem}
.card{min-height:235px;padding:30px 27px}
.glyph{width:40px;height:40px;font-size:15px}
.card p,.step p,.price-name,.price span,.price-card ul{font-size:1rem}
.step>span{font-size:15px}
.footer .brand img{width:115px}
.footer-inner>p{font-size:15px}

@media(max-width:640px){
  .nav{min-height:78px;padding-block:16px}
  .brand img{width:118px}
  .nav-links{gap:26px}
  .nav-links a{font-size:16px}
  .nav-cta{padding:9px 17px}
  h1{font-size:clamp(2.55rem,12vw,3.35rem)}
  .hero-copy{font-size:1.13rem}
}
