/* TOBIRA composition: Enter's spacious stage, with existing product controls. */
.enter-home{--ink:#1e1e24;--muted:#72716e;--paper:#fff;--focus:#3370ff;background:#fff;line-height:1.7}
.enter-home::before{display:none}
.enter-home :is(h1,h2,h3){letter-spacing:-.035em;word-break:normal;overflow-wrap:break-word;line-break:strict;text-wrap:balance}
.enter-home h2>span{display:block}
.enter-home :is(button,.button,.text-button,.desktop-nav a,.login-link){line-height:1.5;align-items:center;justify-content:center}
.enter-home .site-header{height:72px;padding:0 36px;gap:20px;background:#ffffffeb;box-shadow:none}
.enter-home .desktop-nav{margin-left:0;gap:30px}
.enter-home .desktop-nav a,.enter-home .login-link{display:inline-flex;min-height:44px;white-space:nowrap}
.enter-home .header-actions{gap:20px}
.enter-home .brand{font-size:21px;letter-spacing:-.04em}
.enter-home .button-small{font-size:13px;min-height:40px;padding:9px 20px}
.enter-home .mobbin-hero{position:relative;isolation:isolate;background:#f9f9f9;height:max(830px,calc(100svh - 72px));min-height:830px;padding:0;display:grid;place-items:center;overflow:clip}
.enter-home .mobbin-hero .hero-copy{z-index:2;padding:0 24px;margin-top:-30px;pointer-events:auto;width:100%}
.enter-home .hero h1{font-size:clamp(40px,4.1vw,60px);line-height:1.35;letter-spacing:-.045em;font-weight:650}
.enter-home .hero-copy>p{font-size:16px;line-height:1.9;margin:22px auto 0;max-width:540px;color:#777774}
.enter-home .hero-actions{margin-top:24px;gap:16px}
.enter-home .hero-actions .button{font-size:14px;min-height:48px}
.enter-door{display:block;width:84px;height:100px;margin:0 auto 26px;position:relative;border-radius:50% 50% 0 0 / 42% 42% 0 0;background:linear-gradient(150deg,#ffe6ba,#ffd0c6 50%,#fd9875);perspective:350px}
.enter-door-leaf{display:block;position:absolute;inset:0;border-radius:inherit;background:#f9f9f9;box-shadow:inset 0 0 0 1px #777;transform-origin:0 50%;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.enter-door:hover .enter-door-leaf,.enter-door:focus-visible .enter-door-leaf{transform:rotateY(-68deg)}
.enter-hero-works{position:absolute;inset:0;z-index:1;pointer-events:none}
.enter-hero-work{position:absolute;display:block;pointer-events:auto;width:165px;aspect-ratio:1.7;overflow:hidden;border-radius:4px;will-change:transform}
.enter-hero-work img{width:100%;height:100%;object-fit:cover;object-position:top}
.enter-hero-work--1{left:15%;top:13%;width:150px}
.enter-hero-work--2{right:21%;top:4%;width:110px;aspect-ratio:.7}
.enter-hero-work--3{right:0;top:27%;width:215px}
.enter-hero-work--4{left:-2%;top:47%;width:215px}
.enter-hero-work--5{left:17%;bottom:8%;width:155px}
.enter-hero-work--6{left:50%;bottom:-3%;width:250px}
.enter-hero-work--7{right:6%;bottom:17%;width:120px;aspect-ratio:.85}
.enter-brands{padding:24px 24px 70px;background:#fff}
.enter-brands .library-brands{margin:0 auto;max-width:1040px}
.enter-home .library-sticky>.orbit-field,.enter-home .library-sticky>.hero-icon-stack{display:none}
.enter-home .patterns-section{padding:110px 0 90px;margin:0;background:white;overflow:clip}
.enter-home .section-heading.centered h2{font-size:clamp(30px,4vw,54px);line-height:1.4}
.enter-home .pattern-tabs{background:none;border-radius:0;margin:40px auto 65px;padding:0;gap:16px;max-width:calc(100% - 40px);width:max-content}
.enter-home .pattern-tabs button{font-size:20px;font-weight:500;padding:12px 14px;color:#a19d99;white-space:nowrap;min-height:52px}
.enter-home .pattern-tabs button[aria-selected=true]{color:#1e1e24}
.enter-home .tab-indicator{top:auto;bottom:0;height:2px;background:#1e1e24;box-shadow:none;border-radius:0}
.enter-home .pattern-viewport{mask-image:none;padding:0 0 16px}
.enter-home .pattern-track{gap:20px}
.enter-home .pattern-card{width:335px;display:flex;flex-direction:column;flex-shrink:0;background:none;overflow:visible}
.enter-home .pattern-card .pattern-image{order:0;height:405px;aspect-ratio:auto;border-radius:16px;overflow:hidden;background:#f4f3f0}
.enter-home .pattern-card .pattern-image img{width:100%;height:100%;object-fit:cover;object-position:top}
.enter-home .pattern-label{order:1;padding:18px 0 0;font-size:23px;line-height:1.5;white-space:normal;color:#1e1e24;position:static;background:none;text-align:left}
.enter-home .product-showcase{max-width:1440px;padding:120px 40px;margin:0 auto;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.35fr);align-items:center;gap:60px;overflow:visible}
.enter-eyebrow{display:block;font-size:12px;letter-spacing:.13em;color:#8b8782;margin-bottom:24px}
.enter-step-copy h2{font-size:clamp(32px,3.4vw,48px);line-height:1.45}
.enter-step-copy p{margin-top:24px;font-size:15px;line-height:2}
.enter-step-copy .text-button{margin-top:26px}
.enter-home .product-window{width:100%;border-radius:18px;box-shadow:0 12px 65px #29251e0a;margin:0;background:#f4f3f0}
.enter-home .product-chrome{padding:20px;gap:16px;flex-wrap:wrap}
.enter-home .discovery-surface{background:#f4f3f0;padding:20px}
.enter-home .discovery-controls{align-items:flex-start;flex-direction:column;gap:14px}
.enter-home .filter-chips{gap:2px}
.enter-home .filter-chips button{padding:8px 12px}
.enter-home .work-image{border-radius:5px}
.enter-home .journeys{max-width:1440px;padding:110px 40px;margin:0 auto}
.enter-home .journeys>.section-heading{margin-bottom:70px}
.enter-home .journey-grid{display:grid;grid-template-columns:1fr;gap:110px}
.enter-home .journey-grid>article{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.35fr);column-gap:60px;align-items:center}
.enter-home .journey-grid>article .journey-cover{grid-column:2;grid-row:1 / 4;width:100%;margin:0;height:560px;border-radius:18px;background:#f4f3f0}
.enter-home .journey-grid h3{grid-column:1;font-size:32px;align-self:end;margin:0 0 20px}
.enter-home .journey-grid .text-button{grid-column:1;justify-content:flex-start;align-self:start}
.enter-home .journey-cover video{object-fit:contain}
.enter-home .creation{max-width:1360px;margin:0 auto;padding:130px 40px}
.enter-home .creation-cover{border-radius:18px}
.enter-home .creation-grid h3{line-height:1.65;margin-top:20px}
.enter-home .closing-section{background:#fff;isolation:isolate}
.footer-journal-gradient{position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 78%,transparent)}
.footer-journal-gradient canvas{display:block;width:100%;height:100%}
/* Source orbit stage. The text is outside the 3D stage so Japanese stays crisp. */
.enter-anything{height:calc(max(100vh,760px) + var(--anything-scroll-distance,295.8365vh) - 100vh);position:relative;background:#fff}
.enter-anything-sticky{position:sticky;top:0;height:100vh;min-height:760px;overflow:clip;isolation:isolate}
.anything-scene{position:absolute;inset:0;overflow:hidden;background:#fff;contain:layout paint style}
.enter-home .anything-scene__title{font-family:inherit;font-size:clamp(32px,3.2vw,46px);line-height:1.4;letter-spacing:-.035em;gap:5px;max-width:calc(100% - 48px);margin:0;z-index:2}
.enter-home .anything-scene__title>span{display:inline;white-space:nowrap}
.enter-home .anything-scene__rotating-word{margin:0 4px;padding:.06em .23em .12em;line-height:1.4;min-height:1.6em;background:#3370ff;white-space:nowrap;letter-spacing:inherit;align-self:center;position:relative}
.enter-word{display:inline-flex;white-space:nowrap}
.enter-word>span{display:inline-block}
.enter-home .library-scroll{background:white}
.enter-home .library-message h2{line-height:1.5}
.enter-home .library-line{line-height:1.45}
@media(max-width:1100px){
 .enter-home .site-header{padding:0 22px}.enter-home .desktop-nav{gap:18px}.enter-home .header-actions{gap:12px}
 .enter-home .product-showcase,.enter-home .journey-grid>article{gap:30px}
 .enter-home .anything-scene__title{font-size:32px}
 .enter-hero-work--3{right:-7%}.enter-hero-work--4{left:-9%}
}
@media(max-width:900px){
 .enter-home .desktop-nav{display:none}.enter-home .mobile-menu-button{display:inline-grid}.enter-home .mobile-nav:not([hidden]){display:flex}
 .enter-home .site-header{height:64px;padding:0 20px}.enter-home .login-link{display:none}
 .enter-home .mobbin-hero{height:800px;min-height:800px}
 .enter-home .hero h1{font-size:clamp(28px,5vw,42px)}
 .enter-hero-work--1{left:5%;top:9%;width:110px}.enter-hero-work--2{right:7%;top:6%;width:80px}
 .enter-hero-work--3{top:29%;right:-50px;width:120px}.enter-hero-work--4{top:52%;left:-80px;width:130px}
 .enter-hero-work--5{bottom:10%;left:8%;width:115px}.enter-hero-work--6{width:165px;bottom:3%;left:47%}.enter-hero-work--7{bottom:20%;right:-25px;width:85px}
 .enter-home .product-showcase{display:block;padding:90px 24px}.enter-step-copy{margin-bottom:45px}
 .enter-home .journeys{padding:80px 24px}.enter-home .journey-grid{gap:65px}.enter-home .journey-grid>article{display:flex;flex-direction:column;align-items:stretch;gap:0}.enter-home .journey-grid h3{order:-1;align-self:stretch;font-size:26px}.enter-home .journey-grid .text-button{margin-top:12px;align-self:flex-start}
 .enter-home .journey-grid>article .journey-cover{height:480px}
 .enter-anything{height:auto}.enter-anything-sticky{position:relative;height:var(--anything-mobile-height,800px);min-height:0}
 .anything-scene__mobile-copy{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:flex-start;left:clamp(20px,4.5vw,40px);top:clamp(28px,7vw,64px);width:calc(100% - 40px)}
 .anything-scene__mobile-copy h2{font-size:clamp(30px,6vw,48px);line-height:1.5;letter-spacing:-.035em;text-wrap:balance}
 .anything-scene__mobile-copy .button{margin-top:22px;font-size:15px;min-height:48px}
 .anything-scene__stage{left:auto;right:calc(var(--anything-mobile-right,-864px) + 30px);top:auto;bottom:calc(clamp(48px,10vw,96px) - 40px);transform:scale(var(--anything-mobile-scale,.8));transform-origin:bottom right}
 .enter-home .anything-scene__title{display:none}
 .enter-home .creation{padding:90px 24px}
}
@media(max-width:600px){
 .enter-home .site-header{gap:10px;padding:0 16px}.enter-home .brand{gap:7px;font-size:18px}.enter-home .brand img{width:18px;height:25px}.enter-home .header-actions{gap:8px}.enter-home .button-small{font-size:11px;padding:9px 12px}
 .enter-home .mobbin-hero{min-height:740px;height:calc(100svh - 64px)}
 .enter-home .mobbin-hero .hero-copy{padding:0 16px;margin-top:-15px}
 .enter-door{width:62px;height:76px;margin-bottom:24px}
 .enter-home .hero h1{font-size:clamp(24px,6.6vw,36px);line-height:1.5;letter-spacing:-.04em}
 .enter-home .hero-copy>p{font-size:13px;max-width:330px;line-height:1.95;margin-top:20px}
 .enter-home .hero-actions{gap:10px;flex-wrap:wrap}.enter-home .hero-actions .button{font-size:12px;min-height:44px;padding:11px 17px}
 .enter-home .patterns-section{padding:80px 0 30px}.enter-home .section-heading.centered h2{font-size:clamp(25px,6.5vw,34px);line-height:1.5}
 .enter-home .pattern-tabs{gap:0;margin:25px auto 36px;max-width:calc(100% - 24px);display:grid;grid-template-columns:repeat(4,1fr);width:100%}
 .enter-home .pattern-tabs button{font-size:clamp(9px,2.5vw,13px);padding:10px 3px;min-width:0;min-height:44px}
 .enter-home .pattern-card{width:260px}.enter-home .pattern-card .pattern-image{height:330px}.enter-home .pattern-label{font-size:20px;padding-top:14px}
 .enter-home .product-showcase{padding:65px 16px}.enter-step-copy{padding:0 8px}.enter-step-copy h2{font-size:30px}
 .enter-home .product-chrome{padding:14px 12px;gap:12px;font-size:11px}.enter-home .discovery-surface{padding:14px 12px}.enter-home .discovery-grid{gap:16px 10px;grid-template-columns:repeat(2,minmax(0,1fr))}.enter-home .filter-chips button{font-size:10px;padding:8px 9px}.enter-home .search-field{width:100%}
 .enter-home .journey-grid>article .journey-cover{height:390px}.enter-home .journeys{padding:70px 20px}
 .enter-home .creation{padding:80px 20px}.enter-home .creation-grid{gap:45px}
 .enter-home .library-message h2{font-size:22px;padding:0 20px}.enter-home .library-line{font-size:clamp(22px,6vw,30px)}
 .enter-home .anything__image-base{object-fit:cover;object-position:top}
}
@media(prefers-reduced-motion:reduce){
 .enter-home{scroll-behavior:auto}.enter-door-leaf{transition:none}
 .enter-anything{height:100vh;min-height:760px}.enter-anything-sticky{position:relative}
 @media(max-width:900px){.enter-anything{height:auto;min-height:0}}
}
/* Reset inherited Mobbin shell sizing at the composition boundary. */
.enter-home .site-header{top:0;left:0;transform:none;width:100%;max-width:none;border-radius:0}
.enter-home .mobbin-hero{margin-top:72px}
.enter-home .product-showcase{height:auto;border-radius:0;background:white}
.enter-home .product-showcase::after{display:none}
.enter-home .product-window{transform:none;max-width:100%}
.enter-home .product-showcase .discovery-controls{flex-direction:column;align-items:stretch}
.enter-home .product-showcase .search-field{max-width:100%;min-width:0}
.enter-home .product-showcase .work-image{padding:0;aspect-ratio:1.5;border-radius:6px}
.enter-home .product-showcase .work-image>img{height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none}
.enter-home .product-showcase .discovery-surface{background:#f4f3f0}
.enter-home .anything__image-base{object-fit:cover;object-position:top}
@media(max-width:900px){.enter-home .mobbin-hero{margin-top:64px}.enter-home .mobile-nav{top:64px;left:0;right:0;border-radius:0 0 20px 20px}}
@media(max-width:760px){.enter-home .site-header .header-actions .button{display:inline-flex}.enter-home .product-showcase .discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enter-home .product-showcase .search-field{width:100%}}

.enter-word-exit{position:absolute;left:.23em;top:.06em;pointer-events:none}
@media(max-width:600px){
 .enter-hero-work--4{top:24%;left:-75px;width:115px}
 .enter-hero-work--7{bottom:10%;right:-40px;width:85px}
}

.enter-home .public-footer{background:#fff;color:#1e1e24}
.enter-home .public-footer nav a:hover{color:#72716e}

/* Phone orbit is centered below its heading instead of offset beyond the screen. */
@media(max-width:900px){
 .enter-anything .enter-anything-sticky{height:clamp(520px,125vw,850px)}
 .enter-anything .anything-scene__mobile-copy{left:24px;right:24px;width:auto;top:32px}
 .enter-anything .anything-scene__mobile-copy h2{margin:0}
 .enter-anything .anything-scene__stage{left:50%;right:auto;top:180px;bottom:auto;transform:translateX(-50%) scale(calc(var(--anything-mobile-scale,.8) * .38));transform-origin:top center}
}
