/* Krtas v4 — immersive layer, loaded after styles.css and expansive.css.
   Keeps the approved ivory / ink / orange system, tibeb geometry and paper
   scroll. Adds depth, scale and scroll choreography. Hidden entrance states
   only apply under .fx-ready (set by immersive.js) and never while
   .motion-paused (pause button or reduced motion). */

:root{--ease-scene:cubic-bezier(.76,0,.24,1);--scroll-red:#953d2a;--parchment:#f3e8cd}

/* ---------- Grain: a quiet print texture over the whole page ---------- */
body::after{content:'';position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .15 0 0 0 0 .13 0 0 0 1.6 -.45'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Header: full bar at the top, floating capsule while reading ---------- */
body{padding-top:94px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;transition:top .55s var(--ease),left .55s var(--ease),right .55s var(--ease),height .55s var(--ease),padding .55s var(--ease),border-radius .55s var(--ease),background-color .4s,box-shadow .4s,translate .5s var(--ease)}
.site-header.is-compact{top:12px;left:max(12px,calc(50% - 600px));right:max(12px,calc(50% - 600px));height:64px;padding:0 12px 0 28px;border-radius:999px;background:#ede9dfdb;-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 14px 40px #2529231c,inset 0 0 0 1px #25292317}
.site-header.is-hidden{translate:0 calc(-100% - 34px)}
.site-header .brand{transition:width .55s var(--ease)}.site-header.is-compact .brand{width:104px}
.site-header.is-compact .header-cta{background:var(--ink);color:var(--paper);border:0;border-radius:999px;padding:10px 20px;min-height:42px}
.site-header.is-compact .header-cta:hover{background:var(--yellow);color:var(--ink)}
.scroll-thread{position:absolute;left:var(--page);right:var(--page);bottom:-1px;height:2px;background:var(--yellow);transform:scaleX(var(--page-p,0));transform-origin:left;opacity:0;transition:opacity .4s,left .55s var(--ease),right .55s var(--ease)}
.is-compact .scroll-thread{opacity:1;left:34px;right:34px;bottom:0}

/* ---------- Cursor ring (mouse only, decorative) ---------- */
.cursor-ring{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:0;height:0;opacity:0;transition:opacity .3s}
.cursor-ring.is-on{opacity:1}
.cursor-ring::before{content:'';position:absolute;left:-19px;top:-19px;width:38px;height:38px;border-radius:50%;border:1.5px solid #ede9df;mix-blend-mode:difference;transition:scale .45s var(--ease),background-color .3s,border-color .3s}
.cursor-ring.is-link::before{scale:1.55;background:#ede9df22}
.cursor-ring.is-view::before{scale:2.7;background:var(--yellow);border-color:var(--yellow);mix-blend-mode:normal}
.cursor-ring span{position:absolute;left:0;top:0;translate:-50% -50%;font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .25s}
.cursor-ring.is-view span{opacity:1;transition-delay:.12s}

/* ---------- Masked lines (shared) ---------- */
.mask-line{display:block;overflow:hidden;padding:0 .08em .16em 0;margin-bottom:-.16em}
.mask-line>span{display:block;transform-origin:0 100%}
.fx-ready:not(.motion-paused) .line-reveal .mask-line>span{transform:translateY(112%) rotate(4deg)}
.fx-ready:not(.motion-paused) .line-reveal.lines-in .mask-line>span{transform:none;transition:transform 1.15s var(--ease)}
.line-reveal.lines-in .mask-line:nth-child(2)>span{transition-delay:.11s!important}
.line-reveal.lines-in .mask-line:nth-child(3)>span{transition-delay:.22s!important}

/* ---------- Arrival: staged entrance + scroll parallax ---------- */
.hero{--hero-p:0}
.hero-copy{animation:none}
.hero h1 .mask-line>span{animation:line-rise 1.25s var(--ease) both}
.hero h1 .mask-line:nth-child(1)>span{animation-delay:.12s}
.hero h1 .mask-line:nth-child(2)>span{animation-delay:.24s}
.hero h1 .mask-line:nth-child(3)>span{animation-delay:.36s}
.hero h1 .mask-line:nth-child(1){translate:calc(var(--hero-p)*-9vw) 0}
.hero h1 .mask-line:nth-child(2){translate:calc(var(--hero-p)*6vw) 0}
.hero h1 .mask-line:nth-child(3){translate:calc(var(--hero-p)*-4vw) 0}
.hero-description,.hero-actions{animation:fade-rise 1s var(--ease) backwards;translate:0 calc(var(--hero-p)*-70px);opacity:calc(1 - var(--hero-p)*1.6)}
.hero-description{animation-delay:.6s}.hero-actions{animation-delay:.74s}
.hero-topline,.hero-bottom{animation:fade-in 1.2s .9s var(--ease) backwards}
.hero-art{animation:none}
.heritage-disc{animation:disc-in 1.5s .05s var(--ease) backwards;scale:calc(1 + var(--hero-p)*.75);rotate:calc(var(--hero-p)*-55deg)}
.mascot-wrap{animation:gelada-in 1.4s .3s var(--ease) backwards;translate:calc(var(--hero-p)*40px) calc(var(--hero-p)*-150px)}
.creative-stamp{animation:stamp-in 1s .95s var(--ease) backwards}
.art-note,.art-edition{animation:fade-in 1s 1.1s var(--ease) backwards}
/* A ring of small tibeb diamonds orbits the disc. */
.heritage-disc::after{content:'';position:absolute;inset:-26px;border-radius:50%;background:radial-gradient(circle at 50% 0,var(--ink) 0 4px,transparent 5px),radial-gradient(circle at 100% 50%,var(--yellow) 0 5px,transparent 6px),radial-gradient(circle at 50% 100%,var(--ink) 0 3px,transparent 4px),radial-gradient(circle at 0 50%,var(--yellow) 0 4px,transparent 5px);border:1px dashed #25292338;animation:disc-turn 34s linear infinite reverse}
.offscreen .heritage-disc::after,.document-hidden .heritage-disc::after{animation-play-state:paused}
@keyframes line-rise{from{transform:translateY(112%) rotate(5deg)}}
@keyframes fade-rise{from{opacity:0;translate:0 26px}}
@keyframes fade-in{from{opacity:0}}
@keyframes disc-in{from{scale:.35;rotate:-90deg;opacity:0}}
@keyframes gelada-in{from{translate:60px 140px;opacity:0}}
@keyframes stamp-in{from{scale:0;rotate:-120deg}}

/* ---------- Crossing ribbons: the seam between ivory and ink ---------- */
.creative-strip{position:relative;padding:74px 0;background:linear-gradient(var(--paper) 50%,var(--ink) 50%);border:0;overflow:hidden;color:inherit}
.ribbon{position:relative;width:112%;margin-left:-6%;padding:20px 0;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.ribbon-a{background:var(--yellow);color:var(--ink);rotate:-3.2deg;z-index:2;box-shadow:0 18px 40px #25292330}
.ribbon-b{background:var(--parchment);color:var(--ink);rotate:2.6deg;margin-top:-64px;z-index:1;padding:15px 0}
.ribbon-b .strip-track{animation-direction:reverse}
.ribbon-b .strip-track>span{font-size:22px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.ribbon-b .strip-track b{color:var(--scroll-red);font-size:26px}
.fx-ready .creative-strip .strip-track{animation:none;will-change:transform}

/* ---------- Tibeb statement: a warm light grows behind the words ---------- */
.roots-sticky::after{content:'';position:absolute;left:50%;top:50%;width:80vmax;height:80vmax;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#ef692f3d 0,#ef692f12 35%,transparent 62%);scale:calc(.35 + var(--unfold,1)*.75);opacity:calc(.15 + var(--unfold,1)*.85);pointer-events:none;z-index:0}
.roots-copy{scale:calc(.9 + var(--line-two,1)*.1)}

/* ---------- Paper scroll: tilts up off the table as it unrolls ---------- */
.paper-sticky{perspective:1500px}
.brand-scroll{z-index:2}
.story-ready:not(.motion-paused) .brand-scroll{transform:rotateX(calc((1 - var(--paper-open,1))*52deg)) rotate(calc(-1.5deg + (1 - var(--paper-open,1))*-5deg)) scale(calc(.82 + var(--paper-open,1)*.18));transform-origin:50% 60%}
.paper-marks{position:absolute;inset:0;pointer-events:none;z-index:1;font-family:Ethiopic,EthiopicStory,Nyala,serif}
.paper-marks span{position:absolute;left:50%;top:50%;line-height:1;color:var(--scroll-red);translate:calc(-50% + var(--x)*var(--paper-open,1)) calc(-50% + var(--y)*var(--paper-open,1));rotate:calc(var(--r)*var(--paper-open,1));opacity:calc(var(--paper-open,1)*var(--o,.8));font-size:var(--s)}
.paper-marks span:nth-child(1){--x:-40vw;--y:-28vh;--r:-18deg;--s:74px}
.paper-marks span:nth-child(2){--x:41vw;--y:-30vh;--r:24deg;--s:46px;--o:.55}
.paper-marks span:nth-child(3){--x:43vw;--y:20vh;--r:12deg;--s:88px}
.paper-marks span:nth-child(4){--x:-43vw;--y:15vh;--r:0deg;--s:50px;--o:.6}
.paper-marks span:nth-child(5){--x:-33vw;--y:36vh;--r:-30deg;--s:40px;--o:.5}
.paper-marks span:nth-child(6){--x:33vw;--y:38vh;--r:40deg;--s:34px;--o:.5;color:var(--ink)}
.paper-marks span:nth-child(7){--x:-35vw;--y:-40vh;--r:15deg;--s:30px;--o:.45;color:var(--ink)}
.paper-marks span:nth-child(8){--x:36vw;--y:-6vh;--r:-12deg;--s:28px;--o:.45;color:var(--ink)}

/* ---------- Selected work: vertical scroll drives a horizontal gallery ---------- */
.work-section{position:relative}
.project-media{transform:perspective(1000px) rotateY(calc(var(--tilt-x,0)*1deg)) rotateX(calc(var(--tilt-y,0)*1deg));transition:transform .6s var(--ease),background .4s var(--ease)}
.project-media img{transition:transform .9s var(--ease)}
.project-media:hover img{scale:1.04}
.vertex-frame{position:relative}
.vertex-reel{position:absolute;inset:15px;width:calc(100% - 30px);height:calc(100% - 30px);object-fit:cover;opacity:0;transition:opacity .6s}
.vertex-frame.reel-on .vertex-reel{opacity:1}
.work-hint,.work-progress{display:none}
.work-enhanced{padding:0!important}
.work-enhanced .work-stage{position:sticky;top:0;height:100svh;overflow:clip;display:flex;align-items:center}
.work-enhanced .work-track{display:flex;align-items:center;gap:8vw;width:max-content;height:100%;padding:0 12vw 30px var(--page)}
.work-enhanced .section-heading{flex:0 0 min(620px,42vw);display:block;margin:0}
.work-enhanced .section-heading h2{font-size:clamp(84px,8.6vw,156px);line-height:.98;letter-spacing:-.06em}
.work-enhanced .section-heading>p{padding-top:36px;max-width:330px;font-size:14px}
.work-enhanced .work-hint{display:inline-flex;align-items:center;gap:14px;margin-top:44px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.work-enhanced .work-hint b{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--yellow);font-weight:400;font-size:18px;animation:nudge 1.8s var(--ease) infinite}
.work-enhanced .work-grid{display:flex;align-items:center;gap:8vw}
.work-enhanced .project-card,.work-enhanced .project-card:nth-child(even){flex:0 0 auto;width:min(60vw,1000px);display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;position:relative;rotate:calc(var(--dist,0)*3.2deg);translate:0 calc(var(--adist,0)*46px);scale:calc(1 - var(--adist,0)*.07)}
.work-enhanced .project-card::before{content:attr(data-num);position:absolute;right:-.12em;top:-.3em;z-index:-1;font-family:var(--ethiopic);font-size:min(34svh,330px);line-height:1;color:transparent;-webkit-text-stroke:1.5px #25292330;translate:calc(var(--dist,0)*-160px) 0;pointer-events:none}
.work-enhanced .project-media{height:min(56svh,580px);padding:60px 60px 90px}
.work-enhanced .project-media>div{translate:calc(var(--dist,0)*-48px) 0}
.work-enhanced .project-caption{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:28px;padding:22px 0 0;border-top:1px solid var(--ink);margin-top:22px}
.work-enhanced .project-caption h3{font-size:clamp(30px,2.7vw,48px);max-width:none}
.work-enhanced .project-caption-link{margin:0 0 0 auto}
.work-enhanced .project-panastra{padding:55px 30px 80px}
.work-enhanced .work-footer{flex:0 0 min(520px,36vw);display:flex;flex-direction:column;align-items:flex-start;gap:34px;margin:0;padding:0;border:0}
.work-enhanced .work-footer>span{font-family:var(--display);font-size:clamp(46px,4.6vw,84px);line-height:1;letter-spacing:-.05em;font-weight:500}
.work-enhanced .work-progress{display:flex;align-items:center;gap:26px;position:absolute;left:var(--page);right:var(--page);bottom:30px;font-size:10px;letter-spacing:.12em}
.work-count{font-size:13px;white-space:nowrap}.work-count b{font-size:22px;color:var(--yellow);font-weight:400}
.work-bar{flex:1;height:1px;background:var(--line);position:relative}
.work-bar i{position:absolute;left:0;top:-1px;height:3px;width:100%;background:var(--ink);transform:scaleX(var(--work-p,0));transform-origin:left}
@keyframes nudge{50%{translate:8px 0}}

/* ---------- Studio: sticky editorial half, live rows and a tibeb cube ---------- */
.studio-section{position:relative;overflow:clip;--studio-p:.35}
.service{position:relative;isolation:isolate}
.service summary{position:relative}
.service summary::before{content:'';position:absolute;inset:0 -22px;z-index:-1;background:var(--yellow);transform:scaleY(0);transform-origin:50% 100%;transition:transform .55s var(--ease)}
.service summary:hover::before,.service[open] summary::before{transform:scaleY(1)}
.service[open] summary::before{background:#ef692f2e}
.service h3{font-size:clamp(28px,3vw,52px);letter-spacing:-.045em;transition:translate .55s var(--ease)}
.service summary:hover h3{translate:16px 0}
.service-list{display:flex;flex-direction:column}
.service summary::before{transition:transform .6s cubic-bezier(.65,0,.25,1),background-color .6s}
.service-plus{transition:transform .6s cubic-bezier(.65,0,.25,1)}
.service-content{will-change:height}
.service.is-closing summary:not(:hover)::before{transform:scaleY(0)}
.service.is-closing .service-plus{transform:none}
.tibeb-cube-stage{position:relative;width:240px;height:240px;margin-top:40px;perspective:900px}
.tibeb-cube{position:absolute;left:40px;top:30px;width:150px;height:150px;transform-style:preserve-3d;transform:rotateX(calc(-28deg + var(--studio-p)*36deg)) rotateY(calc(var(--studio-p)*200deg - 40deg)) rotateZ(calc(var(--studio-p)*-10deg))}
.cube-spin{position:absolute;inset:0;transform-style:preserve-3d;animation:cube-turn 24s linear infinite}
.face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px 16px;font-style:normal;border:1px solid var(--ink);backface-visibility:hidden}
.face b{font-family:var(--ethiopic);font-size:58px;line-height:1;font-weight:400}
.face small{font-size:9px;letter-spacing:.16em;font-weight:600;align-self:flex-end}
.f-front{background:var(--yellow);transform:translateZ(75px)}
.f-back{background:var(--ink);color:var(--paper);transform:rotateY(180deg) translateZ(75px)}
.f-back b{color:var(--yellow)}
.f-right{background:var(--parchment);transform:rotateY(90deg) translateZ(75px)}
.f-right b{color:var(--scroll-red)}
.f-left{background:#c3cbb9;transform:rotateY(-90deg) translateZ(75px)}
.f-top{background:var(--ink) url('assets/web/weave.svg') center/75px;transform:rotateX(90deg) translateZ(75px)}
.f-bottom{background:#c9531f;transform:rotateX(-90deg) translateZ(75px)}
.cube-shadow{position:absolute;left:40px;bottom:6px;width:150px;height:22px;border-radius:50%;background:radial-gradient(#25292348,transparent 70%)}
.offscreen .cube-spin,.document-hidden .cube-spin{animation-play-state:paused}
@keyframes cube-turn{to{transform:rotateY(360deg)}}
@media(min-width:901px){.studio-section{align-items:start}.studio-intro{position:sticky;top:110px}.tibeb-cube-stage{position:absolute;right:0;bottom:-30px;margin:0}.service summary{padding:44px 0}}

/* ---------- Course prominence: badges in nav and hero ---------- */
.nav-badge{display:inline-block;font:700 9px/1 var(--body);letter-spacing:.09em;text-transform:uppercase;background:var(--yellow);color:var(--ink);padding:4px 7px;border-radius:999px;margin-left:5px;vertical-align:2px}
.mobile-nav .nav-badge{margin-left:10px;margin-right:auto;font-size:10px}
.hero-course{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:7px 18px 7px 7px;border:1px solid #25292345;border-radius:999px;font-size:12px;font-weight:600;transition:background-color .35s,color .35s,gap .35s var(--ease);animation:fade-rise 1s .88s var(--ease) backwards;translate:0 calc(var(--hero-p)*-70px);opacity:calc(1 - var(--hero-p)*1.6)}
.hero-course .nav-badge{margin:0;padding:6px 9px}
.hero-course:hover{background:var(--ink);color:var(--paper);gap:18px}

/* ---------- Course: a direct, full-width invitation ---------- */
.learn-section{display:block;padding:0 var(--page) 120px;gap:0}
.learn-section::before{display:none}
.course-ribbon{margin:0 calc(var(--page)*-1);background:var(--ink);color:var(--paper);padding:16px 0;overflow:hidden}
.course-ribbon .strip-track{animation-duration:30s}
.course-ribbon .strip-track>span{font-family:var(--display);font-size:22px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.course-ribbon .strip-track b{font-family:var(--ethiopic);color:var(--yellow);font-size:26px;font-weight:400}
.learn-head{padding-top:70px}
.learn-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #25292345;padding-bottom:20px;margin-bottom:44px}
.learn-topline .course-status{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:999px}
.learn-topline .status-dot{background:var(--yellow);animation:course-pulse 1.8s ease-in-out infinite}
@keyframes course-pulse{50%{box-shadow:0 0 0 6px #ef692f55}}
.learn-section .learn-title{font-size:clamp(68px,9vw,172px);line-height:.95;letter-spacing:-.065em;font-weight:600;margin:0}
.learn-lead{display:flex;justify-content:space-between;align-items:flex-end;gap:6vw;margin-top:40px}
.learn-section .learn-description{font-size:clamp(16px,1.35vw,20px);line-height:1.6;max-width:560px;margin:0}
.learn-ctas{display:flex;align-items:center;gap:30px;flex-shrink:0}
.learn-ctas .button{background:var(--ink);color:var(--paper);border-color:var(--ink);padding:21px 30px;font-size:14px}
.learn-ctas .button:hover{background:var(--paper);color:var(--ink)}
.learn-ctas .text-link{font-size:14px}
.learn-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;margin-top:80px}
.learn-section .learning-paper .paper-headline{font-size:clamp(54px,5.4vw,80px)}
.learn-steps{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid #25292355}
.learn-steps li{display:flex;align-items:flex-start;gap:22px;padding:18px 0;border-bottom:1px solid #25292355}
.learn-steps b{font-size:30px;line-height:1;font-weight:400;width:34px;flex-shrink:0}
.learn-steps h3{font-size:clamp(20px,1.7vw,26px);font-weight:600;letter-spacing:-.03em}
.learn-steps p{font-size:13px;line-height:1.6;margin-top:4px}
.learn-section .course-form{margin:0;background:var(--paper);padding:32px 34px 26px;box-shadow:14px 16px 0 var(--ink)}
.learn-section .course-form>.button{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.learn-section .course-form>.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@media(max-width:1100px){.learn-lead{flex-direction:column;align-items:flex-start;gap:28px}.learn-body{gap:5vw}}
@media(max-width:800px){.learn-body{grid-template-columns:1fr;gap:60px}.learn-art{max-width:420px;width:100%;margin:0 auto}}
@media(max-width:700px){
  .learn-section{padding:0 var(--page) 70px}
  .course-ribbon{padding:12px 0}.course-ribbon .strip-track>span{font-size:16px}.course-ribbon .strip-track b{font-size:19px}
  .learn-head{padding-top:44px}
  .learn-topline{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:30px}
  .learn-topline .course-status{font-size:9px;padding:8px 14px}
  .learn-section .learn-title{font-size:clamp(46px,13.4vw,84px);line-height:.98}
  .learn-lead{margin-top:26px}
  .learn-section .learn-description{font-size:15px}
  .learn-ctas{flex-direction:column;align-items:stretch;gap:16px;width:100%}
  .learn-ctas .button{justify-content:space-between}
  .learn-ctas .text-link{align-self:flex-start}
  .learn-body{margin-top:56px;gap:50px}
  .learn-section .course-form{padding:24px 20px 20px;box-shadow:8px 10px 0 var(--ink)}
  .hero-course{font-size:11px;margin-top:22px}
}

/* ---------- Course: the orange panel opens like an aperture ---------- */
.learn-section{--learn-open:1}
.fx-ready:not(.motion-paused) .learn-section{clip-path:inset(calc((1 - var(--learn-open))*9%) calc((1 - var(--learn-open))*6%) round calc((1 - var(--learn-open))*64px))}
.learn-art{scale:calc(.86 + var(--learn-open)*.14)}

/* ---------- Contact: tibeb drifts, the gelada rises to point at the invitation ---------- */
.contact-section{position:relative;overflow:hidden;isolation:isolate;--contact-p:1}
.contact-section>*:not(.contact-weave):not(.contact-gelada){position:relative;z-index:2}
.contact-weave{position:absolute;inset:-10%;z-index:0;background:url('assets/web/weave.svg') center/150px;opacity:.06;rotate:-8deg;translate:0 calc((1 - var(--contact-p))*120px)}
.contact-gelada{position:absolute;z-index:1;right:1vw;bottom:-14%;width:min(620px,44vw);pointer-events:none;translate:0 calc((1 - var(--contact-p))*75%);rotate:calc((1 - var(--contact-p))*8deg);transform-origin:80% 100%;filter:drop-shadow(0 -10px 40px #00000040)}
.contact-arrow{transition:transform .5s var(--ease),translate .3s var(--ease)}
.contact-bottom{justify-content:flex-start;gap:8vw;max-width:62%}
.contact-bottom .contact-email{order:-1}

/* ---------- Footer: the name, set large ---------- */
.site-footer{position:relative;overflow:hidden;padding-bottom:0}
.footer-wordmark{width:100%;display:flex;align-items:flex-end;font-family:var(--display);font-weight:700;font-size:clamp(120px,39vw,760px);line-height:.74;letter-spacing:-.075em;margin-top:6px;padding-top:.06em;overflow:hidden;color:var(--ink)}
.footer-wordmark b{color:var(--yellow);font-weight:700}
.fx-ready:not(.motion-paused) .footer-wordmark>*{display:inline-block;transform:translateY(60%);transition:transform 1.3s var(--ease)}
.fx-ready:not(.motion-paused) .footer-wordmark b{transition-delay:.18s}
.footer-wordmark.lines-in>*{transform:none!important}

/* ---------- Responsive ---------- */
@media(max-width:1100px){.tibeb-cube-stage{scale:.85;transform-origin:right bottom}}
@media(max-width:900px){.studio-intro{position:static}.tibeb-cube-stage{margin:30px 0 0 -30px}}
@media(max-width:700px){
  body{padding-top:80px}
  .site-header.is-compact{top:10px;left:10px;right:10px;height:58px;padding:0 18px 0 20px}
  .site-header.is-compact .brand{width:96px}
  .site-header.is-compact .mobile-nav{top:calc(100% + 8px);border-radius:24px;border:1px solid #25292320}
  .is-compact .scroll-thread{left:26px;right:26px}
  .hero h1 .mask-line:nth-child(n){translate:none}
  .heritage-disc{scale:calc(1 + var(--hero-p)*.35)}
  .mascot-wrap{translate:0 calc(var(--hero-p)*-60px)}
  .creative-strip{padding:46px 0}
  .ribbon{padding:14px 0}.ribbon-a{rotate:-4deg}.ribbon-b{rotate:3deg;margin-top:-44px;padding:11px 0}
  .ribbon-b .strip-track>span{font-size:15px}.ribbon-b .strip-track b{font-size:18px}
  .paper-marks span:nth-child(n+5){display:none}
  .paper-marks span{font-size:calc(var(--s)*.5)}
  .paper-marks span:nth-child(1){--x:-38vw;--y:-34vh}.paper-marks span:nth-child(2){--x:38vw;--y:-35vh}.paper-marks span:nth-child(3){--x:36vw;--y:33vh}.paper-marks span:nth-child(4){--x:-38vw;--y:33vh}
  .tibeb-cube-stage{scale:.8;margin:20px 0 -30px -24px;transform-origin:left top}
  .service summary::before{inset:0 -12px}
  .contact-gelada{width:78vw;right:-14vw;bottom:-6%;opacity:.95}
  .contact-bottom{max-width:none;padding-bottom:120px}
  .footer-wordmark{font-size:38vw}
}
@media(max-width:360px){.contact-gelada{width:84vw;right:-20vw}}

/* ---------- Paused, reduced motion, no enhancement: settled compositions ---------- */
.motion-paused .hero,.motion-paused .learn-section,.motion-paused .contact-section{--hero-p:0!important;--learn-open:1!important;--contact-p:1!important}
.motion-paused .learn-section{clip-path:none!important}
.motion-paused .heritage-disc,.motion-paused .mascot-wrap,.motion-paused .hero h1 .mask-line,.motion-paused .hero-description,.motion-paused .hero-actions,.motion-paused .hero-course{translate:none!important;scale:none!important;rotate:none!important;opacity:1!important}
.motion-paused .site-header{transition:none}
.motion-paused .hero h1 .mask-line>span,.motion-paused .hero-course,.motion-paused .hero-description,.motion-paused .hero-actions,.motion-paused .hero-topline,.motion-paused .hero-bottom,.motion-paused .heritage-disc,.motion-paused .mascot-wrap,.motion-paused .creative-stamp,.motion-paused .art-note,.motion-paused .art-edition{animation:none!important}
.motion-paused .cursor-ring{display:none}
@media(prefers-reduced-motion:reduce){.cursor-ring{display:none}.learn-section{clip-path:none!important}.heritage-disc,.mascot-wrap,.hero h1 .mask-line{translate:none!important;scale:none!important;rotate:none!important}.hero-description,.hero-actions,.hero-course{translate:none!important;opacity:1!important}}
