:root{--paper:#f6f6ef;--paper2:#eceee4;--ink:#202420;--grey:#657064;--lime:#d4ff65;--olive:#343b30;--line:#d4d7cd;--cream:#fffef7;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif;--serif:'Instrument Serif',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.modal-open{overflow:hidden}::selection{background:var(--lime);color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.grain{position:fixed;inset:0;pointer-events:none;opacity:.17;z-index:30;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.14' filter='url(%23n)'/%3E%3C/svg%3E")}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:#a6d833;width:0;z-index:100}.site-header{position:sticky;top:0;background:rgba(246,246,239,.9);backdrop-filter:blur(18px);z-index:50;border-bottom:1px solid rgba(32,36,32,.07)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:inline-flex;align-items:baseline;gap:1px;white-space:nowrap;font-family:var(--display);font-size:35px;font-weight:800;letter-spacing:-3px}.logo-dot,.footer-mark span{color:#88a928}.logo-descriptor{font:700 10px var(--sans);letter-spacing:2px;padding-left:16px;color:#777e72}.nav-links{display:flex;align-items:center;gap:38px;margin-left:auto}.nav-links a{font-size:13px;font-weight:700;transition:opacity .25s}.nav-links a:hover{opacity:.55}.nav-cta{border:1px solid var(--ink);border-radius:999px;padding:13px 20px;font-size:13px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:23px;transition:background .3s,color .3s}.nav-cta:hover{background:var(--ink);color:white}.arrow-icon{font-size:17px}.nav-toggle{display:none}.hero{min-height:min(760px,calc(100svh - 86px));padding-block:60px 78px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:44px}.hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:1.55px;font-weight:800;display:flex;align-items:center;gap:10px;color:#5e685c;white-space:nowrap}.status-dot{background:#a8c957;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px rgba(168,201,87,.15)}.hairline{width:42px;height:1px;background:#bcc2b3}.hero-title{font-family:var(--display);font-weight:800;letter-spacing:-.09em;line-height:1.02;font-size:clamp(64px,7.3vw,118px);margin:36px 0 27px}.hero-title .serif{font:italic 1.08em var(--serif);letter-spacing:-.055em}.stroke-word{position:relative;z-index:0}.stroke-word:after{content:'';position:absolute;height:15px;background:var(--lime);left:-2%;right:-5%;bottom:12%;transform:rotate(-2deg);z-index:-1;border-radius:50%}.hero-asterisk{font-size:.28em;color:#94af4e;vertical-align:top;margin-left:.2em;display:inline-block;animation:spin 22s linear infinite}.hero-description{font-size:clamp(16px,1.6vw,20px);line-height:1.6;max-width:530px;color:#596257;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.pill-primary{background:var(--ink);color:white;padding:19px 24px;border-radius:999px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:46px;transition:transform .3s,background .3s}.pill-primary:hover{background:#464e38;transform:translateY(-3px)}.pill-primary span{font-size:18px}.text-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.text-link span{margin-left:8px}.hero-bottom{display:flex;align-items:center;gap:25px;margin-top:82px;font-size:10px;color:#7d8478;letter-spacing:1.4px;font-weight:800}.hero-bottom-sun{font-size:20px;color:#a1b763}.hero-art{height:min(640px,48vw);min-height:470px;max-width:515px;width:100%;justify-self:end;position:relative;isolation:isolate}.hero-photo-frame{position:absolute;inset:24px 38px 22px 30px;overflow:hidden;border-radius:190px 190px 20px 20px;transform:rotate(3deg);background:#8b9683;box-shadow:20px 24px 0 #e1e5d7}.hero-photo-frame>img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.75) contrast(1.05)}.photo-gradient{position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(22,25,19,.65))}.photo-caption{position:absolute;bottom:33px;left:34px;color:white;font-size:12px;font-weight:800;letter-spacing:2.6px}.hero-sticker{position:absolute;left:-43px;top:18px;width:137px;height:137px;background:var(--lime);border-radius:50%;z-index:3;display:grid;place-items:center;animation:float 6s ease-in-out infinite}.hero-sticker svg{width:124px;fill:var(--ink);animation:spin 26s linear infinite}.hero-floating-card{position:absolute;right:-23px;bottom:36px;background:var(--cream);padding:15px 23px 15px 15px;border-radius:14px;box-shadow:0 15px 45px rgba(0,0,0,.12);display:flex;align-items:center;gap:12px;z-index:2;transform:rotate(-4deg);font-size:12px;line-height:1.5}.hero-floating-card strong{display:block}.play-pulse{width:45px;height:45px;display:grid;place-items:center;background:var(--ink);color:var(--lime);border-radius:50%;font-size:12px}.hero-sideways{position:absolute;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px;right:-25px;top:54px;color:#858c80}.ticker{background:var(--lime);overflow:hidden;transform:rotate(-1deg);width:102%;margin-left:-1%;border-top:1px solid #b0ca70;border-bottom:1px solid #b0ca70}.ticker-track{display:flex;gap:40px;align-items:center;white-space:nowrap;width:max-content;animation:marquee 42s linear infinite;padding:17px 0}.ticker-track span{font-family:var(--display);font-size:12px;font-weight:800;letter-spacing:1.9px}.ticker-track i{font-size:19px;font-style:normal}.section-topline{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid currentColor;color:#777d73;font-size:10px;font-weight:800;letter-spacing:1.9px}.section-index{color:var(--ink)}.work-section{background:var(--paper);padding:140px 0 145px}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:35px 0 38px}.work-heading h2,.services-heading h2,.about-content h2{font-family:var(--display);font-size:clamp(48px,6vw,90px);font-weight:800;line-height:1.11;letter-spacing:-.075em;margin:0}.work-heading h2 em,.services-heading h2 em{font-family:var(--serif);font-size:1.13em;font-weight:400;letter-spacing:-.045em}.work-heading-aside{color:#626b5e;font-size:14px;line-height:1.7;padding-bottom:12px;max-width:235px}.squiggle{font-family:var(--serif);font-size:52px;display:block;line-height:1;text-align:right;color:#94ab51;transform:rotate(8deg)}.filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 38px}.filter-chip{border:1px solid #d0d4cb;color:#5e665b;padding:12px 19px;border-radius:999px;background:transparent;font-size:12px;font-weight:800;transition:.25s}.filter-chip:hover{border-color:#747e69}.filter-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-chip span{margin-left:8px;color:var(--lime)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.work-card{min-width:0;border:0;padding:0;background:none;text-align:left;color:inherit;display:block}.work-card[hidden]{display:none}.work-frame{height:min(55vw,610px);min-height:390px;position:relative;display:block;overflow:hidden;border-radius:11px;background:#a5aa91;isolation:isolate}.work-frame>img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .8s cubic-bezier(.18,.67,.17,1),filter .8s;filter:saturate(.9)}.work-card:hover .work-frame>img,.work-card:focus-visible .work-frame>img{transform:scale(1.065);filter:saturate(1.05)}.frame-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.37),transparent 30%,transparent 50%,rgba(0,0,0,.48))}.work-top,.work-frame-bottom{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:white;font-size:10px;font-weight:800;letter-spacing:1.4px}.work-top{top:25px}.pill-light{background:rgba(255,255,255,.92);color:#26301e;border-radius:999px;padding:10px 12px;letter-spacing:.4px;font-size:9px}.work-frame-bottom{bottom:27px}.work-frame-bottom>span{font-size:21px}.play-big{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;height:95px;width:95px;border-radius:50%;background:rgba(246,246,239,.95);backdrop-filter:blur(10px);transition:transform .3s,background .3s;box-shadow:0 6px 25px rgba(0,0,0,.13)}.play-big span{font-size:22px;margin-left:5px}.work-card:hover .play-big,.work-card:focus-visible .play-big{transform:translate(-50%,-50%) scale(1.13);background:var(--lime)}.work-card-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:24px 4px 0}.work-card-meta strong{display:block;font-family:var(--display);font-size:25px;letter-spacing:-1.1px}.work-card-meta small{display:block;font-size:13px;color:#777e73;margin-top:8px}.circle-arrow{border:1px solid #cfd4c7;border-radius:50%;height:48px;width:48px;display:grid;place-items:center;font-size:22px;transition:.25s}.work-card:hover .circle-arrow{background:var(--ink);color:white}.work-endnote{display:flex;justify-content:space-between;gap:20px;margin-top:65px;border-top:1px solid var(--line);padding-top:25px;color:#6f786c;font-size:12px}.work-endnote>span:first-child{font-size:10px;font-weight:800;letter-spacing:1.4px}.work-endnote a{text-decoration:underline;text-underline-offset:4px;font-weight:700;color:var(--ink)}.quote-band{background:#e5ebd9;padding:98px 0}.quote-inner{position:relative}.quote-mark{position:absolute;top:-58px;left:0;color:#b4c794;font:160px var(--serif);line-height:1}.quote-inner blockquote{font-family:var(--display);font-weight:750;letter-spacing:-.065em;font-size:clamp(40px,5.65vw,82px);line-height:1.25;text-align:center;margin:25px 0 45px;position:relative}.quote-inner blockquote em{font:italic 1.12em var(--serif)}.outlined{text-decoration:underline;text-decoration-thickness:4px;text-decoration-color:#b7d36f;text-underline-offset:12px}.quote-footer{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;font-weight:800;color:#7b8575}.about-section{padding-top:140px;padding-bottom:145px}.about-grid{display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:clamp(50px,8vw,145px);padding-top:75px}.about-visual{position:relative;height:620px;max-height:64vw;background:#b6bba9;border-radius:12px 170px 12px 12px;overflow:visible}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center 37%;border-radius:12px 170px 12px 12px;filter:saturate(.75)}.about-visual-tag{position:absolute;left:-22px;bottom:50px;background:var(--lime);font-size:10px;font-weight:800;letter-spacing:1.3px;transform:rotate(-7deg);padding:17px 22px}.photo-corner-star{position:absolute;top:25px;right:-28px;font-size:65px;color:#9eb45c;animation:spin 35s linear infinite}.mini-kicker{font-size:11px;font-weight:800;color:#7d8a71;letter-spacing:2px}.about-content h2{font-size:clamp(46px,5vw,72px);margin:17px 0 26px}.hand-wave{font-size:.55em;color:#abc963;display:inline-block}.about-content p{font-size:16px;line-height:1.85;color:#596356}.about-content .about-lead{font-size:23px;font-weight:600;color:#2c332b;line-height:1.5;margin-top:0}.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0}.about-tags span{border:1px solid #cfd4c9;padding:10px 13px;font-size:10px;font-weight:800;letter-spacing:1px;border-radius:30px}.link-arrow{display:inline-flex;gap:25px;align-items:center;padding-bottom:9px;border-bottom:2px solid var(--ink);font-weight:800;font-size:13px}.link-arrow span{font-size:20px}.services-section{background:#e9ece3;padding:135px 0}.services-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin:55px 0 55px}.services-heading p{max-width:330px;color:#697466;line-height:1.8;font-size:15px;margin:0 0 6px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{background:#f6f7ef;border:1px solid #dce1d6;min-height:355px;border-radius:10px;padding:28px 30px;display:flex;flex-direction:column;transition:transform .35s,background .35s}.service-card:hover{transform:translateY(-9px);background:#faffef}.service-number{font-size:11px;font-weight:800;color:#7b8479}.service-symbol{font-size:65px;color:#b2ce78;margin:15px 0 auto}.service-card h3{font:800 23px var(--display);letter-spacing:-1.2px;margin:18px 0 12px}.service-card p{font-size:13px;color:#6c7669;line-height:1.7;margin:0}.service-bottom{font-size:9px;letter-spacing:1.2px;font-weight:800;margin-top:32px;padding-top:18px;border-top:1px solid #d7dcce;color:#8b9487}.contact-section{background:var(--ink);color:var(--paper);padding:120px 0 150px;position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px}.section-topline.dark{color:#8e998a;border-bottom-color:#4b5149}.section-topline.dark .section-index{color:#cbd0c3}.contact-copy h2{font:800 clamp(59px,6.1vw,94px)/1.13 var(--display);letter-spacing:-.085em;margin:64px 0 30px}.contact-copy h2 em{font:italic 1.13em var(--serif);color:var(--lime)}.contact-copy h2>span{display:block}.contact-copy>p{max-width:420px;color:#b2beb0;font-size:17px;line-height:1.75}.contact-flower{font-size:145px;color:#badb6a;position:absolute;bottom:-80px;left:4%;opacity:.45;animation:spin 60s linear infinite}.contact-form-panel{background:var(--paper);color:var(--ink);padding:44px 48px;border-radius:15px;margin-top:48px}.form-kicker{font-size:11px;font-weight:800;letter-spacing:1.4px;margin:0 0 31px}.field{margin-bottom:20px}.field label{display:block;font-size:10px;letter-spacing:1px;font-weight:800;color:#5e655a;margin-bottom:10px}.field input,.field textarea{width:100%;background:none;border:0;border-bottom:1px solid #cbd1c4;border-radius:0;padding:10px 0 14px;font-size:14px;color:var(--ink);outline:none;resize:vertical}.field input:focus,.field textarea:focus{border-bottom:2px solid #90b73f}.field input::placeholder,.field textarea::placeholder{color:#979e93}.submit-button{display:flex;align-items:center;justify-content:space-between;border:0;background:var(--lime);color:var(--ink);font-weight:800;padding:17px 22px;border-radius:6px;width:100%;margin-top:28px;transition:background .3s}.submit-button:hover{background:#c6ed51}.submit-button span{font-size:24px}.form-footnote{color:#8b9589;font-size:11px;margin:16px 0 0}.bot-field{position:absolute!important;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.footer{background:#181d18;color:#d6dcce;padding:66px 0 27px}.footer-upper{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-mark{font:800 clamp(80px,12vw,160px) var(--display);letter-spacing:-.14em;line-height:1}.footer-right{display:flex;flex-wrap:wrap;gap:28px;font-size:12px;font-weight:700}.footer-right a:hover{text-decoration:underline}.footer-right .back-to-top{color:var(--lime)}.footer-lower{display:flex;justify-content:space-between;gap:10px;padding-top:28px;margin-top:60px;border-top:1px solid #434b42;color:#929d8e;font-size:9px;font-weight:800;letter-spacing:1.3px}.video-dialog{margin:auto;border:0;background:#f7f8ef;color:#202420;padding:0;max-height:calc(100dvh - 35px);width:min(930px,calc(100vw - 30px));border-radius:14px;overflow:auto;box-shadow:0 40px 130px rgba(0,0,0,.45)}.video-dialog::backdrop{background:rgba(14,19,13,.81);backdrop-filter:blur(14px)}.dialog-inner{padding:22px}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.dialog-head>div>span{display:block;color:#6b7867;letter-spacing:1.5px;font-size:10px;font-weight:800}.dialog-head h2{font:800 25px var(--display);letter-spacing:-.9px;margin:5px 0 0}.dialog-close{width:44px;height:44px;border-radius:50%;border:1px solid #d9ded4;background:#fff;display:grid;place-items:center;font-size:18px}.dialog-close:hover{background:var(--lime)}.player-region{background:#0c0d0c;border-radius:7px;overflow:hidden;display:flex;align-items:center;justify-content:center;max-height:calc(100dvh - 230px)}#portfolioPlayer{height:min(66dvh,650px);max-width:100%;width:auto;aspect-ratio:9/16;display:block;object-fit:contain;background:#000}.dialog-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;color:#687366}.dialog-foot p{max-width:560px;line-height:1.7}.dialog-foot span{font-weight:800;font-size:9px;letter-spacing:1px}.reveal{opacity:0;transform:translateY(23px);transition:opacity .7s ease,transform .8s cubic-bezier(.21,.66,.15,1)}.reveal.visible{opacity:1;transform:translateY(0)}:focus-visible{outline:3px solid #9fb54c;outline-offset:4px}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-12px) rotate(5deg)}}
@media(max-width:1100px){.wrap{width:min(100% - 64px,1320px)}.nav-links{gap:20px}.hero{gap:15px;min-height:700px}.hero-title{font-size:clamp(60px,8vw,90px)}.hero-art{min-height:480px;height:540px}.hero-floating-card{right:0}.hero-sticker{left:-12px}.hero-sideways{right:0}.hero-bottom{margin-top:60px}.contact-grid{gap:44px}.about-grid{gap:65px}}
@media(max-width:760px){.wrap{width:calc(100% - 38px)}.nav{height:70px}.logo{font-size:32px}.logo-descriptor{font-size:9px;padding-left:11px}.nav-cta{margin-left:auto;font-size:12px;padding:11px 12px;gap:8px}.nav-toggle{display:flex;border:0;background:none;width:35px;height:35px;flex-direction:column;justify-content:center;gap:6px;padding:5px}.nav-toggle span{display:block;width:100%;height:2px;background:var(--ink)}.nav-links{position:absolute;left:0;right:0;top:70px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 23px;display:none;flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:17px 0;border-top:1px solid var(--line)}.hero{padding-top:48px;padding-bottom:60px;display:flex;flex-direction:column;align-items:stretch;min-height:auto;gap:30px}.hero-title{font-size:clamp(62px,12.4vw,105px);margin:25px 0 18px}.eyebrow{font-size:9px;letter-spacing:1px}.hairline{width:18px}.hero-description{font-size:16px}.hero-actions{gap:20px}.hero-bottom{margin-top:45px;font-size:8px;gap:12px}.hero-art{width:min(100%,440px);height:480px;min-height:0;align-self:center;margin-top:5px}.hero-sticker{width:105px;height:105px;left:-5px}.hero-sticker svg{width:98px}.hero-floating-card{right:-3px;bottom:21px}.hero-sideways{display:none}.ticker-track{padding:14px 0}.ticker-track span{font-size:11px}.section-topline{font-size:8px;letter-spacing:1px}.work-section{padding:90px 0}.work-heading{margin-top:26px;display:block}.work-heading h2{font-size:clamp(49px,8.4vw,74px)}.work-heading-aside{margin-top:23px}.squiggle{display:inline-block;margin-left:20px;font-size:30px}.filter-row{margin-bottom:26px}.filter-chip{font-size:11px;padding:10px 13px}.work-grid{gap:22px}.work-frame{height:440px;min-height:0}.work-top{top:17px;left:15px;right:15px;font-size:8px}.pill-light{font-size:8px;padding:7px 9px}.work-frame-bottom{left:17px;right:17px;bottom:18px}.work-card-meta strong{font-size:20px}.work-card-meta small{font-size:11px}.circle-arrow{width:38px;height:38px}.work-endnote{flex-direction:column;font-size:12px;margin-top:47px}.quote-band{padding:80px 0}.quote-inner blockquote{font-size:clamp(33px,6.9vw,54px)}.quote-mark{font-size:120px;top:-45px}.about-section{padding-top:90px;padding-bottom:95px}.about-grid{grid-template-columns:1fr;gap:48px;padding-top:43px}.about-visual{width:min(100%,410px);height:470px;max-height:none}.about-content h2{font-size:62px}.about-content .about-lead{font-size:21px}.services-section{padding:90px 0}.services-heading{display:block;margin:35px 0}.services-heading h2{font-size:60px}.services-heading p{margin-top:20px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:245px}.service-symbol{font-size:48px;margin:8px 0}.contact-section{padding:80px 0 100px}.contact-grid{grid-template-columns:1fr;gap:10px}.contact-copy h2{font-size:clamp(60px,11vw,90px);margin:48px 0 25px}.contact-form-panel{margin-top:20px}.footer-upper{align-items:flex-start;flex-direction:column}.footer-right{gap:16px}.footer-lower{font-size:8px;margin-top:50px}.video-dialog{max-height:calc(100dvh - 18px)}#portfolioPlayer{height:min(66dvh,650px)}.dialog-foot{display:block}.dialog-foot span{display:none}}
@media(max-width:520px){.hero-title{font-size:clamp(58px,12.2vw,70px)}.hero-art{height:425px}.hero-photo-frame{inset:12px 31px 15px 25px}.hero-floating-card{padding:10px;right:0;max-width:210px}.hero-floating-card .play-pulse{width:34px;height:34px}.hero-floating-card span:last-child{font-size:10px}.hero-bottom{display:flex;justify-content:space-between}.hero-bottom-sun{display:none}.work-grid{grid-template-columns:1fr;gap:40px}.work-frame{height:530px}.work-heading h2{font-size:clamp(46px,9.2vw,58px)}.filter-chip{padding:10px 12px}.about-content h2,.services-heading h2{font-size:53px}.about-visual{height:430px}.contact-form-panel{padding:30px 24px}.footer-mark{font-size:105px}.footer-right{gap:14px;font-size:11px}.footer-lower{flex-direction:column;gap:12px}.dialog-inner{padding:13px}.dialog-head h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.ticker-track{animation:none}}
/* Creative-studio hybrid: gallery switches the light editorial site into a cinematic dark room. */
.work-section{background:radial-gradient(circle at 82% 12%,rgba(137,168,92,.07),transparent 42%),#232921;color:#f6f7ef}
.work-section .section-topline{color:#8c998a;border-bottom-color:#4d594c}
.work-section .section-index{color:#d6e1cf}
.work-section .work-heading-aside{color:#a8b5a4}
.work-section .squiggle{color:var(--lime)}
.work-section .filter-chip{color:#c8d2c3;border-color:#4f5b4d}
.work-section .filter-chip:hover{border-color:#aabd98}
.work-section .filter-chip.active{color:#273022;background:var(--lime);border-color:var(--lime)}
.work-section .filter-chip.active span{color:#667b37}
.work-section .work-card-meta small{color:#a9b7a3}
.work-section .circle-arrow{border-color:#71806a}
.work-section .work-card:hover .circle-arrow{background:var(--lime);color:#1b2319;border-color:var(--lime)}
.work-section .work-endnote{color:#a5b2a0;border-top-color:#4d594c}
.work-section .work-endnote a{color:var(--lime)}

/* v2: native 9:16 inline films, expanded creative positioning. Existing aesthetic retained. */
.nav-links a,.nav-cta {text-transform:uppercase;letter-spacing:.07em}
.logo{font-size:clamp(27px,2.55vw,37px);letter-spacing:-.065em}
.logo-descriptor{letter-spacing:1.8px}
.footer-mark{font-size:clamp(66px,9vw,128px);letter-spacing:-.105em}
.work-grid{grid-template-columns:repeat(2,minmax(0,330px)) minmax(220px,1fr);align-items:start;gap:32px}
.work-frame{height:auto!important;min-height:0!important;aspect-ratio:9/16;border-radius:13px;background:#141914;overflow:hidden}
.inline-video-frame{isolation:isolate;position:relative}
.inline-portfolio-video{width:100%;height:100%;display:block;position:absolute;inset:0;object-fit:contain;aspect-ratio:9/16;background:#121512}
.video-play-overlay{width:100%;height:100%;position:absolute;inset:0;display:block;border:0;padding:0;margin:0;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 30%,transparent 62%,rgba(0,0,0,.38));z-index:2;cursor:pointer}
.video-play-overlay[hidden]{display:none!important}
.video-play-overlay .play-big{left:50%;top:50%}
.video-play-overlay:hover .play-big,.video-play-overlay:focus-visible .play-big{transform:translate(-50%,-50%) scale(1.13);background:var(--lime)}
.video-play-overlay:hover .pill-light{background:var(--lime)}
.inline-video-frame:has(video:not([controls])) video{pointer-events:none}
.work-card{max-width:430px}
.work-card-meta{padding-top:16px;align-items:flex-start}
.work-card-meta strong{font-size:clamp(21px,2vw,26px)}
.work-card-meta small{line-height:1.6}
.work-invite{border:1px solid #556252;border-radius:13px;min-height:410px;display:flex;flex-direction:column;padding:25px 25px 22px;background:linear-gradient(160deg,#2d362b,#202720);align-self:stretch}
.work-invite-star{font-size:64px;color:var(--lime);line-height:1;align-self:flex-end}
.invite-kicker{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#afc2a8;margin-top:48px}
.work-invite h3{font:800 clamp(30px,2.5vw,40px)/1.17 var(--display);letter-spacing:-.065em;margin:13px 0}
.work-invite h3 em{font:italic 1.12em var(--serif);color:var(--lime)}
.work-invite p{font-size:14px;line-height:1.7;color:#acb9a8;max-width:270px}
.work-invite a{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:800;letter-spacing:1.1px;color:var(--lime);margin:14px 0 38px;text-decoration:underline;text-underline-offset:6px}
.work-invite-counter{font-size:9px;letter-spacing:1.2px;color:#8e9d8b;margin-top:auto;border-top:1px solid #4e5b4b;padding-top:17px}
.work-card[hidden]{display:none!important}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:17px}
.service-card{height:100%;display:flex;flex-direction:column}
.service-bottom{margin-top:auto!important}
.services-footnote{font-size:12px;color:#747e70;letter-spacing:.02em;margin:27px 0 0}
.about-content h2{font-size:clamp(50px,5.2vw,75px)}
.about-tags{gap:9px}
.form-kicker{font-size:13px;letter-spacing:1.3px}
@media(max-width:1100px){
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:790px}
  .work-invite{grid-column:1 / -1;min-height:235px}
  .work-invite .invite-kicker{margin-top:0}
  .work-invite-star{display:none}
  .work-invite h3{font-size:38px}
}
@media(max-width:760px){
 .logo{font-size:26px;letter-spacing:-.06em}
 .logo-descriptor{display:none}
 .nav-links a{font-size:13px}
 .nav-cta{font-size:10px;letter-spacing:0;padding:11px 14px}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .service-card{min-height:290px}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .work-frame{height:auto!important;min-height:0!important}
 .work-invite{min-height:220px}
 .work-card-meta{gap:8px}
 .work-card-meta strong{font-size:19px}
 .work-card-meta small{font-size:11px}
 .work-top{top:12px;left:9px;right:9px;gap:4px;font-size:7px}
 .pill-light{font-size:7px;padding:6px 7px}
 .work-frame-bottom{left:12px;right:12px;bottom:14px;font-size:8px}
 .footer-mark{font-size:clamp(60px,13vw,95px)}
}
@media(max-width:520px){
 .logo{font-size:25px}
 .nav{gap:7px}
 .nav-cta{font-size:10px;gap:7px;padding:10px 10px}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 .work-card-meta strong{font-size:17px}
 .work-card-meta small{font-size:10px}
 .work-card-meta .circle-arrow{display:none}
 .work-top{align-items:flex-start;flex-direction:column;gap:6px}
 .work-top>span:first-child{font-size:7px}
 .pill-light{font-size:7px}
 .play-big{width:55px;height:55px}
 .work-invite{padding:20px}
 .services-grid{grid-template-columns:1fr}
 .service-card{min-height:230px}
 .about-content h2{font-size:49px}
}
@media(max-width:360px){.nav-cta{display:none}}
/* Final mobile pass: comfortably sized vertical reels with usable native video controls. */
@media(max-width:520px){
  .work-grid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:34px}
  .work-card{width:min(100%,355px)}
  .work-invite{width:100%;grid-column:auto}
  .work-top{flex-direction:row;gap:9px;left:15px;right:15px;top:16px}
  .work-top>span:first-child{font-size:9px}
  .pill-light{font-size:8px;padding:7px 10px}
  .work-frame-bottom{font-size:9px;left:18px;right:18px;bottom:20px}
  .play-big{width:76px;height:76px}
  .work-card-meta strong{font-size:22px}
  .work-card-meta small{font-size:12px}
  .hero-photo-frame .photo-caption{bottom:85px;max-width:75%;font-size:10px;letter-spacing:1.5px}
}
/* The diagonal ticker intentionally overflows slightly; avoid horizontal scrollbars. */
html{overflow-x:clip}

/* V7: quiet, useful motion and clearer interaction states */
.skip-link{position:fixed;top:12px;left:12px;padding:12px 16px;border-radius:8px;background:var(--lime);color:var(--ink);font:800 12px var(--sans);z-index:1000;transform:translateY(-170%)}
.skip-link:focus{transform:translateY(0)}
.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}
.nav-links a{position:relative}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-9px;height:2px;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.nav-links a:hover::after,.nav-links a[aria-current="location"]::after{transform:scaleX(1)}
.nav-links a[aria-current="location"]{color:#718f2a}
.filter-chip{transition:color .24s,background .24s,border-color .24s,transform .24s}
.filter-chip:hover{transform:translateY(-2px)}
.service-inquiry{margin-top:18px;align-self:flex-start;display:inline-flex;gap:14px;align-items:center;font:800 10px var(--sans);letter-spacing:1px;padding:10px 0 6px;border-bottom:1px solid currentColor;color:#3d4a37}
.service-inquiry span,.link-arrow span,.pill-primary span,.nav-cta .arrow-icon,.work-invite a span{display:inline-block;transition:transform .23s ease}
.service-inquiry:hover span,.service-inquiry:focus-visible span,.link-arrow:hover span,.pill-primary:hover span,.nav-cta:hover .arrow-icon,.work-invite a:hover span{transform:translate(3px,-3px)}
.service-inquiry:focus-visible{outline-offset:5px}
.field select{width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #cbd1c4;border-radius:0;padding:10px 26px 14px 0;font-size:14px;appearance:auto;cursor:pointer}
.field select:focus-visible{outline:2px solid #91b945;outline-offset:4px}
/* The About portrait now uses a crop with less overhead space, not a layout change. */
.about-visual img{object-position:center center}
@media(max-width:760px){.nav-links a::after{bottom:11px;right:0;left:auto;width:38px;transform-origin:right}.nav-links a[aria-current="location"]{color:#283023}}
@media(prefers-reduced-motion:reduce){.nav-links a::after,.service-inquiry span,.link-arrow span,.pill-primary span,.nav-cta .arrow-icon,.filter-chip,.work-invite a span{transition:none!important}.filter-chip:hover{transform:none}}


/* V9: responsive polish. Breakpoints respond to available screen width, not device labels. */
.hero-responsive-photo,.about-responsive-photo{display:block;width:100%;height:100%}
.hero-photo-frame>.hero-responsive-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.75) contrast(1.05)}
.about-responsive-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:12px 170px 12px 12px;filter:saturate(.75)}
.hero,.about-grid,.contact-grid{min-width:0}
.hero-copy,.about-content,.contact-copy,.contact-form-panel{min-width:0}
.nav-contact-mobile{display:none!important}
/* Touchscreens get comfortably sized controls; mouse users retain hover polish. */
a,button{touch-action:manipulation}
.filter-chip{min-height:44px}
.submit-button{min-height:54px}
.work-frame{max-width:100%;}
.inline-portfolio-video{object-fit:contain}

/* Medium desktop and wide tablet: avoid a cramped three-column services grid. */
@media (max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card{min-width:0}
}
/* Tablet and narrow laptop: compact touch-friendly navigation and single-column introduction. */
@media (max-width:960px){
  .wrap{width:calc(100% - 64px)}
  .nav{height:76px;gap:18px}
  .nav-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;align-items:center;border-radius:8px;padding:10px}
  .nav-cta{margin-left:auto}
  .nav-links{position:absolute;left:0;right:0;top:76px;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 32px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 20px rgba(23,28,20,.07)}
  .nav-links.is-open{display:flex}
  .nav-links a{display:flex;align-items:center;min-height:48px;padding:14px 4px;border-top:1px solid var(--line)}
  .nav-contact-mobile{display:flex!important}
  .nav-links a::after{bottom:9px;left:auto;right:0;width:44px;transform-origin:right}
  .hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-top:52px;padding-bottom:77px}
  .hero-copy{width:100%}
  .hero-title{font-size:clamp(70px,9.5vw,104px)}
  .hero-bottom{margin-top:40px}
  .hero-art{width:min(100%,480px);height:clamp(410px,65vw,535px);min-height:0;max-width:480px;align-self:center;justify-self:center}
  .about-grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:45px}
  .about-visual{width:min(100%,460px);height:520px;max-height:none}
  .about-content{max-width:750px}
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .contact-copy h2{margin:40px 0 22px}
  .contact-form-panel{width:min(100%,700px);margin-top:14px}
}
/* Phone and small tablet: one tall reel per row, no tiny inline video controls. */
@media (max-width:700px){
  .wrap{width:calc(100% - 40px)}
  .hero-title{font-size:clamp(56px,12vw,82px)}
  .hero-art{width:min(100%,440px);height:clamp(390px,100vw,500px)}
  .work-grid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:36px;max-width:none}
  .work-card{width:min(100%,410px);max-width:410px}
  .work-invite{grid-column:auto;width:min(100%,410px);max-width:410px;min-height:225px}
  .work-top{top:18px;left:17px;right:17px;gap:8px;font-size:9px}
  .pill-light{font-size:9px;padding:8px 10px}
  .work-frame-bottom{bottom:20px;left:18px;right:18px;font-size:9px}
  .play-big{width:80px;height:80px}
  .work-card-meta strong{font-size:23px}
  .work-card-meta small{font-size:12px}
  .about-visual{width:min(100%,430px);height:min(112vw,495px)}
  .filter-row{gap:8px}
  .filter-chip{padding:10px 13px;font-size:12px}
  .services-grid{grid-template-columns:minmax(0,1fr)}
  .service-card{min-height:230px}
  .field input,.field textarea,.field select{font-size:16px}
  .footer-mark{font-size:clamp(51px,12vw,85px)}
}
/* Extra-small phones: ensure header, headings, and stickers never crowd the viewport. */
@media (max-width:400px){
  .wrap{width:calc(100% - 32px)}
  .nav{gap:7px}
  .logo{font-size:clamp(23px,7.1vw,27px)}
  .nav-cta{display:none}
  .nav-toggle{margin-left:auto}
  .hero{padding-top:35px}
  .hero-title{font-size:clamp(50px,12.4vw,60px)}
  .hero-description{font-size:15px}
  .hero-bottom{gap:10px;font-size:8px}
  .hero-sticker{width:90px;height:90px;left:-2px}
  .hero-sticker svg{width:85px}
  .hero-art{height:clamp(350px,108vw,425px)}
  .hero-photo-frame{inset:12px 28px 14px 24px}
  .hero-floating-card{max-width:190px}
  .work-heading h2{font-size:clamp(43px,10.5vw,54px)}
  .about-content h2{font-size:clamp(43px,11vw,51px)}
  .about-visual-tag{font-size:9px;padding:12px 14px;left:-10px}
  .contact-copy h2{font-size:clamp(51px,12vw,70px)}
  .footer-mark{font-size:clamp(50px,12.5vw,68px)}
}
/* Avoid accidental hover states on touch devices. */
@media (hover:none){
  .service-card:hover{transform:none}
  .filter-chip:hover{transform:none}
  .work-card:hover .play-big{transform:translate(-50%,-50%);background:rgba(246,246,239,.95)}
  .nav-cta:hover,.pill-primary:hover{transform:none}
}
/* Honor device accessibility preferences without degrading layout. */
@media (prefers-reduced-data:reduce){
  .grain{display:none}
  .ticker-track{animation:none}
}
