:root{color:#2a2622;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f7f3ee;--ink:#2a2622;--terra:#c1573c;--moss:#57614f;--muted:#857d73;--line:#ddd6cc;--focus:#93402f;--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", Arial, sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:72px;--space-7:112px;--ease-editorial:cubic-bezier(.22, .68, 0, 1);--duration-fast:.18s;--duration-enter:.7s;background:#f7f3ee;font-family:DM Sans,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body,button,input,textarea{font-family:var(--sans)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:disabled,[aria-disabled=true]{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:2px}::selection{color:var(--ink);background:#e9c4b8}.specimen-shell{max-width:1600px;margin:0 auto;overflow:hidden}.skip-link{z-index:5;background:var(--ink);color:#fff;padding:12px 16px;position:absolute;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;margin:0 8.3%;display:flex}.wordmark{font:600 21px var(--serif);letter-spacing:-.08em}.wordmark span{color:var(--terra);font:13px var(--sans);vertical-align:top;margin-left:4px;display:inline-block}.site-header nav{gap:38px;margin-left:20px;display:flex}.site-header nav a,.header-note{letter-spacing:.07em;font-size:11px}.site-header nav a{transition:color var(--duration-fast)}.site-header nav a:hover,.text-link:hover{color:var(--terra)}.header-note{color:var(--muted)}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:7%;min-height:650px;padding:72px 11.1% 64px;display:grid;position:relative}.hero-copy{animation:rise-in var(--duration-enter) var(--ease-editorial) both;padding-bottom:15px}.eyebrow,.section-index{letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:600}.eyebrow{color:var(--moss);align-items:center;gap:10px;margin:0 0 25px;display:flex}.eyebrow-dot{background:var(--terra);border-radius:100%;width:6px;height:6px;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.045em;font-weight:500}h1{margin-bottom:25px;font-size:clamp(48px,5.3vw,76px);line-height:1.07}h1 em,h2 em,.intro-strip em{color:var(--terra);font-weight:500}.hero-intro{color:#6d665f;max-width:330px;margin-bottom:27px;font-size:13px;line-height:1.9}.text-link{letter-spacing:.035em;transition:color var(--duration-fast), border-color var(--duration-fast);border-bottom:1px solid #b7aa9c;padding-bottom:8px;font-size:10px;font-weight:600}.text-link span{color:var(--terra);margin-left:13px;font-size:14px}.hero-art{width:100%;max-width:430px;animation:rise-in .85s .1s var(--ease-editorial) both;justify-self:end;position:relative}.art-frame{background:#e9e0d5;height:426px;padding:14px;transform:rotate(1.2deg);box-shadow:0 20px 55px #4a39261c}.image-wrap{background:#e7dfd5;width:100%;height:100%;overflow:hidden}.image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-editorial);display:block}.hero-art:hover .image-wrap img,.preview-card:hover .image-wrap img{transform:scale(1.035)}.image-fallback{text-align:center;width:100%;height:100%;color:var(--moss);background:radial-gradient(at 50% 35%,#f7f3ee 0 14%,#0000 15%),linear-gradient(145deg,#e5d7c8,#c9cabb);place-content:center;display:grid}.image-fallback span{color:var(--terra);font-size:37px}.image-fallback p{font:13px/1.6 var(--sans);margin:8px 0 0}.art-caption{color:var(--muted);letter-spacing:.04em;justify-content:space-between;margin-top:19px;font-size:9px;display:flex}.orbit{color:var(--terra);font-size:28px;position:absolute}.orbit-one{top:42px;left:-25px}.orbit-two{color:var(--moss);font-size:15px;bottom:68px;right:-18px}.hero-index{color:#a69c91;letter-spacing:.13em;font-size:8px;position:absolute;bottom:37px;left:8.3%}.demo-note{max-width:310px;color:var(--muted);margin:24px 0 0;font-size:10px;line-height:1.6}.intro-strip{background:#eee7de;grid-template-columns:1fr 2.4fr auto;align-items:center;gap:20px;padding:37px 11.1%;display:grid}.section-index{color:var(--moss)}.intro-strip p{font:500 clamp(19px, 2.2vw, 28px)/1.45 var(--serif);letter-spacing:-.025em;margin:0}.strip-mark{color:var(--terra);font-size:23px}.work-preview{padding:96px 11.1% 110px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.section-heading .section-index{margin-bottom:13px;display:block}h2{margin-bottom:0;font-size:clamp(36px,4vw,54px);line-height:1.15}.section-heading .text-link{margin-bottom:8px}.work-count{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.filter-bar{flex-wrap:wrap;gap:9px;margin-bottom:36px;display:flex}.filter-button{color:var(--ink);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);background:0 0;border:1px solid #cfc6bb;border-radius:99px;padding:10px 16px;font-size:11px}.filter-button:hover{border-color:var(--terra);transform:translateY(-1px)}.filter-button.active{color:#fff;background:var(--terra);border-color:var(--terra)}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;display:grid}.preview-card{min-width:0;animation:rise-in .6s var(--ease-editorial) both}.preview-card:nth-child(2),.preview-card:nth-child(5){animation-delay:80ms}.preview-card:nth-child(3),.preview-card:nth-child(6){animation-delay:.16s}.card-image-link{display:block;position:relative}.card-image-link .image-wrap{height:clamp(190px,23vw,320px);box-shadow:0 9px 25px #4a392610}.image-badge{background:var(--paper);color:var(--ink);opacity:0;transition:opacity var(--duration-fast), transform var(--duration-fast);padding:9px 12px;font-size:10px;position:absolute;bottom:12px;right:12px;transform:translateY(5px)}.card-image-link:hover .image-badge,.card-image-link:focus-visible .image-badge{opacity:1;transform:translateY(0)}.card-meta{color:var(--moss);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;margin:17px 0 7px;font-size:8px;display:flex}.card-meta span:last-child{color:var(--muted)}.preview-card h3{font:500 23px var(--serif);margin-bottom:6px}.preview-card p{color:var(--muted);margin-bottom:0;font-size:10px;line-height:1.7}.state-empty{background:#eee7de;padding:32px}.state-empty p{font:22px var(--serif);margin:14px 0}.text-button{color:var(--terra);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #b7aa9c;padding:0 0 5px;font-size:12px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin:0 8.3%;padding:24px 0 32px;font-size:9px;display:flex}footer a{color:var(--terra);font-size:10px}.state-loading{color:var(--muted);align-items:center;gap:10px;display:flex}.state-loading:before{content:"";border:1px solid var(--line);border-top-color:var(--terra);border-radius:50%;width:13px;height:13px;animation:.9s linear infinite spin}.state-empty,.state-error{color:var(--ink);background:#eee7de;padding:32px}.state-error{border-left:3px solid var(--terra)}.field-error{color:#963f30;font-size:12px}.case-index{padding:0 11.1% 105px}.study-list{border-top:1px solid var(--line)}.study-link{border-bottom:1px solid var(--line);transition:padding var(--duration-fast), color var(--duration-fast);grid-template-columns:58px 1fr auto;align-items:center;gap:20px;padding:24px 10px;display:grid}.study-link:hover{color:var(--terra);padding-left:17px}.study-number{letter-spacing:.1em;color:var(--terra);font-size:10px}.study-link strong{font:500 25px var(--serif);display:block}.study-link small{max-width:600px;color:var(--muted);margin-top:6px;font-size:11px;line-height:1.6;display:block}.study-arrow{color:var(--terra);font-size:20px}.case-page,.contact-page{padding:82px 11.1% 110px}.case-heading{text-align:center;max-width:750px;margin:0 auto 48px}.case-heading .eyebrow{justify-content:center}.case-heading h1,.contact-intro h1{font-size:clamp(48px,6vw,78px)}.case-lead{color:#6d665f;max-width:590px;font:20px/1.65 var(--serif);margin:0 auto}.case-art{max-width:930px;margin:0 auto 65px}.case-art .image-wrap{height:clamp(320px,55vw,610px);box-shadow:0 20px 55px #4a39261c}.case-art figcaption{color:var(--muted);letter-spacing:.05em;justify-content:space-between;margin-top:14px;font-size:10px;display:flex}.case-story{max-width:930px;margin:0 auto 48px}.case-story>.section-index{border-bottom:1px solid var(--line);padding-bottom:20px;display:block}.story-grid{grid-template-columns:repeat(3,1fr);gap:35px;padding:30px 0 38px;display:grid}.story-grid h2{font:500 23px var(--serif);margin-bottom:12px}.story-grid p{color:#6d665f;font-size:13px;line-height:1.85}.case-page>.text-link{margin:0 auto;display:table}.contact-page{grid-template-columns:.9fr 1.1fr;align-items:start;gap:20px 9%;min-height:660px;display:grid}.contact-intro{position:sticky;top:35px}.contact-intro h1{margin-bottom:22px;line-height:1.08}.contact-intro h1 em{color:var(--terra);font-weight:500}.contact-intro>p:last-child{color:#6d665f;max-width:340px;font-size:13px;line-height:1.9}.contact-card{background:#fffdfa;padding:35px;box-shadow:0 14px 42px #4a392612}.field{gap:8px;margin-bottom:21px;display:grid}.field label{font-size:11px;font-weight:600}.field input,.field textarea{background:var(--paper);width:100%;color:var(--ink);resize:vertical;border:1px solid #cfc6bb;border-radius:0;padding:12px 13px;font-size:14px;line-height:1.5}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#963f30}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field-error{font-size:11px;line-height:1.5}.compose-button{border:1px solid var(--terra);color:#fff;background:var(--terra);cursor:pointer;width:100%;transition:background var(--duration-fast), color var(--duration-fast);justify-content:space-between;align-items:center;padding:15px 17px;font-size:12px;display:flex}.compose-button:hover:not(:disabled){background:#a9432e}.compose-button:disabled{color:#655d55;opacity:1;background:#e8e2da;border-color:#d8d0c6}.contact-disclosure{color:#6d665f;margin:17px 0 0;font-size:10px;line-height:1.8}.contact-disclosure strong{color:var(--ink)}.compose-result{border-left:2px solid var(--moss);background:#f1f0e9;margin-top:20px;padding:17px}.compose-result p{color:var(--ink);margin-bottom:12px;font-size:12px;line-height:1.7}.contact-page>.demo-note{grid-column:2;margin:0}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=700px){.site-header{height:70px;margin:0 6%}.site-header nav{gap:17px}.site-header nav a{font-size:9px}.header-note{display:none}.hero{grid-template-columns:1fr;gap:38px;min-height:0;padding:55px 8% 67px}.hero-copy{padding:0}h1{font-size:clamp(48px,13vw,68px)}.hero-art{justify-self:center;max-width:440px}.art-frame{height:min(92vw,420px)}.hero-index{bottom:23px;left:8%}.intro-strip{grid-template-columns:1fr auto;gap:15px;padding:30px 8%}.intro-strip p{grid-area:2/1}.strip-mark{grid-area:1/2/span 2}.work-preview{padding:68px 8% 75px}.case-index{padding:0 8% 75px}.case-page,.contact-page{padding:58px 8% 75px}.contact-page{grid-template-columns:1fr;gap:25px}.contact-intro{position:static}.contact-card{padding:25px 20px}.contact-page>.demo-note{grid-column:1}.story-grid{grid-template-columns:1fr;gap:12px}.story-grid article{padding-bottom:12px}.case-art{margin-bottom:44px}.case-art .image-wrap{height:70vw;max-height:500px}.study-link{grid-template-columns:32px 1fr auto;gap:12px}.study-link strong{font-size:21px}.case-heading{margin-bottom:35px}.section-heading{flex-direction:column;align-items:start;gap:20px}.preview-grid{grid-template-columns:repeat(2,1fr);gap:32px 16px}.card-image-link .image-wrap{height:clamp(150px,42vw,260px)}.preview-card h3{font-size:20px}footer{gap:16px;margin:0 6%}}@media (width<=420px){.site-header nav{gap:9px}.site-header nav a{letter-spacing:.02em;font-size:8px}.wordmark{font-size:19px}.hero{padding-top:42px}.work-preview,.case-index,.case-page,.contact-page{padding-left:6%;padding-right:6%}.preview-grid{grid-template-columns:1fr}.card-image-link .image-wrap{height:76vw;max-height:340px}.filter-bar{gap:7px}.filter-button{padding:9px 12px;font-size:10px}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
