:root{--ink:#292139;--paper:#fffaf2;--orange:#ff925f;--violet:#b89af8;--violet-dark:#52308f;--lime:#dcf887;--pink:#ffc5df;--muted:#554c60;--border:#bcb1c5;--font-display:"Bricolage Grotesque", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--type-display:clamp(3rem, 6.4vw, 6.4rem);--type-page:clamp(2.25rem, 4.5vw, 4rem);--type-section:clamp(2rem, 3.5vw, 3rem);--type-subsection:clamp(1.35rem, 2.2vw, 1.8rem);--type-card:clamp(1.2rem, 1.8vw, 1.5rem);--radius-control:999px;--shell:min(1120px, calc(100% - 64px));--header:76px;--space-section:clamp(3rem, 6vw, 5rem);--motion-fast:.16s;--motion-change:.24s;--motion-pop:.72s;--motion-draw:.8s;--ease:cubic-bezier(.22, 1, .36, 1);--ease-playful:cubic-bezier(.22, 1.35, .4, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);color:var(--ink)}body{background:var(--paper);min-width:320px;font:400 1rem/1.6 var(--font-body);margin:0}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;font-weight:700;line-height:1.08}h1{font-size:var(--type-page);letter-spacing:-.04em}h2{font-size:var(--type-section);letter-spacing:-.03em}h3{font-size:var(--type-card);letter-spacing:-.02em}h4{font-size:1.1rem}em{font-style:normal}::selection{background:var(--pink);color:var(--ink)}:focus-visible{outline:3px solid var(--violet-dark);outline-offset:5px}[id]{scroll-margin-top:calc(var(--header) + 20px)}.shell{width:var(--shell);margin-inline:auto}#main-content:focus{outline:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--lime);color:var(--ink);padding:.8rem;position:fixed;top:.5rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9rem;font-size:.75rem;font-weight:700}.button{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--ink);min-height:52px;color:var(--paper);transition:transform var(--motion-fast) var(--ease-playful), background var(--motion-change) var(--ease);justify-content:center;align-items:center;gap:.8rem;padding:.9rem 1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.button svg{flex-shrink:0;width:20px;height:20px}.button:focus-visible{background:var(--violet-dark);transform:translateY(-2px)rotate(-1deg)}.button svg,.header-contact svg{transition:transform var(--motion-change) var(--ease-playful)}.button:focus-visible svg,.header-contact:focus-visible svg{transform:translate(2px,-2px)}.text-link{align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.text-link svg{width:18px}.site-header{z-index:20;background:var(--paper);position:sticky;top:0}.header-inner{min-height:var(--header);align-items:center;gap:1.5rem;display:flex}.header-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:1.5rem;margin-left:auto;display:flex}.brand-lockup{align-items:center;gap:.55rem;display:inline-flex}.brand-lockup svg{width:32px;height:32px}.brand-wordmark{font:800 1.1rem/1 var(--font-display);letter-spacing:-.04em}.brand-domain{color:var(--violet-dark)}.logo-link{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-header nav{gap:1.5rem;display:flex}.site-header nav a{white-space:nowrap;align-items:center;min-height:44px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex;position:relative}.site-header nav a:after{content:"";background:var(--violet-dark);transform-origin:0;height:2px;transition:transform var(--motion-change) var(--ease-playful);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.site-header nav a:focus-visible:after{transform:scaleX(1)}.header-contact{border-radius:var(--radius-control);background:var(--lime);min-height:44px;transition:transform var(--motion-fast) var(--ease-playful), background var(--motion-change) var(--ease);align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.header-contact:focus-visible{background:var(--pink);transform:rotate(-2deg)}.header-contact svg{width:18px}.hero{background:var(--orange);padding:clamp(2.5rem,5vw,4.5rem) 0 1.5rem}.hero-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:3rem;display:grid}.hero h1{font-size:var(--type-display);max-width:11ch;line-height:.98}.hero h1 em{isolation:isolate;width:fit-content;max-width:100%;color:var(--violet-dark);display:block;position:relative}.headline-swipe{z-index:-1;fill:none;width:100%;height:.2em;stroke:var(--pink);stroke-width:12px;stroke-linecap:round;pointer-events:none;position:absolute;bottom:-.06em;left:0}[data-motion-group=headline][data-motion-seen=true] .headline-swipe{stroke-dasharray:1;animation:doodle-draw .9s var(--ease) .12s both paused}.hero-lead{max-width:41ch;margin:1.6rem 0;font-size:1.05rem}.hero-art{aspect-ratio:1;width:100%;color:var(--ink);appearance:none;touch-action:pan-y;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.hero-art:disabled{cursor:default}.hero-art:focus-visible{outline-offset:8px;border-radius:50%;outline-style:dashed}.hero-follow,.hero-pose{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-follow{transform:translate3d(var(--hero-pointer-x,0px),var(--hero-pointer-y,0px),0);transition:transform .2s var(--ease-playful);pointer-events:none}.sunburst{width:88%;height:88%;fill:var(--violet);animation:wobble 3.8s var(--ease) infinite paused;position:absolute}.art-type{font:800 clamp(3rem, 5vw, 5.5rem)/.9 var(--font-display);letter-spacing:-.04em;position:relative;transform:rotate(-9deg)}.art-type i{color:var(--violet-dark);font-style:normal}.art-sticker{background:var(--lime);font:700 1rem/1.2 var(--font-display);animation:float 3.8s var(--ease) .35s infinite paused;border-radius:50%;padding:.8rem 1.1rem;position:absolute;bottom:7%;right:0;transform:rotate(8deg)}.art-squiggle{fill:none;width:45%;stroke:var(--ink);stroke-width:5px;stroke-linecap:round;position:absolute;top:0;left:-7%}.hero-art[data-motion-seen=true] .art-squiggle{animation:doodle-draw var(--motion-draw) var(--ease) both paused;stroke-dasharray:1}[data-motion-group][data-motion-seen=true] .step-number{animation:number-pop var(--motion-pop) var(--ease-playful) both paused}.start-steps li:nth-child(2) .step-number{animation-delay:.12s}.start-steps li:nth-child(3) .step-number{animation-delay:.24s}.tap-sparks{pointer-events:none;position:absolute;inset:0;overflow:clip}.tap-sparks svg{left:var(--tap-x,50%);top:var(--tap-y,50%);width:18px;height:18px;fill:var(--lime);opacity:0;margin:-9px;position:absolute}.tap-sparks svg:nth-child(2n){fill:var(--pink)}.hero-next{justify-content:center;align-items:center;gap:.5rem;width:fit-content;min-height:44px;margin:2rem auto 0;font-size:.8rem;display:flex}.hero-next svg{width:16px}.services-section{padding-block:var(--space-section)}.section-intro{max-width:48rem;margin-bottom:2rem}.section-intro>p:last-child:not(.eyebrow){max-width:52ch;color:var(--muted);margin-top:.9rem}.service-list{border-top:1px solid var(--border)}.service{border-bottom:1px solid var(--border)}summary{list-style:none}summary::-webkit-details-marker{display:none}.service summary{isolation:isolate;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) 24px;align-items:center;gap:1rem;min-height:72px;padding:1.1rem .2rem;display:grid;position:relative}.service summary:before{content:"";z-index:-1;background:var(--pink);opacity:.35;transform-origin:0;transition:transform .28s var(--ease);pointer-events:none;position:absolute;inset:0;transform:scaleX(0)}.service:nth-child(2n) summary:before{background:var(--lime)}.service summary h3{transition:transform var(--motion-change) var(--ease-playful)}.service summary:focus-visible:before{transform:scaleX(1)}.service summary:hover h3,.service[open] h3{color:var(--violet-dark)}.service-teaser{color:var(--muted);font-size:.9rem}.service summary>svg,.faq-list summary>svg{width:22px;height:22px;transition:transform var(--motion-change) var(--ease-playful);flex-shrink:0}details[open]>summary>svg{transform:rotate(45deg)}.service-details{grid-template-columns:1fr 1fr;gap:3rem;padding:.5rem 0 1.8rem;font-size:.9rem;display:grid}@supports (interpolate-size:allow-keywords) and selector(details::details-content){.service,.faq-list details{interpolate-size:allow-keywords}.service::details-content{block-size:0;transition:block-size var(--motion-change) var(--ease), content-visibility var(--motion-change) allow-discrete;overflow:clip}.faq-list details::details-content{block-size:0;transition:block-size var(--motion-change) var(--ease), content-visibility var(--motion-change) allow-discrete;overflow:clip}.service[open]::details-content{block-size:auto}.faq-list details[open]::details-content{block-size:auto}}.service-details h4{margin-top:1rem}.service-details ul{margin:.7rem 0;padding-left:1.2rem}.service-details li+li{margin-top:.5rem}.service-details p{margin-top:.8rem}.start-section{background:var(--pink);padding-block:var(--space-section)}.start-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2rem 0 3rem;padding:0;list-style:none;display:grid}.start-steps li{position:relative}.step-connector{fill:none;width:94px;height:30px;stroke:var(--violet-dark);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;top:10px;right:0}[data-motion-group=step][data-motion-seen=true] .step-connector{stroke-dasharray:1;animation:doodle-draw .65s var(--ease) .25s both paused}.start-steps li>span{font:800 2.8rem/1 var(--font-display);color:var(--violet-dark);margin-bottom:1rem;display:inline-block}.start-steps p{max-width:28ch;margin-top:.7rem;font-size:.95rem}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--ink)}.faq-list summary{justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding-block:.8rem;font-weight:600;display:flex}.faq-list p{max-width:65ch;padding-bottom:1.2rem;font-size:.95rem}.contact-section{background:var(--lime);padding-block:var(--space-section)}.contact-section h2{font-size:var(--type-display);margin-bottom:2rem;line-height:1}.contact-section h2 em{color:var(--violet-dark)}.contact-display{width:fit-content;max-width:100%;position:relative}.contact-burst{pointer-events:none;width:110px;height:110px;position:absolute;top:.25em;left:calc(100% + 20px)}.contact-burst .burst-star{fill:var(--violet-dark)}.contact-burst circle{fill:var(--orange)}.contact-burst [data-decorative]{transform-box:fill-box;transform-origin:50%}[data-motion-group=contact][data-motion-seen=true] .contact-burst [data-decorative]{animation:spark-pop .82s var(--ease-playful) both paused}.contact-burst [data-decorative]:nth-child(2){animation-delay:.1s}.contact-burst [data-decorative]:nth-child(3){animation-delay:.18s}.contact-burst [data-decorative]:nth-child(4){animation-delay:.24s}.contact-section .button svg{transition-timing-function:var(--ease-playful)}.contact-note{margin-top:1rem;font-size:.8rem}.site-footer{padding:1.2rem 0;font-size:.8rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 2rem;display:flex}.footer-inner nav{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.footer-inner a{align-items:center;min-height:44px;display:inline-flex}.motion-toggle{min-height:44px;color:var(--ink);text-underline-offset:.25em;background:0 0;border:0;padding:.5rem 0;font-size:.8rem;text-decoration:underline}.page-hero{padding-block:2.5rem}.page-hero h1{max-width:22ch;margin-block:1.3rem 1rem}.page-hero>p{max-width:60ch}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:.4rem}.reading-shell{width:min(760px, var(--shell));margin-inline:auto}.reading-shell section{margin-bottom:2rem}.reading-shell h2{font-size:var(--type-subsection);margin:1.5rem 0 .8rem}.reading-shell p+p{margin-top:1rem}.reading-shell ul{padding-left:1.2rem}.article-index{padding-bottom:3rem}.article-index article{border-bottom:1px solid var(--border);padding:1.5rem 0}.article-index h2{font-size:var(--type-subsection)}.article-index h2 a{text-decoration:none}.article-index h2 a:hover{text-decoration:underline}.article-index p{max-width:65ch;color:var(--muted);margin-top:.8rem}.article-index .eyebrow{margin:0 0 .6rem;font-size:.7rem}.topic-filter{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.topic-filter select{border:1px solid var(--border);background:var(--paper);max-width:100%;min-height:44px;color:var(--ink);border-radius:8px;padding:.5rem}.post-header{background:#eee4ff;padding-block:2rem}.post-header h1{max-width:23ch;margin:1rem 0}.post-header>.shell>p{max-width:60ch}.post-header__byline{margin-top:1rem;font-size:.8rem}.post-layout{grid-template-columns:220px minmax(0,1fr);gap:3rem;padding-block:2.5rem;display:grid}.post-layout>*,.post-content{min-width:0}.post-layout aside{top:calc(var(--header) + 1rem);align-self:start;position:sticky}.post-toc__desktop ol,.post-toc__mobile ol{padding-left:1.2rem}.post-toc__desktop li,.post-toc__mobile li{margin-bottom:.7rem;font-size:.85rem}.post-toc__mobile{display:none}.post-toc__mobile summary{padding-block:.75rem;font-weight:700}.post-content{max-width:720px}.post-content section{margin-bottom:2rem}.post-content h2{font-size:var(--type-subsection);margin:.5rem 0 1rem}.post-content p{color:var(--muted)}.post-content p+p{margin-top:1rem}.post-content li{margin-bottom:.6rem}.post-summary,.post-sources{border-bottom:1px solid var(--border);padding:0 0 1rem}.post-sources a svg{width:14px;height:14px;margin-left:.4rem;display:inline}.post-sources li>p,.section-references{margin-top:.4rem;font-size:.85rem}.editorial-basis{font-weight:600}.article-illustration{border-block:1px solid var(--border);margin:0 0 2rem;padding-block:1.2rem}.illustration-heading{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;font-size:.8rem;display:flex}.synthetic-tag{color:var(--violet-dark);font-weight:700}.article-illustration figcaption{color:var(--muted);margin-top:.8rem;font-size:.8rem}.diagram-flow{padding-left:1.3rem;font-size:.9rem}.diagram-flow li{margin-bottom:.7rem}.diagram-flow small{color:var(--muted);font-size:.85rem;display:block}.diagram-flow ul{padding-left:1.2rem}.diagram-matrix{grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;padding:0;list-style:none;display:grid}.diagram-matrix li{border-bottom:1px solid var(--border);padding-block:.5rem;font-size:.9rem}.diagram-formula{font-size:1.1rem;font-weight:700}.diagram-note{margin-top:.5rem;font-size:.85rem}.table-scroll{overscroll-behavior-inline:contain;max-width:100%;margin-block:1.5rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:460px;font-size:.9rem}th,td{text-align:left;vertical-align:top;border:1px solid var(--border);padding:.8rem}th{background:#eee4ff}caption{text-align:left;margin-bottom:.8rem;font-weight:700}.related-articles{padding-block:1rem 2rem}.related-articles h2{font-size:var(--type-subsection);margin-bottom:1rem}.related-articles ul{padding-left:1.2rem}.related-articles li{margin-bottom:.7rem}.article-contact{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem 1.5rem;padding-block:1.5rem;display:flex}.not-found{background:var(--pink);padding-block:3rem}.not-found h1{margin-bottom:1rem}.not-found .button{margin-top:1.5rem}.route-loading,.error-state{min-height:60svh;padding:3rem 1.5rem}.error-state>div{max-width:640px;margin:auto}.error-state .button-row{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}@keyframes wobble{0%,55%,to{transform:rotate(-4deg)scale(1)}15%{transform:rotate(8deg)scale(1.04)}28%{transform:rotate(-7deg)scale(.97)}40%{transform:rotate(3deg)scale(1.02)}}@keyframes float{0%,55%,to{transform:translateY(0)rotate(8deg)scale(1)}18%{transform:translateY(-18px)rotate(-4deg)scale(1.08)}30%{transform:translateY(3px)rotate(12deg)scale(.97)}42%{transform:translateY(-7px)rotate(4deg)scale(1.03)}}@keyframes doodle-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes number-pop{0%{transform:none}35%{transform:translateY(-12px)rotate(-6deg)scale(1.14)}60%{transform:translateY(3px)rotate(4deg)scale(.96)}80%{transform:translateY(-3px)scale(1.04)}to{transform:none}}@keyframes spark-pop{0%{transform:scale(.45)rotate(-20deg)}55%{transform:scale(1.15)rotate(8deg)}80%{transform:scale(.92)rotate(-4deg)}to{transform:none}}html[data-motion=active][data-background=false] [data-motion-group][data-motion-visible=true] [data-decorative]{animation-play-state:running}html[data-motion=paused] [data-decorative],html[data-background=true] [data-decorative],[data-motion-group][data-motion-visible=false] [data-decorative]{animation-play-state:paused}html[data-motion=paused]{scroll-behavior:auto}html[data-motion=paused] .button,html[data-motion=paused] .header-contact,html[data-motion=paused] .button svg,html[data-motion=paused] .header-contact svg{transition-duration:0s;transform:none}html[data-motion=paused] summary>svg,html[data-motion=paused] .site-header nav a:after{transition-duration:0s}html[data-motion=paused] .service::details-content{transition-duration:0s}html[data-motion=paused] .faq-list details::details-content{transition-duration:0s}html[data-motion=paused] .hero-follow{transition-duration:0s;transform:none}html[data-motion=paused] .service summary:before,html[data-motion=paused] .service summary h3{transition-duration:0s}@media (hover:hover) and (pointer:fine){.button:hover{background:var(--violet-dark);transform:translateY(-3px)rotate(-1deg)}.contact-section .button:hover{transform:translateY(-4px)rotate(-2deg)}.header-contact:hover{background:var(--pink);transform:rotate(-2deg)}.button:hover svg,.header-contact:hover svg{transform:translate(2px,-2px)}.site-header nav a:hover:after,.service summary:hover:before{transform:scaleX(1)}.service summary:hover h3{transform:translate(5px)}.service:not([open]) summary:is(:hover,:focus-visible)>svg{transform:rotate(-10deg)scale(1.15)}.service[open] summary:is(:hover,:focus-visible)>svg{transform:rotate(45deg)scale(1.1)}}.button:active{transform:scale(.96)rotate(-1deg)}.header-contact:active{transform:scale(.95)}.contact-section .button:active{transform:scale(.94)rotate(-2deg)}.service summary:active h3{transform:translate(4px)}@media (width<=900px){.post-layout{grid-template-columns:1fr;gap:1.5rem}.post-layout aside{position:static}.post-toc__desktop{display:none}.post-toc__mobile{border-block:1px solid var(--border);display:block}.hero-layout{gap:1.5rem}}@media (width<=700px){:root{--header:108px}.header-inner{flex-wrap:wrap;gap:0 .5rem;padding-block:.5rem}.header-actions{gap:1.25rem;width:100%}.brand-wordmark{font-size:1rem}.site-header nav{gap:1.25rem}}@media (width<=600px){:root{--shell:calc(100% - 32px)}.hero-layout{grid-template-columns:1fr;gap:2rem}.hero h1{max-width:12ch}.hero-art{justify-self:center;max-width:270px}.art-type{font-size:3.8rem}.hero-lead{font-size:1rem}.service summary{grid-template-columns:1fr 24px;gap:.35rem 1rem;padding-block:.9rem}.service summary h3{grid-column:1}.service-teaser{grid-column:1;font-size:.85rem}.service summary>svg{grid-area:1/2/3}.service-details{grid-template-columns:1fr;gap:0}.start-steps{grid-template-columns:1fr;gap:1.8rem}.start-steps li{grid-template-columns:48px 1fr;gap:.4rem .8rem;display:grid}.start-steps li>span{grid-row:1/3;margin:0;font-size:2rem}.start-steps p{max-width:none;margin:0}.step-connector{width:28px;height:24px;inset:auto auto -24px 10px;transform:rotate(90deg)}.footer-inner{text-align:center;justify-content:center}.footer-inner nav{justify-content:center}.diagram-matrix{grid-template-columns:1fr}.contact-section .button{padding-inline:1rem;font-size:.9rem}.contact-display{width:100%}.contact-burst{width:54px;height:54px;top:0;left:auto;right:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-decorative]{animation:none!important}.button,.header-contact,.button svg,.header-contact svg,.hero-follow{transform:none!important}*,:before,:after{transition-duration:0s!important}.service::details-content{transition-duration:0s!important}.faq-list details::details-content{transition-duration:0s!important}}
