@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');

:root{--ink:#111;--paper:#f8f6f0;--blue:#1550ff;--line:rgba(17,17,17,.7);--shadow:13px 15px 0 rgba(17,17,17,.22);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace;--ease:cubic-bezier(.2,.9,.25,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--sans);color:var(--ink);background:var(--paper)}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mono{font:10px/1.25 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.site{min-height:100svh;overflow:hidden;position:relative;background:linear-gradient(180deg,#fff 0%,#f8f7f2 60%,#e8843e 100%)}
.chrome{z-index:30;position:fixed;inset:0 0 auto;height:69px;padding:18px 21px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;mix-blend-mode:multiply}.menu-trigger{justify-self:start;display:grid;place-items:center;border:0;background:none;width:25px;height:25px;padding:0}.menu-trigger i{display:block;width:18px;height:1px;background:currentColor;margin:2px 0}.brand{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.06em}.dln-mark{position:relative;display:inline-block;width:28px;height:17px}.dln-mark i{position:absolute;top:0;height:17px;background:currentColor}.dln-mark i:first-child{left:0;width:12px;border-radius:12px 0 0 12px}.dln-mark i:nth-child(2){left:10px;width:6px;background:var(--blue);border-radius:10px 0 0 10px}.dln-mark i:last-child{right:0;width:12px;border-radius:0 12px 12px 0}.top-action{justify-self:end;background:transparent;border:1px solid currentColor;font:12px/1 var(--sans);padding:8px 15px;transition:.2s}.top-action:hover{background:var(--ink);color:white}
.world{position:relative;width:100%;height:100svh;min-height:600px;overflow:hidden}.world:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1}.world-home:before{background:radial-gradient(circle at 50% 36%,rgba(21,80,255,.06),transparent 25%),linear-gradient(180deg,#fff 0%,#f7f6f1 60%,#e8843e 100%)}.world-work{background:#e7cfcf}.world-practice{background:#d8d7d0}.world-lab{background:#e9e7df}.world-contact{background:var(--blue)}
.world-home:before{display:none}#worldCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.world-hint{position:absolute;z-index:3;left:50%;bottom:68px;transform:translateX(-50%);font-size:9px;pointer-events:none}.room-tooltip{position:absolute;z-index:5;display:none;padding:6px 8px;background:var(--paper);border:1px solid var(--ink);font-size:9px;pointer-events:none;white-space:nowrap}.room-modal{position:absolute;z-index:10;left:50%;top:50%;width:min(376px,78vw);padding:27px 30px 31px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);transform:translate(-50%,-50%) scale(.94);opacity:0;pointer-events:none;transition:opacity .28s,transform .4s var(--ease);text-align:center}.room-modal.open{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.room-modal-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:29px;line-height:20px;transform:rotate(45deg)}.room-modal h1{margin:11px 0 9px;font:400 clamp(39px,5vw,57px)/.85 var(--serif);letter-spacing:-.08em}.room-modal p{font-size:13px;line-height:1.36;margin:0 auto 21px;max-width:255px}
body:has(.world-lab) .chrome,body:has(.world-lab) .site-footer{color:var(--paper);mix-blend-mode:normal}body:has(.world-lab) .top-action,body:has(.world-lab) .utility button{border-color:var(--paper)}body:has(.world-lab) .utility button{color:var(--paper)}body:has(.world-lab) .site-footer a{color:var(--paper)}
.page-label{position:absolute;z-index:4;top:23px;left:50%;transform:translateX(-50%);font:17px var(--serif);white-space:nowrap}.world-home .page-label{display:none}.utility{position:absolute;z-index:4;right:22px;top:19px;display:flex;gap:15px}.utility button{border:1px solid var(--ink);background:transparent;padding:7px 11px;font:11px var(--sans)}.utility button:hover{background:var(--ink);color:var(--paper)}
.site-footer{position:fixed;z-index:26;left:0;right:0;bottom:0;height:45px;padding:0 29px;display:flex;align-items:center;gap:48px;font:10px var(--sans)}.site-footer a{text-decoration:underline;text-underline-offset:2px}.site-footer .credit{margin-left:auto}.pin{display:inline-block;margin-right:8px;width:9px;height:9px;border-radius:50% 50% 50% 0;background:var(--ink);transform:rotate(-45deg)}
.notice{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-48%);width:min(680px,76vw);min-height:425px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);padding:35px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .65s var(--ease),opacity .5s var(--ease)}.notice.closed{opacity:0;transform:translate(-50%,-120%);pointer-events:none}.notice-close{position:absolute;right:23px;top:19px;width:28px;height:28px;border:0;background:transparent;font-size:38px;font-weight:200;line-height:22px;transform:rotate(45deg)}.notice-art{width:245px;height:200px;position:relative;margin:3px auto 17px;overflow:hidden;background:linear-gradient(140deg,var(--blue),#7e7cf7 25%,#fb4c3b 25% 44%,#f3b900 44% 70%,#151515 70%)}.notice-art:before{content:'DLN';position:absolute;inset:44px 0 auto;color:white;font-size:67px;line-height:1;font-weight:700;letter-spacing:-.13em;mix-blend-mode:screen}.notice-art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 11px,rgba(255,255,255,.9) 12px 14px);clip-path:polygon(76% 0,100% 0,100% 100%,87% 100%)}.notice h1{font:400 clamp(31px,4vw,49px)/.98 var(--serif);margin:0;letter-spacing:-.065em}.notice h1 em{font-style:italic}.notice p{margin:13px auto 0;max-width:430px;font-size:14px;line-height:1.35}.notice-link{margin-top:16px;border:0;border-bottom:1px solid var(--ink);padding:0 0 2px;background:none;font-size:13px}
.intro-card{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,82vw);padding:35px 36px;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);text-align:center}.intro-card h1{font:400 clamp(31px,4vw,49px)/1.03 var(--serif);letter-spacing:-.07em;margin:0}.intro-card p{font-size:14px;line-height:1.35;margin:17px 0 25px}.intro-card .actions{display:flex;justify-content:center;gap:16px}.plain-button{border:1px solid var(--ink);background:var(--paper);padding:8px 16px;font-size:13px;transition:.2s}.plain-button:hover{background:var(--ink);color:var(--paper)}
.home-object{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);width:140px;height:110px;opacity:.12}.home-object i{position:absolute;background:var(--blue)}.home-object i:nth-child(1){width:55px;height:91px;left:0;border-radius:70px 0 0 70px}.home-object i:nth-child(2){width:22px;height:53px;left:44px;top:19px;border-radius:28px 0 0 28px}.home-object i:nth-child(3){width:55px;height:91px;right:0;border-radius:0 70px 70px 0}
.piece{position:absolute;z-index:2;touch-action:none;user-select:none;cursor:grab}.piece:active{cursor:grabbing}.work-grid{position:absolute;inset:-7% -4%;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(6,1fr);background:#f2bd39}.work-grid .tile{border:1px solid rgba(17,17,17,.1);min-height:75px}.tile.orange{background:#cf3b16}.tile.pink{background:#cf4972}.tile.egg{background:#e8d18d}.tile.plum{background:#4b1e4d}.tile.yellow{background:#f4be37}.tile.pattern{background:repeating-linear-gradient(54deg,#cf3b16 0 13px,#1e1717 14px 18px,#d6a18c 19px 31px)}.work-grid .dot{width:64px;aspect-ratio:1;border-radius:50%;align-self:center;justify-self:center}.work-grid .dot.plum{background:#4b1e4d}.work-grid .dot.orange{background:#cf3b16}.work-grid .dot.egg{background:#e8d18d}.work-grid .dot.yellow{background:#f7d34c}.work-grid .tile:nth-child(1){grid-column:1/2;grid-row:1/3}.work-grid .tile:nth-child(2){grid-column:2/3;grid-row:1/2}.work-grid .tile:nth-child(3){grid-column:3/4;grid-row:1/2}.work-grid .tile:nth-child(4){grid-column:4/5;grid-row:1/2}.work-grid .tile:nth-child(5){grid-column:5/6;grid-row:1/2}.work-grid .tile:nth-child(6){grid-column:6/7;grid-row:1/2}.work-grid .tile:nth-child(7){grid-column:7/8;grid-row:1/2}.work-grid .tile:nth-child(8){grid-column:8/9;grid-row:1/2}.work-grid .tile:nth-child(9){grid-column:1/2;grid-row:3/4}.work-grid .tile:nth-child(10){grid-column:2/3;grid-row:3/5}.work-grid .tile:nth-child(11){grid-column:4/5;grid-row:3/4}.work-grid .tile:nth-child(12){grid-column:5/6;grid-row:3/4}.work-grid .tile:nth-child(13){grid-column:6/7;grid-row:3/4}.work-grid .tile:nth-child(14){grid-column:7/8;grid-row:3/4}.work-grid .tile:nth-child(15){grid-column:8/9;grid-row:3/5}.work-grid .tile:nth-child(16){grid-column:1/2;grid-row:5/7}.work-grid .tile:nth-child(17){grid-column:2/3;grid-row:5/6}.work-grid .tile:nth-child(18){grid-column:3/4;grid-row:5/7}.work-grid .tile:nth-child(19){grid-column:4/5;grid-row:5/6}.work-grid .tile:nth-child(20){grid-column:5/6;grid-row:5/7}.work-grid .tile:nth-child(21){grid-column:6/7;grid-row:5/6}.work-grid .tile:nth-child(22){grid-column:7/8;grid-row:5/7}.work-grid .tile:nth-child(23){grid-column:8/9;grid-row:5/7}
.practice-field{position:absolute;inset:0;background:linear-gradient(110deg,#d2d1ca 0 36%,#f8f6ef 36% 100%)}.practice-word{position:absolute;font:400 clamp(62px,11vw,164px)/.72 var(--serif);letter-spacing:-.09em}.practice-word.one{left:5%;top:22%;color:var(--ink)}.practice-word.two{right:5%;bottom:18%;text-align:right;color:var(--blue);font-style:italic}.practice-ring{position:absolute;border:1px solid var(--ink);border-radius:50%;width:min(42vw,550px);aspect-ratio:1;right:12%;top:12%;opacity:.75}.practice-ring:before,.practice-ring:after{content:'';position:absolute;inset:18%;border:1px solid var(--blue);border-radius:50%}.practice-ring:after{inset:37%;background:var(--ink);border:0}.practice-note{position:absolute;left:6%;bottom:16%;width:190px;font-size:13px;line-height:1.3}.practice-labels{position:absolute;right:5%;bottom:9%;display:flex;gap:11px;flex-wrap:wrap;width:290px}.practice-labels span{border:1px solid var(--ink);padding:5px 7px;font-size:10px}
.lab-field{position:absolute;inset:0;background:#111;overflow:hidden}.lab-orbit{position:absolute;width:min(85vw,1050px);aspect-ratio:1;border:1px solid rgba(255,255,255,.4);border-radius:50%;right:-15%;top:-22%;animation:spin 24s linear infinite}.lab-orbit:before,.lab-orbit:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%}.lab-orbit:before{inset:20%}.lab-orbit:after{inset:43%;background:var(--blue);border:0}.lab-title{position:absolute;left:7%;top:20%;z-index:2;color:var(--paper);font:400 clamp(78px,14vw,190px)/.7 var(--serif);letter-spacing:-.1em}.lab-title em{color:var(--blue);font-style:italic}.lab-copy{position:absolute;left:7%;top:53%;z-index:2;color:var(--paper);width:220px;font-size:14px;line-height:1.35}.lab-chip{position:absolute;z-index:2;right:12%;bottom:14%;width:180px;aspect-ratio:1;background:var(--blue);border-radius:50% 0 50% 50%;transform:rotate(28deg)}.lab-chip:after{content:'TEST / CHANGE / KEEP';position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-28deg);font:10px var(--mono);color:#111;text-align:center}
.contact-field{position:absolute;inset:0;background:var(--blue)}.contact-title{position:absolute;left:6%;bottom:12%;font:400 clamp(70px,12vw,170px)/.74 var(--serif);letter-spacing:-.1em;margin:0;max-width:7ch}.contact-title em{font-style:italic}.contact-detail{position:absolute;right:9%;top:25%;width:240px;font-size:15px;line-height:1.35}.contact-detail a{border-bottom:1px solid var(--ink)}.contact-disc{position:absolute;width:min(29vw,390px);aspect-ratio:1;right:8%;bottom:-10%;border-radius:50%;background:var(--paper);border:1px solid var(--ink)}
.overlay{position:fixed;z-index:50;inset:0;visibility:hidden;opacity:0;transition:opacity .35s}.overlay.open{visibility:visible;opacity:1}.overlay:before{content:'';position:absolute;inset:0;background:rgba(17,17,17,.18)}.paper-menu{position:absolute;left:50%;top:50%;width:min(1050px,84vw);min-height:min(700px,77vh);background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);transform:translate(-50%,-55%) rotate(-7deg);padding:40px 34px;transition:transform .75s var(--ease)}.overlay.open .paper-menu{transform:translate(-50%,-50%) rotate(-2deg)}.overlay-close{position:absolute;right:22px;top:14px;border:0;background:transparent;font-size:42px;font-weight:200;transform:rotate(45deg)}.paper-menu nav{margin-top:20px}.paper-menu a{display:block;width:max-content;font:400 clamp(43px,6.5vw,86px)/.79 var(--serif);letter-spacing:-.07em;transition:color .18s,transform .18s}.paper-menu a span{font:400 clamp(15px,2vw,25px) var(--serif);letter-spacing:-.05em}.paper-menu a:hover{color:var(--blue);transform:translateX(11px)}.paper-menu .minor{position:absolute;left:35px;right:35px;bottom:28px;display:flex;gap:11px;flex-wrap:wrap;font-size:11px}.paper-menu .minor a{font:11px var(--sans);letter-spacing:0}.paper-menu .side-note{position:absolute;right:35px;bottom:64px;width:190px;font-size:12px;line-height:1.32}
.sheet{position:fixed;z-index:48;inset:0 0 0 auto;width:min(620px,90vw);background:var(--paper);border-left:1px solid var(--ink);padding:88px 37px 38px;transform:translateX(103%);transition:transform .65s var(--ease);overflow:auto}.sheet.open{transform:none}.sheet-close{position:absolute;top:20px;right:22px;border:0;background:none;font-size:13px;text-decoration:underline}.sheet h2{font:400 clamp(44px,6vw,76px)/.85 var(--serif);letter-spacing:-.075em;margin:0 0 30px}.sheet h2 em{font-style:italic}.sheet h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:30px 0 9px}.sheet p{max-width:420px;font-size:15px;line-height:1.42}.sheet ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.sheet li{border-bottom:1px solid var(--ink);padding:11px 0;font-size:15px}.sheet li span{float:right;font:10px var(--mono);text-transform:uppercase}.project-list button{width:100%;border:0;border-top:1px solid var(--ink);background:none;text-align:left;padding:13px 0;font:400 clamp(24px,3vw,42px)/.9 var(--serif);letter-spacing:-.06em}.project-list button:last-child{border-bottom:1px solid var(--ink)}.project-list button:hover{color:var(--blue);padding-left:10px}.project-case{display:none;margin-top:28px;padding:21px;background:var(--blue);font-size:14px;line-height:1.35}.project-case.on{display:block}.contact-form a{display:block;width:max-content;margin-top:22px;border:1px solid var(--ink);padding:11px 16px;font-size:13px}.contact-form a:hover{background:var(--ink);color:var(--paper)}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:720px){.chrome{height:58px;padding:15px}.brand{font-size:13px}.top-action{font-size:10px;padding:7px 8px}.site-footer{height:37px;padding:0 15px;gap:13px;font-size:8px}.site-footer .credit{display:none}.page-label{font-size:14px;top:20px}.utility{right:14px;top:63px;gap:6px}.utility button{font-size:9px;padding:6px 8px}.notice{width:84vw;min-height:390px;padding:30px 20px}.notice-art{width:190px;height:160px}.notice h1{font-size:34px}.notice p{font-size:12px}.intro-card{padding:26px 20px}.intro-card h1{font-size:38px}.intro-card p{font-size:12px}.work-grid{inset:-4%;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(8,1fr)}.work-grid .tile:nth-child(n){grid-column:auto;grid-row:auto}.work-grid .tile:nth-child(1){grid-column:1/2;grid-row:1/3}.work-grid .tile:nth-child(2){grid-column:2/3;grid-row:1/2}.work-grid .tile:nth-child(3){grid-column:3/4;grid-row:1/2}.work-grid .tile:nth-child(4){grid-column:4/5;grid-row:1/2}.work-grid .tile:nth-child(5){grid-column:5/6;grid-row:1/2}.work-grid .tile:nth-child(8){grid-column:5/6;grid-row:2/4}.work-grid .tile:nth-child(11){grid-column:3/4;grid-row:3/4}.work-grid .tile:nth-child(14){grid-column:4/5;grid-row:3/5}.work-grid .tile:nth-child(17){grid-column:2/3;grid-row:5/7}.work-grid .tile:nth-child(20){grid-column:5/6;grid-row:5/7}.work-grid .dot{width:42px}.practice-word.one{top:27%;left:7%;font-size:78px}.practice-word.two{bottom:18%;right:7%;font-size:72px}.practice-ring{width:78vw;right:-18%;top:15%}.practice-note{left:7%;bottom:12%;font-size:11px;width:145px}.practice-labels{right:5%;bottom:7%;width:165px}.practice-labels span{font-size:8px}.lab-title{top:25%;left:7%;font-size:112px}.lab-copy{left:7%;top:50%;font-size:12px;width:170px}.lab-chip{width:140px;right:6%;bottom:11%}.contact-title{left:7%;bottom:15%;font-size:82px}.contact-detail{left:7%;right:auto;top:22%;font-size:13px}.contact-disc{width:60vw;right:-10%;bottom:-7%}.paper-menu{width:90vw;min-height:640px;padding:38px 23px}.paper-menu a{font-size:47px}.paper-menu a span{font-size:14px}.paper-menu .side-note{display:none}.paper-menu .minor{left:23px;right:23px;bottom:22px}.sheet{padding:78px 24px 28px}.sheet h2{font-size:50px}}
