@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#efeee8;--ink:#252820;--accent:#c6d67f;--line:#c9cbc0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #637b22;outline-offset:5px}header{height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:Manrope,Arial,sans-serif;font-size:44px;font-weight:800;letter-spacing:-5px;display:flex;align-items:center;gap:14px}.logo span{font-size:10px;letter-spacing:1px;max-width:70px;line-height:1.4}nav{display:flex;align-items:center;gap:38px;font-size:13px}.nav-cta{border:1px solid var(--ink);padding:13px 20px;border-radius:30px}.nav-cta span{margin-left:28px}.hero{padding:56px 5% 66px;position:relative;overflow:hidden;min-height:665px}.eyebrow,.small{font-size:10px;font-weight:600;letter-spacing:1.5px}.dot{display:inline-block;width:7px;height:7px;background:#768b3b;border-radius:50%;margin-right:7px}h1,h2,h3,p{margin:0}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(65px,7.4vw,118px);letter-spacing:-7px;line-height:1.04;font-weight:500;margin:38px 0 48px;position:relative;z-index:1}.serif{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.055em}.hero h1 .serif{background:var(--paper)}.hero-bottom{display:flex;align-items:center;gap:5%;position:relative;z-index:1}.hero-bottom p{font-size:15px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border:0;padding:20px 25px;border-radius:3px;cursor:pointer;font-size:13px}.dark{background:var(--ink);color:#fff}.dark:hover{background:#454d31}.hero-index{font-size:9px;letter-spacing:1px;line-height:1.8;margin-left:auto}.hero-art{position:absolute;right:7%;top:74px;width:270px;height:280px;transform:rotate(-18deg)}.orbit{position:absolute;inset:0;border:1px solid #a6b189;border-radius:50%}.o2{transform:rotate(60deg) scaleX(.55)}.o3{transform:rotate(-60deg) scaleX(.55)}.o1{transform:scaleX(.55)}.star{position:absolute;inset:70px;font-size:140px;color:#809447;line-height:1}.art-label{position:absolute;bottom:-30px;left:35px;font-size:8px;letter-spacing:2px}.ticker{display:flex;align-items:center;justify-content:space-around;gap:20px;padding:22px 5%;background:var(--accent);font-size:12px;letter-spacing:2px}.ticker b{font-size:25px;font-weight:400}.section{padding:90px 5%}.section-top{display:flex;justify-content:space-between;margin-bottom:35px}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(40px,5vw,73px);font-weight:500;line-height:1.12;letter-spacing:-3px}.intro{max-width:430px;font-size:15px;line-height:1.7;margin:24px 0 38px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project{border:0;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit}.browserbar{height:36px;display:flex;align-items:center;gap:5px;padding:0 17px;background:#e0e2d7}.browserbar i{width:5px;height:5px;background:#929686;border-radius:50%}.browserbar span{font-size:8px;letter-spacing:1px;margin:auto}.cafe-screen,.trades-screen{height:360px;position:relative;padding:23px 28px;overflow:hidden;transition:transform .3s}.cafe-screen{background:#e4e1cc;color:#2f462e}.mini-nav{font-family:Georgia,serif;font-size:18px;display:flex;justify-content:space-between;align-items:center}.mini-nav span{font:6px Arial;letter-spacing:1px}.cafe-copy{font-family:Georgia,serif;font-size:48px;line-height:1.06;position:relative;z-index:1;margin-top:55px}.plate{height:235px;width:235px;border-radius:50%;background:repeating-radial-gradient(circle,#efeddf 0 3px,#d6d4c3 4px 5px);position:absolute;right:-45px;top:95px;box-shadow:0 15px 20px #26382230}.food{position:absolute;inset:38px;border-radius:50%;background:radial-gradient(ellipse at 30% 30%,#c5753b 0 7%,transparent 8%),radial-gradient(ellipse at 65% 65%,#c79952 0 12%,transparent 13%),repeating-conic-gradient(#728447 0 20deg,#aeb365 21deg 40deg,#49643c 41deg 60deg);border:12px solid #dad9bb;transform:rotate(22deg)}.mini-pill{font-size:6px;letter-spacing:1px;border:1px solid currentColor;display:inline-block;padding:10px 13px;border-radius:20px;position:absolute;bottom:65px;z-index:1}.cafe-note,.trades-note{font-size:8px;position:absolute;bottom:24px}.trades-screen{background:#313e46;color:#f0ede5}.trades-copy{font:43px/1.07 Manrope,Arial;margin-top:55px;position:relative;z-index:1;letter-spacing:-2px}.architecture{height:220px;width:170px;background:linear-gradient(110deg,#d1b496,#8e7862);position:absolute;right:18px;top:113px;transform:skewY(-10deg)}.window{background:linear-gradient(90deg,#293638 0 46%,#9a7d60 47% 52%,#27393e 53%);width:95px;height:137px;position:absolute;left:25px;bottom:0}.sun{position:absolute;width:70px;height:70px;border-radius:50%;background:#ce8f69;right:-35px;top:-50px}.project-caption{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.project-caption h3{font-size:19px;font-weight:500}.project-caption p{font-size:11px;margin-top:7px;color:#61675a}.project-caption>span{font-size:28px;transition:transform .2s}.project:hover .project-caption>span{transform:translate(4px,-4px)}.disclosure{font-size:10px;color:#61675a;margin-top:12px}.demo{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e0e4d5;align-items:center}.demo h2{margin:25px 0}.demo p{font-size:14px;line-height:1.7;max-width:380px}.toggle{display:inline-flex;background:#cbd1bd;border-radius:30px;padding:4px;margin:28px 0 18px}.toggle button{padding:12px 26px;border:0;border-radius:25px;background:transparent;cursor:pointer;font-size:12px}.toggle button.active{background:var(--ink);color:#fff}.demo .small{font-size:9px}.demo-frame{border:1px solid #a6ae98;box-shadow:10px 14px 0 #cbd1bd;min-width:0}.demo-url{background:#eaece4;padding:13px;font-size:9px;color:#65705b;text-align:center;border-bottom:1px solid #a6ae98}#demo-content{height:350px;position:relative;overflow:hidden;padding:30px;background:#f4f1e8}.demo-brand{font-weight:700;font-size:13px;letter-spacing:2px;display:flex;justify-content:space-between}.demo-brand span{font-size:6px;letter-spacing:.5px}#demo-content h3{font:38px/1.08 Manrope,Arial;letter-spacing:-1.6px;margin:43px 0 18px;position:relative;z-index:1}#demo-content h3 em{font-family:Georgia,serif}#demo-content p{font-size:11px;position:relative;z-index:1}.demo-button{background:var(--ink);color:#fff;font-size:9px;padding:12px;display:inline-block;margin-top:22px;position:relative;z-index:1}.demo-lines{position:absolute;width:150px;height:210px;border:20px solid #b9c59b;border-radius:100px 100px 0 0;right:-30px;bottom:0;transform:rotate(-20deg)}#demo-content.before{background:white;text-align:center;font-family:'Times New Roman',serif}#demo-content.before h3{font:bold 30px 'Times New Roman';color:#0000a0;margin-top:50px;letter-spacing:0}#demo-content.before p{font:15px 'Times New Roman';color:#555}.before .demo-brand{font:15px 'Times New Roman';color:blue;letter-spacing:0}.before .demo-button{background:#ddd;color:blue;text-decoration:underline;border:2px outset #bbb}.approach{background:var(--ink);color:var(--paper)}.approach-head{display:flex;align-items:end;justify-content:space-between;margin:35px 0 50px;gap:30px}.approach-head p{max-width:310px;line-height:1.7;font-size:14px;color:#c4c8b9}.service{display:grid;grid-template-columns:40px 1fr 1fr 30px;gap:25px;align-items:center;padding:30px 0;border-top:1px solid #59604d}.service>span{font-size:11px;color:var(--accent)}.service h3{font-size:23px;font-weight:400}.service p{font-size:13px;line-height:1.7;color:#c4c8b9}.service b{font-weight:400;font-size:24px;color:var(--accent)}.process h2{margin:30px 0 50px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps span{font-size:10px;letter-spacing:1px}.steps h3{font-size:19px;font-weight:500;margin:28px 0 15px}.steps p{font-size:13px;line-height:1.75;max-width:300px;color:#61675a}.contact{background:var(--accent);display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact h2{margin:30px 0}.contact p{font-size:14px;line-height:1.7;max-width:360px}.email{display:inline-block;margin-top:32px;font-size:15px;border-bottom:1px solid;padding-bottom:5px}form label{display:block;font-size:11px;margin-bottom:20px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #899856;background:transparent;padding:13px 0;color:var(--ink);border-radius:0;outline-offset:4px;font-size:13px}input::placeholder,textarea::placeholder{color:#526136}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form .button{width:100%;margin-top:5px}.contact .form-note{font-size:10px;margin-top:15px;max-width:100%}.faq{padding-top:70px;padding-bottom:70px}.faq>.eyebrow{display:block;margin-bottom:30px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:17px}summary::-webkit-details-marker{display:none}details p{font-size:14px;line-height:1.7;max-width:650px;margin-top:20px;color:#61675a}details[open] summary span{transform:rotate(45deg)}footer{padding:30px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font:italic 18px Georgia}footer>span,footer>a:last-child{font-size:9px;letter-spacing:1px}.skip{position:absolute;left:10px;top:-100px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}dialog{max-width:620px;width:90%;border:0;padding:55px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#182011aa;backdrop-filter:blur(5px)}dialog h2{font-size:45px;margin:25px 0}dialog p{font-size:15px;line-height:1.8}dialog .button{margin-top:30px}.close{position:absolute;right:15px;top:10px;background:transparent;border:0;font-size:30px;cursor:pointer}#project-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#project-tags span{border:1px solid var(--line);font-size:10px;padding:8px 10px}
@media(min-width:1500px){header,.section,.hero,footer{padding-left:max(5%,calc((100vw - 1400px)/2));padding-right:max(5%,calc((100vw - 1400px)/2))}header{margin:0}.hero-art{right:12%}}@media(max-width:1000px){.hero-art{right:3%;width:190px;height:190px;top:90px}.star{font-size:100px;inset:47px}.hero-index{display:none}h1{letter-spacing:-5px}.cafe-copy{font-size:37px}.trades-copy{font-size:33px}.plate{right:-100px}.architecture{right:-40px}.demo{gap:5%}#demo-content h3{font-size:30px}.service h3{font-size:20px}.contact{gap:5%}footer p{display:none}}@media(max-width:650px){header{height:80px}.logo{font-size:35px}nav{gap:0}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px}.hero{padding-top:38px;min-height:0;padding-bottom:44px}h1{font-size:58px;letter-spacing:-4px;margin:36px 0}.hero-art{top:20px;right:-30px;width:120px;height:120px;opacity:.35;z-index:0}.star{font-size:60px;inset:30px}.art-label{display:none}.hero-bottom{align-items:start;flex-direction:column;gap:24px}.hero-bottom p{font-size:14px}.button{padding:17px 22px}.ticker{font-size:8px;letter-spacing:1px;gap:12px;padding:16px 4%}.ticker b{font-size:17px}.ticker span:last-of-type,.ticker b:last-child{display:none}.section{padding:60px 5%}.section-top>.small{display:none}h2{font-size:43px;letter-spacing:-2px}.work-grid{grid-template-columns:1fr;gap:28px}.cafe-screen,.trades-screen{height:330px}.cafe-copy{font-size:44px}.plate{right:-35px;width:205px;height:205px}.trades-copy{font-size:40px}.architecture{right:10px;width:140px;height:200px}.demo{grid-template-columns:1fr;gap:40px}#demo-content h3{font-size:37px}.approach-head{display:block}.approach-head p{margin-top:25px}.service{grid-template-columns:25px 1fr 20px;gap:15px;align-items:start;padding:25px 0}.service p{grid-column:2;grid-row:2}.service b{grid-column:3;grid-row:1}.service h3{font-size:20px}.steps{grid-template-columns:1fr;gap:30px}.steps h3{margin-top:18px}.steps p{max-width:none}.contact{grid-template-columns:1fr;gap:40px}.field-row{grid-template-columns:1fr;gap:0}.faq summary{font-size:15px;gap:15px}footer{flex-wrap:wrap}footer>span{margin-left:auto}footer>a:last-child{width:100%;text-align:right}dialog{padding:40px 25px}dialog h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Fluid art direction */
body{overflow-x:clip}
header{position:relative;z-index:5}
.hero{isolation:isolate;padding-bottom:110px}
.hero:before{content:"";position:absolute;width:660px;height:660px;right:-180px;top:-190px;background:radial-gradient(circle,#d4dfb866 0%,#d4dfb800 68%);z-index:-1;pointer-events:none}
.hero h1{max-width:1050px}
.hero h1 .serif{background:transparent;position:relative}
.hero h1 .serif:after{content:"";position:absolute;left:2%;right:0;bottom:-12px;height:9px;border-top:2px solid #849851;border-radius:50%;transform:rotate(-3deg)}
.hero-art{right:6%;top:52px;width:320px;height:320px;transform:rotate(-18deg);translate:var(--art-x,0px) var(--art-y,0px);transition:translate 1.3s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:-1}
.hero-art:before{content:"";position:absolute;inset:24px;border-radius:50%;background:radial-gradient(circle at 28% 24%,#e9efd7,#c4d598 35%,#7d934d 78%,#465c32);box-shadow:inset -20px -25px 45px #40532744,0 30px 70px #7a8e3b22;opacity:.65}
.orbit{border-color:#657f48;inset:-15px}
.o1{animation:orbit-one 22s linear infinite}
.o2{animation:orbit-two 26s linear infinite}
.o3{animation:orbit-three 30s linear infinite}
.star{color:#42572d;inset:85px;font-size:150px;animation:star-turn 32s linear infinite}
.art-label{left:48px;bottom:-45px;letter-spacing:2px;transform:rotate(18deg)}
.floating-note{position:absolute;z-index:2;padding:13px 18px;border:1px solid #a7b98c70;border-radius:40px;background:#f8f8eecc;box-shadow:0 10px 35px #3c492012;backdrop-filter:blur(12px);font-size:10px;letter-spacing:.8px;display:flex;gap:10px;align-items:center;pointer-events:none}
.note-one{right:4%;top:230px;rotate:8deg;animation:float-note 7s ease-in-out infinite}
.note-two{right:19%;top:365px;rotate:-7deg;animation:float-note 9s ease-in-out -3s infinite}
.floating-note i{width:6px;height:6px;background:#7c943b;border-radius:50%}
.scroll-cue{display:flex;gap:12px;align-items:center;font-size:9px;letter-spacing:1.8px;margin-top:50px}
.scroll-cue span{font-size:20px;animation:arrow-drift 2.5s ease-in-out infinite}
.ticker{padding:24px 0;overflow:hidden;position:relative;rotate:-1.4deg;width:104%;margin-left:-2%;box-shadow:0 5px 20px #3a451009;z-index:2}
.ticker-track{display:flex;width:max-content;animation:marquee 35s linear infinite}
.ticker-group{display:flex;align-items:center;gap:55px;padding-right:55px;white-space:nowrap}
.ticker:hover .ticker-track{animation-play-state:paused}
.work{padding-top:115px;padding-bottom:135px}
.work-grid{gap:5%;align-items:start}
.project{position:relative;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .55s cubic-bezier(.2,.7,.2,1);border-radius:14px}
.project .browserbar{border-radius:13px 13px 0 0}
.cafe-screen,.trades-screen{border-radius:0 0 13px 13px;box-shadow:0 18px 40px #232a2110}
.trades{margin-top:95px}
.project-caption{padding:23px 3px}
.project:hover .project-caption>span{background:var(--ink);color:var(--paper);transform:rotate(-8deg)}
.project-caption>span{border:1px solid var(--line);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:23px;transition:transform .4s,background .4s,color .4s}
.plate{animation:plate-drift 10s ease-in-out infinite}
.sun{animation:sun-drift 8s ease-in-out infinite}
.demo{position:relative;margin:0 3% 80px;border-radius:40px 110px 40px 40px;padding:80px 5%;background:linear-gradient(130deg,#e4e9d8,#d4dcc4);isolation:isolate}
.demo:before{content:"";position:absolute;width:180px;height:180px;right:4%;top:-45px;border:1px solid #b0be96;border-radius:50%;z-index:-1}
.demo-frame{border-radius:14px;overflow:hidden;box-shadow:15px 22px 0 #aeba9d50,0 35px 60px #2c40191a;rotate:3deg;animation:frame-drift 10s ease-in-out infinite}
.demo-url{background:#f8f9f0}
.approach{position:relative;border-radius:70px 70px 0 0;padding-top:100px;padding-bottom:120px}
.approach:after{content:"";position:absolute;height:60px;left:0;right:0;bottom:-1px;background:var(--paper);clip-path:ellipse(60% 100% at 50% 100%)}
.service{transition:padding .45s,background .45s}
.service:hover{padding-left:15px;background:#ffffff04}
.service b{transition:transform .45s}.service:hover b{transform:rotate(45deg)}
.process{padding-top:70px;padding-bottom:115px}
.steps article:nth-child(2){margin-top:45px}.steps article:nth-child(3){margin-top:90px}
.contact{position:relative;isolation:isolate;overflow:hidden;border-radius:90px 90px 0 0;background:linear-gradient(120deg,#d0df93,#bbcf77)}
.contact:before{content:"";position:absolute;width:500px;height:500px;left:-120px;bottom:-300px;border:1px solid #7e954266;border-radius:50%;box-shadow:0 0 0 50px #99b25816,0 0 0 100px #99b25812;pointer-events:none;z-index:-1}
.button{border-radius:40px;transition:transform .4s,background .4s,box-shadow .4s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #202a2018}
.button span{transition:transform .4s}.button:hover span{transform:translate(3px,-3px)}
.nav-cta{transition:background .3s,color .3s}.nav-cta:hover{background:var(--ink);color:var(--paper)}
nav>a:not(.nav-cta){position:relative}nav>a:not(.nav-cta):after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}nav>a:hover:after{width:100%}
input,textarea{transition:border-color .3s,background .3s}input:focus,textarea:focus{border-color:var(--ink);background:#ffffff12}
#demo-content.swapping{animation:demo-in .55s ease both}
dialog[open]{animation:dialog-in .35s ease both}
.motion-enabled .reveal{opacity:0;translate:0 32px;transition:opacity .9s ease,translate 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .reveal.is-visible{opacity:1;translate:0 0}
.motion-enabled .reveal:focus-within{opacity:1;translate:0 0}
.motion-scene:not(.motion-in-view) *{animation-play-state:paused}
.page-hidden *{animation-play-state:paused!important}
@keyframes orbit-one{from{transform:rotate(0deg) scaleX(.55)}to{transform:rotate(360deg) scaleX(.55)}}
@keyframes orbit-two{from{transform:rotate(60deg) scaleX(.55)}to{transform:rotate(420deg) scaleX(.55)}}
@keyframes orbit-three{from{transform:rotate(-60deg) scaleX(.55)}to{transform:rotate(300deg) scaleX(.55)}}
@keyframes star-turn{to{transform:rotate(360deg)}}
@keyframes float-note{0%,100%{translate:0 0}50%{translate:5px -15px}}
@keyframes plate-drift{0%,100%{translate:0 0;rotate:-3deg}50%{translate:-8px -10px;rotate:4deg}}
@keyframes sun-drift{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes frame-drift{0%,100%{translate:0 0;rotate:3deg}50%{translate:0 -12px;rotate:1deg}}
@keyframes arrow-drift{0%,100%{translate:0 0}50%{translate:0 6px}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes demo-in{from{opacity:.2;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes dialog-in{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:651px) and (prefers-reduced-motion:no-preference){.hero>.eyebrow{animation:demo-in .8s .05s both}.hero h1{animation:demo-in 1.2s .1s both}.hero-bottom{animation:demo-in 1.2s .25s both}}
@media(max-width:1000px){.hero-art{width:245px;height:245px;right:1%;top:60px}.star{inset:65px;font-size:115px}.note-one{right:3%;top:180px}.note-two{right:12%;top:285px}.hero-index{display:none}}
@media(max-width:650px){.hero{padding-bottom:70px}.hero h1{font-size:clamp(49px,10.4vw,66px);letter-spacing:-3px}.hero-art{width:170px;height:170px;right:-40px;top:55px;opacity:.45}.hero-art .star{font-size:82px;inset:43px}.floating-note{display:none}.hero h1 .serif:after{height:6px;bottom:-5px}.scroll-cue{margin-top:35px}.ticker{padding:18px 0;rotate:-2deg}.ticker-group{gap:30px;padding-right:30px}.ticker span:last-of-type,.ticker b:last-child{display:inline}.work{padding-top:75px;padding-bottom:70px}.work-grid{gap:35px}.trades{margin-top:0}.demo{margin:0 4% 45px;padding:55px 6%;border-radius:25px 60px 25px 25px}.demo-frame{rotate:1deg;animation:none}.demo:before{width:110px;height:110px;top:-20px;right:-5px}.approach{border-radius:40px 40px 0 0;padding:65px 5% 95px}.approach:after{height:35px}.process{padding-top:45px;padding-bottom:70px}.steps article:nth-child(2),.steps article:nth-child(3){margin-top:0}.contact{border-radius:45px 45px 0 0}.contact .email{font-size:13px;overflow-wrap:anywhere}.hero-art{translate:0 0}.motion-enabled .reveal{translate:0 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-enabled .reveal{opacity:1!important;translate:0 0!important}.project{transform:none!important}.hero-art{translate:0 0!important}}

#motion-toggle{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:9px 15px;background:transparent;color:var(--ink);cursor:pointer}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .hero-art{translate:0 0}.motion-paused .project{transform:none}

/* Interactive world globe */
.hero h1{max-width:calc(100% - 340px);font-size:clamp(58px,6.6vw,104px)}
.hero-art.globe-art{right:max(5%,calc((100vw - 1400px)/2));top:55px;width:310px;height:350px;transform:none;translate:none;pointer-events:auto;z-index:2;transition:none}
.globe-art:before{display:none}
.globe-stage{width:100%;aspect-ratio:1;position:relative}
#world-globe{display:block;width:100%;height:auto;aspect-ratio:1;cursor:grab;touch-action:pan-y;border-radius:50%}
#world-globe.dragging{cursor:grabbing}
#world-globe:focus-visible{outline:2px solid #5e783a;outline-offset:4px}
.globe-art .art-label{position:absolute;bottom:32px;left:0;width:100%;text-align:center;transform:none;font-size:8px;letter-spacing:1.5px}
#globe-toggle{position:absolute;bottom:0;left:calc(50% - 15px);width:30px;height:30px;border:1px solid #afbc9a;border-radius:50%;background:#f3f5e9;color:#455b2f;cursor:pointer;font-size:11px}
/* Attributed screenshot gallery */
.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.reference-card{min-width:0}
.reference-card:nth-child(2){margin-top:55px}
.reference-card:nth-child(3){margin-top:110px}
.reference-screen{aspect-ratio:1.6;overflow:hidden;position:relative;border-radius:0 0 13px 13px;background:#151817;box-shadow:0 18px 40px #232a2110}
.reference-screen img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);user-select:none}
.reference-card:hover .reference-screen img{transform:scale(1.045)}
.preview-chip{position:absolute;bottom:14px;right:14px;font-size:8px;letter-spacing:1px;color:white;background:#1c241ed9;border:1px solid #ffffff40;border-radius:30px;padding:10px 13px;backdrop-filter:blur(10px);opacity:0;translate:0 8px;transition:opacity .3s,translate .3s}
.reference-card:hover .preview-chip,.reference-card:focus-visible .preview-chip{opacity:1;translate:0 0}
.reference-credit{font-size:9px;color:#65705b;padding:0 3px}
.work .disclosure{margin-top:38px;max-width:630px;line-height:1.7}
#project-dialog{max-width:1000px;padding:38px;max-height:90dvh;overflow-y:auto;border-radius:20px}
#project-dialog>.eyebrow{display:block;padding-right:25px;margin-bottom:20px}
.reference-large{background:#151817;border-radius:12px;overflow:hidden}
#project-image{display:block;width:100%;height:auto;user-select:none}
#project-dialog h2{font-size:36px;margin:25px 0 15px}
#project-dialog p{font-size:14px;max-width:700px}
#project-source{font-size:11px;display:block;width:max-content;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:4px}
#project-dialog .button{margin-top:24px}
@media(max-width:1000px) and (min-width:651px){.hero-art.globe-art{width:240px;height:285px;top:80px}.hero h1{max-width:calc(100% - 255px);font-size:clamp(56px,7vw,75px);letter-spacing:-4px}.reference-grid{grid-template-columns:1fr 1fr}.reference-card:nth-child(3){margin-top:0;grid-column:1/-1;max-width:65%;margin-left:auto;margin-right:auto}.reference-card:nth-child(2){margin-top:45px}}
@media(max-width:650px){.hero h1{max-width:none;font-size:clamp(49px,10.4vw,66px);letter-spacing:-3px;margin-bottom:16px}.hero-art.globe-art{position:relative;right:auto;top:auto;width:240px;height:280px;opacity:1;margin:5px auto 30px;z-index:2}.globe-art .art-label{display:block;bottom:33px;font-size:7px}.hero-bottom{margin-top:10px}.hero{padding-bottom:55px}.reference-grid{grid-template-columns:1fr;gap:35px}.reference-card:nth-child(2),.reference-card:nth-child(3){margin-top:0}.preview-chip{opacity:1;translate:0 0;font-size:7px;padding:8px 10px}.reference-credit{font-size:9px}.work .disclosure{margin-top:28px}#project-dialog{padding:35px 20px 25px;border-radius:15px}#project-dialog>.eyebrow{font-size:8px;line-height:1.7}#project-dialog h2{font-size:30px}#project-dialog .button{font-size:11px;padding:15px 18px}}

/* Oversized globe, layered typography */
.hero{min-height:740px;padding-top:75px}
.hero h1{max-width:100%;font-size:clamp(72px,8vw,124px);position:relative;z-index:3;letter-spacing:-7px;pointer-events:none;text-shadow:0 1px 1px #efeee84d}
.hero h1 .serif:after{border-color:#4c652f}
.hero-art.globe-art{width:600px;height:650px;right:max(-35px,calc((100vw - 1500px)/2));top:-15px;z-index:0;opacity:.82}
.hero-bottom{z-index:3;margin-top:65px}
.globe-art .art-label{bottom:54px}
#globe-toggle{bottom:12px}
.hero-index{visibility:hidden}
.hero .scroll-cue{position:relative;z-index:3}
/* Two floating mockups, lower frame swaps between two references */
.reference-grid{display:grid;grid-template-columns:1fr;gap:0;max-width:1120px;margin:40px auto 0;position:relative;padding:10px 30px 40px}
.reference-grid:before{content:"";position:absolute;inset:30% -8% 10%;background:radial-gradient(ellipse,#d4dfbe77,transparent 65%);pointer-events:none;z-index:-1}
.mockup-slot{width:75%;position:relative}
.mockup-primary{align-self:start;rotate:-4deg;animation:mockup-float-one 9s ease-in-out infinite}
.mockup-secondary{width:72%;margin-left:auto;margin-top:-55px;rotate:4deg;animation:mockup-float-two 11s ease-in-out -3s infinite}
.reference-card{display:block;width:100%;margin:0!important;max-width:none!important;border-radius:16px;padding:10px 10px 0;background:#f8f8f1;border:1px solid #bcc4ac;box-shadow:0 30px 65px #2b3e2220;overflow:hidden}
.reference-card .browserbar{background:#e9ece1}
.reference-screen{border-radius:0 0 8px 8px;box-shadow:none;position:relative}
.reference-card .project-caption{padding:20px 10px 10px}
.reference-credit{padding:0 10px 17px}
.mockup-primary .reference-card{position:relative;z-index:1}
.reference-screen img.swap-image{position:absolute;inset:0;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .65s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.reference-screen img.swap-image.is-active{opacity:1;transform:translateY(0) scale(1);z-index:1}
.reference-screen .preview-chip{z-index:2}
.swap-controls{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:17px;flex-wrap:wrap;rotate:-4deg}
.swap-controls button{border:1px solid #abb89a;border-radius:30px;padding:10px 16px;background:#f5f6ee;color:#3d502d;font-size:10px;cursor:pointer;transition:background .3s,color .3s}
.swap-controls button[aria-pressed="true"]{background:#33432a;color:white;border-color:#33432a}
.swap-controls #showcase-pause{border:0;background:transparent;font-size:9px}
.mockup-slot:has(.reference-card:hover),.mockup-slot:focus-within{animation-play-state:paused}
@keyframes mockup-float-one{0%,100%{translate:0 0;rotate:-4deg}50%{translate:5px -15px;rotate:-2.5deg}}
@keyframes mockup-float-two{0%,100%{translate:0 0;rotate:4deg}50%{translate:-5px -18px;rotate:2.5deg}}
@media(max-width:1000px) and (min-width:651px){.hero{min-height:690px}.hero h1{max-width:100%;font-size:90px;letter-spacing:-5px}.hero-art.globe-art{width:490px;height:540px;right:-80px;top:20px}.hero-bottom{margin-top:85px}.reference-grid{padding:10px 20px 35px}.mockup-slot{width:83%}.mockup-secondary{width:80%;margin-top:-25px}}
@media(max-width:650px){.hero{padding-top:45px;min-height:0;padding-bottom:55px}.hero h1{font-size:clamp(49px,10.4vw,66px);letter-spacing:-3px;max-width:100%;margin:36px 0 0}.hero-art.globe-art{position:absolute;width:360px;height:415px;right:-110px;top:85px;margin:0;opacity:.72;z-index:0}.hero-bottom{position:relative;margin-top:175px;z-index:3}.globe-art .art-label{bottom:50px;font-size:7px;width:240px;left:15px}#globe-toggle{left:119px;bottom:11px}.reference-grid{padding:5px 6px 30px;margin-top:35px}.mockup-slot{width:94%;rotate:-2deg}.mockup-primary{animation-duration:11s}.mockup-secondary{width:94%;margin-top:30px;rotate:2deg}.reference-card{padding:6px 6px 0}.reference-card .project-caption{padding:15px 7px 9px}.reference-credit{padding:0 7px 13px;font-size:8px}.project-caption h3{font-size:17px}.project-caption p{font-size:10px}.swap-controls{rotate:-2deg;gap:4px;margin-top:14px}.swap-controls button{padding:9px 12px;font-size:9px}.swap-controls #showcase-pause{font-size:8px}}

@media(min-width:1001px){.hero-art.globe-art{right:max(4%,calc((100vw - 1240px)/2))}}

@media(max-width:650px){.hero-bottom{margin-top:260px}}

/* Side-by-side floating showcase */
@media(min-width:651px){.reference-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;max-width:1400px;padding:20px 18px 45px;align-items:start}.mockup-slot,.mockup-secondary{width:100%;margin-left:0}.mockup-secondary{margin-top:55px}.mockup-primary{rotate:-3deg}.mockup-secondary{rotate:3deg}.swap-controls{rotate:-3deg}}
@media(min-width:651px) and (max-width:1000px){.reference-grid{gap:24px;padding-left:8px;padding-right:8px}.mockup-secondary{margin-top:40px}.reference-card .project-caption{padding-left:6px;padding-right:6px}.reference-credit{font-size:8px}}

/* About Scotty */
nav .about-link[aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:5px}
.about-hero{padding-top:65px;padding-bottom:65px;overflow:hidden;position:relative}
.about-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center;margin-top:35px}
.about-page .about-hero h1{font-size:clamp(60px,7.5vw,108px);letter-spacing:-5px;line-height:1.02;margin:0 0 30px;max-width:100%;pointer-events:auto;text-shadow:none}
.about-lead{font-size:17px;line-height:1.65;margin-bottom:28px}
.about-art{position:relative;min-height:400px;display:grid;place-items:center}
.about-orbit{width:360px;height:360px;position:absolute;border:1px solid #a1b481;border-radius:50%;rotate:-25deg}
.about-orbit:before,.about-orbit:after{content:"";position:absolute;inset:25px;border:1px solid #b8c7a0;border-radius:50%;transform:scaleX(.65) rotate(45deg)}
.about-orbit:after{transform:scaleX(.65) rotate(-45deg)}
.about-stamp{position:relative;width:260px;height:310px;background:#c9d897;padding:24px 25px;border:1px solid #95a869;border-radius:8px;rotate:7deg;box-shadow:12px 20px 0 #dfe5cf;display:flex;flex-direction:column;justify-content:space-between}
.about-stamp>span{font-size:9px;letter-spacing:1.6px}
.about-stamp strong{font:800 135px/.9 Manrope,Arial;letter-spacing:-20px;white-space:nowrap}
.about-stamp strong span{font-family:Georgia,serif;font-weight:400;font-style:italic;margin-left:5px}
.about-stamp>div{font-size:9px;letter-spacing:1px;padding-top:15px;border-top:1px solid #73894c}
.about-art-note{position:absolute;bottom:0;right:0;font-size:9px;letter-spacing:1.5px;line-height:1.8}
.about-story{border-top:1px solid var(--line)}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.about-prose p{font-size:16px;line-height:1.9;color:#536047;margin-bottom:23px}
.about-prose p:first-child{font-size:21px;line-height:1.65;color:var(--ink)}
.about-principles{background:var(--ink);color:var(--paper);border-radius:60px 60px 0 0}
.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:55px}
.about-values article{border-top:1px solid #59604d;padding-top:24px}
.about-values article>span{font-size:9px;letter-spacing:1.3px;color:var(--accent)}
.about-values h3{font-size:22px;font-weight:400;margin:27px 0 17px}
.about-values p{font-size:14px;line-height:1.8;color:#c4c8b9}
.about-start{background:#d2dfaa;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;border-radius:0 0 60px 60px;margin-bottom:30px}
.about-start h2{margin-top:25px}
.about-start p{font-size:16px;line-height:1.8;margin-bottom:30px;max-width:370px}
.about-start .email{display:block;width:max-content;max-width:100%;margin-top:25px;overflow-wrap:anywhere}
@media(max-width:1000px){.about-hero-grid{gap:4%}.about-art{min-height:340px}.about-orbit{width:290px;height:290px}.about-stamp{width:220px;height:270px}.about-stamp strong{font-size:110px}.about-values{gap:25px}.about-story-grid{gap:6%}}
@media(max-width:650px){nav{gap:14px}nav a.about-link{display:block!important;font-size:11px}header .logo{gap:10px}.about-hero{padding-top:40px}.about-hero-grid{grid-template-columns:1fr;gap:38px}.about-page .about-hero h1{font-size:clamp(52px,12vw,70px);letter-spacing:-3px}.about-lead{font-size:15px}.about-art{min-height:325px;max-width:330px;width:100%;margin:auto}.about-art-note{right:5px;bottom:-5px;font-size:8px}.about-story-grid{grid-template-columns:1fr;gap:30px}.about-prose p{font-size:14px}.about-prose p:first-child{font-size:18px}.about-values{grid-template-columns:1fr;gap:30px;margin-top:35px}.about-principles{border-radius:35px 35px 0 0}.about-values h3{font-size:20px;margin-top:20px}.about-start{grid-template-columns:1fr;gap:30px;border-radius:0 0 35px 35px}.about-start p{font-size:14px}.about-start .email{font-size:12px}}

.about-photo{margin:0;position:relative;rotate:3deg}.about-photo img{display:block;width:100%;height:440px;object-fit:cover;object-position:45% center;border-radius:15px;box-shadow:15px 20px 0 #dce5c6}.about-photo figcaption{font-size:9px;letter-spacing:1.3px;margin-top:35px;line-height:1.6}.about-hero-grid{grid-template-columns:1fr 1.2fr;gap:7%}.about-prose p:first-child{font-size:18px}.about-start strong{font-weight:500}@media(max-width:1000px){.about-photo img{height:360px}}@media(max-width:650px){.about-hero-grid{grid-template-columns:1fr;gap:42px}.about-photo{rotate:2deg;margin:0 7px}.about-photo img{height:auto;aspect-ratio:1.25;object-position:45% center}.about-photo figcaption{font-size:8px;margin-top:28px}.about-prose p:first-child{font-size:16px}}

/* Vector icons avoid platform emoji substitutions. */
.ui-icon{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.18em;flex-shrink:0;overflow:visible}.ticker b .ui-icon{width:24px;height:24px}.scroll-cue span .ui-icon{width:20px;height:20px}.project-caption>span .ui-icon{width:22px;height:22px}.close .ui-icon{width:24px;height:24px}#globe-toggle .ui-icon{width:13px;height:13px}.button>.ui-icon{width:16px;height:16px}@media(max-width:650px){.ticker b .ui-icon{width:18px;height:18px}}

/* Original video concepts */
.reference-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#151817;pointer-events:none}.reference-screen .swap-video{position:absolute;inset:0;opacity:0;transition:opacity .65s ease}.reference-screen .swap-video.is-active{opacity:1;z-index:1}#project-video{display:block;width:100%;max-height:65dvh;background:#151817}.reference-card .project-caption{padding-bottom:20px}
