/* TC2 active styles; local archive preserves removed historical rules. */
@font-face{font-family:Roboto Condensed;src:url("fonts/roboto-condensed.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Rubik;src:url("fonts/rubik-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Caveat;src:url("fonts/caveat.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root{--paper:#f5f1e8;--ink:#222526;--yellow:#f8d548;--line:#d9d4c8;--heading:"Roboto Condensed",Arial,sans-serif;--body:Rubik,Arial,sans-serif;--hand:Caveat,"Segoe Print",cursive;--width:1280px;--gutter:32px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:24px;overflow-y:auto;scrollbar-gutter:stable;}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--body);background-image:url("paper.svg");}
button,input{font:inherit;}
button,a{-webkit-tap-highlight-color:transparent;}
button{color:inherit;}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;}
button{cursor:pointer;}
button:disabled{cursor:help;}
img{display:block;max-width:100%;height:auto;}
h1,h2,h3,p{margin-top:0;}
h1,h2,h3{font-family:var(--heading);line-height:1.02;letter-spacing:-.025em;}
h1{font-size:clamp(40px,4.45vw,64px);font-weight:800;line-height:.99;margin-bottom:24px;}
h2{font-size:clamp(32px,3.25vw,46px);font-weight:800;margin-bottom:12px;}
h3{font-size:25px;font-weight:700;margin-bottom:7px;}
p{margin-bottom:16px;}
mark{color:var(--ink);background:none;position:relative;z-index:0;white-space:nowrap;}
mark:before,.brand:after{content:"";position:absolute;inset:28% -8px -4px;background:var(--yellow);z-index:-1;clip-path:polygon(2% 6%,96% 0,100% 11%,97% 26%,100% 46%,96% 55%,99% 74%,96% 100%,1% 91%,3% 74%,0 63%,3% 45%,0 31%);transform:rotate(-1deg);}
.wrap{width:min(var(--width),calc(100% - var(--gutter)*2));margin-inline:auto;}
.section{padding-block:36px;}
.header{display:flex;align-items:center;gap:25px;padding-block:21px 18px;}
.identity{display:flex;align-items:center;gap:15px;flex-shrink:0;text-decoration:none;}
.brand{font:900 43px/.85 var(--heading);letter-spacing:-2px;position:relative;isolation:isolate;color:#101110;}
.brand:after{inset:auto 2px -10px;height:8px;transform:rotate(-6deg);}
.tagline{font-size:10px;line-height:1.35;max-width:140px;}
.header nav{display:flex;gap:24px;align-items:center;flex:1;justify-content:center;}
.header nav a{text-decoration:none;font:600 16px var(--heading);white-space:nowrap;}
.header nav a:hover{text-decoration:underline;}
.button{color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:12px 23px;background:var(--yellow);border:1px solid transparent;border-radius:7px;font:700 19px/1.2 var(--heading);text-decoration:none;box-shadow:0 1px 0 #d2b433;transition:background .15s,transform .15s;}
.button span{font:25px/.8 var(--body);}
.button:hover{background:#ffe164;transform:translateY(-1px);}
.booking{min-height:40px;font-size:17px;padding:10px 22px;}
.menu-toggle{display:none;}
.hand{font:500 27px/1.08 var(--hand);}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-height:495px;padding-top:24px;padding-bottom:24px;align-items:center;position:relative;}
.hero-copy{position:relative;z-index:2;padding-block:12px;}
.hero-actions{display:flex;align-items:center;}
.hero-visual{position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;}
.hero-photo{width:75%;height:455px;object-fit:cover;object-position:50% 45%;clip-path:polygon(7% 0,97% 3%,100% 89%,92% 100%,4% 97%,0 12%);transform:rotate(2deg);box-shadow:18px 12px 0 var(--yellow);}
.hero-visual:before{content:"";position:absolute;inset:20px 4% 30px 7%;background:var(--yellow);clip-path:polygon(12% 4%,82% 0,100% 17%,96% 88%,76% 100%,4% 92%,0 23%);transform:rotate(-5deg);opacity:.9;}
.made-it{position:absolute;left:-34px;top:12px;z-index:3;font-size:30px;transform:rotate(-9deg);width:110px;}
.made-it span{display:block;text-align:right;}
.sketch{color:#6c706b;opacity:.5;stroke-linecap:round;stroke-linejoin:round;}
.plane{position:absolute;right:-18px;top:-15px;width:155px;transform:rotate(8deg);}
.icon{width:37px;height:37px;flex-shrink:0;}
.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-block:27px 24px;border-block:1px solid var(--line);}
.benefits>div{display:flex;gap:13px;}
.benefits h2{font-size:20px;letter-spacing:0;margin:0 0 5px;line-height:1.1;}
.benefits p{font-size:12px;line-height:1.4;margin:0;color:#5e5d56;}
.card{background:#fff5;border:1px solid #d9d4c880;border-radius:6px;overflow:hidden;box-shadow:0 2px 2px #62503705;}
.workshop-photo{display:block;width:100%;padding:0;border:0;background:transparent;}
.workshop-photo:focus-visible{outline-offset:-4px;}
.workshop h3{font-size:25px;}
.workshop p{font-size:12px;line-height:1.45;margin-bottom:12px;}
.text-link{border:0;background:transparent;padding:0;font:600 17px/1.3 var(--heading);text-decoration:underline;text-underline-offset:3px;width:fit-content;}
.timo{pointer-events:none;}
.project{padding:0;text-align:left;}
.project img{width:100%;height:179px;object-fit:cover;}
.project:hover img{filter:brightness(1.05);}
.prices-section{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;padding-bottom:46px;}
.section-intro{color:#65635c;margin-bottom:20px;}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.price{padding:20px 17px 17px;min-height:156px;}
.price p:last-child{font-size:12px;margin-bottom:0;line-height:1.4;}
.amount{font:800 40px/.95 var(--heading);letter-spacing:-.04em;margin-bottom:12px;white-space:nowrap;}
.featured{background:var(--yellow);border-color:var(--yellow);}
.price-art{display:flex;justify-content:center;gap:22px;position:relative;min-height:280px;}
.price-art .hand{transform:rotate(-6deg);font-size:28px;margin:0;}
.timo-prices{position:static;flex-shrink:0;transform:scaleX(-1);}
.dark{background:#25292a;color:var(--paper);background-image:url("chalk.svg");}
.birthday{position:relative;isolation:isolate;}
.birthday:before,.final-cta:before{content:"";position:absolute;left:0;right:0;top:-6px;height:14px;background:inherit;clip-path:polygon(0 50%,5% 10%,10% 40%,20% 20%,35% 40%,49% 0,70% 30%,80% 2%,95% 20%,100% 50%,100% 100%,0 100%);z-index:-1;}
.birthday h2{font-size:46px;margin-bottom:24px;}
.final-cta h2 span{color:var(--yellow);}
.birthday-lead{font:500 26px/1.25 var(--heading);}
.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 15px;}
.person{padding:0;text-align:left;}
.person>img{width:100%;height:198px;object-fit:cover;object-position:50% 30%;transition:filter .2s;}
.person:nth-child(3)>img,.person:nth-child(5)>img{object-position:50% 12%;}
.person:hover>img{filter:brightness(1.08);}
.person-copy{display:block;padding:12px 13px 14px;}
.person-copy strong{display:block;font:700 21px/1.1 var(--heading);margin-bottom:5px;}
.person-copy>span{font-size:12px;line-height:1.3;display:block;}
.reviews{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:32px;align-items:start;}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;}
.review-card{margin:0;padding:22px 20px;display:flex;flex-direction:column;min-width:0;background:#fff5;}
.review-card figcaption strong{display:block;font:700 23px/1.15 var(--heading);margin-bottom:12px;}
.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:11px;color:#6c685e;}
.review-stars{color:#8c6508;font-size:16px;letter-spacing:1px;}
.review-card blockquote{margin:18px 0 20px;font-size:13px;line-height:1.65;flex:1;}
.review-card blockquote p{margin-bottom:12px;}
.review-card blockquote p:last-child{margin-bottom:0;}
.review-source{font-size:11px;color:#6c685e;align-self:flex-start;}
.review-aside{min-width:0;flex-direction:column;gap:25px;}
[hidden]{display:none!important;}
.faq-section{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px;padding-bottom:16px;}
.faq-heading{position:relative;min-height:330px;}
.faq-heading h2{font-size:42px;}
.timo-faq{margin:5px auto -15px;}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;align-content:start;}
.faq-grid details{border-bottom:1px solid var(--line);align-self:start;padding-bottom:10px;}
.faq-grid summary{list-style:none;font-size:13px;line-height:1.4;cursor:pointer;position:relative;padding:10px 3px 8px 35px;min-height:44px;}
.faq-grid summary::-webkit-details-marker{display:none;}
.faq-grid summary:before{content:"+";position:absolute;left:0;top:8px;width:24px;height:24px;display:grid;place-content:center;border:1px solid var(--line);border-radius:50%;font-size:23px;line-height:1;background:#fff5;}
.faq-grid details[open] summary:before{content:"−";}
.faq-grid details p{font-size:12px;line-height:1.5;margin:3px 0 6px 35px;}
.final-cta{position:relative;isolation:isolate;margin-top:20px;}
.final-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:28px;}
.final-cta h2{font-size:35px;margin:0;}
.final-cta .hand{font-size:24px;transform:rotate(-5deg);max-width:300px;margin:0;}
.footer{display:grid;grid-template-columns:1fr .8fr 1.4fr .9fr;gap:30px;padding-block:35px 24px;}
.footer nav a:hover{text-decoration:underline;}
.footer address{font-size:13px;font-style:normal;}
.footer address p{margin-bottom:11px;}
.footer-sign{margin-top:35px;font-size:23px;color:#66645e;}
.footer-bottom{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:#67645d;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:15px;}
.footer-bottom .text-link{font:inherit;}
.skip{position:fixed;top:5px;left:5px;z-index:110;transform:translateY(-150%);background:var(--yellow);padding:10px;}
.skip:focus{transform:none;}
:focus-visible{outline:3px solid #1a677d;outline-offset:4px;}
dialog{background:var(--paper);background-image:url("paper.svg");color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:38px;max-width:min(720px,calc(100% - 32px));width:720px;max-height:88dvh;overflow:auto;box-shadow:0 20px 90px #0004;}
#booking-dialog{width:1040px;max-width:calc(100% - 24px);height:90dvh;max-height:90dvh;overflow:hidden;display:none;flex-direction:column;}
#booking-title{font-size:30px;margin-bottom:18px;flex-shrink:0;}
#booking-frame{width:100%;min-height:0;flex:1;border:1px solid var(--line);border-radius:5px;background:#fff;}
.booking-help{font-size:12px;line-height:1.4;margin:12px 0 0;flex-shrink:0;}
.booking-help .text-link{font:inherit;}
.document-dialog{width:860px;overflow-wrap:anywhere;}
.document-text{font-size:14px;line-height:1.65;white-space:normal;}
.document-text h2{font-size:25px;line-height:1.2;margin:28px 0 12px;padding:0;}
.document-text p{font-size:14px;line-height:1.65;}
.document-text a{overflow-wrap:anywhere;}
dialog::backdrop{background:#171b1ac4;}
dialog h2{font-size:38px;padding-right:25px;line-height:1.05;}
dialog p{font-size:15px;line-height:1.65;}
dialog .close{position:absolute;right:12px;top:9px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:28px;line-height:1;}
html:has(dialog[open]){overflow:hidden;}
.portrait{width:170px;height:200px;object-fit:cover;float:left;margin:5px 20px 12px 0;}
.eyebrow{text-transform:uppercase;font:600 13px var(--body);letter-spacing:.09em;color:#706b5e;margin-block:12px;}
.small{font-size:12px!important;color:#6c685e;margin-top:18px;}
#photo-viewer{max-width:min(850px,calc(100% - 32px));width:850px;}
#photo-full{max-height:65dvh;width:100%;object-fit:contain;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;}
.error-page{padding-block:100px;max-width:760px;}
.error-page h1{margin-top:30px;}
.error-page .eyebrow{margin-top:40px;}
@media(min-width:1500px){:root{--width:1320px;}}
@media(max-width:1200px){:root{--gutter:25px;}.header{gap:16px;}.header nav{gap:15px;}.tagline{font-size:9px;max-width:115px;}.header nav a{font-size:15px;}.hero{min-height:450px;}.hero-photo{height:410px;}.hero-visual{min-height:430px;}.workshop h3{font-size:22px;}.project img{height:153px;}.prices-section{grid-template-columns:1.25fr .75fr;gap:22px;}.price{padding-inline:12px;}.amount{font-size:36px;}.price-art .hand{font-size:25px;}.timo-prices{right:-15px;}.person>img{height:165px;}.person-copy strong{font-size:19px;}.birthday h2{font-size:42px;}.final-cta>.wrap{gap:22px;}.final-cta h2{font-size:31px;}.final-cta .button{font-size:17px;padding-inline:17px;}.final-cta .hand{font-size:21px;}}
@media(max-width:1020px){.reviews{grid-template-columns:1fr;}.review-aside{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;align-items:center;}.header{flex-wrap:wrap;gap:16px;}.header .identity{margin-right:auto;}.header nav{order:5;flex-basis:100%;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);}.hero h1{font-size:48px;}.hero-photo{height:415px;width:84%;}.made-it{font-size:25px;left:-25px;top:0;}.plane{width:100px;}.benefits{gap:17px;}.benefits h2{font-size:17px;}.benefits .icon{width:28px;height:28px;}.benefits>div{gap:8px;}.workshop h3{font-size:26px;}.project img{height:180px;}.prices-section{grid-template-columns:1fr;}.price-art{min-height:220px;display:flex;justify-content:center;gap:24px;padding-right:0;}.price-art .hand{font-size:28px;margin:0;}.timo-prices{right:0;bottom:-22px;}.birthday h2{font-size:37px;}.birthday-lead{font-size:23px;}.person>img{height:145px;}.person-copy{padding:11px 10px;}.person-copy strong{font-size:18px;}.person-copy>span{font-size:10px;}.faq-section{grid-template-columns:220px 1fr;gap:22px;}.faq-heading h2{font-size:36px;}.faq-grid{grid-template-columns:1fr;}.faq-heading{align-self:end;}.final-cta>.wrap{flex-wrap:wrap;justify-content:flex-start;gap:20px 35px;}.final-cta .hand{max-width:none;flex-basis:100%;transform:none;font-size:24px;}.final-cta .hand br{display:none;}.footer{grid-template-columns:1fr 1fr;gap:25px;}.footer address{order:1;}.footer-bottom{order:4;}.footer-sign{margin-top:25px;}}
@media(max-width:600px){.review-aside{display:flex;align-items:center;gap:25px;}.review-grid{grid-template-columns:1fr;gap:15px;}.review-card{padding:23px;}.review-card blockquote{font-size:14px;}:root{--gutter:19px;}.header{gap:13px;padding-block:19px;}.brand{font-size:39px;}.tagline{font-size:9px;max-width:110px;}.identity{gap:12px;}.header .booking{font-size:15px;min-height:38px;padding:9px 13px;}.menu-toggle{display:flex;align-items:center;gap:13px;order:4;border:1px solid var(--line);background:transparent;border-radius:5px;padding:8px 13px;min-height:38px;font-size:13px;}.header nav{display:none;order:6;margin-top:0;padding:13px 0 5px;gap:0;}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;}.header nav a{display:block;font-size:20px;padding:10px 0;}.hero{grid-template-columns:1fr;padding-top:8px;gap:0;}.hero h1{font-size:clamp(40px,10.1vw,60px);line-height:1.02;letter-spacing:-.035em;margin-bottom:22px;}.hero-copy{padding-top:0;}.hero-actions .button{max-width:100%;font-size:18px;padding-inline:18px;min-height:47px;gap:18px;}.hero-visual{min-height:380px;margin-top:16px;margin-bottom:7px;}.hero-photo{height:360px;width:76%;transform:rotate(2deg);}.hero-visual:before{inset:15px 4% 15px 9%;}.made-it{left:-12px;top:9px;font-size:25px;width:92px;}.plane{width:100px;right:0;top:0;}.benefits{grid-template-columns:1fr 1fr;gap:24px 18px;padding-block:23px;}.benefits h2{font-size:18px;line-height:1.1;}.benefits p{font-size:11px;}.benefits>div{gap:9px;}.benefits .icon{width:29px;height:29px;}.section{padding-block:30px;}h2{font-size:35px;line-height:1.05;letter-spacing:-.025em;}.workshop h3{font-size:24px;}.workshop p{font-size:12px;line-height:1.5;}.project img{height:195px;}.prices-section{gap:0;}.prices-section h2{font-size:36px;}.section-intro{font-size:14px;line-height:1.5;}.price-grid{grid-template-columns:1fr;gap:12px;}.price{display:grid;grid-template-columns:1fr auto;min-height:105px;align-items:start;padding:18px 17px;column-gap:12px;}.price .amount{grid-column:2;grid-row:1/3;font-size:36px;align-self:center;margin-bottom:0;}.price p:last-child{font-size:12px;max-width:170px;}.price-art{min-height:230px;justify-content:flex-start;gap:12px;padding-right:0;margin-top:17px;}.price-art .hand{font-size:25px;position:relative;z-index:2;}.timo-prices{right:-3px;bottom:-14px;}.birthday h2{font-size:39px;}.birthday-lead{font-size:25px;}.birthday .button{font-size:19px;}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px;}.person>img{height:180px;}.person-copy{padding:12px 11px 14px;}.person-copy strong{font-size:21px;}.person-copy>span{font-size:12px;line-height:1.4;}.reviews{grid-template-columns:1fr;gap:15px;}.faq-section{grid-template-columns:1fr;gap:12px;}.faq-heading{min-height:0;display:flex;align-items:center;gap:7px;}.faq-heading h2{font-size:34px;max-width:65%;margin:0;}.timo-faq{margin:0 -10px 0 0;}.faq-grid{gap:5px;}.faq-grid summary{font-size:14px;padding-block:13px;}.faq-grid summary:before{top:12px;}.faq-grid details p{font-size:13px;line-height:1.6;}.final-cta{margin-top:12px;}.final-cta>.wrap{padding-block:28px;gap:24px;}.final-cta h2{font-size:36px;}.final-cta .button{font-size:20px;padding:13px 20px;}.final-cta .hand{font-size:24px;line-height:1.2;}.footer{grid-template-columns:1fr 1fr;gap:28px 18px;padding-top:30px;}.footer address{grid-column:1/-1;order:1;line-height:1.5;font-size:14px;}.footer-sign{font-size:22px;}.footer-bottom{font-size:11px;gap:15px;}.footer-bottom>div{gap:14px;}.footer .tagline{font-size:9px;}.footer>div:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;}.footer>div:first-child .footer-sign{font-size:21px;max-width:130px;margin:0;}dialog{padding:32px 23px;max-width:calc(100% - 24px);max-height:90dvh;}dialog h2{font-size:33px;}.portrait{width:120px;height:150px;margin-right:15px;}.cookie-actions{gap:20px;}.cookie-actions .button{font-size:17px;}.error-page{padding-block:65px;}.error-page h1{font-size:43px;}}
@media(max-width:359px){:root{--gutter:15px;}.header{column-gap:9px;}.header .identity{gap:9px;}.tagline{max-width:98px;font-size:8px;}.header .booking{padding-inline:10px;font-size:14px;}.hero h1{font-size:39px;}.hero-visual{min-height:340px;}.hero-photo{height:325px;}.benefits{gap:19px 12px;}.benefits h2{font-size:16px;}.benefits .icon{width:24px;height:24px;}.workshop h3{font-size:22px;}.project img{height:175px;}.price-art .hand{font-size:24px;}.price-art{padding-right:0;}.birthday h2{font-size:35px;}.person>img{height:155px;}.person-copy strong{font-size:19px;}.faq-heading h2{font-size:30px;}.footer>div:first-child{align-items:flex-start;}.footer>div:first-child .footer-sign{font-size:19px;}.footer .tagline{max-width:95px;font-size:8px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*:before,*:after{transition:none!important;animation:none!important;}}
.bored{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:350px;padding-top:12px;}
.bored-copy{position:relative;z-index:2;align-self:flex-end;margin:0 3px 14px 0;}
.bored .speech{position:relative;display:block;min-height:54px;padding:14px 23px;border:0;border-radius:44% 48% 40% 46%;background:var(--yellow);color:var(--ink);font:600 27px/1.1 var(--hand);box-shadow:2px 4px 3px #49412733;transform:rotate(-5deg);transition:transform .15s,background .15s,box-shadow .15s;cursor:pointer;}
.bored .speech:after{content:"";position:absolute;left:24px;bottom:-10px;width:20px;height:17px;background:var(--yellow);clip-path:polygon(0 0,100% 0,5% 100%);}
#activity{isolation:isolate;}
#activity>:not(.timo-activity):not(.dialog-controls){position:relative;z-index:1;}
#activity>.close{position:absolute;z-index:2;}
#activity .activity-text{width:100%;max-width:none;padding:25px 0;font:500 36px/1.2 var(--hand);min-height:170px;overflow-wrap:break-word;}
.timo-activity{position:absolute;right:12px;bottom:8px;object-fit:contain;z-index:0;pointer-events:none;opacity:1;}
@media(max-width:1020px){.bored .speech{font-size:25px;padding-inline:20px;}}
@media(max-width:600px){.bored-copy{margin:0 3px 8px 0;}#activity .activity-text{font-size:30px;min-height:190px;padding:25px 0;max-width:none;width:100%;}.timo-activity{right:6px;bottom:8px;}}
@media(prefers-reduced-motion:reduce){.bored .speech{transition:none;}}
.work-carousel{min-width:0;}
.project-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:3px 2px 12px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b5ad98 transparent;}
.project-track .project{position:relative;flex:0 0 calc((100% - 56px)/4.2);scroll-snap-align:start;background:#e8e1d2;aspect-ratio:3/4;}
.project-track .project img{height:100%;width:100%;object-fit:cover;}
.project-track .project:focus-visible{outline-offset:-4px;}
.photo-viewer-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px;font:600 17px var(--heading);}
.carousel-arrow{display:grid;place-items:center;width:46px;height:42px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--yellow);font:25px var(--body);}
.carousel-arrow:hover:not(:disabled){background:#ffe164;transform:translateY(-1px);}
.carousel-arrow:disabled{opacity:.35;cursor:default;}
#photo-viewer{width:min(1100px,calc(100% - 36px));}
#photo-viewer h2{font-size:26px;margin-right:22px;}
#photo-full{min-height:100px;}
@media(max-width:1020px){.project-track .project{flex-basis:calc((100% - 28px)/2.2);}}
@media(max-width:600px){.project-track .project{flex-basis:82%;}.photo-viewer-controls{gap:15px;}}
.workshop-photo{position:relative;overflow:hidden;aspect-ratio:4/5;}
.workshop-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--photo-zoom,1));transform-origin:var(--photo-focus,50% 35%);}
.projects-layout{display:block;}
:root{--timo-height:240px;}
.timo{height:var(--timo-height);width:auto;max-width:260px;object-fit:contain;flex-shrink:0;}
.carousel-viewport{position:relative;}
.project-track{padding-block:0;}
.project-track .project{border:0;box-shadow:none;background:transparent;}
@media(max-width:1020px){:root{--timo-height:220px;}}
@media(max-width:600px){:root{--timo-height:190px;}.timo{max-width:210px;}.price-art{gap:10px;}.faq-heading{flex-wrap:wrap;}.faq-heading h2{max-width:100%;}}
.carousel-viewport{padding-inline:48px;}
.carousel-viewport>.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:48px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);}
.carousel-viewport>.carousel-arrow svg{width:36px;height:24px;}
#projects-prev{left:0;}
#projects-next{right:0;}
.carousel-viewport>.carousel-arrow:hover:not(:disabled){background:none;transform:translateY(-50%);opacity:.6;}
@media(max-width:600px){.carousel-viewport{padding-inline:36px;}.carousel-viewport>.carousel-arrow{width:32px;}.carousel-viewport>.carousel-arrow svg{width:29px;}}
.bored-copy{display:flex;flex-direction:column;align-items:center;gap:13px;}
.bored>.idea-link{min-height:44px;padding:8px 2px;display:inline-block;margin-top:10px;}
.timo{filter:none;}
.party-wrap{padding-block:52px 48px;}
.party-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:center;}
.birthday-expanded .party-intro h2{font-size:clamp(43px,4.7vw,68px);line-height:1;letter-spacing:-.025em;margin:0 0 25px;}
.party-intro h2:after,.party-subtitle:after{content:"";display:block;width:52%;height:5px;margin-top:12px;background:var(--yellow);clip-path:polygon(1% 22%,98% 0,100% 60%,2% 100%);transform:rotate(-2deg);}
.party-intro .birthday-lead{font:500 27px/1.25 var(--heading);max-width:490px;margin:0 0 24px;}
.party-caption{color:var(--yellow);font-size:30px;max-width:430px;transform:rotate(-3deg);margin:0;}
.party-gallery{position:relative;min-width:0;padding-inline:26px;}
.party-gallery-track{display:flex;gap:16px;height:355px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;}
.party-gallery-track::-webkit-scrollbar{display:none;}
.party-gallery-track img{flex:0 0 92%;width:92%;height:100%;object-fit:cover;scroll-snap-align:start;background:#ffffff09;}
.party-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:48px;padding:0;border:0;background:none;color:var(--paper);}
.party-gallery-arrow svg{width:28px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.party-gallery-arrow:hover:not(:disabled){color:var(--yellow);}
.party-gallery-arrow:disabled{opacity:.25;cursor:default;}
.party-prev{left:-5px;}
.party-next{right:-5px;}
.party-facts{display:grid;grid-template-columns:1fr 1.15fr 1.6fr auto;align-items:center;gap:24px;margin-top:36px;padding:22px 0;border-block:1px solid #f5efe340;}
.party-facts p{display:flex;align-items:center;gap:17px;margin:0;font:400 19px/1.3 var(--body);}
.party-facts p+p{border-left:1px solid #f5efe330;padding-left:24px;}
.party-facts strong{font:700 26px/1.1 var(--heading);}
.party-facts .icon{width:40px;height:40px;stroke-width:1.2;}
.party-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;list-style:none;padding:30px 0 0;margin:0;}
.party-timeline li{min-width:0;position:relative;}
.party-step-icon{display:flex;align-items:center;gap:13px;margin-bottom:13px;position:relative;}
.party-step-icon:after{content:"";height:2px;background:var(--yellow);position:absolute;left:94px;right:-8px;top:30px;transform:rotate(-3deg);}
.party-timeline li:last-child .party-step-icon:after{display:none;}
.party-step-icon>span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:2px solid var(--yellow);border-radius:50%;font:500 21px var(--hand);}
.party-step-icon>.icon{height:44px;width:44px;stroke-width:1.2;}
.party-timeline h3{font-size:24px;margin-bottom:7px;}
.party-timeline p{font-size:13px;line-height:1.45;margin:0;}
.party-timeline .party-time{font-size:16px;margin-bottom:9px;color:#e6dfd1;}
.party-flex-note{font-size:12px;color:#d0cdc1;margin:18px 0 0;max-width:850px;}
.party-shows-heading{display:flex;justify-content:space-between;gap:28px;align-items:center;margin:35px 0 24px;}
.party-subtitle{font:800 35px/1.08 var(--heading);letter-spacing:-.02em;margin:0 0 23px;}
.party-shows-heading>.party-subtitle{font-size:clamp(39px,4.3vw,61px);margin:0;}
.party-shows-heading>.hand{font-size:27px;max-width:420px;margin:0;transform:rotate(-4deg);}
.party-shows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;}
.party-show{border:1px solid #f5efe338;border-radius:5px;overflow:hidden;background:#ffffff02;min-width:0;}
.party-show>.party-show-photo{width:100%;height:165px;object-fit:cover;object-position:50% 28%;}
.party-show-body{padding:17px 14px 19px;}
.party-show h4{font:700 23px/1.05 var(--heading);margin:0 0 15px;letter-spacing:-.01em;}
.party-show h4:after{content:"";display:block;background:var(--yellow);height:3px;width:45%;margin-top:9px;transform:rotate(-3deg);}
.party-host{display:flex;align-items:center;gap:9px;font-size:12px;margin:0 0 14px;}
.party-host img{width:31px;height:31px;object-fit:cover;object-position:50% 20%;border-radius:50%;flex-shrink:0;}
.party-show-body>p:not(.party-host){font-size:13px;line-height:1.5;margin-bottom:0;}
.party-show-body>.party-surcharge{font:700 22px var(--heading)!important;color:var(--yellow);margin-top:12px;}
.party-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;}
.party-conditions{border-left:1px solid #f5efe338;padding-left:35px;min-width:0;}
.party-theme-copy{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:20px;}
.party-theme-copy p{font-size:14px;line-height:1.5;margin-bottom:13px;}
.party-theme-copy figure{margin:6px 0 0;align-self:end;}
.party-theme-copy figure img{width:130px;height:130px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:2px solid var(--yellow);padding:3px;}
.party-theme-copy figcaption{color:var(--yellow);font-size:25px;margin-top:12px;transform:rotate(-5deg);}
.party-condition{display:flex;align-items:flex-start;gap:15px;max-width:320px;margin-bottom:22px;font-size:15px;}
.party-condition strong{font-family:var(--heading);font-size:21px;}
.party-condition .icon{width:35px;height:35px;stroke-width:1.3;}
.party-action{position:relative;padding:14px 110px 0 0;margin-top:28px;min-height:190px;display:flex;align-items:flex-end;}
.party-action .button{position:relative;z-index:2;min-height:60px;font-size:24px;border-radius:2px;clip-path:polygon(1% 3%,98% 0,100% 20%,99% 81%,97% 99%,1% 96%,0 70%);}
.party-action-note{font-size:12px;color:#ddd7ca;margin:12px 0 0;position:relative;z-index:2;}
.party-dialog{width:min(760px,calc(100% - 36px));}
.party-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;}
.party-options label,.party-wishes{display:flex;flex-direction:column;gap:7px;font-weight:600;}
.party-options select,.party-options input,.party-wishes textarea{width:100%;min-height:44px;border:1px solid #bcb5a5;border-radius:5px;padding:10px;background:#fff9;color:var(--ink);font:400 16px var(--body);}
.party-options small{font-size:12px;font-weight:400;}
.party-check{display:flex;align-items:flex-start;gap:11px;margin:17px 0;font-size:15px;}
.party-check input{width:20px;height:20px;margin:1px 0 0;flex-shrink:0;accent-color:#9a7700;}
.party-check[hidden]{display:none;}
.party-wishes{margin-top:20px;font-size:15px;}
.party-wishes textarea{resize:vertical;}
.party-total{border-block:1px solid var(--line);padding:20px 0;margin:24px 0 17px;}
.party-total>span{display:block;font-size:14px;}
.party-total output{font:800 38px var(--heading);display:block;margin-top:5px;}
.party-total p{font-size:13px;margin:6px 0 0;}
.party-local-note{font-size:13px;color:#5e5d56;}
@media(max-width:1020px){.party-hero{gap:25px;}.birthday-expanded .party-intro h2{font-size:44px;}.party-intro .birthday-lead{font-size:23px;}.party-caption{font-size:26px;}.party-gallery-track{height:310px;}.party-facts{gap:15px;grid-template-columns:1fr 1.15fr 1.6fr;}.party-facts>.icon{display:none;}.party-facts p{font-size:15px;gap:12px;}.party-facts p+p{padding-left:15px;}.party-facts strong{font-size:22px;}.party-timeline{gap:15px;}.party-timeline h3{font-size:21px;}.party-timeline p{font-size:12px;}.party-shows{grid-template-columns:1fr 1fr;gap:20px;}.party-show>.party-show-photo{height:220px;}.party-show-body{padding:20px;}.party-show-body>p:not(.party-host){font-size:14px;}.party-bottom{gap:25px;}.party-conditions{padding-left:25px;}.party-subtitle{font-size:30px;}.party-theme-copy{grid-template-columns:1fr;}.party-theme-copy figure{display:flex;align-items:center;gap:15px;}.party-theme-copy figure img{height:85px;width:85px;}.party-theme-copy figcaption{max-width:150px;}.party-action{padding-right:75px;}.party-action .button{font-size:21px;padding-inline:14px;gap:8px;}}
@media(max-width:600px){.party-wrap{padding-block:35px;}.party-hero{grid-template-columns:1fr;gap:25px;}.birthday-expanded .party-intro h2{font-size:43px;}.party-intro .birthday-lead{font-size:25px;}.party-caption{font-size:27px;}.party-gallery{padding-inline:24px;}.party-gallery-track{height:270px;}.party-gallery-track img{flex-basis:92%;width:92%;}.party-facts{grid-template-columns:1fr;gap:16px;margin-top:25px;padding:20px 0;}.party-facts p{font-size:16px;}.party-facts p+p{border-left:0;padding-left:0;}.party-facts strong{font-size:24px;}.party-timeline{grid-template-columns:1fr;gap:20px;padding-top:25px;}.party-timeline li{padding-left:55px;min-height:75px;}.party-step-icon{position:absolute;left:0;top:0;margin:0;display:block;}.party-step-icon>span{margin-bottom:8px;}.party-step-icon>.icon{display:none;}.party-step-icon:after{left:12px;right:auto;top:34px;width:1px;height:55px;transform:none;}.party-timeline h3{font-size:26px;}.party-timeline p{font-size:14px;}.party-timeline .party-time{font-size:16px;margin-bottom:5px;}.party-shows-heading{display:block;margin-top:30px;}.party-shows-heading>.party-subtitle{font-size:43px;margin-bottom:20px;}.party-shows-heading>.hand{font-size:26px;}.party-shows{grid-template-columns:1fr;gap:19px;}.party-show>.party-show-photo{height:240px;}.party-show h4{font-size:28px;}.party-host{font-size:14px;}.party-bottom{grid-template-columns:1fr;gap:30px;margin-top:30px;}.party-conditions{padding:25px 0 0;border-left:0;border-top:1px solid #f5efe338;}.party-subtitle{font-size:33px;}.party-theme-copy{grid-template-columns:minmax(0,1fr) 105px;gap:15px;}.party-theme-copy figure{display:block;align-self:end;}.party-theme-copy figure img{width:95px;height:95px;}.party-theme-copy figcaption{font-size:23px;}.party-action{padding:30px 88px 0 0;min-height:190px;}.party-action .button{font-size:22px;}.party-options{grid-template-columns:1fr;gap:16px;}.party-dialog{padding:32px 23px;}.party-gallery-arrow{min-height:44px;}}
@media(max-width:360px){.party-theme-copy{grid-template-columns:1fr;}.party-theme-copy figure{display:flex;}.birthday-expanded .party-intro h2{font-size:39px;}.party-action{padding-right:65px;}.party-action .button{font-size:19px;}}
.party-age-label{position:relative;}
.party-age-label output{font:700 21px var(--heading);}
.party-options .party-age-label input[type=range]{padding:0;border:0;background:transparent;accent-color:#9a7700;cursor:pointer;min-height:30px;}
.party-age-bounds{display:flex;justify-content:space-between;font-size:12px;font-weight:400;}
.party-consent a{text-underline-offset:3px;}
.party-conditions{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:0 14px;align-content:start;}
.party-conditions>.party-subtitle{grid-column:1/-1;}
.party-conditions>.party-condition{grid-column:1;max-width:none;}
.party-conditions>.djotto-birthday{grid-column:2;grid-row:2/4;align-self:start;justify-self:end;position:relative;width:230px;height:240px;max-width:none;object-fit:contain;pointer-events:none;filter:none;}
.party-action{grid-column:1/-1;min-height:0;margin-top:14px;padding:0;display:block;}
.party-action .button{width:100%;}
.party-action-note{grid-column:1/-1;}
@media(max-width:1020px){.party-bottom{grid-template-columns:1fr;}.party-conditions{border-left:0;border-top:1px solid #f5efe338;padding:25px 0 0;grid-template-columns:minmax(0,1fr) 220px;}.party-conditions>.djotto-birthday{width:240px;height:240px;}.party-action{padding:0;min-height:0;}}
@media(max-width:600px){.party-conditions{grid-template-columns:minmax(0,1fr) 135px;gap:0 10px;}.party-conditions>.djotto-birthday{width:160px;height:190px;margin-right:-6px;}.party-action{padding:0;min-height:0;margin-top:12px;}}
.djotto-quote{position:relative;background:var(--yellow);color:var(--ink);padding:14px 19px;border:0;border-radius:44% 48% 40% 46%;box-shadow:2px 4px 3px #49412733;font:600 27px/1.1 var(--hand);max-width:270px;margin:0;}
.djotto-quote:after{content:"";position:absolute;left:var(--tail-left,24px);top:var(--tail-top,calc(100% - 2px));width:var(--tail-length,24px);height:16px;background:var(--yellow);clip-path:polygon(0 0,100% 50%,0 100%);transform:rotate(var(--tail-angle,90deg));transform-origin:0 50%;pointer-events:none;}
.reviews-link-scene{display:flex;flex-direction:column;align-items:flex-end;gap:15px;min-width:0;}
.reviews-link-scene>.djotto-reviews{height:var(--timo-height);width:auto;max-width:100%;object-fit:contain;align-self:center;filter:none;transform:none;}
.admin-intro{font-size:29px;max-width:560px;margin:16px 0 24px;}
.admin-login-fields{display:grid;gap:8px;max-width:400px;}
.admin-login-fields label{font-weight:600;margin-top:7px;}
.admin-login-fields input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #bcb5a5;border-radius:5px;background:#fff9;color:var(--ink);font:16px var(--body);}
.admin-login-fields .button{margin-top:15px;justify-self:start;opacity:.55;cursor:default;}
.admin-preview-note{font-size:13px;color:#5e5d56;margin:20px 0 0;max-width:480px;}
@media(max-width:1020px){.reviews-link-scene{align-items:center;}}
@media(max-width:600px){.review-aside{display:block;}.reviews-link-scene{align-items:flex-end;}.reviews-link-scene>.djotto-reviews{align-self:center;}}
.project-story{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:25px;align-items:center;max-width:1000px;margin:18px auto 0;}
.project-story>.djotto-gallery-delight{grid-column:2;grid-row:1;width:200px;height:var(--timo-height);max-width:100%;object-fit:contain;filter:none;}
.project-effort-note{grid-column:1;grid-row:1;border:0;padding:0;margin:0;max-width:none;font:500 27px/1.15 var(--hand);}
.project-effort-note>p{font:inherit;margin:0;}
.project-effort-note strong{font-weight:600;}
.review-aside{display:flex;align-self:stretch;justify-content:flex-end;margin-bottom:-36px;}
.reviews-link-scene{margin-top:auto;justify-content:flex-end;}
.reviews-link-scene>.djotto-reviews{transform:scaleX(-1);}
@media(max-width:600px){.project-story{display:flow-root;margin-top:16px;}.project-story>.djotto-gallery-delight{float:right;width:125px;height:180px;margin:0 0 8px 14px;}.project-effort-note{font-size:25px;line-height:1.15;}.review-aside{margin-bottom:-30px;}}
.price-art{align-items:center;}
.party-show>.party-show-photo{object-position:center;}
.party-image-note{font:400 10px/1.3 var(--body);color:#cbc6ba;margin:6px 14px 0;}
.workshops-expanded>h2{font-size:clamp(38px,4.4vw,62px);margin-bottom:27px;}
.workshop-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;}
.workshop-trio>.workshop{min-width:0;background:transparent;border:0;box-shadow:none;}
.workshop-trio .workshop-photo{border-radius:3px;}
.workshop[data-workshop=creative]{--photo-zoom:1.25;--photo-focus:50% 18%;}
.workshop[data-workshop=wood]{--photo-zoom:1;--photo-focus:50% 35%;}
.workshop[data-workshop=engineering]{--photo-zoom:1.25;--photo-focus:50% 46%;}
.workshop-copy{padding-top:17px;}
.workshop-copy h3{display:flex;align-items:center;gap:12px;font-size:clamp(30px,3.1vw,44px);margin:0 0 17px;line-height:1.05;}
.workshop-copy h3>.icon{width:40px;height:40px;stroke-width:1.3;}
.workshop-copy h3>span:after{content:"";display:block;background:var(--yellow);height:4px;margin-top:7px;transform:rotate(-2deg);clip-path:polygon(0 30%,99% 0,100% 70%,1% 100%);}
.workshop-trio .workshop-copy p{font-size:16px;line-height:1.5;margin:0;}
.workshops-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center;min-height:235px;margin:10px 0 0;}
.workshop-common-booking{grid-column:2;min-width:270px;font-size:27px;min-height:60px;}
.djotto-idea-art{grid-column:2;grid-row:1;position:relative;display:block;line-height:0;border:0;padding:0;background:none;cursor:default;}
.school-workshop{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr);gap:32px;padding-top:32px;border-top:1px solid #99908088;align-items:stretch;}
.school-workshop-photo{position:relative;min-height:400px;}
.school-workshop-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:3px;}
.school-workshop-copy{min-width:0;}
.school-workshop-copy h3{display:flex;align-items:center;gap:14px;font-size:clamp(32px,3.6vw,48px);margin:0 0 20px;}
.school-workshop-copy h3 .icon{width:43px;height:43px;stroke-width:1.3;}
.school-workshop-copy h3 span:after{content:"";display:block;width:90%;height:4px;background:var(--yellow);margin-top:9px;transform:rotate(-1deg);}
.school-workshop-copy>p{font-size:16px;line-height:1.5;margin-bottom:19px;}
.school-workshop-copy h4{font:700 21px var(--heading);margin:0 0 12px;}
.school-workshop-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;list-style:none;margin:0;padding:0;}
.school-workshop-copy li{position:relative;font-size:14px;line-height:1.4;padding-left:16px;}
.school-workshop-copy li:before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;background:var(--yellow);border-radius:50%;}
.school-workshop-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;}
.school-workshop-action>p{display:flex;align-items:center;gap:12px;font-size:14px;margin:0;max-width:300px;}
.school-workshop-action .button{flex-shrink:0;font-size:21px;padding-inline:19px;}
.school-request-fields{display:grid;gap:15px;margin:20px 0;}
.school-request-fields label{display:flex;flex-direction:column;gap:6px;font-weight:600;}
.school-request-fields input,.school-request-fields textarea{width:100%;padding:10px 12px;border:1px solid #bcb5a5;border-radius:5px;background:#fff9;min-height:44px;color:var(--ink);font:400 16px var(--body);}
.school-request-fields textarea{resize:vertical;}
@media(max-width:1020px){.workshop-trio{gap:18px;}.workshop-copy h3{font-size:30px;gap:8px;}.workshop-copy h3>.icon{width:29px;height:29px;}.workshop-trio .workshop-copy p{font-size:14px;}.workshops-actions{grid-template-columns:minmax(0,1fr) 250px;gap:15px;}.workshop-common-booking{grid-column:1;justify-self:center;min-width:230px;}.school-workshop{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:25px;}.school-workshop-copy ul{grid-template-columns:1fr;gap:8px;}.school-workshop-action{align-items:flex-start;flex-direction:column;}.school-workshop-copy>p{font-size:15px;}}
@media(max-width:600px){.workshop-trio{grid-template-columns:1fr;gap:28px;}.workshop-trio>.workshop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;align-items:center;}.workshop-copy{padding:0;}.workshop-copy h3{font-size:27px;gap:7px;margin-bottom:12px;flex-wrap:wrap;}.workshop-copy h3>.icon{width:27px;height:27px;}.workshop-trio .workshop-copy p{font-size:13px;}.workshops-actions{grid-template-columns:1fr;gap:10px;margin:25px 0 20px;min-height:0;}.workshop-common-booking{grid-column:1;grid-row:1;font-size:25px;min-width:250px;}.school-workshop{grid-template-columns:1fr;gap:22px;padding-top:25px;}.school-workshop-photo{min-height:0;aspect-ratio:3/2;}.school-workshop-photo>img{object-position:50% 45%;}.school-workshop-copy h3{font-size:35px;gap:10px;}.school-workshop-copy h3 .icon{width:30px;height:30px;}.school-workshop-copy ul{grid-template-columns:1fr;}.school-workshop-action{gap:20px;}.school-workshop-copy li{font-size:14px;}}
.bored .speech.djotto-quote{isolation:isolate;}
.bored .speech.djotto-quote>span{position:relative;z-index:2;}
.bored .speech.djotto-quote:after{z-index:-1;}
.school-workshop-copy ul{display:block;}
.school-workshop-copy li+li{margin-top:8px;}
.price-art .price-caption{font-style:italic;font-weight:500;background:none;border:0;border-radius:0;box-shadow:none;padding:0;max-width:55%;transform:none;}
.review-aside{margin-bottom:0;}
.reviews-link-scene{align-items:center;gap:8px;}
.reviews-link-scene>.reviews-link{align-self:center;text-align:center;}
@media(min-width:1021px){footer.wrap{grid-template-columns:1fr .8fr 1.4fr;}}
.prices-section .price-group-title{font-size:21px;line-height:1.3;margin:24px 0 16px;}
.price h4{font-size:18px;line-height:1.25;margin:0 0 12px;}
.price-terms{font-size:15px;line-height:1.5;margin:17px 0 12px;}
.price-terms p{margin:0 0 9px;}
.school-price-group{margin-top:0;padding-top:0;border-top:0;}
.school-price-group>p{font-size:16px;line-height:1.5;}
.school-price-list{display:grid;grid-template-columns:1fr;gap:0;margin:17px 0;}
.school-price-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);max-width:360px;}
.school-price-list dt{font-size:16px;}
.school-price-list dd{margin:0;font-size:22px;font-weight:800;white-space:nowrap;}
@media(max-width:600px){.prices-section .price-group-title{font-size:20px;}}
.party-intro .party-caption{max-width:none;}
@media(min-width:768px){.party-intro .party-caption{font-size:clamp(18px,1.8vw,26px);white-space:nowrap;}}
.hero-media{min-width:0;}
.hero-bottom>.hero-philosophy{position:relative;margin:22px auto 0;max-width:540px;padding-inline:12px;}
@media(max-width:600px){.hero-bottom>.hero-philosophy{margin-top:18px;padding-inline:0;}}
.hero-bottom{grid-column:1/-1;min-width:0;}
.hero-bottom>.hero-philosophy{max-width:none;margin:0 0 22px;padding:0;font:italic 500 27px/1.2 var(--hand);}
.hero-bottom .hero-actions{margin-top:0;}
@media(max-width:600px){.hero-bottom>.hero-philosophy{font-size:25px;}}
.workshop-trio .workshop-photo>img{transform:none;object-position:center;}
.school-workshop-photo>img{object-position:50% 50%;}
.workshop-photo{cursor:default;}
.header #navigation{flex-wrap:wrap;row-gap:7px;}
.application-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.application-status{margin-top:12px;font-weight:600;}
.application-form button[disabled]{opacity:.6;cursor:wait;}
.contact-map{grid-column:1/-1;background:#fff5;padding:20px;border-radius:3px;}
.contact-map iframe{width:100%;height:360px;border:0;margin-bottom:12px;}
.contact-map iframe[hidden]{display:none;}
#map-placeholder{padding:25px 0;max-width:640px;}
@media(max-width:600px){.contact-map iframe{height:300px;}}
.header-shell{position:sticky;top:0;z-index:100;background:var(--paper);background-image:url("paper.svg");border-bottom:1px solid var(--line);}
.header-shell .header{height:64px;min-height:64px;display:flex;flex-wrap:nowrap;padding-block:8px;gap:18px;position:relative;}
.header-shell .identity{margin:0;gap:0;}
.header-shell .brand{font-size:39px;line-height:.9;}
.header-shell .brand:after{bottom:-6px;height:6px;}
.header-shell #navigation{order:0;flex:1 1 auto;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:14px;padding:0;margin:0;border:0;}
.header-shell #navigation a{font-size:15px;padding:8px 0;white-space:nowrap;}
.header-shell .booking{min-height:40px;padding:9px 15px;font-size:15px;white-space:nowrap;}
.header-shell .menu-toggle{display:none;}
html{scroll-padding-top:80px;}
.workshops-actions{display:flex;justify-content:center;min-height:0;margin:24px 0 30px;}
.footer>.footer-idea{display:grid;grid-template-columns:minmax(80px,1fr) 175px;grid-template-rows:auto auto;align-items:center;gap:0;min-height:0;padding:0;max-width:340px;justify-self:center;}
.footer-idea .bored-copy{grid-column:1;grid-row:1;align-self:start;margin:25px -5px 0 0;}
.footer-idea .djotto-idea-art{grid-column:2;grid-row:1;}
.footer-idea>.idea-link{grid-column:2;grid-row:2;justify-self:center;margin:0;padding:8px 0;font-size:18px;}
.footer-idea .speech{cursor:default;transition:none;font-size:25px;padding:14px 17px;}
@media(min-width:1021px){footer.wrap{grid-template-columns:1fr 1fr 1.2fr;}}
@media(min-width:1100px){.benefits{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}}
@media(max-width:1200px){.header-shell .header{height:56px;min-height:56px;padding-block:7px;gap:12px;}.header-shell .booking{display:none;}.header-shell .brand{font-size:35px;}.header-shell .menu-toggle{display:flex;order:0;margin-left:auto;min-height:40px;padding:7px 12px;}.header-shell #navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 64px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-top:0;padding:8px 18px 12px;}.header-shell #navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;}.header-shell #navigation a{font-size:18px;padding:10px 0;min-height:44px;}html{scroll-padding-top:72px;}}
@media(max-width:760px){.footer>.footer-idea{grid-column:1/-1;width:100%;order:2;}.footer>.contact-map{order:3;}}
.header-shell #navigation .mobile-booking{display:none;}
@media(max-width:1200px){.header-shell #navigation .mobile-booking{display:block;font-weight:800;}}
.application-trap[hidden]{display:none!important;}
footer.wrap.footer{grid-template-columns:minmax(0,1fr) minmax(250px,340px);align-items:center;}
.footer>.contact-map{grid-column:1/-1;grid-row:1;order:0;}
.footer>.contact-details{grid-column:1;grid-row:2;min-width:0;}
.contact-details address{font-style:normal;margin-top:22px;}
.footer>.footer-idea{grid-column:2;grid-row:2;justify-self:end;order:0;}
.djotto-idea-art>.djotto-contacts{display:block;width:175px;height:240px;object-fit:contain;filter:none;}
@media(max-width:760px){footer.wrap.footer{grid-template-columns:1fr;}.footer>.contact-details{grid-column:1;grid-row:2;}.footer>.footer-idea{grid-column:1;grid-row:3;justify-self:center;}.footer>.footer-bottom{grid-column:1;grid-row:4;}}

/* Four calm zones: workshop prices, school prices, mascot and first-visit notes. */
.prices-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px 44px;}
.prices-section>h2{grid-column:1/-1;margin-bottom:0;}
.prices-section>.price-group{grid-row:2;min-width:0;}
.prices-section>.price-art{grid-column:1;grid-row:3;align-self:center;align-items:center;min-height:240px;}
.first-visit-note{grid-column:2;grid-row:3;min-width:0;border-top:3px solid var(--yellow);padding-top:22px;}
.first-visit-note h3{font-size:30px;margin-bottom:16px;}
.first-visit-note h4{font:700 22px/1.2 var(--heading);margin:22px 0 8px;}
.first-visit-note p{font-size:15px;line-height:1.65;margin-bottom:0;}
.party-practical{grid-column:1/-1;font-size:14px;line-height:1.6;margin:18px 0 0;}
footer.wrap.footer{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(280px,1fr);align-items:start;gap:30px;}
.footer>.contact-details{grid-column:1;grid-row:2;}
.footer>.contact-address{grid-column:2;grid-row:2;order:0;}
.footer>.footer-idea{grid-column:3;grid-row:2;align-self:center;}
.contact-directions{max-width:390px;}
.contact-social{line-height:1.9;}
@media(max-width:1100px){.prices-section{grid-template-columns:1fr;gap:20px;}.prices-section>h2,.prices-section>.price-group,.prices-section>.price-art,.first-visit-note{grid-column:1;grid-row:auto;}.prices-section>.price-art{min-height:210px;}.first-visit-note{padding-top:18px;}}
@media(max-width:900px){footer.wrap.footer{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);}.footer>.contact-details{grid-column:1;grid-row:2;}.footer>.contact-address{grid-column:1;grid-row:3;}.footer>.footer-idea{grid-column:2;grid-row:2/4;}.footer>.footer-bottom{grid-column:1/-1;grid-row:4;}}
@media(max-width:600px){footer.wrap.footer{grid-template-columns:1fr;}.footer>.contact-details{grid-row:2;}.footer>.contact-address{grid-column:1;grid-row:3;}.footer>.footer-idea{grid-column:1;grid-row:4;justify-self:center;}.footer>.footer-bottom{grid-column:1;grid-row:5;}.first-visit-note p{font-size:14px;}}

[data-djotto-figure]{display:block;isolation:isolate;min-width:0;overflow:visible;}
[data-djotto-figure]:not(.timo-activity){position:relative;}
[data-djotto-figure]>.djotto-art{display:block;position:relative;z-index:1;width:100%;height:100%;max-width:none;object-fit:contain;}
[data-djotto-figure]>.djotto-ground{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#645646;}
.dark .djotto-ground{color:#110d08;}
.timo-prices[data-djotto-figure]{width:calc(var(--timo-height)*600/642);}
.timo-faq[data-djotto-figure]{width:calc(var(--timo-height)*600/649);}
.timo-activity[data-djotto-figure]{width:calc(var(--timo-height)*600/668);}
.reviews-link-scene>.djotto-reviews[data-djotto-figure]{width:calc(var(--timo-height)*600/720);}

.header-shell #navigation a{position:relative;z-index:1;color:var(--ink);}
.nav-current-glow{display:none;}
@media(min-width:1201px){
 .header-shell #navigation{position:relative;isolation:isolate;}
 .nav-current-glow{display:block;position:absolute;left:0;top:0;height:34px;pointer-events:none;z-index:0;opacity:0;border-radius:50%;background:radial-gradient(ellipse,rgba(248,213,72,.42) 0%,rgba(248,213,72,.24) 42%,rgba(248,213,72,0) 76%);filter:blur(4px);}
 .nav-current-glow.is-ready{transition:transform .25s ease,width .25s ease,opacity .2s ease;}
 .nav-current-glow.is-visible{opacity:1;}
}
@media(max-width:1200px){.header-shell #navigation a[aria-current="location"]:before{content:"";position:absolute;inset:4px -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 50%,rgba(248,213,72,.30),rgba(248,213,72,0) 72%);}}
@media(prefers-reduced-motion:reduce){.nav-current-glow.is-ready{transition:none;}}

/* Closed modal stays hidden; showModal must also restore its flex layout. */
#booking-dialog[open]{display:flex;}



.error-layout{max-width:1050px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:35px;align-items:center;}
.error-layout .djotto-error{width:280px;height:auto;aspect-ratio:720/809;position:relative;}
@media(max-width:600px){.error-layout{grid-template-columns:1fr;gap:25px;}.error-layout .djotto-error{width:220px;justify-self:center;}}

/* Compact language links stay on the existing header row. */
.language-switch{display:flex;align-items:center;gap:2px;flex:none;}
.language-switch a{display:grid;place-items:center;min-width:28px;min-height:36px;font-size:11px;line-height:1;padding:9px 5px;color:var(--ink);text-decoration:none;border-radius:3px;}
.language-switch a[aria-current="true"]{font-weight:800;background:rgba(248,213,72,.28);}
.language-switch a:hover{background:rgba(0,0,0,.06);}
.language-switch a:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
@media(min-width:1021px) and (max-width:1250px){.header-shell .header{gap:10px;}.header-shell #navigation{gap:10px;}.header-shell #navigation a{font-size:13px;}.header-shell .booking{padding-inline:10px;font-size:13px;}}
@media(max-width:600px){.header-shell .header{gap:8px;}.language-switch a{padding-inline:5px;}}
html[lang="fr"] .party-caption,html[lang="en"] .party-caption{white-space:normal;}

.header-shell .identity{gap:12px;flex:none;}
.header-shell .tagline{display:block;max-width:125px;font-size:10px;line-height:1.25;}
.header-shell .language-switch{margin-left:2px;}
@media(max-width:1200px){.header-shell .language-switch{order:1;}.header-shell .menu-toggle{margin-left:auto;}}
@media(max-width:420px){.header-shell .header{gap:6px;}.header-shell .identity{gap:8px;}.header-shell .brand{font-size:30px;}.header-shell .tagline{max-width:76px;font-size:8px;}.header-shell .menu-label{display:none;}.header-shell .menu-toggle{padding:7px 9px;min-width:34px;}.header-shell .language-switch{margin-left:0;}}

@media(min-width:421px) and (max-width:600px){.header-shell .menu-label{display:none;}.header-shell .menu-toggle{padding:7px 9px;min-width:34px;}}

/* Functional feedback and stable controls; preserve the paper visual language. */
dialog{scroll-padding-top:72px;}
.dialog-controls{position:sticky;top:-38px;z-index:3;display:flex;justify-content:flex-end;min-height:62px;background:var(--paper);margin:-38px -38px 12px;padding:9px 12px;}
dialog .dialog-controls>.close{position:static;width:44px;height:44px;margin:0;flex-shrink:0;}
dialog:has(.dialog-controls) h2{padding-right:0;}
#booking-dialog>.close{width:44px;height:44px;}
#photo-viewer[open]{display:flex;flex-direction:column;height:min(900px,90dvh);max-height:90dvh;}
#photo-viewer>.dialog-controls,#photo-viewer>h2,#photo-viewer>.photo-viewer-controls{flex-shrink:0;}
.photo-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;}
#photo-full{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;}
.photo-load-state{position:absolute;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;padding:8px;background:var(--paper);font-size:13px;text-align:center;}
.photo-load-state:has(#photo-status:empty):has(#photo-retry[hidden]){display:none;}
.photo-load-state .text-link{min-height:44px;}
.photo-viewer-controls{margin-top:12px;}
.photo-viewer-controls .carousel-arrow{min-width:44px;min-height:44px;}
.party-nearby-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;border-block:1px solid var(--line);padding-block:12px;}
.party-nearby-total strong{font:700 26px var(--heading);}
.button:active{background:#efd044;transform:none;box-shadow:inset 0 1px 2px #22252633;transition:none;}
.menu-toggle:active,.close:active,.language-switch a:active,.carousel-arrow:not(:disabled):active{background:var(--yellow);transition:none;}
.project:active{outline:2px solid var(--ink);outline-offset:-2px;}
@media(max-width:1200px){.header-shell .menu-toggle{min-width:44px;min-height:44px;}.header-shell .language-switch a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding-inline:4px;}.header-shell .language-switch{gap:0;}}
@media(max-width:600px){.dialog-controls{top:-32px;margin:-32px -23px 12px;} .party-dialog .dialog-controls{margin-inline:-23px;}}
@media(max-width:420px){.header-shell .identity{display:grid;gap:5px;justify-items:start;}.header-shell .tagline{font-size:7px;max-width:86px;line-height:1.2;}.header-shell .header{height:auto;min-height:70px;gap:4px;}.header-shell .brand{font-size:28px;}.header-shell .brand:after{bottom:-5px;height:5px;}html{scroll-padding-top:84px;}}
@media(max-width:360px){.workshop-trio>.workshop{align-items:center;row-gap:14px;}.workshop-copy{display:contents;}.workshop-copy h3{grid-column:2;grid-row:1;}.workshop-trio .workshop-copy p{grid-column:1/-1;font-size:15px;line-height:1.55;margin:0;}.workshop-trio .workshop-photo{grid-column:1;grid-row:1;}}

/* Centered menu artwork; no font-dependent glyph metrics. */
.header-shell .menu-toggle{justify-content:center;}
.menu-icon{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:16px;flex:none;}
.menu-icon i{display:block;width:100%;height:2px;background:currentColor;border-radius:1px;}
@media(max-width:600px){.header-shell .menu-toggle{gap:0;}}
.faq-grid summary{-webkit-tap-highlight-color:transparent;}
dialog .close{border:0;background:transparent;box-shadow:none;display:grid;place-items:center;}
dialog .close:focus:not(:focus-visible){outline:none;}
dialog .close:focus-visible{outline:0;background:transparent;box-shadow:none;color:#1a677d;text-shadow:0 0 .5px currentColor;}
/* Keep vertical scrolling native; horizontal gestures belong to the dialog. */
dialog{touch-action:pan-y pinch-zoom;}

/* The close mark stays bare, including autofocus and press states. */
dialog .close,dialog .close:focus,dialog .close:active,dialog .close:hover{border:0;outline:0;box-shadow:none;background:transparent;}
dialog.dialog-swipe-active{user-select:none;will-change:transform,opacity;}
@media(max-width:600px){
 .workshop-copy h3{display:flex;flex-wrap:nowrap;font-size:clamp(20px,5.5vw,27px);gap:6px;}
 .workshop-copy h3>.icon{width:24px;height:24px;flex:0 0 24px;}
 .workshop-copy h3>span{white-space:nowrap;}
 .workshop-trio>.workshop{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}
}
@media(max-width:420px){
 .workshop-copy{display:contents;}
 .workshop-copy h3{grid-column:2;grid-row:1;margin-bottom:0;}
 .workshop-trio .workshop-copy p{grid-column:1/-1;font-size:15px;line-height:1.55;margin:0;}
 .workshop-trio .workshop-photo{grid-column:1;grid-row:1;}
}

/* Share the footer row: artwork never sits behind the action or its caption. */
#activity .activity-footer{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:18px;align-items:end;}
#activity .activity-actions{min-width:0;align-self:center;}
#activity .activity-actions .small{margin-bottom:0;}
#activity .activity-footer .timo-activity{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:600/668;max-width:none;}
@media(max-width:600px){
 #activity .activity-footer{grid-template-columns:minmax(0,1fr) clamp(88px,25vw,130px);gap:12px;}
 #activity .activity-actions .button{font-size:clamp(16px,4.5vw,20px);padding:12px 10px;min-height:44px;width:100%;white-space:normal;}
 #activity .activity-actions .small{font-size:12px;line-height:1.45;}
}
