@font-face{font-family:Lora;src:url('fonts/lora-latin.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}

:root{--ink:#1F2430;--pearl:#F4F1EA;--gold:#C9A66B;--lilac:#B8A9C9;--coral:#E8704A;--sage:#7A9E7E;--slate:#5B7C99;--iridescent:linear-gradient(135deg,#C9A66B,#F4F1EA,#B8A9C9);--line:rgb(31 36 48 / 15%);--muted:rgb(31 36 48 / 75%)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--pearl);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}
button,a{-webkit-tap-highlight-color:rgb(184 169 201 / 30%)}
::selection{background:var(--lilac);color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:5px;border-radius:3px}
main:focus{outline:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:400;line-height:1.2}
h2{font-size:clamp(2rem,3.8vw,2.875rem);letter-spacing:-.035em}
h3{font-size:1.5rem;letter-spacing:-.025em}
.container{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.section{padding-block:80px}
.eyebrow{font-family:Montserrat,Arial,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.14em;line-height:1.7;text-transform:uppercase}
.icon{display:inline-block;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:10px 20px;background:var(--ink);color:var(--pearl);border-radius:6px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);outline-color:var(--pearl)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:23px;border-bottom:1px solid var(--line)}
.brand{display:block;width:181px;flex:none}
.header-nav{display:flex;gap:36px;align-items:center;font-size:.875rem}
.header-nav a{text-decoration:none;padding-block:10px}
.header-nav a:hover{text-decoration:underline}
.hero{position:relative;overflow:hidden;isolation:isolate;padding-block:75px 73px}
.hero-content{position:relative;text-align:center}
.hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px}
.little-glint{font-size:1.5rem;line-height:1;color:var(--ink)}
.hero h1{font-size:clamp(3.25rem,7.5vw,6.5rem);line-height:1.06;letter-spacing:-.057em}
.title-second-line{position:relative}
.title-second-line::after{content:'';position:absolute;bottom:.035em;left:0;width:100%;height:3px;background:var(--iridescent);z-index:-1}
.hero-description{max-width:610px;margin:27px auto 30px;font-size:1.0625rem;line-height:1.85;color:var(--muted);text-wrap:pretty}
.hero-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:752px;margin-inline:auto}
.button{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px;padding:17px 22px;border:1px solid rgb(31 36 48 / 35%);border-radius:6px;font-family:Montserrat,Arial,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.06em;line-height:1.5;text-decoration:none;text-transform:uppercase;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.button::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--iridescent);opacity:0;transform:translateX(-40%);transition:opacity .3s,transform .6s}
.button:hover::before{opacity:.45;transform:translateX(0)}
.button:hover{border-color:var(--ink);box-shadow:0 4px 14px rgb(31 36 48 / 5%)}
.button-primary{background:var(--ink);color:var(--pearl);border-color:var(--ink)}
.button-primary:hover::before{opacity:.08}
.hero-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;font-size:.8125rem;color:var(--muted)}
.hero-note .icon{width:16px;height:16px}
.hero-sheets{position:absolute;inset:0;z-index:-1;pointer-events:none}
.sheet{position:absolute;border:1px solid rgb(31 36 48 / 12%);border-radius:26px;width:224px;height:282px;opacity:.12}
.sheet-gold{top:90px;left:calc(50% - 660px);background:var(--gold);transform:rotate(-15deg)}
.sheet-lilac{top:171px;left:calc(50% - 595px);background:var(--lilac);transform:rotate(8deg)}
.sheet-pearl{top:34px;right:calc(50% - 638px);background:var(--gold);transform:rotate(13deg)}
.sheet-small{top:142px;right:calc(50% - 672px);width:211px;height:272px;background:var(--lilac);transform:rotate(-5deg)}
.make-section{border-top:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.section-heading .eyebrow{margin-bottom:9px}
.section-heading>p{font-size:.9375rem;color:var(--muted);line-height:1.75;text-align:right}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.product-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column}
.product-coral{--product-color:var(--coral)}
.product-slate{--product-color:var(--slate)}
.product-sage{--product-color:var(--sage)}
.product-art{position:relative;display:grid;place-items:center;background:color-mix(in srgb,var(--product-color) 15%,var(--pearl));height:262px;overflow:hidden;border-bottom:1px solid var(--line)}
.sample-sheet{position:relative;width:190px;min-height:225px;display:flex;flex-direction:column;background:var(--pearl);color:var(--ink);padding:20px 19px 16px;box-shadow:0 7px 16px rgb(31 36 48 / 7%);border:1px solid rgb(31 36 48 / 9%);transform:rotate(-7deg)}
.sample-kicker,.sample-footer{font-size:8px;line-height:1.6;text-align:center;letter-spacing:.03em}
.sample-kicker{font-family:Montserrat,Arial,sans-serif;font-weight:600;text-transform:uppercase;font-size:6px;letter-spacing:.12em}
.sample-title{font-family:Lora,Georgia,serif;font-size:27px;line-height:1.15;letter-spacing:-.045em;text-align:center;margin-top:12px}
.sample-footer{margin-top:auto;padding-top:13px;font-size:7px}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}
.game-grid span{display:grid;place-items:center;height:24px;font-family:Lora,serif;font-size:16px;color:var(--product-color);border:1px solid color-mix(in srgb,var(--product-color) 45%,var(--pearl));border-radius:3px}
.planner-sample{transform:rotate(5deg)}
.planner-sample .sample-title{text-align:left;margin-top:17px}
.planner-sample .sample-kicker{text-align:left}
.planner-lines{display:grid;gap:13px;margin-top:17px}
.planner-lines span{height:1px;background:rgb(91 124 153 / 25%);position:relative;margin-left:13px}
.planner-lines span::before{content:'';position:absolute;left:-13px;top:-3px;width:6px;height:6px;border:1px solid var(--slate);border-radius:1px}
.learning-sample{transform:rotate(-5deg)}
.learning-shapes{display:flex;gap:8px;justify-content:center;margin-top:18px}
.learning-shapes span{width:38px;height:38px;display:grid;place-items:center;background:rgb(122 158 126 / 14%);border:1px solid rgb(122 158 126 / 30%);border-radius:50%;font-family:Lora,serif;font-size:12px}
.art-mark{position:absolute;bottom:12px;right:15px;font-family:Montserrat,Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.08em;color:var(--muted)}
.product-copy{position:relative;padding:26px 25px 27px;display:flex;flex-direction:column;align-items:flex-start;flex:1;border-top:3px solid var(--product-color);margin-top:-1px}
.product-icon{width:24px;height:24px;margin-bottom:16px;stroke:var(--ink)}
.product-icon use{pointer-events:none}
.product-copy h3{margin-bottom:12px;font-size:1.4375rem}
.product-copy p{font-size:.9375rem;line-height:1.75;margin-bottom:22px;color:var(--muted)}
.text-link{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;margin-top:auto;padding-block:3px;border-bottom:1px solid var(--ink);text-decoration:none}
.text-link:hover{border-bottom-width:2px;padding-bottom:2px}
.meet-section{padding-top:34px;padding-bottom:88px}
.meet-layout{display:grid;grid-template-columns:390px 1fr;align-items:center;gap:clamp(40px,7.5vw,104px)}
.mica-portrait{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgb(184 169 201 / 10%)}
.portrait-placeholder{position:relative;aspect-ratio:4/5}
.portrait-placeholder img{width:100%;height:100%;object-fit:cover}
.placeholder-note{position:absolute;bottom:17px;left:0;width:100%;font-size:.75rem;text-align:center;color:var(--muted)}
.mica-portrait>figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;background:var(--pearl);border-top:1px solid var(--line);font-size:.875rem}
.mica-portrait>figcaption .icon{width:18px;height:18px}
.meet-copy>.eyebrow{margin-bottom:12px}
.meet-copy h2{margin-bottom:25px}
.meet-copy .meet-intro{font-family:Lora,Georgia,serif;font-size:1.3125rem;line-height:1.65;margin-bottom:16px;letter-spacing:-.01em;color:var(--ink)}
.meet-copy>p:not(.eyebrow):not(.meet-intro){max-width:540px;color:var(--muted);margin-top:14px;line-height:1.85}
.mikita-note{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:29px}
.mikita-note img{width:94px;flex:none}
.mikita-note .eyebrow{font-size:.6875rem;letter-spacing:.12em}
.mikita-note p{font-size:.875rem;line-height:1.65;margin-top:5px;max-width:265px}
.small-note{font-size:.75rem;color:var(--muted)}
.work-section{background:rgb(201 166 107 / 7%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-section .section{padding-block:62px 66px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:37px}
.work-item{position:relative;padding-left:48px}
.work-icon{position:absolute;left:0;top:1px;display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:rgb(201 166 107 / 16%)}
.work-icon .icon{width:21px;height:21px}
.work-item h3{font-size:1.1875rem;margin-bottom:10px}
.work-item p{font-size:.875rem;color:var(--muted);line-height:1.8}
.inline-link:hover{text-decoration-thickness:2px}
.site-footer{padding-block:37px 27px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:27px}
.footer-brand{width:146px}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 30px;font-size:.875rem}
.footer-links a{text-decoration:none;padding-block:10px}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;line-height:1.8;color:var(--muted)}
.footer-bottom p:last-child{flex:none}
.footer-bottom span{margin-inline:3px}

/* Every section is visible without JavaScript. Only offscreen sections animate. */
.reveal.is-pending{opacity:0;transform:translateY(12px)}
.reveal{transition:opacity .6s ease,transform .6s ease}

/* The same type, palette and mascot also belong on the missing-page route. */
.error-body{min-height:100svh;display:flex;flex-direction:column}
.error-body main{flex:1;display:grid;place-items:center;padding:50px 24px 70px;text-align:center}
.error-content{width:min(100%,610px);min-width:0;overflow-wrap:anywhere}
.error-mascot{width:148px;margin:0 auto 20px}
.error-content .eyebrow{margin-bottom:18px}
.error-content h1{font-size:clamp(2.375rem,6vw,3.75rem);letter-spacing:-.04em;line-height:1.2}
.error-content p:not(.eyebrow){margin-top:16px;color:var(--muted)}
.error-content .button{max-width:220px;margin:28px auto 0}
.error-footer{border-top:1px solid var(--line);text-align:center;font-size:.75rem;color:var(--muted);padding-block:24px}

@media(min-width:1500px){.hero{padding-block:86px 84px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero{padding-block:62px}.product-grid{gap:16px}.product-copy{padding-inline:21px}.product-copy h3{font-size:1.25rem}.meet-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:45px}.work-grid{gap:28px}.work-item{padding-left:42px}.footer-bottom{flex-direction:column;gap:6px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.site-header{padding-block:18px}.brand{width:153px}.header-nav{gap:20px;font-size:.8125rem}.hero{padding-block:48px 49px}.hero h1{font-size:clamp(3.25rem,9.5vw,4.5rem)}.hero-eyebrow{font-size:.6875rem;letter-spacing:.1em;margin-bottom:23px}.hero-description{font-size:1rem;max-width:500px;margin-block:24px 27px}.button{padding-inline:12px;font-size:.6875rem;gap:8px}.hero-links{gap:10px}.hero-note{font-size:.75rem}.section{padding-block:55px}.section-heading{align-items:flex-start;gap:18px}.section-heading>p{max-width:210px;font-size:.875rem}.product-grid{gap:13px}.product-art{height:208px}.sample-sheet{width:147px;min-height:183px;padding:17px 13px 12px}.sample-title{font-size:22px}.sample-kicker{font-size:5px}.sample-footer{font-size:6px}.game-grid{gap:4px;margin-top:12px}.game-grid span{height:18px;font-size:13px}.learning-shapes{gap:5px;margin-top:15px}.learning-shapes span{width:30px;height:30px;font-size:10px}.planner-lines{gap:10px;margin-top:12px}.product-copy{padding:20px 16px}.product-copy h3{font-size:1.125rem;line-height:1.4}.product-copy p{font-size:.875rem}.text-link{font-size:.6875rem;letter-spacing:.04em}.meet-section{padding-top:10px}.meet-layout{gap:30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.meet-copy .meet-intro{font-size:1.125rem}.meet-copy>p:not(.eyebrow):not(.meet-intro){font-size:.9375rem}.meet-copy>.eyebrow{font-size:.6875rem}.mikita-note{gap:12px}.mikita-note img{width:68px}.mikita-note .eyebrow{font-size:.625rem}.mikita-note p{font-size:.8125rem}.work-grid{gap:20px}.work-item{padding-left:0}.work-icon{position:static;margin-bottom:15px}.work-item h3{font-size:1.125rem}.work-section .section{padding-block:48px}.footer-links{gap:20px}.footer-brand{width:135px}}
@media(max-width:600px){.header-nav a:first-child{display:none}.header-nav{font-size:.875rem}.hero{padding-block:37px 42px}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-eyebrow{gap:8px;font-size:.625rem;letter-spacing:.12em}.hero-links{grid-template-columns:1fr;max-width:380px;gap:10px}.button{font-size:.8125rem;min-height:57px;gap:12px}.hero-description{max-width:380px;font-size:.9375rem;line-height:1.85}.hero-note{font-size:.6875rem;gap:6px;margin-top:20px}.hero-note .icon{width:14px;height:14px}.sheet-gold{left:-160px;top:90px}.sheet-lilac{left:-185px;top:180px}.sheet-pearl{right:-182px;top:43px}.sheet-small{right:-178px;top:140px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{text-align:left;max-width:none;margin-top:16px}.section-heading>p br{display:none}.product-grid{grid-template-columns:1fr;gap:22px}.product-art{height:260px}.sample-sheet{width:190px;min-height:225px;padding:20px 19px 16px}.sample-title{font-size:27px}.sample-kicker{font-size:6px}.sample-footer{font-size:7px}.game-grid{gap:6px;margin-top:16px}.game-grid span{height:24px;font-size:16px}.learning-shapes{gap:8px;margin-top:18px}.learning-shapes span{width:38px;height:38px;font-size:12px}.planner-lines{gap:13px;margin-top:17px}.product-copy{padding:23px 25px 26px}.product-copy h3{font-size:1.5rem}.product-copy p{font-size:.9375rem}.text-link{font-size:.75rem}.meet-section{padding-top:10px;padding-bottom:54px}.meet-layout{grid-template-columns:1fr;gap:33px}.mica-portrait{max-width:380px;width:100%;margin-inline:auto}.meet-copy .meet-intro{font-size:1.3125rem}.meet-copy>.eyebrow{font-size:.6875rem}.meet-copy h2{margin-bottom:20px}.meet-copy>p:not(.eyebrow):not(.meet-intro){font-size:1rem}.mikita-note img{width:87px}.mikita-note{gap:17px}.mikita-note .eyebrow{font-size:.6875rem}.mikita-note p{font-size:.875rem}.work-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.work-item{padding-left:49px}.work-icon{position:absolute;margin:0}.work-item h3{font-size:1.25rem}.work-item p{font-size:.9375rem}.footer-top{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:19px}.footer-brand{width:153px}.footer-links{gap:27px;font-size:.875rem}.footer-bottom{font-size:.75rem;gap:12px}.footer-bottom p:first-child{max-width:300px}.footer-bottom p:last-child{flex:auto}.site-footer{padding-top:29px}.error-body .header-nav a:first-child{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal.is-pending{opacity:1;transform:none}}
