:root{--bg:#20211f;--panel:#292a27;--ink:#f4f3ed;--muted:#b7b9b0;--line:#484a42;--accent:#d4fc89;--accent-ink:#25291d;--nav:rgba(28,29,26,.93);--display:'Antonio','Arial Narrow',Impact,sans-serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.2,.75,.2,1);color-scheme:dark}
:root[data-theme=light]{--bg:#f0f0e8;--panel:#e5e6db;--ink:#262821;--muted:#62665a;--line:#c3c6b7;--accent:#b7e668;--accent-ink:#25291d;--nav:rgba(243,244,234,.94);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;transition:background .5s,color .5s;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.16}h2{font-size:clamp(38px,4.8vw,68px);letter-spacing:-1.8px}h3{font-size:25px;letter-spacing:-.6px}p{color:var(--muted)}.lime{color:var(--accent)}:root[data-theme=light] .lime{color:#7caa3d}.section{width:min(1320px,calc(100% - 128px));margin-inline:auto}.grain{pointer-events:none;position:fixed;inset:-100%;width:300%;height:300%;z-index:100;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")} :root[data-theme=light] .grain{opacity:.04}.skip{position:fixed;top:-80px;left:16px;padding:12px 20px;background:var(--accent);color:var(--accent-ink);z-index:500}.skip:focus{top:16px}.scroll-progress{position:fixed;left:0;top:0;height:2px;background:var(--accent);width:0;z-index:150;pointer-events:none}
.nav-wrap{position:fixed;top:28px;left:50%;transform:translateX(-50%);z-index:90;width:310px;animation:nav-in 1s .2s var(--ease) both}.nav-pill{border-radius:31px;background:var(--nav);backdrop-filter:blur(20px);border:1px solid var(--line);overflow:hidden;box-shadow:0 8px 30px #0000000d;transition:border-radius .45s,background .5s}.nav-top{height:60px;padding:8px;display:flex;align-items:center;gap:12px}.avatar{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--panel);font-family:var(--display);font-size:19px;position:relative}.avatar span{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);right:5px;bottom:6px}.status{font-size:13px;white-space:nowrap;flex:1;display:flex;align-items:center;gap:9px}.status i{width:6px;height:6px;border-radius:50%;background:#8cdb87;box-shadow:0 0 10px #8cdb8738;animation:pulse 3s infinite}.menu-toggle{width:42px;height:42px;border-radius:50%;background:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:none;transition:transform .4s}.menu-toggle:hover{transform:rotate(90deg)}.menu-toggle span{width:13px;height:1.5px;background:var(--accent-ink);transition:transform .4s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.menu-shell{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}.menu-shell.open{grid-template-rows:1fr}.menu-content{overflow:hidden;padding:0 20px}.menu-content>a{display:flex;align-items:center;gap:15px;padding:14px 0;border-top:1px solid var(--line);font-family:var(--display);font-size:23px;transition:color .2s,transform .3s}.menu-content>a:hover{color:var(--accent);transform:translateX(4px)}.menu-content>a>span{font-family:var(--sans);font-size:10px;color:var(--muted)}.menu-content b{margin-left:auto;font-family:var(--sans);font-size:21px;font-weight:400}.menu-foot{font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between;padding:19px 0;color:var(--muted)}
.hero{height:max(820px,100svh);max-height:1160px;position:relative;min-height:800px}.hero-title-top{position:absolute;top:110px;left:0;width:100%;z-index:4;pointer-events:none}.hero-name{font-family:var(--display);font-size:27px;line-height:1.4;letter-spacing:.2px;color:var(--ink);margin-bottom:0}.hero-title{font-size:clamp(85px,10.5vw,155px);font-weight:500;line-height:1.15;letter-spacing:-4.5px}.word-reveal{display:block}.word-reveal>span{display:inline-block;animation:letter-in 1.1s var(--ease) both;animation-delay:calc(.12s + var(--i)*.045s)}.hero-title-bottom{position:absolute;top:270px;right:0;font-size:clamp(74px,9.5vw,142px);white-space:nowrap;letter-spacing:-4px}.hero-title-bottom>span{animation-delay:calc(.35s + var(--i)*.035s)}.intro{animation:fade-up 1s var(--ease) both}.identity-position{position:absolute;width:290px;height:370px;top:39%;left:35%;z-index:3;animation:card-in 1.5s .25s var(--ease) both;perspective:1200px}.identity-card{padding:0;display:block;width:100%;height:100%;position:relative;background:transparent;border-radius:24px;perspective:1100px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease);text-align:left}.card-flipper{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.25,.7,.15,1)}.identity-card[aria-pressed=true] .card-flipper{transform:rotateY(180deg)}.card-front,.card-back{display:block;position:absolute;inset:0;backface-visibility:hidden;border-radius:24px;overflow:hidden;box-shadow:0 25px 80px #00000030}.card-front{background:radial-gradient(ellipse at 15% 0%,#484b40,#2c3028 55%,#1e211b);color:#e5e7db;border:1px solid #62684c}.card-back{background:var(--accent);color:var(--accent-ink);transform:rotateY(180deg);padding:25px}.card-kicker{display:block;position:relative;z-index:2;font-family:var(--sans);font-size:9px;letter-spacing:1.8px;padding:23px 24px}.card-back .card-kicker{padding:0;font-size:8px;letter-spacing:1.1px;margin-bottom:25px}.monogram{position:absolute;top:22px;left:23px;display:block;font-family:Arial,sans-serif;font-weight:700;font-size:260px;line-height:1;letter-spacing:-30px;color:#d4fc89;text-shadow:2px 3px 0 #adcb72,4px 6px 0 #869b58,6px 9px 0 #61723c,9px 15px 18px #0008;transform:rotate(-10deg);animation:monogram-float 7s ease-in-out infinite}.monogram>span{font-size:190px;letter-spacing:-10px}.card-grid{position:absolute;inset:0;background:linear-gradient(#e7ffd80a 1px,transparent 1px),linear-gradient(90deg,#e7ffd80a 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(transparent,#000)}.card-tag{position:absolute;left:24px;bottom:65px;font-family:var(--sans);font-size:8px;letter-spacing:1.4px;display:flex;align-items:center;gap:6px}.mini-dot{height:4px;width:4px;background:var(--accent);border-radius:50%}.card-bottom{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;border-top:1px solid #f0ffe12b;padding-top:13px;font-family:var(--sans);font-size:11px}.card-back .card-bottom{border-color:#25291d40}.card-bottom>span{font-size:17px;line-height:1}.back-headline{font-family:var(--display);display:block;font-size:39px;line-height:1.12;letter-spacing:-1px}.back-note{font-size:9px;line-height:1.7;display:block;margin-top:18px}.hello-badge{position:absolute;width:85px;height:85px;border-radius:50%;left:-42px;bottom:-35px;background:var(--accent);color:var(--accent-ink);font-size:31px;font-weight:450;display:grid;place-items:center;transform:rotate(-9deg);transition:transform .5s var(--ease);box-shadow:0 5px 20px #0001}.hello-word,.hello-hand{grid-area:1/1;transition:opacity .3s,transform .5s}.hello-hand{opacity:0;font-size:34px;transform:rotate(-20deg) scale(.7)}.hello-badge:hover{transform:rotate(8deg) scale(1.06)}.hello-badge:hover .hello-word{opacity:0;transform:scale(.6)}.hello-badge:hover .hello-hand{opacity:1;transform:rotate(10deg) scale(1);animation:wave .8s infinite}.flip-hint{position:absolute;bottom:-32px;left:69px;white-space:nowrap;font-size:9px;letter-spacing:.6px;color:var(--muted)}.hero-bottom{position:absolute;left:0;right:0;bottom:50px;display:flex;align-items:flex-end;justify-content:space-between;animation:fade-up 1.4s .65s var(--ease) both}.hero-bottom>p{font-size:13px;line-height:1.65}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:10px;font-weight:650;letter-spacing:1px}.text-link>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:18px;transition:background .3s,color .3s,transform .3s}.text-link:hover>span{background:var(--accent);color:var(--accent-ink);transform:translateY(3px)}.hero-location{font-size:9px;color:var(--muted);line-height:1.8;letter-spacing:1px;text-align:right}
.section-label{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:65px}.two-col{display:grid;grid-template-columns:1fr 1.35fr;gap:100px}.services,.about,.work,.feedback,.faq,.contact{padding-top:65px;padding-bottom:90px}.section-intro{align-self:start;position:sticky;top:130px}.section-intro>p{margin-top:25px;max-width:310px;line-height:1.8}.round-link{display:flex;align-items:center;justify-content:space-between;max-width:295px;margin-top:32px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:14px}.round-link>span{font-size:24px;transition:transform .3s}.round-link:hover>span{transform:rotate(45deg)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:28px 0}summary::-webkit-details-marker{display:none}.item-num{font-family:var(--display);font-size:24px;color:var(--muted)}summary h3{flex:1;font-size:24px}summary:hover h3{color:var(--accent)}:root[data-theme=light] summary:hover h3{color:#6c912c}.accordion-icon{width:18px;height:18px;position:relative;flex:none}.accordion-icon:before,.accordion-icon:after{content:'';position:absolute;left:3px;top:8px;width:12px;height:1px;background:var(--ink);transition:transform .3s}.accordion-icon:after{transform:rotate(90deg)}details[open] .accordion-icon:after{transform:rotate(0)}.detail-body{padding:0 25px 28px 40px;animation:detail-in .4s var(--ease)}.detail-body p{font-size:13px}.detail-body ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}.detail-body li{font-size:12px;color:var(--muted);position:relative;padding-left:18px}.detail-body li:before{content:'↗';position:absolute;left:0;color:var(--accent)}.about-copy>p{margin-bottom:25px}.about-copy>.big-copy{font-size:clamp(23px,2.5vw,34px);line-height:1.55;letter-spacing:-.8px;color:var(--ink);margin-bottom:35px}.big-copy span{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:7px;text-decoration-thickness:2px}.about-copy>p:not(.big-copy){font-size:14px;max-width:540px}.about-seal{display:flex;gap:20px;align-items:center;margin-top:70px}.asterisk{font-size:65px;color:var(--accent);display:block;line-height:1;animation:slow-turn 35s linear infinite}.about-seal small{font-size:8px;letter-spacing:1px;color:var(--muted)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:42px 0}.about-stats>div{border-top:1px solid var(--line);padding-top:18px}.about-stats strong{display:block;font-family:var(--display);font-size:54px;font-weight:500;line-height:1.4;color:var(--accent)}:root[data-theme=light] .about-stats strong{color:#6d9137}.about-stats>div>span{font-size:10px;line-height:1.65;color:var(--muted);display:block;margin-top:8px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags>span{border:1px solid var(--line);padding:5px 12px;border-radius:20px;font-size:9px}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.work-heading>p{max-width:300px;font-size:13px;line-height:1.8;padding-bottom:7px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 30px}.project{text-align:left;padding:0;background:none;display:block;min-width:0}.project-main{grid-column:1/-1}.project-art{height:350px;border-radius:12px;display:block;position:relative;overflow:hidden;isolation:isolate;transition:transform .6s var(--ease)}.project-main .project-art{height:500px}.project-art:after{content:'';position:absolute;inset:0;background:#000;opacity:0;transition:opacity .5s;z-index:5}.project:hover .project-art:after{opacity:.1}.art-label{position:absolute;top:24px;left:26px;z-index:3;font-size:8px;letter-spacing:1px;font-weight:650}.playhaus-art{background:#d5bce1;color:#2d163c;padding:24px}.playhaus-word{position:absolute;left:8%;top:8%;font-family:var(--display);font-size:clamp(100px,12vw,190px);font-weight:700;line-height:.92;letter-spacing:-6px;transform:rotate(-7deg);transition:transform .8s var(--ease)}.playhaus-word>span{color:#f8f2e5;-webkit-text-stroke:1px #2d163c}.art-sticker{position:absolute;right:12%;top:30%;display:flex;align-items:center;justify-content:center;text-align:center;width:185px;height:185px;border-radius:50%;background:#daff89;color:#2d163c;font-size:17px;letter-spacing:-.5px;line-height:1.55;font-weight:650;transform:rotate(13deg);box-shadow:10px 12px 0 #2d163c14;transition:transform .7s var(--ease)}.art-footer{position:absolute;bottom:22px;left:26px;right:26px;font-size:10px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2d163c40;padding-top:15px}.art-footer b{font-size:20px;font-weight:400}.project:hover .playhaus-word{transform:rotate(-4deg) scale(1.03)}.project:hover .art-sticker{transform:rotate(3deg) scale(1.06)}.view-project{position:absolute;inset:0;margin:auto;background:var(--accent);color:var(--accent-ink);border-radius:50%;width:110px;height:110px;display:grid;place-items:center;font-size:9px;letter-spacing:.7px;z-index:6;opacity:0;transform:scale(.6) rotate(-20deg);transition:opacity .3s,transform .5s var(--ease)}.project:hover .view-project,.project:focus-visible .view-project{opacity:1;transform:scale(1) rotate(-8deg)}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px}.project-meta small{font-family:var(--sans);font-size:8px;letter-spacing:1px;color:var(--muted)}.project-meta h3{font-size:28px;margin-top:9px}.project-arrow{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:23px;flex:none;transition:transform .3s,background .3s,color .3s}.project:hover .project-arrow{transform:rotate(45deg);background:var(--accent);color:var(--accent-ink)}.project-description{font-size:12px;line-height:1.8;color:var(--muted);display:block;margin-top:14px;max-width:610px}.audit-art{background:#c7cfb5;color:#303d2a}.audit-window{position:absolute;top:66px;left:11%;right:11%;background:#f7f7ed;box-shadow:8px 15px 0 #384e2a28;transform:rotate(-5deg);border-radius:9px;overflow:hidden;transition:transform .7s}.project:hover .audit-window{transform:rotate(-1deg) translateY(-5px)}.window-top{height:24px;display:flex;gap:4px;align-items:center;padding:0 10px;border-bottom:1px solid #dce0d2}.window-top i{border-radius:50%;background:#abb69d;width:4px;height:4px}.window-top b{font-size:6px;font-weight:400;margin-left:auto}.audit-inside{display:block;padding:20px 24px}.audit-inside>small{font-size:6px;letter-spacing:1.2px}.audit-inside>strong{display:block;font-family:var(--display);font-size:35px;line-height:1.1;margin:8px 0 15px;letter-spacing:-1px}.audit-row{display:flex;align-items:center;border-top:1px solid #d3d9c7;padding:6px 0;font-size:7px;gap:10px}.audit-row i{font-style:normal;color:#7d8e70}.audit-row b{margin-left:auto}.outreach-art{background:#b3c7d3;color:#203d49}.network-diagram{position:absolute;inset:45px 20px 42px;display:grid;place-items:center}.network-center{background:#e9f1e9;border:1px solid #426475;border-radius:50%;height:115px;width:115px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-size:22px;line-height:1.25;z-index:2;box-shadow:0 0 50px #213b4915;position:relative}.network-center>span{position:absolute;right:5px;bottom:5px;background:#d4fc89;border:1px solid #426475;border-radius:50%;width:25px;height:25px;font-family:var(--sans);font-size:15px}.network-orbit{position:absolute;width:240px;height:200px;border:1px dashed #42647588;border-radius:50%;transform:rotate(-20deg)}.node{width:31px;height:31px;display:grid;place-items:center;position:absolute;border-radius:50%;border:1px solid #426475;background:#b3c7d3;font-size:9px;font-style:normal;transition:transform .6s}.n1{top:8%;left:28%}.n2{top:14%;right:18%}.n3{bottom:13%;right:14%}.n4{bottom:1%;left:39%}.n5{top:49%;left:13%}.project:hover .node{transform:scale(1.2)}.outreach-art .art-footer{border-color:#203d4940}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:28px 0;margin:50px 0 25px}.marquee>div{display:flex;align-items:center;width:max-content;gap:45px;animation:marquee 32s linear infinite}.marquee span{font-family:var(--display);font-size:72px;letter-spacing:-2px;color:transparent;-webkit-text-stroke:1px var(--ink)}.marquee i{color:var(--accent);font-size:54px;line-height:1;font-style:normal}.feedback-note{display:block;font-size:9px;color:var(--muted);margin-top:20px}.feedback-stack{display:grid;gap:16px}.feedback-card{background:var(--panel);padding:28px;border:1px solid var(--line);border-radius:10px;transition:transform .4s}.feedback-card:hover{transform:translateX(5px)}.stars{color:var(--accent);font-size:12px;letter-spacing:3px}:root[data-theme=light] .stars{color:#6d9137}.feedback-card>p{font-size:17px;line-height:1.8;color:var(--ink);margin:18px 0 25px;letter-spacing:-.25px}.feedback-card footer{display:flex;align-items:center;gap:12px;font-size:11px}.feedback-avatar{display:grid;place-items:center;border:1px solid var(--line);width:36px;height:36px;border-radius:50%;font-family:var(--display);font-size:20px}.feedback-card footer small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.feedback-card footer b{margin-left:auto;font-size:20px;font-weight:400}.faq summary h3{font-size:22px}.faq summary{padding:25px 0}.faq .detail-body{padding-right:10px}.contact-heading{position:relative;margin-bottom:60px}.contact-heading h2{font-size:clamp(70px,10vw,140px);line-height:1.1;letter-spacing:-4px}.outline-type{color:transparent;-webkit-text-stroke:1px var(--ink)}.contact-hello{display:grid;place-items:center;position:absolute;right:8%;top:0;width:115px;height:115px;background:var(--accent);border-radius:50%;font-size:49px;color:var(--accent-ink);transform:rotate(10deg)}.contact-hello:hover{animation:wave .8s infinite}.contact-grid{gap:100px}.contact-copy>p{font-size:23px;letter-spacing:-.5px;line-height:1.7;color:var(--ink)}.email-link{font-size:14px;margin-top:35px;display:inline-flex;gap:15px;border-bottom:1px solid var(--line);padding-bottom:10px;word-break:break-word}.email-link span{font-size:22px;line-height:1}.contact-small{display:block;margin-top:22px;color:var(--muted);font-size:10px;line-height:1.8}.contact-form{display:grid;gap:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:10px;display:grid;gap:10px;color:var(--muted)}input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:9px 0 14px;font-size:12px;resize:vertical;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.6}select{cursor:pointer}option{background:var(--bg)}.submit-button{background:var(--accent);color:var(--accent-ink);display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-radius:5px;font-family:var(--display);font-size:23px;transition:transform .3s}.submit-button:hover{transform:translateY(-3px)}.submit-button>span:last-child{font-family:var(--sans);font-size:27px;line-height:1}.form-note{font-size:9px;margin-top:-13px;line-height:1.7}.site-footer{border-top:1px solid var(--line);padding-block:35px 110px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:9px;color:var(--muted)}.footer-brand{font-family:var(--display);font-size:23px;color:var(--ink);line-height:1.4}.footer-brand>span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:3px}.back-top{display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.5px}.back-top span{font-size:22px;color:var(--ink)}.theme-dock{position:fixed;z-index:95;bottom:20px;left:50%;transform:translateX(-50%);border:1px solid var(--line);border-radius:30px;background:var(--nav);backdrop-filter:blur(15px);padding:9px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 18px #0002}.theme-caption{font-size:7px;letter-spacing:1px;color:var(--muted)}.theme-switch{width:40px;height:22px;border-radius:20px;background:var(--accent);position:relative;padding:0}.switch-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;display:grid;place-items:center;color:var(--accent);background:var(--accent-ink);border-radius:50%;transition:transform .45s var(--ease)}.switch-knob svg{width:10px;height:10px}.theme-switch[aria-checked=true] .switch-knob{transform:translateX(18px)}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.in-view){opacity:0;transform:translateY(35px)}.motion-ready .reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}dialog{padding:30px 36px 35px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:16px;max-width:700px;width:calc(100% - 40px);max-height:85svh;overflow-y:auto;box-shadow:0 30px 160px #0008}dialog::backdrop{background:#10120fbd;backdrop-filter:blur(9px)}dialog[open]{animation:dialog-in .4s var(--ease)}.dialog-top{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}.dialog-top button{border:1px solid var(--line);border-radius:50%;width:35px;height:35px;font-size:25px;background:none;color:var(--ink);line-height:1}#dialog-content h2{font-size:45px;margin:10px 0 20px}#dialog-content h3{font-size:22px;margin:28px 0 10px}#dialog-content p{font-size:13px;line-height:1.9}#dialog-content ul{padding-left:20px;color:var(--muted);font-size:12px;line-height:2}#dialog-content .project-kicker{font-size:9px;color:var(--accent);letter-spacing:1px}#dialog-content .project-result{border:1px solid var(--line);background:var(--panel);padding:18px 20px;margin-top:25px;font-size:13px}.project-result strong{color:var(--ink)}.dialog-cta{display:flex;justify-content:space-between;gap:20px;background:var(--accent);color:var(--accent-ink);padding:16px 20px;margin-top:30px;font-family:var(--display);font-size:18px}body.dialog-open{overflow:hidden}[hidden]{display:none!important}::view-transition-old(root),::view-transition-new(root){animation-duration:.55s}
@keyframes letter-in{from{opacity:0;transform:translateY(80px) rotateX(-60deg);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:0;transform:translateY(65px) rotate(7deg) scale(.9)}to{opacity:1;transform:none}}@keyframes nav-in{from{opacity:0;translate:0 -20px}to{opacity:1;translate:0 0}}@keyframes monogram-float{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes wave{0%,100%{rotate:-8deg}50%{rotate:10deg}}@keyframes detail-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes slow-turn{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero-title-top{top:130px}.hero-title-bottom{top:300px}.identity-position{top:40%;width:330px;height:410px}.monogram{font-size:290px}.monogram>span{font-size:220px}.hero-bottom{bottom:70px}}
@media(max-width:1100px){.section{width:calc(100% - 80px)}.two-col{gap:55px;grid-template-columns:1fr 1.3fr}.hero-title-top{top:98px;left:35px;width:calc(100% - 70px)}.hero-title{font-size:96px}.hero-title-bottom{font-size:84px;top:245px;right:0}.identity-position{width:260px;height:340px;left:35%;top:34%}.monogram{font-size:235px;left:18px}.monogram>span{font-size:170px}.hero{min-height:850px}.hero-bottom{bottom:65px}.back-headline{font-size:35px}.back-note{font-size:8px}.about-stats{gap:15px}.contact-grid{gap:60px}.contact-hello{width:95px;height:95px;right:3%}.project-meta h3{font-size:25px}.project-art{height:320px}.project-main .project-art{height:430px}.art-sticker{width:155px;height:155px;font-size:14px}.network-orbit{width:215px;height:190px}.network-center{width:105px;height:105px}.contact-heading h2{font-size:95px}.contact-copy>p{font-size:20px}.email-link{font-size:12px}}
@media(max-width:760px){.section{width:calc(100% - 44px)}.nav-wrap{top:20px;width:282px}.nav-top{height:56px}.avatar{width:38px;height:38px;font-size:17px}.status{font-size:12px}.menu-toggle{width:38px;height:38px}.hero{min-height:780px;height:100svh;max-height:950px}.hero-title-top{top:130px;left:0;width:100%}.hero-name{font-size:21px;margin-bottom:5px}.hero-title{font-size:clamp(68px,14vw,105px);letter-spacing:-3px}.hero-title-bottom{font-size:clamp(52px,10.6vw,80px);top:330px;letter-spacing:-2.5px;right:0;z-index:4}.identity-position{top:34%;left:50%;margin-left:-115px;width:230px;height:305px;z-index:3}.card-kicker{padding:19px;font-size:8px}.monogram{font-size:210px;top:20px;left:17px}.monogram>span{font-size:155px}.card-front,.card-back{border-radius:19px}.card-back{padding:20px}.card-back .card-kicker{font-size:7px;margin-bottom:17px}.back-headline{font-size:32px}.back-note{margin-top:12px}.card-tag{font-size:7px;left:20px;bottom:57px}.card-bottom{left:20px;right:20px;bottom:17px;font-size:9px}.hello-badge{height:68px;width:68px;left:-26px;bottom:-26px;font-size:26px}.hello-hand{font-size:28px}.flip-hint{font-size:8px;bottom:-24px;left:57px}.hero-bottom{bottom:70px;gap:15px}.hero-bottom>p{font-size:11px}.hero-location{display:none}.text-link{font-size:8px;gap:12px}.text-link>span{width:30px;height:30px;font-size:16px}.two-col{display:block}.section-intro{position:static;margin-bottom:40px}.section-intro>p{font-size:13px;margin-top:20px;max-width:340px}.section-intro h2{font-size:45px}.section-label{font-size:7px;gap:20px;margin-bottom:40px;padding:15px 0}.section-label>span:last-child{text-align:right;max-width:145px}.services,.about,.work,.feedback,.faq,.contact{padding-top:35px;padding-bottom:45px}.round-link{max-width:300px;font-size:11px;margin-top:20px}summary{padding:23px 0}summary h3{font-size:23px}.item-num{font-size:22px}.detail-body{padding-left:35px}.about-copy>.big-copy{font-size:27px;line-height:1.5}.about-copy>p:not(.big-copy){font-size:13px}.about-seal{margin-top:30px}.asterisk{font-size:45px}.about-seal small{font-size:7px}.about-stats strong{font-size:48px}.about-stats>div>span{font-size:9px}.work-heading{display:block}.work-heading h2{font-size:49px}.work-heading p{font-size:12px;margin-top:20px}.project-grid{grid-template-columns:1fr;gap:40px}.project-main{grid-column:auto}.project-art,.project-main .project-art{height:350px}.playhaus-word{font-size:120px;top:16%;left:8%;letter-spacing:-5px}.art-sticker{right:6%;top:29%;width:120px;height:120px;font-size:11px}.art-label{left:20px;top:20px;font-size:7px}.art-footer{left:20px;right:20px;font-size:9px}.project-meta{margin-top:18px}.project-meta h3{font-size:26px}.project-description{font-size:11px}.project-arrow{width:36px;height:36px;font-size:21px}.audit-window{left:14%;right:14%}.audit-inside>strong{font-size:40px}.audit-row{font-size:8px}.network-diagram{inset:45px 20px 50px}.network-orbit{width:250px;height:205px}.network-center{width:115px;height:115px}.n1{left:28%}.n2{right:21%}.n3{right:16%}.n5{left:15%}.marquee{padding:20px 0;margin:30px 0 15px}.marquee>div{gap:28px}.marquee span{font-size:53px}.marquee i{font-size:38px}.feedback-card{padding:24px}.feedback-card>p{font-size:16px}.faq summary h3{font-size:21px}.faq summary{gap:10px}.contact-heading{margin-bottom:40px}.contact-heading h2{font-size:clamp(60px,12vw,86px);letter-spacing:-2.5px}.contact-hello{width:62px;height:62px;font-size:29px;top:-7px;right:0}.contact-copy{margin-bottom:35px}.contact-copy>p{font-size:22px}.email-link{margin-top:20px;font-size:13px}.contact-small{font-size:9px}.form-row{gap:18px}.contact-form{gap:22px}.site-footer{padding-top:25px;flex-wrap:wrap;padding-bottom:115px}.site-footer>span{font-size:8px;order:3;width:100%}.footer-brand{font-size:22px}.back-top{font-size:8px}.theme-dock{bottom:16px}.dialog-top{font-size:7px}dialog{padding:22px}#dialog-content h2{font-size:37px}.dialog-cta{font-size:16px}.feedback-note{font-size:8px}}
@media(max-width:380px){.section{width:calc(100% - 36px)}.hero{min-height:750px}.hero-title-bottom{top:320px}.identity-position{top:33%}.hero-bottom>p{font-size:10px}.text-link{font-size:7px}.contact-heading h2{font-size:57px}.contact-hello{width:50px;height:50px;font-size:25px}.email-link{font-size:12px}.playhaus-word{font-size:112px}.art-sticker{width:105px;height:105px;font-size:10px}.form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.motion-ready .reveal:not(.in-view){opacity:1;transform:none}.word-reveal>span{opacity:1;transform:none;filter:none}}

/* Selected client websites: original editorial covers with direct live links. */
.qds-art{background:#dce4e9;color:#193c50}.qds-art:before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:#c4d3dd;right:-95px;top:-70px}.qds-name{position:absolute;left:8%;top:21%;font-family:var(--display);font-size:clamp(39px,4.7vw,66px);line-height:1.08;font-weight:600;letter-spacing:-1.8px;transition:transform .7s var(--ease)}.qds-name>span{color:transparent;-webkit-text-stroke:1px #193c50}.qds-mark{position:absolute;right:9%;top:33%;font-family:var(--display);font-size:126px;font-weight:600;line-height:1;transform:rotate(8deg);color:#244c62;transition:transform .7s var(--ease)}.qds-mark>span{font-family:var(--sans);font-size:25px;position:absolute;bottom:-10px;right:-15px;background:#eaffb2;border-radius:50%;width:43px;height:43px;display:grid;place-items:center}.qds-art .art-footer{border-color:#193c5040}.project:hover .qds-name{transform:translateX(7px)}.project:hover .qds-mark{transform:rotate(-4deg) scale(1.04)}.dharito-art{background:#ede7d3;color:#34503b}.dharito-art:before{content:'';position:absolute;width:280px;height:280px;border:1px solid #34503b26;border-radius:50%;left:50%;top:26%;transform:translate(-50%,-50%)}.wheat-mark{position:absolute;left:50%;top:16%;width:95px;height:119px;transform:translateX(-50%);color:#b79448;transition:transform .7s var(--ease)}.dharito-name{position:absolute;left:0;right:0;top:55%;text-align:center;font-family:var(--display);font-weight:600;font-size:56px;line-height:1.1;letter-spacing:1px;transition:transform .7s var(--ease)}.dharito-name>span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:5px;margin-top:12px;font-weight:600}.dharito-art .art-footer{border-color:#34503b40}.project:hover .wheat-mark{transform:translateX(-50%) rotate(-6deg)}.project:hover .dharito-name{transform:translateY(-4px)}
@media(max-width:1100px) and (min-width:761px){.qds-name{font-size:43px}.qds-mark{font-size:100px;right:8%;top:37%}.qds-mark>span{width:33px;height:33px;font-size:20px}.wheat-mark{width:85px;height:105px}.dharito-name{font-size:49px}}
@media(max-width:760px){.qds-name{font-size:54px}.qds-mark{font-size:110px;right:10%}.dharito-name{font-size:58px}.wheat-mark{width:100px;height:125px}}
@media(max-width:380px){.qds-name{font-size:48px}.qds-mark{font-size:95px;right:7%}.qds-mark>span{width:33px;height:33px;font-size:20px}}

/* Real homepage screenshots, preserved as images with a gentle hover zoom. */
.website-cover{background:var(--panel)}.website-cover>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transform-origin:center top;transition:transform .8s var(--ease)}.project:hover .website-cover>img{transform:scale(1.035)}.cover-address{position:absolute;z-index:3;bottom:17px;left:17px;right:17px;display:flex;align-items:center;justify-content:space-between;padding:9px 13px;background:#20211fe8;backdrop-filter:blur(10px);border:1px solid #ffffff30;border-radius:6px;color:#fff;font-family:var(--sans);font-size:10px;letter-spacing:.3px}.cover-address>span{font-size:18px;line-height:1}.project-website-link{display:inline-block;margin-top:22px;font-size:10px;letter-spacing:1px;border-bottom:1px solid var(--line);padding-bottom:7px}.project-website-link:hover{color:var(--accent)}

/* Give website screenshots consistent proportions without stretching them. */
.project-wide{grid-column:1/-1}.project-art.website-cover{height:auto;aspect-ratio:16/10}.project-main .project-art.website-cover,.project-wide .project-art.website-cover{height:auto;aspect-ratio:16/9}
@media(max-width:760px){.project-wide{grid-column:auto}.project-main .project-art.website-cover,.project-wide .project-art.website-cover{aspect-ratio:16/10}}

/* Scroll choreography: separate layers keep entrances, flips and parallax independent. */
.hero-stage{position:relative;height:100%;width:100%}
.hero-title{font-size:clamp(78px,10.2vw,150px)}
.hero-title>.word-reveal:first-child{white-space:nowrap}
.hero-title-bottom{font-size:clamp(78px,10.2vw,150px)}
.hero-pinned .hero{height:175svh;min-height:1180px;max-height:none}
.hero-pinned .hero-stage{position:sticky;top:0;height:100svh;min-height:680px}
.hero-pinned .hero-title-top{top:clamp(110px,14svh,150px)}
.hero-pinned .hero-title-bottom{top:clamp(205px,31svh,340px)}
.hero-pinned .identity-position{top:31%}
.motion-enhanced .hero-title>.word-reveal:first-child{translate:var(--hero-first-x,0px) var(--hero-first-y,0px)}
.motion-enhanced .hero-title-bottom{translate:var(--hero-second-x,0px) var(--hero-second-y,0px)}
.motion-enhanced .hero-name{filter:opacity(var(--hero-name-opacity,1))}
.motion-enhanced .identity-position{translate:0 var(--hero-card-y,0px);rotate:var(--hero-card-rotation,0deg);scale:var(--hero-card-scale,1)}
.motion-enhanced .motion-word{display:inline-block;white-space:nowrap;opacity:var(--word-opacity,1);translate:0 var(--word-y,0px);text-decoration:none;will-change:opacity,translate}
.motion-enhanced .big-copy .motion-word{text-decoration:none}
.motion-enhanced .project.reveal{opacity:var(--card-opacity,1);transform:translate3d(0,var(--card-y,0px),0) rotate(var(--card-rotate,0deg)) scale(var(--card-scale,1));transition:none}
.motion-enhanced .project-art{transform:perspective(1400px) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg));transition:transform .6s var(--ease)}
.motion-enhanced .website-cover>img{transform-origin:center;transform:translateY(var(--image-y,0%)) scale(1.08);transition:scale .8s var(--ease);will-change:transform}
.motion-enhanced .project:hover .website-cover>img{scale:1.035}
.motion-enhanced .project-art.pointer-tracking .view-project{inset:auto;left:var(--cursor-x,50%);top:var(--cursor-y,50%);margin:0;translate:-50% -50%;pointer-events:none}
.wheel-easing{scroll-behavior:auto!important}
.motion-enhanced .reveal:not(.project){transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.motion-enhanced .reveal:not(.project):not(.in-view){transform:translateY(65px)}
@media(max-width:1100px) and (min-width:761px){.hero-title,.hero-title-bottom{font-size:clamp(78px,9.85vw,108px)}}
@media(max-width:760px){.hero-title{font-size:clamp(48px,17vw,108px);letter-spacing:-2.5px}.hero-title-bottom{top:105px;font-size:clamp(61px,17vw,108px);letter-spacing:-2.5px}.identity-position{top:40%}.motion-enhanced .website-cover>img{transform:translateY(var(--image-y,0%)) scale(1.065)}.motion-enhanced .motion-word{will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero-stage{height:100%}.motion-word{opacity:1!important;translate:none!important}.hero-title>.word-reveal,.identity-position{translate:none!important;rotate:none!important;scale:none!important}.website-cover>img{will-change:auto}.motion-enhanced .project.reveal{opacity:1;transform:none}}

/* The two supplied portraits form the front and back of one scroll-controlled card. */
.photo-card .card-front,.photo-card .card-back{padding:0;border:1px solid #ffffff30;background:#e5e4df}
.photo-card .card-front>img,.photo-card .card-back>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.photo-card .card-back>img{object-position:center}
.photo-card.identity-card[aria-pressed] .card-flipper{transform:rotateY(var(--photo-turn,0deg));transition:none;will-change:transform}
.photo-card.identity-card.manual-flip .card-flipper{transition:transform .7s var(--ease)}
.photo-card .card-front,.photo-card .card-back{-webkit-backface-visibility:hidden}
@media(max-width:760px){.hero-pinned .hero-title-top{top:110px}.hero-pinned .hero-title-bottom{top:calc(clamp(48px,17vw,108px) + 46px)}.hero-pinned .identity-position{top:max(310px,40%);height:clamp(250px,36svh,305px)}.hero-pinned .hero-stage{min-height:680px}.hero-pinned .hero{min-height:1180px}}
@media(prefers-reduced-motion:reduce){.photo-card.identity-card.manual-flip .card-flipper{transition:none}.photo-card .card-flipper{will-change:auto}}
