@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@400;500;600;700;800;900&display=swap');
:root{--yellow:#fccf33;--ink:#171717;--white:#fff;--muted:#636363;--line:#dedede;--font:'Alexandria',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #845c00;outline-offset:6px}img{display:block;max-width:100%}::selection{background:var(--yellow);color:var(--ink)}.wrap{width:min(1380px,90%);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:-100px;left:20px;background:var(--yellow);padding:15px}.skip:focus{top:20px}.header{height:124px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.brand{width:148px;height:92px;display:block;position:relative;overflow:hidden;flex-shrink:0}.brand img{position:absolute;width:168px;max-width:none;height:168px;left:-10px;top:-38px}.header nav{display:flex;gap:34px;margin-left:auto;margin-right:36px;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover,.text-link:hover,.footer a:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:40px;padding:21px 29px;font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .2s;text-align:center;min-height:48px}.button:hover{background:var(--yellow);color:var(--ink);transform:translateY(-2px)}.button-small{padding:15px 24px}.hero{padding-top:62px;display:grid;grid-template-columns:1.15fr 1fr;column-gap:5%;align-items:center}.eyebrow{font-size:12px;letter-spacing:.09em;font-weight:500;display:flex;align-items:center;gap:10px;margin:0 0 26px}.mini-cross{font-size:28px;line-height:1}.hero h1{font-size:clamp(58px,6.5vw,102px);font-weight:800;line-height:1.05;letter-spacing:-.065em;margin:0 0 35px}.idea-word{position:relative;display:inline-block;z-index:0}.idea-word svg{position:absolute;left:-4%;bottom:-18px;width:108%;height:35px;z-index:-1;fill:none;stroke:var(--yellow);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.hero-description{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 29px}.hero-actions{display:flex;gap:26px;align-items:center}.text-link{font-size:14px;font-weight:500}.hero-art{padding-top:4px}.art-caption,.art-foot{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:500;letter-spacing:.08em;line-height:1.6}.art-caption{padding:0 0 16px}.mascot-frame{position:relative;border-radius:5px 100px 5px 5px;overflow:hidden;background:var(--yellow);aspect-ratio:1.06;transform:rotate(2deg);isolation:isolate}.mascot-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1)}.mascot-frame:hover img{transform:rotate(-3deg) scale(1.035)}.hello-sticker{position:absolute;right:16px;bottom:22px;background:white;border:1px solid var(--ink);border-radius:50%;width:128px;height:94px;display:grid;place-content:center;text-align:center;font-size:15px;font-weight:600;line-height:1.25;transform:rotate(-12deg)}.art-foot{padding:24px 0 0}.round-label{border:1px solid var(--ink);border-radius:50%;width:38px;height:38px;display:grid;place-content:center;font-size:12px;transform:rotate(15deg)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin:58px 0 24px;font-size:10px;letter-spacing:.1em}.hero-bottom span:last-child{font-size:22px}.ribbon{background:var(--yellow);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden}.ribbon>div{display:flex;align-items:center;justify-content:space-around;gap:34px;padding:22px 4%;font-size:clamp(18px,2.4vw,36px);font-weight:700;letter-spacing:-.035em;white-space:nowrap}.ribbon b{font-size:32px;font-weight:400}.footer{padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
@media(min-width:1600px){.hero{padding-top:76px}.hero h1{font-size:106px}}
@media(max-width:1000px){.header nav{gap:20px;margin-right:8px}.hero{column-gap:4%;padding-top:46px}.hero h1{font-size:clamp(55px,7.2vw,78px)}.eyebrow{font-size:10px;letter-spacing:.04em}.hero-actions{gap:18px;flex-wrap:wrap}.button{padding:18px 22px}.hello-sticker{width:103px;height:80px;font-size:13px}.hero-description{font-size:15px}.ribbon>div{gap:20px}.ribbon b{font-size:23px}}
@media(max-width:700px){.wrap{width:89%}.header{height:96px;gap:12px}.brand{width:120px;height:75px}.brand img{width:140px;height:140px;top:-32px;left:-10px}.header nav{display:none}.header .button{font-size:12px;padding:12px 20px;min-height:44px}.hero{grid-template-columns:1fr;padding-top:40px;gap:40px}.hero h1{font-size:clamp(57px,12.8vw,84px);margin-bottom:32px;letter-spacing:-.06em}.eyebrow{font-size:10px;margin-bottom:22px}.hero-description{font-size:15px;line-height:1.75}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding:19px 22px}.text-link{font-size:12px}.hero-art{width:96%;margin-inline:auto;padding-top:3px}.art-caption,.art-foot{font-size:9px}.hello-sticker{width:110px;height:82px;right:12px;bottom:18px}.hero-bottom{margin:0 0 17px;font-size:9px}.hero-bottom span:nth-child(2){display:none}.ribbon>div{flex-wrap:wrap;gap:16px 22px;font-size:16px;padding:18px}.ribbon b{font-size:21px}.ribbon b:last-child{display:none}.footer{flex-wrap:wrap;font-size:11px;padding-block:26px}.footer>span:nth-child(2){order:3;width:100%}}
.section-space{padding-block:105px}.section-label{font-size:12px;letter-spacing:.09em;font-weight:500;margin:0 0 34px;display:flex;align-items:center;gap:20px}.section-label>span{font-size:24px}.studio-story{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}h2{font-size:clamp(35px,4.25vw,64px);line-height:1.13;font-weight:600;letter-spacing:-.055em;margin:0}.highlight{background:var(--yellow);box-shadow:7px 0 var(--yellow),-3px 0 var(--yellow)}.studio-description p{color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 22px}.studio-description p:first-child{font-size:19px;line-height:1.65;color:var(--ink)}.underlined{text-decoration:underline;text-underline-offset:6px}.services{background:var(--ink);color:white}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px}.section-heading .section-label{margin-bottom:25px}.section-heading>p{font-size:15px;line-height:1.8;margin:0 0 5px}.services .section-label{color:var(--yellow)}.services .section-heading>p{color:#bebebe}.service{border-top:1px solid #545454}.service:last-child{border-bottom:1px solid #545454}.service summary,.upcoming-row{display:flex;align-items:center;gap:25px;padding:34px 0;list-style:none;cursor:pointer}.service summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.service-index{font-size:12px;letter-spacing:.08em;width:48px;flex-shrink:0;color:#aaa}.service-name{font-size:clamp(28px,3.4vw,48px);font-weight:500;letter-spacing:-.05em;margin:0;line-height:1.2}.service-tag{font-size:10px;letter-spacing:.05em;margin-left:auto;color:#bebebe}.toggle{width:32px;height:32px;position:relative;flex-shrink:0;margin-left:auto}.toggle::before,.toggle::after{content:'';position:absolute;background:currentColor;inset:15px 7px auto;height:2px;transition:transform .2s}.toggle::after{transform:rotate(90deg)}details[open]>summary .toggle::after{transform:rotate(0)}.service-tag+.toggle{margin-left:14px}.service summary:hover .service-name{color:var(--yellow)}.service-body{padding:0 0 36px 73px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.service-body p{max-width:575px;margin:0;font-size:16px;line-height:1.8;color:#bebebe}.tags{display:flex;flex-wrap:wrap;gap:8px;max-width:300px;justify-content:flex-end}.tags span{font-size:12px;border:1px solid #777;border-radius:30px;padding:9px 13px;white-space:nowrap}.service-upcoming{padding-bottom:32px}.upcoming-row{cursor:default;padding-bottom:15px}.service-upcoming .service-name{color:#b7b7b7}.coming-pill{color:var(--yellow);border:1px solid #8f7934;font-size:10px;letter-spacing:.08em;border-radius:30px;padding:10px 15px;margin-left:auto;white-space:nowrap}.service-upcoming>p{font-size:14px;line-height:1.8;color:#b7b7b7;margin:0 0 0 73px;max-width:620px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.process-grid article{border-top:1px solid var(--ink);padding-top:23px}.process-number{display:inline-flex;background:var(--yellow);border-radius:50%;width:45px;height:45px;align-items:center;justify-content:center;font-size:13px;margin-bottom:27px}.process-grid h3{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:0 0 17px;line-height:1.4}.process-grid p{color:var(--muted);font-size:15px;line-height:1.85;margin:0}.studio-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:76px;padding:30px 0;display:flex;align-items:center;gap:32px}.studio-note>span{font-size:62px;color:var(--ink)}.studio-note p{font-size:20px;line-height:1.45;margin:0;letter-spacing:-.025em}.studio-note p strong{font-weight:500}.studio-note p:last-child{font-size:14px;line-height:1.8;margin-left:auto;color:var(--muted);letter-spacing:0}.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-bottom:100px}.questions h2{font-size:clamp(34px,3.3vw,48px)}.questions .section-label{margin-bottom:24px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:25px;padding:22px 0;list-style:none;cursor:pointer;font-size:15px;font-weight:500;line-height:1.6}.faq-list p{font-size:15px;line-height:1.8;color:var(--muted);margin:0;padding:0 38px 25px 0}.contact{background:var(--yellow);overflow:hidden}.contact-inner{padding-block:74px 68px}.contact .section-label{margin-bottom:40px}.contact-headline{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-headline h2{font-size:clamp(48px,7.7vw,112px);font-weight:700;letter-spacing:-.065em;line-height:1.04}.contact-headline em{font-style:normal;font-weight:400}.contact-headline img{width:23%;height:auto;border-radius:50%;transform:rotate(10deg);mix-blend-mode:multiply}.contact-bottom{display:flex;align-items:center;gap:30px;margin-top:45px;flex-wrap:wrap}.contact-bottom p{font-size:15px;line-height:1.8;margin:0 auto 0 0}.contact-button:hover{background:white;color:var(--ink)}.instagram-handle{font-size:12px}.contact-bottom .instagram-handle{display:none}
@media(max-width:1000px){.section-space{padding-block:76px}.studio-story{gap:6%}.service-tag{display:none}.service-body{flex-direction:column;align-items:flex-start;gap:25px}.tags{max-width:none;justify-content:flex-start}.process-grid{gap:25px}.process-grid h3{font-size:19px}.studio-note{gap:20px}.studio-note p{font-size:18px}.studio-note p:last-child{font-size:12px}.questions{gap:5%}}
@media(max-width:700px){.section-space{padding-block:64px}.section-label{font-size:10px;margin-bottom:24px}.studio-story{grid-template-columns:1fr;gap:29px}h2{font-size:38px}.studio-description p:first-child{font-size:18px}.studio-description p{font-size:15px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{font-size:14px;margin-top:22px}.service summary,.upcoming-row{gap:12px;padding-block:27px}.service-name{font-size:29px}.service-index{width:27px;font-size:10px}.toggle{width:28px;height:28px}.service-body{padding:0 0 27px 39px;gap:20px}.service-body p{font-size:14px}.tags{gap:6px}.tags span{font-size:11px;padding:7px 10px}.upcoming-row{flex-wrap:wrap;padding-bottom:13px}.service-upcoming .service-name{font-size:25px}.coming-pill{margin:0 0 0 39px;font-size:9px;padding:8px 12px}.service-upcoming>p{margin-left:39px;font-size:13px}.process-grid{grid-template-columns:1fr;gap:32px}.process-grid article{display:grid;grid-template-columns:45px 1fr;gap:0 20px;padding-top:25px}.process-number{grid-row:1/3;margin:0}.process-grid h3{font-size:20px;margin-bottom:12px}.process-grid p{grid-column:2;font-size:14px}.studio-note{margin-top:45px;flex-wrap:wrap;gap:20px;padding-block:25px}.studio-note>span{font-size:45px}.studio-note p{font-size:17px}.studio-note p:last-child{margin:0 0 0 65px;font-size:13px}.questions{grid-template-columns:1fr;gap:28px;padding-bottom:64px}.questions h2{font-size:36px}.faq-list summary{font-size:14px;padding-block:18px;gap:15px}.faq-list p{font-size:14px}.contact-inner{padding-block:50px}.contact .section-label{font-size:10px;margin-bottom:30px}.contact-headline{position:relative;gap:8px}.contact-headline h2{font-size:clamp(39px,8.5vw,59px);letter-spacing:-.065em}.contact-headline img{width:20%;min-width:64px}.contact-bottom{margin-top:28px;gap:25px}.contact-bottom p{font-size:13px;width:100%}.contact-button{font-size:13px}.contact-bottom .instagram-handle{display:block;font-size:11px}}
/* Readable type at every breakpoint; decorative labels remain secondary. */
.eyebrow,.art-caption,.art-foot,.hero-bottom,.section-label,.service-index,.service-tag,.coming-pill,.instagram-handle,.footer{font-size:12px}
.hero-description,.studio-description p,.section-heading>p,.service-body p,.service-upcoming>p,.process-grid p,.faq-list p,.contact-bottom p{font-size:16px}
.text-link,.button,.header .button,.hero-actions .button,.contact-button,.tags span,.faq-list summary{font-size:14px}
@media(max-width:700px){.eyebrow{font-size:11px;letter-spacing:.015em}.art-caption,.art-foot,.hero-bottom,.section-label,.service-index,.coming-pill{font-size:11px}.hero-actions{gap:16px}.hero-actions .button{padding:18px 20px}.contact-headline h2{font-size:clamp(36px,8.5vw,59px)}.studio-note p:last-child{font-size:14px}.process-grid h3{font-size:19px}.contact-bottom .instagram-handle{font-size:12px}}
.brand img{width:148px;height:148px;left:0;top:-28px}.contact-headline img{mix-blend-mode:normal}
@media(max-width:700px){.brand{height:84px}.brand img{width:130px;height:130px;left:-5px;top:-23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Refined spacing, stickers, and motion. */
:root { --ease: cubic-bezier(.22,1,.36,1); }
.wrap { width:min(1240px,88%); }
.header { height:108px; }
.hero { padding-top:42px; column-gap:6%; grid-template-columns:1.12fr 1fr; }
.hero h1 { font-size:clamp(56px,6.6vw,96px); line-height:1.08; letter-spacing:-.052em; margin-bottom:28px; }
.eyebrow { margin-bottom:22px; line-height:1.65; }
.hero-description { margin-bottom:25px; line-height:1.75; }
.hero-art { max-width:485px; width:100%; justify-self:end; }
.art-caption { padding-bottom:14px; font-size:11px; letter-spacing:.04em; }
.art-foot { padding-top:18px; font-size:11px; letter-spacing:.04em; }
.hero-bottom { margin-top:30px; margin-bottom:20px; font-size:11px; }
.mascot-frame { border-radius:6px 78px 6px 6px; transform:perspective(900px) rotate(2deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .5s var(--ease); }
.hello-sticker { right:14px; bottom:18px; box-shadow:3px 4px 0 var(--ink); border:4px solid white; outline:1px solid var(--ink); transition:transform .45s var(--ease),box-shadow .45s var(--ease); }
.mascot-frame:hover .hello-sticker { transform:rotate(-5deg) translateY(-4px); box-shadow:5px 7px 0 var(--ink); }
.ribbon>div { padding-block:18px; font-size:clamp(18px,2.2vw,32px); }
.section-space { padding-block:80px; }
.section-label { margin-bottom:25px; }
.studio-story { gap:7%; align-items:start; }
.studio-description p { margin-bottom:18px; }
.studio-description p:first-child { font-size:18px; }
.studio-description .text-link { display:inline-block; margin-top:4px; }
.studio-intro { display:flex; flex-direction:column; align-items:flex-start; gap:30px; }
.word-sticker { display:inline-flex; align-items:center; gap:14px; padding:14px 22px; color:var(--ink); background:var(--yellow); border:4px solid white; outline:1px solid var(--ink); border-radius:8px; box-shadow:4px 5px 0 var(--ink); transform:rotate(-6deg); font-size:13px; font-weight:700; letter-spacing:.035em; transition:transform .4s var(--ease); }
.word-sticker span { font-size:23px; line-height:1; }
.word-sticker:hover { transform:rotate(2deg) translateY(-3px); }
.section-heading { margin-bottom:42px; gap:32px; }
.section-heading .section-label { margin-bottom:20px; }
.service summary,.upcoming-row { padding-block:29px; }
.service-body { padding-bottom:30px; gap:35px; }
.service-upcoming { padding-bottom:28px; }
.upcoming-row { padding-bottom:13px; }
.process-grid { gap:35px; }
.process-grid article { padding-top:20px; }
.process-number { margin-bottom:21px; }
.process-grid h3 { margin-bottom:13px; }
.process-aside { display:flex; align-items:center; gap:20px; }
.process-aside p { font-size:14px; line-height:1.75; margin:0; }
.head-sticker { width:110px; height:110px; object-fit:cover; border:7px solid white; border-radius:50%; outline:1px solid var(--ink); box-shadow:3px 5px 0 var(--ink); transform:rotate(12deg); transition:transform .55s var(--ease); }
.head-sticker:hover { transform:rotate(-8deg) translateY(-4px); }
.studio-note { margin-top:48px; padding-block:26px; }
.questions { padding-bottom:76px; gap:7%; }
.contact-inner { padding-block:62px; }
.contact .section-label { margin-bottom:28px; }
.contact-headline h2 { font-size:clamp(46px,7.1vw,100px); line-height:1.1; letter-spacing:-.05em; }
.contact-headline img { border:9px solid white; outline:1px solid var(--ink); box-shadow:7px 8px 0 var(--ink); max-width:215px; margin-right:12px; transition:transform .5s var(--ease); }
.contact-headline img:hover { transform:rotate(-4deg); }
.contact-bottom { margin-top:30px; }
.button { position:relative; overflow:hidden; transition:transform .4s var(--ease),background .25s,color .25s,box-shadow .4s var(--ease); }
.button:hover { transform:translateY(-3px); box-shadow:0 5px 0 var(--ink); }
.button:active { transform:translateY(0); box-shadow:none; }
.text-link { display:inline-block; transition:transform .3s var(--ease); }
.text-link:hover { transform:translateX(3px); }
.reading-progress { position:fixed; left:0; top:0; height:3px; width:100%; background:var(--yellow); transform:scaleX(0); transform-origin:left; z-index:50; pointer-events:none; }
.idea-word svg path { stroke-dasharray:850; stroke-dashoffset:0; animation:underline-in 1.2s var(--ease) .2s both; }
.mini-cross { animation:star-in 1.2s var(--ease) both; }
@keyframes underline-in { from { stroke-dashoffset:850; } to { stroke-dashoffset:0; } }
@keyframes star-in { from { transform:rotate(-120deg) scale(.4); opacity:0; } to { transform:rotate(0) scale(1); opacity:1; } }
@media(max-width:1000px) {
  .wrap { width:90%; }
  .header nav { gap:20px; margin-right:12px; }
  .hero { column-gap:4%; padding-top:34px; }
  .hero h1 { font-size:clamp(50px,6.7vw,70px); }
  .hero-actions { gap:18px; }
  .art-caption span:last-child { max-width:105px; text-align:right; }
  .section-space { padding-block:64px; }
  .process-aside { gap:14px; }
  .process-aside p { font-size:13px; }
  .head-sticker { width:85px; height:85px; }
  .process-grid { gap:24px; }
  .questions { padding-bottom:64px; }
}
@media(max-width:700px) {
  .wrap { width:calc(100% - 40px); }
  .header { height:94px; }
  .hero { grid-template-columns:1fr; padding-top:28px; gap:28px; }
  .hero h1 { font-size:clamp(48px,11.3vw,72px); line-height:1.08; letter-spacing:-.045em; margin-bottom:26px; }
  .eyebrow { font-size:11px; margin-bottom:16px; gap:8px; }
  .mini-cross { font-size:25px; }
  .hero-description { line-height:1.65; margin-bottom:22px; max-width:38ch; }
  .desktop-break { display:none; }
  .hero-actions { align-items:center; gap:16px 18px; }
  .hero-actions .button { font-size:13px; padding:16px 19px; }
  .hero-actions .text-link { font-size:13px; }
  .hero-art { width:96%; max-width:420px; justify-self:center; padding-top:2px; }
  .art-caption { padding-bottom:12px; font-size:10px; }
  .art-caption span:last-child { max-width:none; }
  .art-foot { padding-top:16px; font-size:10px; }
  .hero-bottom { margin:0 0 16px; font-size:10px; }
  .hello-sticker { width:105px; height:76px; font-size:13px; }
  .section-space { padding-block:54px; }
  .section-label { margin-bottom:20px; }
  h2 { font-size:clamp(32px,8.5vw,43px); line-height:1.16; letter-spacing:-.04em; }
  .studio-story { gap:30px; }
  .studio-intro { gap:24px; }
  .word-sticker { font-size:11px; padding:10px 15px; gap:10px; margin-left:3px; }
  .word-sticker span { font-size:20px; }
  .section-heading { margin-bottom:30px; }
  .section-heading .section-label { margin-bottom:17px; }
  .section-heading>p { margin-top:18px; }
  .service summary,.upcoming-row { padding-block:24px; }
  .service-body { padding-bottom:26px; padding-left:39px; }
  .service-upcoming .service-name { font-size:24px; }
  .upcoming-row { padding-bottom:12px; }
  .service-upcoming { padding-bottom:25px; }
  .process-aside { justify-content:space-between; margin-top:24px; }
  .head-sticker { width:75px; height:75px; order:2; border-width:5px; margin-right:8px; }
  .process-aside p { font-size:14px; }
  .process-grid { gap:26px; }
  .process-grid article { gap:0 16px; padding-top:22px; }
  .process-number { margin:0; }
  .studio-note { margin-top:36px; padding-block:24px; gap:16px; }
  .studio-note p:last-child { margin-left:61px; }
  .questions { gap:24px; padding-bottom:52px; }
  .questions h2 { font-size:34px; }
  .faq-list summary { padding-block:18px; }
  .contact-inner { padding-block:44px; }
  .contact .section-label { margin-bottom:26px; }
  .contact-headline { align-items:flex-start; }
  .contact-headline h2 { font-size:clamp(33px,8.1vw,49px); letter-spacing:-.045em; }
  .contact-headline img { width:19%; min-width:58px; margin:3px 5px 0 0; border-width:4px; box-shadow:3px 4px 0 var(--ink); }
  .contact-bottom { gap:20px; margin-top:24px; }
  .contact-bottom p { font-size:15px; }
  .footer { gap:16px; padding-block:24px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .reading-progress { display:none; }
  .mascot-frame { transform:rotate(2deg)!important; }
}
/* The open, interactive sticker playground. */
.hero { align-items:center; }
.creative-playground { position:relative; max-width:535px; }
.sticker-board { position:relative; width:100%; aspect-ratio:1; isolation:isolate; background-image:radial-gradient(#17171730 1px,transparent 1px); background-size:22px 22px; border:0; }
.sticker-board::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,white,transparent 8%,transparent 92%,white),linear-gradient(white,transparent 8%,transparent 92%,white); z-index:-1; pointer-events:none; }
.board-noodle { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.board-noodle path { stroke:var(--yellow); stroke-width:6; stroke-linecap:round; stroke-dasharray:1200; animation:noodle-draw 1.8s var(--ease) .2s backwards; }
.board-piece { position:absolute; display:block; margin:0; padding:0; border:0; background:none; color:var(--ink); cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; transform:rotate(var(--rotation,0deg)); transition:filter .25s,box-shadow .25s; z-index:2; }
.board-piece:focus-visible { outline:3px dashed #8a6700; outline-offset:7px; }
.board-piece.is-dragging { cursor:grabbing; z-index:8; filter:drop-shadow(0 14px 12px #17171722); }
.board-mascot { left:12%; top:10%; width:76%; --rotation:-3deg; z-index:1; }
.board-mascot img { width:100%; height:auto; pointer-events:none; }
.float-content { display:block; animation:mascot-float 4s ease-in-out infinite; }
.is-dragging .float-content { animation-play-state:paused; }
.sticker-ticket { left:1%; top:4%; width:29%; background:var(--ink); color:white; border:5px solid white; outline:1px solid var(--ink); box-shadow:4px 5px 0 #171717; padding:16px 12px 9px; text-align:left; --rotation:-10deg; border-radius:5px; }
.sticker-small { display:block; font-size:8px; letter-spacing:.08em; margin-bottom:12px; }
.sticker-ticket strong { display:block; font-size:clamp(15px,1.6vw,24px); line-height:1.1; font-weight:700; letter-spacing:-.035em; }
.ticket-dots { display:block; overflow:hidden; margin-top:7px; font-size:19px; letter-spacing:2px; white-space:nowrap; line-height:.8; }
.sticker-round { left:73%; top:20%; width:24%; aspect-ratio:1; background:var(--yellow); border:5px solid white; outline:1px solid var(--ink); border-radius:50%; box-shadow:3px 5px 0 var(--ink); --rotation:12deg; display:grid; place-content:center; }
.sticker-round span { font-size:clamp(18px,2.1vw,30px); font-weight:800; line-height:1; letter-spacing:-.04em; }
.sticker-label { left:14%; top:80%; width:74%; display:flex; justify-content:center; align-items:center; gap:10px; background:white; border:2px solid var(--ink); box-shadow:4px 5px 0 var(--yellow); padding:15px 12px; font-size:12px; font-weight:700; letter-spacing:.04em; --rotation:-5deg; border-radius:4px; }
.sticker-label>span { font-size:25px; line-height:1; }
.board-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid var(--line); padding-top:15px; }
.board-toolbar p { margin:0; font-size:12px; color:var(--muted); line-height:1.6; }
.reset-board,.motion-toggle { padding:8px 0; border:0; background:none; color:var(--ink); cursor:pointer; font-size:12px; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.reset-board:hover,.motion-toggle:hover { text-decoration-thickness:2px; }
.studio { position:relative; }
.studio::before { content:''; position:absolute; inset:0 -6.82%; z-index:-1; background-image:linear-gradient(#17171706 1px,transparent 1px),linear-gradient(90deg,#17171706 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent); }
.process-grid { border:1px solid var(--line); gap:0; background-image:radial-gradient(#17171718 .7px,transparent .7px); background-size:16px 16px; }
.process-grid article { border:0; padding:28px; background:#ffffffbb; transition:background .3s var(--ease); }
.process-grid article+article { border-left:1px solid var(--line); }
.process-grid article:hover { background:#fccf331a; }
.process-grid .process-number { transition:transform .45s var(--ease); }
.process-grid article:hover .process-number { transform:rotate(-12deg) scale(1.12); }
.head-sticker { animation:sticker-bob 5s ease-in-out infinite; }
.word-sticker { animation:sticker-bob 5s ease-in-out infinite reverse; }
body[data-motion='paused'] *,body[data-motion='paused'] *::before,body[data-motion='paused'] *::after { animation-play-state:paused!important; }
body[data-motion='paused'] .reading-progress { display:none; }
@keyframes mascot-float { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-10px) rotate(2deg); } }
@keyframes sticker-bob { 0%,100% { translate:0 0; } 50% { translate:0 -5px; } }
@keyframes noodle-draw { from { stroke-dashoffset:1200; } to { stroke-dashoffset:0; } }
@media(max-width:1000px) { .sticker-small { font-size:7px; margin-bottom:8px; }.sticker-ticket { padding:12px 9px 8px; }.sticker-label { font-size:10px; padding:11px 7px; gap:6px; }.process-grid article { padding:22px; } }
@media(max-width:700px) {
  .creative-playground { width:100%; max-width:440px; }
  .sticker-board { background-size:20px 20px; }
  .art-caption { padding-bottom:8px; }
  .board-mascot { top:11%; }
  .sticker-ticket { width:28%; padding:13px 10px 9px; border-width:4px; }
  .sticker-ticket strong { font-size:18px; }
  .sticker-small { font-size:7px; }
  .sticker-round { width:23%; border-width:4px; }
  .sticker-round span { font-size:23px; }
  .sticker-label { font-size:11px; padding:12px 8px; left:9%; width:83%; }
  .board-toolbar { gap:8px; padding-top:10px; }
  .board-toolbar p,.reset-board { font-size:11px; }
  .process-grid article { padding:24px 20px; }
  .process-grid article+article { border-left:0; border-top:1px solid var(--line); }
  .footer .motion-toggle { margin-left:auto; }
  .studio::before { inset-inline:-20px; }
}
@media(prefers-reduced-motion:reduce) { .float-content,.head-sticker,.word-sticker,.board-noodle path { animation:none!important; } }
.mascot-actor { display:block; position:relative; transform-origin:50% 85%; }
/* A single original drawing: no pose swap or expression flicker. */
.board-mascot { cursor:pointer; --rotation:0deg; }
.float-content { animation:none; }
.mascot-actor { transform-origin:50% 94%; will-change:transform; }
.board-noodle path { animation:none; stroke-dasharray:none; stroke-width:5; stroke-linejoin:round; }
.fly-cursor { position:absolute; display:none; pointer-events:none; z-index:20; width:36px; height:36px; margin:-18px 0 0 -18px; filter:drop-shadow(0 3px 2px #17171730); }
.fly-cursor svg { width:100%; height:100%; overflow:visible; }
.fly-wings { transform-origin:20px 17px; animation:wing-beat .16s ease-in-out infinite alternate; }
.fly-active .fly-cursor { display:block; }
.fly-active,.fly-active .board-mascot { cursor:none; }
.shoo-bubble { display:none; }
@keyframes wing-beat { to { transform:scaleY(.65); } }
/* Sculpted tokens, with lighting and a small extruded edge. */
.sticker-round { background:radial-gradient(circle at 30% 20%,#ffe997 0%,#fccf33 55%,#e5ad10 100%); transform:perspective(650px) rotateX(13deg) rotateY(-18deg) rotateZ(12deg); box-shadow:2px 3px 0 #b98b0b,4px 6px 0 #b98b0b,7px 12px 16px #17171722,inset 0 2px 2px #fff9; transition:transform .6s var(--ease),box-shadow .6s var(--ease); }
.sticker-round:hover,.sticker-round:focus-visible { transform:perspective(650px) rotateX(4deg) rotateY(8deg) rotateZ(5deg) translateY(-4px); }
.process-number { background:radial-gradient(circle at 30% 20%,#fff0b5,#fccf33 65%,#e9b51d); transform:perspective(300px) rotateY(-18deg) rotateX(12deg); box-shadow:2px 3px 0 #c69715,4px 7px 9px #17171718,inset 0 1px 2px #fff9; border:1px solid #dba713; }
.head-sticker { box-shadow:2px 3px 0 #a5a5a5,4px 6px 0 #171717,9px 14px 17px #17171720; transform:perspective(500px) rotateY(-18deg) rotateZ(12deg); }
.head-sticker:hover { transform:perspective(500px) rotateY(12deg) rotateZ(-5deg); }
@media(max-width:700px) { .shoo-bubble { font-size:15px; padding:9px 14px; }.board-toolbar p { max-width:205px; } }
@media(prefers-reduced-motion:reduce) { .fly-cursor { display:none!important; }.fly-active,.fly-active .board-mascot { cursor:pointer; } }
