@font-face{font-family:Instrument;src:url('/assets/instrument.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url('/assets/newsreader.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ink:#182d25;--muted:#526057;--paper:#f5f3ed;--line:#d0d3c8;--forest:#263b32;--sage:#e9ede6;--serif:Newsreader,Georgia,serif;--sans:Instrument,Arial,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;font-weight:400}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #526f60;outline-offset:5px}h1,h2,h3,p{margin:0;font-weight:400}h1,h2{font-family:var(--serif);text-wrap:balance}p{text-wrap:pretty}img,svg{display:block;max-width:100%}.container{width:min(1280px,calc(100% - 128px));margin-inline:auto}.arrow{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}a:hover .arrow{transform:translate(3px,-2px)}.skip{position:fixed;z-index:100;top:10px;left:20px;padding:14px 20px;background:var(--ink);color:white;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}
/* Shared identity and navigation */
.header{position:absolute;inset:0 0 auto;z-index:20}.header-inner{height:104px;padding-inline:4.5%;display:grid;grid-template-columns:1fr auto;align-items:center}.brand{display:flex;align-items:center;gap:12px;justify-self:start;padding:10px 0}.brand-mark{width:43px;height:38px}.brand-name{width:117px;height:auto}.nav-contact{display:flex;align-items:center;gap:24px;min-height:44px;padding:10px 18px;border:1px solid #7a8980;background:#f5f3ed55;font-size:13px;transition:background .2s}.nav-contact:hover{background:#e0e6dd}.inner-page .header{background:var(--paper)}.button{display:inline-flex;align-items:center;gap:38px;min-height:48px;padding:15px 23px;background:#243329;color:white;border:1px solid #243329;font-size:14px;transition:background .2s}.button:hover{background:#3c5140}.button:hover .arrow{transform:translate(3px,-3px)}.text-link{display:inline-flex;align-items:center;gap:28px;padding:12px 0;min-height:44px;font-size:14px;margin-top:20px;border-bottom:1px solid #99a596}.text-link:hover .arrow{transform:translateX(4px)}.eyebrow{font-size:14px;line-height:1.4;margin-bottom:30px}
/* Homepage */
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:850px;height:min(65vw,1080px);background:#e2e9e9}.hero-art{position:absolute;inset:0;height:100%;z-index:-2;pointer-events:none}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:center bottom}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 82%,var(--paper))}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f5f3edeb,transparent 28%),linear-gradient(90deg,#edf0e7ed,#edf0e7ba 24%,#edf0e75c 43%,transparent 61%)}.hero-copy{position:relative;z-index:2;padding:205px 0 100px}.hero h1{font-size:clamp(65px,6.1vw,102px);line-height:.99;letter-spacing:-.045em;max-width:650px;text-wrap:initial}.hero p{font-size:17px;line-height:1.65;max-width:415px;margin-top:28px;color:var(--forest)}.hero p+p{margin-top:15px}.hero .text-link{margin-top:25px}
.starting{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;row-gap:55px;align-items:center;padding-block:140px}.starting h2{font-size:clamp(48px,4.6vw,72px);line-height:1.07;letter-spacing:-.04em}.starting-intro .lead{font-size:clamp(23px,2.15vw,31px);line-height:1.5;letter-spacing:-.02em;max-width:550px}.starting-context{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);padding-top:45px}.starting-context p{font-size:17px;line-height:1.75;color:var(--muted);max-width:550px}.starting-context p+p{margin-top:20px}.starting-context .closing{color:var(--ink)}
.work{padding:100px 0 130px;background:var(--sage)}.work>.container>.eyebrow{margin-bottom:55px}.work-row{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.work-row+.work-row{margin-top:100px}.work-copy h2{font-size:clamp(44px,4.5vw,65px);line-height:1.06;letter-spacing:-.035em;margin-bottom:26px}.work-copy p{font-size:17px;line-height:1.75;color:var(--muted);max-width:455px}.work-art{min-width:0;aspect-ratio:1.12;overflow:hidden;position:relative;isolation:isolate}.evaluation-art{background:var(--forest);display:flex;align-items:center;justify-content:center}.evaluation-art img{width:102%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.2,.65,.25,1)}.evaluation-art:hover img{transform:translateY(-5px) scale(1.025)}.data-art{background:#dce2d6;display:grid;place-items:center}.sheets{position:relative;width:72%;height:68%;perspective:1000px;transform:rotate(-8deg)}.sheet{position:absolute;width:100%;height:100%;object-fit:cover;border:1px solid #bac5b6;background:#f4f6ec;box-shadow:6px 15px 24px #24372a16;transition:transform .8s cubic-bezier(.2,.65,.25,1)}.sheet-back{transform:translate(18px,31px) rotate(9deg);opacity:.65}.sheet-middle{transform:translate(2px,8px) rotate(3deg);opacity:.8}.sheet-front{transform:translate(-15px,-17px) rotate(-4deg)}.data-art:hover .sheet-front{transform:translate(-22px,-26px) rotate(-7deg)}.data-art:hover .sheet-back{transform:translate(25px,40px) rotate(13deg)}
.company{position:relative;background:var(--forest);color:#eef0e6;overflow:hidden}.company-inner{position:relative;padding:100px 0 120px;isolation:isolate}.company .eyebrow{color:#c8d3c5}.company-copy{max-width:900px;position:relative;z-index:1}.company-copy .mission{font-family:var(--serif);font-size:clamp(39px,4vw,59px);line-height:1.16;letter-spacing:-.025em;color:#f1f2e9}.company-copy p+p{max-width:640px;margin-top:36px;font-size:19px;line-height:1.7;color:#d3dcd0}.company-mark{position:absolute;width:460px;right:-180px;bottom:-70px;opacity:.12;filter:brightness(0) invert(1);z-index:0;transform:rotate(-15deg)}.contact{padding-block:100px;display:flex;justify-content:space-between;align-items:center;gap:50px}.contact h2{font-size:clamp(58px,6.3vw,90px);line-height:1.05;letter-spacing:-.04em}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px}
.contact-email{font-size:15px;color:var(--ink);border-bottom:1px solid #99a596;padding-block:12px;user-select:all;overflow-wrap:anywhere}
.contact-email:hover{border-color:var(--ink)}
/* Contact page */
.inquiry{padding-top:190px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.inquiry h1{font-size:clamp(53px,5.3vw,82px);line-height:1.03;letter-spacing:-.045em;margin-bottom:35px}.inquiry-copy>.lead{font-size:21px;line-height:1.55;max-width:490px}.contact-page{min-height:850px}.email-group{position:relative;display:inline-block;margin-top:38px;max-width:100%}.email{display:flex;align-items:center;gap:28px;font-size:clamp(20px,2vw,28px);letter-spacing:-.025em;border-bottom:1px solid #9ca896;padding-bottom:15px;min-height:44px}.email .arrow{width:23px;height:23px}.copy-email{border:0;background:none;display:block;font-size:12px;color:var(--muted);padding:12px 0;min-height:44px}.copy-status{font-size:12px;position:absolute;right:0;bottom:-5px;color:#405d38}.contact-mark{width:175px;height:145px;margin-top:45px;opacity:.75}.form-panel{padding:40px;background:var(--sage);border-top:1px solid #a6b4a3}.form-panel h2{font-size:39px;letter-spacing:-.025em;margin-bottom:14px}.inquiry-form{margin-top:32px}.field{margin-bottom:24px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-size:14px;margin-bottom:10px}.field label span{color:var(--muted)}.field input,.field textarea{width:100%;min-width:0;display:block;border:1px solid #aab5a6;border-radius:0;background:#f7f8f2;padding:13px 12px;font-size:16px;min-height:48px}.field textarea{resize:vertical;min-height:125px}.form-note{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0}.inquiry-form .button{margin-top:8px;width:100%;justify-content:space-between}.form-status{font-size:13px;line-height:1.6;margin-top:16px}.form-status:empty{display:none}
/* Footer and error page */
.footer-top{padding:28px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.footer-top>div{color:var(--muted)}.footer .brand{gap:10px}.footer .brand-mark{width:32px;height:29px}.footer .brand-name{width:92px}.not-found{min-height:80vh;padding-top:180px;padding-bottom:100px}.error-mark{width:120px;height:110px;margin-bottom:38px}.not-found h1{font-size:clamp(55px,6vw,85px);line-height:1;letter-spacing:-.04em;margin:18px 0 24px}.not-found p:not(.eyebrow){color:var(--muted);line-height:1.7}.not-found .text-link{margin-top:25px}
/* Logo loading indicator does not block interaction or delay rendering. */
.page-loader{display:none;position:fixed;right:24px;bottom:24px;z-index:30;width:56px;height:56px;padding:10px;background:var(--paper);border:1px solid var(--line);pointer-events:none}.is-loading .page-loader{display:block;animation:loader-appear .2s .2s both}.page-loader img{width:100%;height:100%;animation:logo-breathe 1.3s ease-in-out infinite}@keyframes loader-appear{from{opacity:0}to{opacity:1}}@keyframes logo-breathe{0%,100%{transform:rotate(-9deg) scale(.9);opacity:.5}50%{transform:rotate(9deg) scale(1);opacity:1}}
@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.25,1)}.js .reveal.visible{opacity:1;transform:none}.error-mark{animation:logo-breathe 1.6s ease-in-out 1}}
@media(min-width:1800px){.hero-copy{padding-top:230px}.header-inner{max-width:1720px;margin:auto}}
@media(max-width:1050px){.container{width:calc(100% - 80px)}.hero{height:850px}.hero h1{max-width:510px;font-size:72px}.hero-art img{object-position:58% bottom}.hero:before{background:linear-gradient(180deg,#f5f3edeb,transparent 30%),linear-gradient(90deg,#edf0e7f2,#edf0e7aa 35%,transparent 80%)}.starting{column-gap:7%;padding-block:100px}.starting h2{font-size:49px}.inquiry{gap:6%;padding-top:160px}.inquiry h1{font-size:58px}.form-panel{padding:28px}.field-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){html{scroll-padding-top:30px}.container{width:calc(100% - 44px)}.header-inner{height:82px;padding-inline:22px;gap:12px}.brand{gap:8px}.brand-mark{width:35px;height:32px}.brand-name{width:101px}.nav-contact{padding:10px 12px;gap:12px;font-size:12px}.hero{height:auto;min-height:0;background:var(--paper);display:flex;flex-direction:column}.hero:before{display:none}.hero-copy{padding:135px 0 20px;order:0}.hero h1{font-size:clamp(50px,11.2vw,75px);max-width:560px;line-height:1.02}.hero p{font-size:16px;max-width:420px;margin-top:25px}.hero p+p{margin-top:12px}.hero .text-link{margin-top:16px}.hero-art{position:relative;inset:auto;order:1;width:100%;height:440px;z-index:0;mask-image:linear-gradient(transparent,black 18%);margin-top:5px}.hero-art img{object-position:70% bottom}.starting{padding-block:70px;grid-template-columns:1fr;gap:30px}.eyebrow{font-size:13px;margin-bottom:22px}.starting h2{font-size:clamp(45px,10vw,65px)}.starting-intro .lead{font-size:22px;line-height:1.55}.starting-context{grid-template-columns:1fr;gap:20px;padding-top:30px}.starting-context p{font-size:16px}.work{padding:65px 0 75px}.work>.container>.eyebrow{margin-bottom:35px}.work-row{grid-template-columns:1fr;gap:30px}.work-row+.work-row{margin-top:65px}.work-copy h2{font-size:44px;margin-bottom:20px}.work-copy p{font-size:16px;max-width:none}.text-link{font-size:13px;margin-top:16px}.work-art{aspect-ratio:1.2;max-height:440px}.data-row .work-copy{grid-row:1}.data-row .work-art{grid-row:2}.company-inner{padding:65px 0 75px}.company-copy .mission{font-size:39px}.company-copy p+p{font-size:17px;margin-top:27px}.company-mark{right:-180px;width:350px;bottom:-70px}.contact{padding-block:65px;align-items:start;flex-direction:column;gap:25px}.contact h2{font-size:62px}.footer-top{padding:23px 0}.footer-top>div{font-size:12px;text-align:right}.footer .brand-name{width:78px}.footer .brand-mark{width:26px;height:25px}.footer .brand{gap:7px}.inquiry{padding-top:130px;padding-bottom:65px;grid-template-columns:1fr;gap:45px}.inquiry h1{font-size:clamp(50px,11vw,70px);margin-bottom:25px}.inquiry-copy>.lead{font-size:20px}.form-panel{padding:28px 22px}.form-panel h2{font-size:35px}.field-row{grid-template-columns:1fr 1fr;gap:14px}.contact-mark{display:none}.contact-page{min-height:0}.email-group{margin-top:28px}.email{font-size:23px}.not-found{padding-top:140px;padding-bottom:70px}}
@media(max-width:400px){.email{font-size:clamp(18px,5.5vw,22px);gap:20px}}
@media(max-width:380px){.header .brand-name{width:86px}.header .brand-mark{width:30px}.header .brand{gap:6px}.nav-contact{gap:9px;padding-inline:10px}.footer-top{gap:12px}.footer-top>div{font-size:10px}.field-row{grid-template-columns:1fr;gap:0}.hero h1{font-size:47px}.hero-art{height:370px}.inquiry h1{font-size:47px}.company-copy .mission{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
@media print{.header{position:static}.hero{min-height:0;height:auto}.hero-copy{padding:30px 0}.hero-art{display:none}.work{padding:30px 0}.work-row+.work-row{margin-top:30px}.copy-email,.page-loader{display:none}.js .reveal{opacity:1;transform:none}.contact{padding:35px 0}.company{background:white;color:black}.company-copy .mission,.company-copy p+p{color:black}}
