@font-face{font-family:Lab;src:local('Arial')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#141513;color:#f3f3e9;font-family:Lab,Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #dcff72;outline-offset:5px}::selection{background:#dcff72;color:#141513}.header{margin:0 4.5%;height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3c3d35}.logo{display:inline-flex;align-items:center;gap:7px;font-size:31px;letter-spacing:-2px;font-weight:900}.logo-mark{color:#dcff72;font-size:37px;font-weight:400}.header nav{display:flex;gap:38px;align-items:center;font-size:14px}.header nav a{transition:color .2s}.header nav a:hover{color:#dcff72}.nav-count{font-size:12px;color:#a8aa9e;vertical-align:super;margin-left:4px}.nav-contact{border:1px solid #606255;padding:13px 18px;border-radius:30px}.nav-contact span{margin-left:20px}.hero{padding:46px 7% 40px}.eyebrow,.tiny,.edition,.section-note,.gesture{font-family:monospace;font-size:12px;letter-spacing:1.2px}.eyebrow{display:flex;align-items:center;gap:12px}.spark{color:#dcff72;font-size:22px}.edition{color:#a8aa9e;margin-left:auto}.hero-heading{display:flex;align-items:center;justify-content:space-between;padding-top:30px;gap:20px}h1{font-size:clamp(56px,7.7vw,124px);letter-spacing:-.067em;font-weight:500;line-height:.99;margin:0}.muted{color:#a4a79a}.round-link{width:123px;height:123px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #696d59;border-radius:50%;transform:rotate(12deg);transition:background .2s,color .2s}.round-link:hover{background:#dcff72;color:#141513}.round-link span{font:11px/1.5 monospace;letter-spacing:1px;text-align:center}.round-link b{font-size:30px;font-weight:400}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:30px}.hero-bottom p{max-width:410px;font-size:16px;line-height:1.6;color:#b7baad;margin:0}.mini-manifesto{font:12px/1.6 monospace;letter-spacing:1px}.mini-manifesto span{color:#898d7b}.portfolio{overflow:hidden;padding-top:35px;padding-bottom:45px;background:radial-gradient(ellipse at 50% 65%,#2d3421 0,transparent 60%)}.section-line{margin:0 4.5%;border-top:1px solid #3c3d35;padding-top:24px;display:flex;justify-content:space-between;align-items:center}h2{font-weight:400}.section-line h2{font-size:22px;margin:0;letter-spacing:-.5px}.section-line h2 span{font:12px monospace;vertical-align:super;color:#a4a79a}.section-note{color:#a4a79a}.portfolio-toolbar{margin:25px 4.5% 0;display:flex;align-items:center;justify-content:space-between}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{font-size:13px;background:none;border:1px solid #45483d;color:#b7baad;border-radius:30px;padding:9px 17px}.filter.active{background:#dcff72;color:#141513;border-color:#dcff72}.gesture{color:#a4a79a;font-size:11px;letter-spacing:0}.orbit-wrap{position:relative}.orbit{display:flex;gap:26px;align-items:center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:42px max(4.5vw,calc((100vw - 350px)/2)) 36px;scrollbar-width:none;min-height:465px;perspective:1600px;touch-action:pan-x pan-y}.orbit::-webkit-scrollbar{display:none}.capsule{position:relative;display:block;text-align:left;flex:0 0 350px;height:388px;scroll-snap-align:center;background:var(--card);border:0;border-radius:17px;padding:23px;color:#171913;transform:rotate(var(--tilt,0deg)) scale(.95);opacity:.78;transition:transform .45s,opacity .4s,box-shadow .4s;overflow:hidden}.capsule.is-current{transform:rotate(-2deg) scale(1.02);opacity:1;box-shadow:0 25px 55px #0005}.capsule:hover{opacity:1}.card-top{display:flex;align-items:center;justify-content:space-between;font:11px monospace;letter-spacing:1px}.card-top span:last-child{border:1px solid #17191366;padding:5px 8px;border-radius:20px;letter-spacing:0}.card-art{height:212px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:8px -5px 0}.card-art img{width:100%;height:170px;object-fit:cover;object-position:top;border-radius:6px;box-shadow:0 9px 20px #0003;transform:rotate(4deg);border:4px solid #181a16}.card-monogram{font-size:110px;letter-spacing:-10px;font-weight:900;line-height:1;border:1px solid #17191333;border-radius:50%;width:175px;height:175px;display:flex;align-items:center;justify-content:center}.card-monogram.placeholder{font:100px Georgia,serif;letter-spacing:-8px;border-radius:0;border:0;color:#17191380}.card-art:after{content:'LAYLAB / EXPERIMENTS';position:absolute;bottom:6px;right:0;font:8px monospace;letter-spacing:2px;opacity:.6}.card-bottom{border-top:1px solid #17191338;padding-top:17px;position:relative}.card-bottom h3{font-size:32px;letter-spacing:-1px;margin:0 0 7px;font-weight:600}.card-bottom p{font-size:13px;margin:0;max-width:260px;line-height:1.4}.card-open{position:absolute;right:0;top:19px;border:1px solid #17191360;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:20px}.carousel-bottom{display:flex;align-items:center;justify-content:space-between;margin:4px 4.5% 0}.counter{display:flex;gap:14px;align-items:center;font:13px monospace}.counter-line{width:70px;height:1px;background:#737760}.counter>span:last-child{color:#8d927f}.dots{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;max-width:50%}.dot{width:18px;height:24px;padding:0;background:none;border:0;position:relative}.dot:after{content:'';width:5px;height:5px;border-radius:50%;background:#696f5c;position:absolute;top:9px;left:6px}.dot.active:after{background:#dcff72;width:15px;border-radius:4px;left:1px}.carousel-controls{display:flex;gap:9px}.circle{width:43px;height:43px;border:1px solid #686e59;border-radius:50%;color:inherit;background:transparent;font-size:21px;display:inline-grid;place-items:center}.circle.light{background:#dcff72;border-color:#dcff72;color:#141513}.about{margin:0 4.5%;padding:95px 3% 90px;display:grid;grid-template-columns:1fr 1.7fr;gap:7%;border-top:1px solid #3c3d35}.about-label{display:flex;flex-direction:column;align-items:flex-start}.asterisk{font-size:180px;color:#dcff72;line-height:1.4}.tiny{color:#a4a79a;font-size:11px}.about h2,.contact h2{font-size:clamp(36px,4.3vw,66px);letter-spacing:-.055em;line-height:1.05;margin:0 0 30px;white-space:pre-line}.about-copy p{max-width:560px;color:#b7baad;line-height:1.75;white-space:pre-line}.values{display:flex;gap:35px;font:12px monospace;border-top:1px solid #3c3d35;margin-top:30px;padding-top:22px}.contact{background:#e3e9d6;color:#20241c;padding:70px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact .eyebrow{margin-bottom:35px}.contact p{line-height:1.6;max-width:340px;color:#555f49}.contact-sign{display:flex;align-items:center;gap:25px;font:14px monospace;margin-top:34px}.contact-sign span{font-size:55px}.contact label{display:block;font-size:13px}.contact input:not([type=checkbox]),.contact textarea{display:block;width:100%;background:transparent;color:#20241c;border:0;border-bottom:1px solid #89917b;border-radius:0;padding:13px 0 15px;margin-bottom:24px;resize:vertical;font-size:16px}.contact input::placeholder,.contact textarea::placeholder{color:#68715c}.contact .consent{display:flex;gap:10px;font-size:12px;line-height:1.5}.consent input{accent-color:#20241c;width:17px;height:17px;flex-shrink:0}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}.form-footer>span{font:11px/1.5 monospace;color:#626b56}.button{background:#dcff72;border:1px solid #dcff72;color:#141513;border-radius:30px;padding:14px 22px;font-size:14px;display:inline-flex;justify-content:center;align-items:center;gap:10px}.contact .button{background:#20241c;color:#f3f3e9;border-color:#20241c;flex-shrink:0}.contact :focus-visible{outline-color:#20241c}#contact-status{font-size:14px;max-width:none}footer{padding:35px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .logo{font-size:22px}footer .logo-mark{font-size:27px}footer>span{color:#b7baad;font-size:12px}footer>div{font:11px monospace;color:#a4a79a}footer>div a{margin-left:24px;text-decoration:underline}dialog{background:#20231c;color:#f3f3e9;border:1px solid #555b49;border-radius:20px;padding:0;width:min(940px,94vw);max-height:90vh}dialog::backdrop{background:#000b;backdrop-filter:blur(12px)}.dialog-close{position:absolute;top:19px;right:19px;z-index:3;background:#141513}.detail-head{padding:45px 45px 30px}.detail-head .eyebrow{color:var(--card)}.detail-head h2{font-size:64px;letter-spacing:-3px;margin:22px 0 12px}.detail-head>p{font-size:20px;color:#c3c8b7}.gallery{background:var(--card);padding:25px 45px}.gallery img{display:block;width:100%;max-height:440px;object-fit:contain;border-radius:8px}.gallery-controls{display:flex;justify-content:center;gap:15px;align-items:center;margin-top:16px;color:#141513;font:13px monospace}.gallery-controls button{border-color:#141513}.no-screenshot{min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#171913;gap:20px}.no-screenshot b{font-size:65px;letter-spacing:-4px}.no-screenshot span{font-size:13px}.detail-body{padding:30px 45px 40px}.detail-body p{white-space:pre-line;line-height:1.8;color:#bdc4af;max-width:700px}.detail-body .button{margin-top:15px}.detail-note{font:12px monospace;color:#a4a79a;margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;padding:15px;background:#dcff72;color:#141513;z-index:100}.skip:focus{top:0}#load-error{position:fixed;bottom:20px;left:5%;right:5%;padding:20px;background:#ffd6c3;color:#141513;z-index:20}#empty{text-align:center;color:#b7baad;padding:30px}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero,.about,.contact{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}
@media(max-width:800px){.header{height:80px}.header nav{gap:19px}.header nav>a:nth-child(2){display:none}.nav-contact{padding:11px 14px}.nav-contact span{display:none}.hero{padding:35px 5%}.edition{display:none}.hero-heading{padding-top:25px}.round-link{width:85px;height:85px}.round-link span{font-size:9px}.round-link b{font-size:22px}.hero-bottom p{max-width:350px;font-size:15px}.mini-manifesto{display:none}.section-note,.gesture{display:none}.about{gap:4%;grid-template-columns:1fr 2fr;padding:60px 0}.asterisk{font-size:130px}.about-label .eyebrow{font-size:10px}.about .tiny{font-size:9px}.contact{gap:6%;padding:55px 5%}.form-footer{flex-wrap:wrap}.values{gap:15px;flex-wrap:wrap}footer>span{display:none}}
@media(max-width:560px){.header{height:76px}.logo{font-size:27px}.logo-mark{font-size:30px}.header nav{gap:15px;font-size:12px}.nav-contact{font-size:0;border:0;padding:0}.nav-contact:before{content:'Contact';font-size:12px}.nav-count{display:none}.hero{padding:30px 5% 25px}.hero>.eyebrow{font-size:10px;letter-spacing:.6px}.hero-heading{gap:0}h1{font-size:clamp(43px,10.9vw,62px)}.round-link{display:none}.hero-bottom{margin-top:25px}.hero-bottom p{max-width:300px}.portfolio{padding-top:18px;padding-bottom:35px}.section-line h2{font-size:20px}.portfolio-toolbar{margin-top:20px}.filter{padding:8px 13px;font-size:12px}.orbit{gap:18px;padding:32px calc((100vw - 290px)/2) 30px;min-height:405px}.capsule{flex-basis:290px;height:348px;padding:20px}.card-art{height:177px}.card-art img{height:140px}.card-monogram{font-size:85px;width:145px;height:145px}.card-bottom h3{font-size:27px}.card-bottom p{font-size:12px;max-width:220px}.card-top{font-size:10px}.carousel-bottom{gap:10px}.counter{gap:8px;font-size:12px}.counter-line{width:25px}.dots{gap:2px;max-width:40%}.dot{width:13px}.dot.active:after{width:10px}.circle{width:38px;height:38px}.carousel-controls{gap:6px}.about{display:block;padding:45px 2%}.about-label{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:28px}.asterisk{font-size:48px;line-height:1}.about-label .tiny{display:none}.about h2,.contact h2{font-size:41px}.about-copy p{font-size:15px}.contact{display:block;padding:45px 6%}.contact .eyebrow{font-size:11px;margin-bottom:24px}.contact-sign{display:none}.contact form{margin-top:36px}.form-footer{align-items:flex-start;flex-direction:column;gap:20px}.contact .button{width:100%}footer{padding:26px 5%}footer>div{font-size:10px;display:flex;flex-direction:column;gap:8px}footer>div a{margin-left:0;text-align:right}.detail-head{padding:50px 24px 20px}.detail-head h2{font-size:43px;letter-spacing:-2px}.detail-head>p{font-size:17px}.gallery{padding:20px}.detail-body{padding:20px 24px}.dialog-close{right:12px;top:12px}.no-screenshot b{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.orbit{scroll-behavior:auto}}
@media(min-width:561px){.orbit{padding-left:4.5vw}}
[hidden]{display:none!important}
.card-top>span:first-child{max-width:65%;line-height:1.5}.card-top{gap:10px}.hero h1,.about h2,.contact h2,.detail-head h2{overflow-wrap:anywhere}
@media(min-width:561px){.orbit{scroll-padding-left:4.5vw}.capsule{scroll-snap-align:start}}

/* Harmonized app identities; screenshots remain in the detail gallery. */
.card-art img.app-logo{width:208px;height:208px;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none;transform:none;filter:drop-shadow(0 12px 14px #0002)}.card-art.has-logo:after{display:none}
@media(max-width:560px){.card-art img.app-logo{width:172px;height:172px}}

/* LAYLAB identity supplied by L’Lay; keep the original transparent artwork. */
.logo{gap:12px;flex-shrink:0}.brand-image{display:block;width:60px;height:60px;object-fit:contain;flex-shrink:0}.lab-brand-image{display:block;width:180px;height:180px;object-fit:contain;margin:20px 0}
@media(max-width:560px){.logo{gap:8px;font-size:24px}.brand-image{width:40px;height:40px}.lab-brand-image{width:60px;height:60px;margin:0}.header nav{gap:12px}}

/* Larger portal identity requested by L’Lay. Source remains the original full-resolution PNG. */
.header{height:148px}.brand-image{width:120px;height:120px}.logo{gap:16px}
@media(max-width:800px){.header{height:128px}.brand-image{width:100px;height:100px}}
@media(max-width:560px){.header{height:110px}.brand-image{width:80px;height:80px}.logo{gap:8px;font-size:22px}.header nav{gap:10px}}
@media(max-width:360px){.header{margin:0 4%}.header nav{font-size:11px;gap:8px}.nav-contact:before{font-size:11px}.logo{font-size:20px;gap:6px}}

/* LAYLAB wordmark: geometric technology typography, hosted locally. */
@font-face{font-family:Oxanium;src:url("/assets/oxanium-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
.logo{font-size:62px;letter-spacing:.015em;font-weight:600}.logo>span{font-family:Oxanium,Arial,sans-serif;line-height:1;font-weight:600}
@media(max-width:800px){.header{height:auto;min-height:128px;flex-wrap:wrap;gap:8px;padding:12px 0 16px}.header .logo{font-size:52px}.header nav{flex-basis:100%;justify-content:space-between}.logo{font-size:52px}footer{flex-wrap:wrap}footer>div{margin-left:auto}}
@media(max-width:560px){.logo,.header .logo{font-size:44px}.header{min-height:136px}.header nav{font-size:12px;gap:16px;padding-top:4px}.nav-contact:before{font-size:12px}}
@media(max-width:360px){.logo,.header .logo{font-size:40px}.header nav{font-size:12px}.nav-contact:before{font-size:12px}}

/* Contrasting brand pairings keep their saturation; text adapts to dark surfaces. */
.capsule{color:var(--card-ink,#171913);opacity:1}.card-top span:last-child,.card-open,.card-monogram{border-color:color-mix(in srgb,var(--card-ink,#171913) 40%,transparent)}.card-bottom{border-color:color-mix(in srgb,var(--card-ink,#171913) 24%,transparent)}.card-monogram.placeholder{color:var(--card-ink,#171913)}.gallery-controls,.no-screenshot{color:var(--card-ink,#171913)}.gallery-controls button{border-color:color-mix(in srgb,var(--card-ink,#171913) 65%,transparent)}

/* Soft rectangular controls echo the application icons. */
:root{--button-radius:12px;--icon-button-radius:11px}
button,.button,.filter,.nav-contact{border-radius:var(--button-radius)}
.circle{border-radius:var(--icon-button-radius)}
.round-link{border-radius:28px}
.hero h1{font-size:clamp(42px,5.8vw,94px);line-height:1.04}
@media(max-width:560px){.hero h1{font-size:clamp(34px,8.2vw,47px)}}

.detail-head{padding-right:19px}
.detail-head .eyebrow{padding-right:60px}
.detail-subtitle{display:flex;align-items:center;justify-content:space-between;gap:24px}
.detail-subtitle p{flex:1;min-width:0;margin:0;font-size:20px;line-height:1.5;color:#c3c8b7;overflow-wrap:anywhere}
.detail-launch{flex-shrink:0;min-height:43px;padding:11px 18px}
@media(max-width:560px){.detail-head{padding-right:12px}.detail-subtitle{flex-wrap:wrap;gap:16px}.detail-subtitle p{flex-basis:180px;font-size:17px}.detail-launch{margin-left:auto;min-height:38px;padding:10px 12px;font-size:13px}}

footer .brand-image{width:60px;height:60px}
footer .logo{gap:8px}
@media(max-width:800px){footer .brand-image{width:50px;height:50px}}
@media(max-width:560px){footer .brand-image{width:40px;height:40px}footer .logo{gap:4px}}

/* Calm capsule surfaces; no trailing empty screen after the last app. */
@media(min-width:561px){.orbit{padding-right:4.5vw;scroll-snap-type:none}}
@media(max-width:560px){.orbit{scroll-snap-type:none}}

footer>div .footer-laylab{margin-left:0;text-decoration:underline;text-underline-offset:3px}
