/* Each sample has its own composition and interaction language. */
.letter-line{display:block;white-space:nowrap}.glyph{display:inline-block;will-change:transform,opacity}.expressive-js .glyph{animation:glyph-arrive 1.1s cubic-bezier(.18,.7,.2,1) both;animation-delay:calc(var(--i)*.07s + .2s)}@keyframes glyph-arrive{from{opacity:0;transform:translate3d(0,70%,0) rotate(5deg);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
.expressive-menu-trigger{background:none;border:0;padding:12px 0;position:relative;min-width:80px;text-align:left;font:10px Arial;letter-spacing:2px;color:inherit;cursor:pointer}.expressive-menu-trigger i{display:block;width:36px;height:1px;background:currentColor;margin-top:7px;transition:width .3s}.expressive-menu-trigger:hover i:last-child{width:65px}.expressive-menu{border:0;max-width:none;max-height:none;padding:70px 8%;color:inherit}.expressive-menu::backdrop{background:#071c18a8;backdrop-filter:blur(8px)}.expressive-menu[open]{animation:menu-open .6s cubic-bezier(.16,.7,.1,1)}.expressive-menu-close{position:absolute;right:35px;top:25px;border:0;background:none;font:11px Arial;letter-spacing:2px;color:inherit;padding:15px;cursor:pointer}.menu-pretitle{font:11px Georgia;letter-spacing:2px;margin-bottom:45px}.expressive-menu nav a{display:flex;align-items:center;gap:30px;text-decoration:none;padding:20px 0;border-bottom:1px solid #6b7a6030;transition:padding .3s,color .3s}.expressive-menu nav small{font:11px Arial;align-self:center}.expressive-menu nav a span{font:clamp(24px,4vw,55px) Georgia,serif}.expressive-menu nav b{font-size:28px;font-weight:400;margin-left:auto}.expressive-menu nav a:hover{padding-left:15px}.expressive-menu>p{font:9px Arial;letter-spacing:2px;margin-top:40px}@keyframes menu-open{from{opacity:0;transform:translateY(30px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
/* CAFÉ — quiet editorial composition, arched photo, an animated brewing ritual. */
.cafe .sample-nav{padding:27px 5% 20px 7%;border-bottom:1px solid #c1c7b349}.cafe .sample-wordmark{font:italic 36px Georgia;letter-spacing:-1px}.cafe .sample-wordmark small{font-style:normal;letter-spacing:3px}.cafe-trigger{border-bottom:1px solid #929d83}.cafe-editorial{position:relative;min-height:730px;display:grid;grid-template-columns:47% 53%;padding:45px 5% 30px 7%;gap:0;isolation:isolate}.cafe-editorial-copy{padding-top:35px;z-index:2}.cafe-editorial h1{font:400 clamp(25px,3vw,43px)/1.8 'Yu Mincho',serif;letter-spacing:.08em;margin:18px 0}.cafe-editorial-copy>p{font:12px/2.1 'Yu Mincho',serif;letter-spacing:.12em}.cafe-editorial .sample-kicker{font-size:9px;letter-spacing:2px;color:#927952;margin-bottom:15px}.cafe-editorial-photo{position:relative;overflow:hidden;border-radius:48% 48% 3px 3px;height:650px;background:#c1cbb1;align-self:center;box-shadow:18px 25px 0 #e8e9df}.cafe-editorial-photo>img{height:100%;width:100%;object-fit:cover;object-position:40% 50%;animation:cafe-photo-enter 1.8s ease both}.cafe-editorial-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#11241680)}.cafe-photo-caption{position:absolute;bottom:100px;left:10%;z-index:1;color:#fff8e6;font:clamp(24px,3.5vw,45px)/1.4 Georgia;letter-spacing:-1px}.cafe-photo-caption em{font-weight:400}.cafe-round-link{position:absolute;z-index:2;bottom:25px;right:25px;color:#f9f3df;border:1px solid #fff8;border-radius:50%;height:90px;width:90px;display:grid;place-content:center;text-align:center;font:9px/2 Arial;letter-spacing:2px;text-decoration:none;transition:background .4s,transform .4s}.cafe-round-link:hover{background:#f7f3e8;color:#4a5a3a;transform:rotate(-15deg)}.cafe-photo-index{position:absolute;left:25px;bottom:30px;z-index:1;font:8px Arial;letter-spacing:1px;color:#ffffd8}.cafe-side-note{position:absolute;left:2%;top:90px;writing-mode:vertical-rl;font:8px Arial;letter-spacing:3px;color:#79816f}.brew-scene{position:relative;width:100%;max-width:390px;margin-top:-5px;margin-left:-28px}.brew-art{width:100%;height:auto;display:block;overflow:visible}.brew-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-15px;padding-left:25px}.brew-status{font:10px 'Yu Mincho',serif;color:#7c6a4e}.brew-caption button{background:none;border:0;border-bottom:1px solid #a5a083;padding:9px 0;color:#4a5b3c;font-size:10px;cursor:pointer;min-width:125px}.brew-caption button span{padding-left:10px}.pour-stream{stroke-dasharray:180;stroke-dashoffset:180;opacity:0}.coffee-drop{opacity:0}.coffee-fill{transform:translateY(64px);transition:transform 7s ease}.cup-steam{opacity:.6}.cup-steam path{animation:cup-breathe 3.8s ease-in-out infinite;transform-origin:50% 100%}.cup-steam path:nth-child(2){animation-delay:-1.2s}.cup-steam path:nth-child(3){animation-delay:-2.6s}.is-brewing .pour-stream{animation:pour 6.5s ease both}.is-brewing .kettle-body{animation:kettle-tilt 6.5s ease both;transform-origin:120px 80px}.is-brewing .coffee-drop{animation:drip .75s linear 8;animation-delay:.6s}.is-brewing .drop-b{animation-delay:.98s}.is-brewing .coffee-fill,.brew-finished .coffee-fill{transform:translateY(0)}.tiny-steam{position:absolute;top:0;left:50%;transform:translateX(-50%);font-size:25px!important;color:#8d9b7c!important;letter-spacing:7px;animation:small-steam 3s ease-in-out infinite}.cafe-menu{border-radius:90px 90px 0 0;margin-top:20px}.cafe-menu .menu-grid{display:block;border-top:1px solid #a8b09d}.cafe-menu .menu-tile{display:grid;grid-template-columns:180px 130px 1fr 1.1fr;align-items:center;border:0;border-bottom:1px solid #bbc3af;background:none;padding:15px 0;gap:15px;transition:transform .4s}.cafe-menu .menu-tile:hover{transform:translateX(12px)}.cafe-menu .menu-tile .coffee-cup{height:125px}.cafe-menu .menu-tile h3{margin:0}.cafe-menu .menu-tile p{margin:0}.cafe-menu .coffee-cup:after{top:32px}.cafe-menu .tiny-steam{top:-5px}.cafe-menu h2{font-style:italic}.cafe-menu>button{border-radius:50px}.cafe-menu .sample-section-head{padding:15px 0 30px}.cafe-menu .menu-tile:nth-child(2) .coffee-cup:before{background:linear-gradient(90deg,#46613c,#b7c49d 60%,#647a4d)}.cafe-menu .menu-tile:nth-child(3) .coffee-cup:after{display:none}.cafe-menu .menu-tile:nth-child(3) .coffee-cup:before{border-radius:50%;height:70px;background:radial-gradient(ellipse,#b68758 0 45%,#d6b58a 46% 57%,#f8edd9 58%)}.cafe-menu.expressive-menu{width:min(850px,92vw);height:auto;max-height:90vh;border-radius:35px;background:#f3f0df;margin:auto;padding:70px 8%}.cafe-menu.expressive-menu nav a span{font-style:italic}.cafe-menu.expressive-menu nav a:hover{color:#a16a3f}.cafe .cafe-intro{padding-top:120px;padding-bottom:120px}.cafe .cafe-visit img{border-radius:45% 45% 0 0;aspect-ratio:1}
@keyframes cafe-photo-enter{from{clip-path:inset(100% 0 0);transform:scale(1.08)}to{clip-path:inset(0);transform:scale(1)}}@keyframes cup-breathe{0%,100%{opacity:.05;transform:translateY(8px) scaleX(.8)}50%{opacity:.7;transform:translateY(-14px) scaleX(1.2)}}@keyframes small-steam{0%,100%{opacity:.1;transform:translate(-50%,10px)}50%{opacity:.65;transform:translate(-50%,-15px)}}@keyframes pour{0%,100%{opacity:0;stroke-dashoffset:180}12%,85%{opacity:1;stroke-dashoffset:0}95%{opacity:0;stroke-dashoffset:0}}@keyframes drip{0%{opacity:0;transform:translateY(0)}15%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateY(36px)}}@keyframes kettle-tilt{0%,100%{transform:rotate(0)}10%,90%{transform:rotate(-8deg)}}
/* CORPORATE — full blue engineering stage, animated drawing and right-side index. */
.corporate .sample-nav{padding:22px 5%;border-bottom:0}.corporate .sample-wordmark{font-size:23px}.corp-trigger{display:grid;grid-template-columns:1fr 20px;gap:5px;padding:10px 15px;background:#073bad;color:white;min-width:130px}.corp-trigger span{grid-row:1/3;align-self:center}.corp-trigger i{width:20px;margin:0}.corp-trigger:hover i:last-child{width:15px}.corp-blueprint{position:relative;isolation:isolate;min-height:680px;height:calc(100svh - 150px);max-height:950px;background:#083aaa;color:#fff;overflow:hidden}.blueprint-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#9bcaff16 1px,transparent 1px),linear-gradient(90deg,#9bcaff16 1px,transparent 1px);background-size:65px 65px;transform:perspective(800px) rotateY(-10deg) scale(1.2);transform-origin:left center}.blueprint-lines{position:absolute;inset:0;width:100%;height:100%;stroke:#9bdeff;stroke-width:1;fill:none;opacity:.4;stroke-dasharray:3000;animation:draw-grid 4s cubic-bezier(.2,.5,.2,1) both;pointer-events:none}.corp-blueprint-title{position:absolute;z-index:3;left:7%;top:13%;width:65%}.corp-live-mark{font:9px Arial;letter-spacing:.2em;display:flex;align-items:center;gap:12px}.corp-live-mark:before{content:'';width:6px;height:6px;display:block;background:#85efb9;border-radius:50%;box-shadow:0 0 15px #85efb9;animation:live-pulse 2s ease-in-out infinite}.corp-blueprint-title h1{font-size:clamp(37px,5.2vw,75px);line-height:1.6;letter-spacing:-.04em;margin:25px 0 22px;text-shadow:0 5px 30px #00277850}.corp-blueprint-title h1 .letter-line:nth-child(2){color:#a7e8ff}.corp-blueprint-title p{font-size:13px;line-height:2;letter-spacing:.1em}.corp-blueprint-link{display:inline-flex;align-items:center;gap:55px;font-size:12px;border-bottom:1px solid #76a2de;padding:15px 0;text-decoration:none;margin-top:20px}.corp-blueprint-link span{font-size:24px}.corp-image-cut{position:absolute;z-index:1;right:0;top:4%;width:45%;height:78%;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);animation:architecture-enter 1.6s ease both;transform:translate3d(var(--px,0px),var(--py,0px),0)}.corp-image-cut img{height:100%;width:100%;object-fit:cover;object-position:42% 50%}.corp-image-cut:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#073ca2b0,transparent)}.corp-image-cut>span{position:absolute;right:10%;bottom:8%;z-index:2;color:#fff;font:800 24px/1.2 Arial;letter-spacing:-1px}.corp-outline-word{position:absolute;z-index:2;left:5%;bottom:40px;font:900 clamp(90px,16.5vw,255px)/1 Arial;letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px #b8eaff69;white-space:nowrap;pointer-events:none}.corp-coordinate{position:absolute;z-index:3;right:30px;top:30px;font:9px monospace;letter-spacing:2px;background:#002b7c80;padding:8px}.corp-hero-index{display:flex;justify-content:space-between;position:absolute;bottom:20px;left:5%;right:5%;font:8px Arial;letter-spacing:2px;z-index:3}.corp-hero-index a{color:white;text-decoration:none}.corp-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(650px,94vw);height:100svh;background:#0a3595;color:white;padding:110px 60px 60px}.corp-menu[open]{animation:drawer-open .6s cubic-bezier(.2,.8,.1,1)}.corp-menu nav a{border-color:#fff3}.corp-menu nav a span{font:700 clamp(23px,3vw,38px)/1.8 'Yu Gothic',sans-serif}.corp-menu nav a:hover{color:#9be6ff}.corporate .corp-message{grid-template-columns:1.4fr 1fr;padding:120px 8%;position:relative}.corporate .corp-message:before{content:'01';font:900 140px Arial;position:absolute;left:5%;top:20px;color:#edf3fb;z-index:-1}.corporate .corp-service-grid{gap:0;counter-reset:corp}.corporate .corp-service-grid article{border:0;border-left:1px solid #aac4e2;background:none;position:relative;padding:40px}.corporate .corp-services{background:#eff5fd}.corporate .corp-number{font:400 90px/1 Arial;color:transparent;-webkit-text-stroke:1px #477cad}.corporate .corp-service-grid article:nth-child(2){padding-top:100px}.corporate .corp-service-grid article:nth-child(3){padding-top:160px}.corporate .corp-service-grid h3{margin-top:35px}.corporate .corp-tabs button{border-radius:0;border:0;border-bottom:2px solid #d6e5f5;transition:background .3s}.corporate .corp-tabs button[aria-selected=true]{background:#093ca9;color:white}.corp-project-panel.reselect{animation:project-switch .5s ease}@keyframes draw-grid{from{stroke-dashoffset:3000}to{stroke-dashoffset:0}}@keyframes architecture-enter{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);opacity:.5}to{clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);opacity:1}}@keyframes live-pulse{50%{box-shadow:0 0 0 8px #85efb900}}@keyframes drawer-open{from{transform:translateX(100%)}to{transform:none}}@keyframes project-switch{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}
/* BRAND — oversized type cuts across an art-directed product stage. */
.brand-sample .sample-nav{padding:20px 5%;height:100px}.brand-sample .sample-wordmark{font-size:43px}.brand-trigger{font:9px Arial;width:75px;letter-spacing:3px}.brand-runway{position:relative;isolation:isolate;height:calc(100svh - 140px);min-height:680px;max-height:1050px;overflow:hidden;background:#1b0b10}.brand-runway-photo{position:absolute;right:0;top:0;height:100%;width:65%;overflow:hidden;transition:width .9s cubic-bezier(.2,.8,.1,1)}.brand-runway-photo img{width:100%;height:100%;object-fit:cover;object-position:52% center;transform:scale(1.05) translate3d(var(--px,0px),var(--py,0px),0);transition:filter .9s,object-position .9s,transform .8s}.brand-runway-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1b0b10,transparent 55%,#1b0b1033)}.brand-runway[data-brand-scene=shadow] .brand-runway-photo img{filter:grayscale(1) brightness(.65);object-position:75% center;transform:scale(1.25)}.brand-runway[data-brand-scene=warm] .brand-runway-photo img{filter:sepia(.6) brightness(1.15);object-position:25% center;transform:scale(1.1)}.brand-runway-label{position:absolute;left:5%;top:25px;z-index:3;font:9px Arial;letter-spacing:3px;color:#ba8f8e}.brand-statement{position:absolute;left:5%;top:13%;z-index:2;font:900 clamp(100px,17vw,280px)/.83 Arial;letter-spacing:-.09em;color:#e9dfcd;margin:0;transform:translateX(var(--scroll-shift,0px));pointer-events:none}.brand-statement .letter-line:nth-child(2){margin-left:7vw}.brand-statement .glyph{animation-duration:1.3s}.brand-statement .letter-line:nth-child(2) .glyph{animation-delay:calc(var(--i)*.1s + .45s)}.brand-runway-bottom{display:flex;align-items:end;justify-content:space-between;gap:25px;position:absolute;bottom:40px;left:5%;right:5%;z-index:3}.brand-runway-bottom>p{font:14px/2 'Yu Gothic',sans-serif;letter-spacing:.12em;margin:0}.brand-scene-selector{display:flex;gap:25px;margin-left:auto}.brand-scene-selector button{background:none;border:0;border-bottom:1px solid #fff4;color:#c3a6a6;font:9px Arial;letter-spacing:1px;padding:10px 0;cursor:pointer}.brand-scene-selector button span{display:block;font-size:25px;letter-spacing:-1px;margin-bottom:12px}.brand-scene-selector button[aria-pressed=true]{color:#ffedde;border-color:#ffedde}.brand-magnetic{display:grid;place-items:center;flex-shrink:0;width:105px;height:105px;border-radius:50%;border:1px solid #dfbfb9;background:#ddc7ba;color:#2d1020;font:10px Arial;text-decoration:none;will-change:transform;transition:transform .2s}.brand-side-caption{position:absolute;right:22px;top:35%;z-index:2;writing-mode:vertical-rl;font:8px Arial;letter-spacing:3px}.brand-cursor{position:fixed;left:0;top:0;width:74px;height:74px;border:1px solid #f2e4d6;border-radius:50%;color:#fff1e4;z-index:50;pointer-events:none;display:none;align-items:center;justify-content:center;text-align:center;font:9px/1.6 Arial;backdrop-filter:blur(3px);transform:translate(-100px,-100px);mix-blend-mode:difference}.brand-cursor.is-active{display:flex}.brand-sample .brand-marquee{padding:20px 0;transform:rotate(-2deg) scale(1.03);position:relative;z-index:3;margin:10px 0 30px;background:#dbd0bc}.brand-sample .brand-marquee>div{font-size:75px;animation-duration:18s}.brand-floating-index{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:25px;background:#d9c9bcf0;backdrop-filter:blur(12px);color:#381a24;border:1px solid #5b2b3933;border-radius:40px;padding:17px 25px;z-index:20;box-shadow:0 8px 35px #0003}.brand-floating-index a{font:9px Arial;letter-spacing:1px;text-decoration:none;white-space:nowrap;transition:color .3s}.brand-floating-index a:hover{color:#af2e50}.brand-sample .brand-about{grid-template-columns:1.8fr 1fr;padding-top:130px;padding-bottom:130px}.brand-sample .brand-about h2{font-size:clamp(40px,6.3vw,95px)}.brand-sample .brand-products{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:30px}.brand-sample .brand-product:nth-child(2){margin-top:150px}.brand-sample .brand-product:nth-child(3){margin-top:300px}.brand-sample .brand-product>span:first-child{aspect-ratio:3/4}.brand-sample .brand-collection .sample-section-head{display:block}.brand-sample .brand-collection h2{font-size:clamp(40px,7vw,105px);max-width:800px}.brand-sample .brand-collection .sample-section-head>p{margin-left:auto;margin-top:30px}.brand-menu{inset:0;margin:0;width:100%;height:100svh;background:#d8cbbb;color:#321820;padding:100px 10% 60px;overflow-y:auto}.brand-menu nav{max-width:1000px}.brand-menu nav a{border-color:#51283550}.brand-menu nav a span{font:900 clamp(28px,7vw,105px)/1.2 Arial;letter-spacing:-.055em}.brand-menu nav a:hover{color:#a82c49}.brand-menu .menu-pretitle{color:#6a4a4e;font-family:Arial}.brand-menu[open]{animation:brand-menu-enter .7s cubic-bezier(.2,.8,.1,1)}@keyframes brand-menu-enter{from{clip-path:circle(0% at 95% 5%)}to{clip-path:circle(150% at 95% 5%)}}
/* KOMANOYU — original identity, brush lettering, floating steam and snow. */
@font-face{font-family:OnsenBrush;src:url('onsen-brush.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}.koma-expressive .koma-original-logo{width:230px;height:auto;object-fit:contain;display:block}.koma-expressive footer .koma-original-logo{width:260px;background:#ffedcd;padding:10px 15px;border-radius:3px}.koma-expressive .koma-header{padding-top:20px;padding-bottom:20px}.koma-expressive .koma-hero-image{height:calc(100svh - 155px);min-height:590px;max-height:950px;background:#193c32}.koma-expressive .koma-hero-image:after{background:linear-gradient(90deg,#102e241a,#17382c80)}.koma-expressive .koma-hero-image>img{animation:onsen-pan 22s ease-in-out infinite alternate;object-position:center}.koma-expressive .koma-vertical{top:12%;right:13%;gap:55px}.koma-expressive .koma-brush-catch{font-family:OnsenBrush,'HG行書体','Yu Mincho',serif;font-size:clamp(40px,5.3vw,72px);writing-mode:horizontal-tb;display:flex;flex-direction:row-reverse;gap:35px;line-height:1.35;letter-spacing:0;text-shadow:0 3px 20px #0005}.koma-brush-catch .letter-line{writing-mode:vertical-rl;white-space:nowrap;display:block}.koma-brush-catch .letter-line:nth-child(2){padding-top:75px}.koma-brush-catch .glyph{display:inline-block;animation:koma-letter 1.7s cubic-bezier(.13,.65,.2,1) both;animation-delay:calc(var(--i)*.14s + .2s)}.koma-brush-catch .letter-line:nth-child(2) .glyph{animation-delay:calc(var(--i)*.14s + .85s)}.koma-expressive .koma-vertical>span{padding-top:100px;letter-spacing:.3em;font-size:12px}.steam-wisps{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;isolation:isolate}.steam-wisps i{position:absolute;left:calc(var(--n)*16% - 10%);bottom:-45%;width:48%;height:70%;border-radius:50%;background:radial-gradient(ellipse,#f7f6e583 0%,#f9ffe52b 35%,transparent 68%);filter:blur(20px);animation:steam-rise 12s linear infinite;animation-delay:calc(var(--n)*-1.8s);will-change:transform,opacity}.steam-wisps i:nth-child(2n){width:65%;height:95%;animation-duration:16s}.koma-expressive .koma-vertical,.koma-expressive .hero-location,.koma-expressive .koma-scroll{z-index:5}.koma-atmosphere{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 4% 0;font:10px 'Yu Gothic',sans-serif}.koma-atmosphere>div{display:flex;gap:8px}.koma-atmosphere [data-atmosphere]{border:1px solid #bec8b8;background:transparent;color:#52634f;padding:8px 15px;border-radius:30px;font-size:10px;cursor:pointer}.koma-atmosphere [aria-pressed=true]{background:#37533e;color:white;border-color:#37533e}.koma-atmosphere .sample-motion-toggle{color:#51684e;padding:8px 15px;font-size:10px}.bath-steam{position:relative;overflow:hidden}.bath-steam .steam-wisps{bottom:20px}.bath-steam .steam-wisps i{filter:blur(12px);background:radial-gradient(ellipse,#ffffeaba,transparent 67%);height:90%;bottom:-55%}.snow-field{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;display:none}.snow-field i{width:var(--s);height:var(--s);background:white;border-radius:50%;position:absolute;left:var(--x);top:-20px;opacity:.8;animation:snow-fall calc(9s + var(--n)*.13s) linear infinite;animation-delay:calc(var(--n)*-.4s)}.koma-expressive[data-atmosphere=snow] .koma-hero-image>.steam-wisps{display:none}.koma-expressive[data-atmosphere=snow] .snow-field{display:block}.koma-expressive[data-atmosphere=snow] .koma-hero-image>img{filter:saturate(.3) brightness(.8)}.koma-expressive .mountain-drawing path{stroke-dasharray:2200;stroke-dashoffset:2200}.koma-expressive .nature-in-view .mountain-drawing path{animation:mountain-draw 4s ease both}.koma-expressive .koma-logo{text-decoration:none}.koma-expressive footer .koma-logo{display:flex;justify-content:center}.koma-expressive button{cursor:pointer}.koma-expressive a:focus-visible,.koma-expressive button:focus-visible{outline:2px solid #b88d52;outline-offset:5px}@keyframes koma-letter{from{opacity:0;filter:blur(12px);transform:translate3d(25px,65px,0) rotate(-9deg)}to{opacity:1;filter:blur(0);transform:none}}@keyframes steam-rise{0%{transform:translate3d(-12%,0,0) scale(.7);opacity:0}18%{opacity:.8}70%{opacity:.45}100%{transform:translate3d(18%,-90%,0) scale(1.5);opacity:0}}@keyframes snow-fall{to{transform:translate3d(35px,105vh,0)}}@keyframes onsen-pan{from{transform:scale(1.02) translateX(-.5%)}to{transform:scale(1.1) translateX(1%)}}@keyframes mountain-draw{to{stroke-dashoffset:0}}
/* Motion controls always leave content readable; native pointer and touch remain usable. */
.motion-off .glyph{opacity:1!important;transform:none!important;filter:none!important}.motion-off .coffee-fill{transition:none;transform:translateY(0)}.motion-off .cup-steam{opacity:.55}.motion-off .steam-wisps i{animation:none!important;transform:translateY(-25%)!important;opacity:.45!important}.motion-off .snow-field i{animation:none!important;top:calc(var(--n)*2.5%)}.motion-off .mountain-drawing path{stroke-dashoffset:0}.effect-paused *,.effect-paused:before,.effect-paused:after{animation-play-state:paused!important}.motion-off .brand-cursor{display:none!important}.motion-off .cafe-editorial-photo>img,.motion-off .corp-image-cut,.motion-off .blueprint-lines{animation:none;clip-path:none;stroke-dashoffset:0}.expressive-menu:focus{outline:none}
@media(hover:none),(pointer:coarse){.brand-cursor{display:none!important}}
@media(max-width:1000px){.cafe-editorial{padding-left:6%;padding-right:5%;grid-template-columns:49% 51%;min-height:680px}.cafe-editorial-photo{height:600px}.cafe-editorial h1{font-size:30px}.cafe-editorial .brew-scene{max-width:340px}.cafe-editorial .brew-caption{display:block}.brew-caption button{display:block}.cafe-menu .menu-tile{grid-template-columns:150px 100px 1fr}.cafe-menu .menu-tile p{grid-column:3}.cafe-menu .menu-tile h3{grid-row:1;grid-column:3}.cafe-menu .menu-tile .coffee-cup{grid-row:1/3}.cafe-menu .menu-tile>span{grid-row:1/3}.corp-blueprint{min-height:650px}.corp-image-cut{width:47%;height:70%;top:12%}.corp-blueprint-title{left:6%;top:12%}.corp-blueprint-title h1{font-size:52px}.corp-blueprint-title p{font-size:12px}.brand-statement{top:20%;font-size:19vw}.brand-runway-bottom{flex-wrap:wrap}.brand-scene-selector{gap:18px}.brand-runway-bottom>p{font-size:12px}.brand-magnetic{width:85px;height:85px}.brand-sample .brand-products{gap:20px}.brand-sample .brand-product:nth-child(2){margin-top:80px}.brand-sample .brand-product:nth-child(3){margin-top:160px}.koma-expressive .koma-vertical{right:9%}.koma-expressive .koma-brush-catch{font-size:54px;gap:20px}.koma-expressive .koma-vertical>span{font-size:11px}}
@media(max-width:650px){.cafe .sample-nav{padding:20px 25px}.cafe .sample-wordmark{font-size:30px}.expressive-menu-trigger{min-width:65px}.cafe-editorial{grid-template-columns:1fr;padding:28px 25px 35px;min-height:0;gap:25px}.cafe-editorial-copy{padding-top:0;position:relative}.cafe-editorial h1{font-size:clamp(25px,7vw,37px);letter-spacing:.04em;margin:20px 0 15px}.cafe-editorial-copy>p{font-size:11px;line-height:2}.cafe-editorial .sample-kicker{font-size:8px}.cafe-editorial .brew-scene{width:80%;max-width:330px;margin:-5px auto 0}.cafe-editorial .brew-caption{display:flex;padding-left:8px;gap:7px;margin-top:-5px}.brew-status{font-size:8px}.brew-caption button{font-size:9px;min-width:113px}.cafe-editorial-photo{height:440px;width:95%;margin:0 auto;border-radius:48% 48% 3px 3px;box-shadow:10px 15px 0 #e8e9df}.cafe-photo-caption{font-size:35px;bottom:95px}.cafe-round-link{height:70px;width:70px;right:18px;bottom:18px}.cafe-photo-index{font-size:7px;left:18px;bottom:25px}.cafe-side-note{display:none}.cafe .cafe-intro{padding-top:65px;padding-bottom:65px}.cafe-menu{border-radius:45px 45px 0 0}.cafe-menu .menu-tile{grid-template-columns:105px 1fr;gap:5px 20px;padding:20px 0}.cafe-menu .menu-tile>span{grid-column:2;grid-row:1;font-size:8px}.cafe-menu .menu-tile h3{grid-column:2;grid-row:2;font-size:22px}.cafe-menu .menu-tile p{grid-column:2;grid-row:3;font-size:10px}.cafe-menu .menu-tile .coffee-cup{grid-row:1/4;transform:scale(.8);transform-origin:center}.cafe-menu.expressive-menu{padding:75px 25px 40px;border-radius:25px;width:92vw}.expressive-menu nav a{gap:15px;padding:24px 0}.expressive-menu nav a span{font-size:27px}.expressive-menu-close{right:15px;top:15px}.menu-pretitle{font-size:9px;margin-bottom:25px}.corporate .sample-nav{padding:20px 22px}.corporate .sample-wordmark{font-size:20px}.corp-trigger{min-width:90px;font-size:8px;padding:10px}.corp-blueprint{height:810px;min-height:0;max-height:none}.corp-blueprint-title{position:relative;top:auto;left:auto;width:auto;padding:45px 25px;z-index:3}.corp-live-mark{font-size:7px;letter-spacing:1px}.corp-blueprint-title h1{font-size:clamp(30px,8vw,42px);margin-top:22px;margin-bottom:15px;line-height:1.7}.corp-blueprint-title p{font-size:11px;line-height:2}.corp-blueprint-link{margin-top:15px;font-size:10px;gap:60px;padding:10px 0}.corp-image-cut{width:85%;height:43%;top:auto;bottom:65px;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.corp-image-cut>span{font-size:20px;right:8%;bottom:10%}.corp-outline-word{font-size:21vw;bottom:25px;left:3%;z-index:3}.corp-coordinate{top:18px;right:18px;font-size:7px;padding:4px}.corp-hero-index{font-size:6px;letter-spacing:.8px;bottom:14px;left:22px;right:22px}.blueprint-grid{background-size:40px 40px}.corporate .corp-message{grid-template-columns:1fr;padding:70px 25px;gap:25px}.corporate .corp-message:before{font-size:100px;top:10px}.corporate .corp-service-grid{grid-template-columns:1fr}.corporate .corp-service-grid article,.corporate .corp-service-grid article:nth-child(2),.corporate .corp-service-grid article:nth-child(3){padding:28px 20px;border-left:0;border-top:1px solid #b6cce4}.corporate .corp-number{font-size:65px}.corporate .corp-service-grid h3{margin-top:20px}.corp-menu{padding:100px 30px 50px}.corp-menu nav a span{font-size:25px}.brand-sample .sample-nav{height:90px;padding:20px 25px}.brand-sample .sample-wordmark{font-size:34px}.brand-runway{height:700px;min-height:0;max-height:none}.brand-runway-photo{width:100%;height:80%;top:70px}.brand-runway-photo img{object-position:55% center}.brand-runway-photo:after{background:linear-gradient(180deg,#1b0b1033,transparent 50%,#1b0b10)}.brand-runway-label{font-size:7px;letter-spacing:1.4px;left:25px;top:20px}.brand-statement{font-size:30vw;left:6%;top:11%;line-height:.85;letter-spacing:-.08em}.brand-statement .letter-line:nth-child(2){margin-left:10vw}.brand-runway-bottom{bottom:28px;left:25px;right:25px;gap:20px;align-items:end}.brand-runway-bottom>p{font-size:11px;flex-basis:100%;margin-bottom:5px}.brand-scene-selector{margin:0;gap:20px}.brand-scene-selector button{font-size:7px}.brand-scene-selector button span{font-size:20px;margin-bottom:8px}.brand-magnetic{margin-left:auto;width:70px;height:70px;font-size:8px}.brand-side-caption{right:15px;font-size:7px;top:45%}.brand-sample .brand-marquee>div{font-size:45px}.brand-sample .brand-about{grid-template-columns:1fr;padding:70px 25px;gap:25px}.brand-sample .brand-about h2{font-size:44px}.brand-sample .brand-products{grid-template-columns:1fr;gap:35px}.brand-sample .brand-product:nth-child(2),.brand-sample .brand-product:nth-child(3){margin-top:0}.brand-sample .brand-product:nth-child(2){margin-left:12%}.brand-sample .brand-product:nth-child(3){margin-right:12%}.brand-sample .brand-product>span:first-child{aspect-ratio:1}.brand-floating-index{gap:18px;padding:15px 20px;bottom:15px;max-width:95vw}.brand-floating-index a{font-size:8px;letter-spacing:.5px}.brand-menu{padding:110px 25px 50px}.brand-menu nav a span{font-size:clamp(24px,8vw,45px)}.brand-menu nav a{gap:10px;padding:30px 0}.brand-menu nav a small{font-size:9px}.brand-menu nav a b{font-size:20px}.koma-expressive .koma-original-logo{width:175px}.koma-expressive .koma-header{padding:18px 5%}.koma-expressive .koma-hero-image{height:650px;min-height:0}.koma-expressive .koma-vertical{top:55px;right:9%;gap:22px}.koma-expressive .koma-brush-catch{font-size:45px;gap:15px;line-height:1.3}.koma-brush-catch .letter-line:nth-child(2){padding-top:65px}.koma-expressive .koma-vertical>span{font-size:10px;letter-spacing:.2em;padding-top:100px}.koma-atmosphere{padding:12px 0 0;gap:6px}.koma-atmosphere [data-atmosphere],.koma-atmosphere .sample-motion-toggle{font-size:9px;padding:7px 10px}.steam-wisps i{width:80%;left:calc(var(--n)*20% - 25%);filter:blur(13px)}.koma-expressive .koma-hero-image>img{object-position:45% center}.koma-expressive footer .koma-original-logo{width:220px}}
@media(prefers-reduced-motion:reduce){.glyph{opacity:1!important;transform:none!important;filter:none!important}.steam-wisps i{animation:none!important;transform:translateY(-25%);opacity:.45}.snow-field i{animation:none!important;top:calc(var(--n)*2.5%)}.mountain-drawing path{stroke-dashoffset:0!important}.brand-cursor{display:none!important}.cafe-editorial-photo>img,.corp-image-cut,.blueprint-lines{animation:none!important;clip-path:none;stroke-dashoffset:0}.coffee-fill{transition:none;transform:translateY(0)}.cup-steam{opacity:.5}}
.navigation-open{overflow:hidden}.effects-hidden *,.effects-hidden *:before,.effects-hidden *:after{animation-play-state:paused!important}.koma-atmosphere [data-replay-catch]{background:none;border:0;color:#68735b;font-size:10px;padding:8px;cursor:pointer}@media(max-width:500px){.koma-atmosphere>div{gap:3px;flex-wrap:wrap}.koma-atmosphere [data-replay-catch]{font-size:8px;padding:5px}}
.brand-sample{overflow-x:clip}.koma-expressive .koma-brush-catch{font-size:clamp(40px,4.7vw,60px)}@media(min-width:651px){.corp-blueprint,.brand-runway{min-height:560px;height:calc(100svh - 140px)}.cafe-editorial{padding-top:25px;min-height:610px}.cafe-editorial-copy{padding-top:10px}.cafe-editorial .brew-scene{max-width:350px}.cafe-editorial-photo{height:560px}.cafe-editorial h1{line-height:1.65}}@media(max-width:650px){.koma-expressive .koma-brush-catch{font-size:45px}}
.brand-sample .brand-marquee{width:96%;margin-left:2%;margin-right:2%;transform:rotate(-2deg)}
