
@font-face{font-family:DM;src:url('../assets/dm-sans.ttf')}@font-face{font-family:Bodoni;src:url('../assets/bodoni-italic.ttf');font-style:italic}
:root{--ink:#0a2225;--paper:#eae7d8;--gold:#e7c89b;--line:#d8e8d42b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--paper);font:14px DM,Arial,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:7px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:5px;z-index:9;background:var(--paper);color:var(--ink);padding:12px}.portfolio-header{height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:3}.studio-name{font-size:29px;letter-spacing:-1.4px}.studio-name span{display:block;font:7px Consolas,monospace;letter-spacing:2px;margin-top:6px}.portfolio-header nav{display:flex;gap:35px;font-size:11px}.portfolio-header select{border:0;background:transparent;padding:10px;font-size:11px}.portfolio-header option{background:var(--ink)}.portfolio-hero{min-height:650px;height:min(760px,calc(100svh - 100px));position:relative;padding:75px 6% 90px;display:grid;grid-template-columns:1fr 1.24fr .75fr;gap:4%;align-items:center;overflow:hidden}.hero-orbit{position:absolute;inset:0;background:radial-gradient(ellipse at 51% 47%,#5b988c22,transparent 52%);pointer-events:none}.hero-left,.hero-right,.tesseract-center{position:relative;z-index:1}.eyebrow{font:9px Consolas,monospace;letter-spacing:1.5px;color:#a7c1b7}.hero-left h1{font-weight:400;font-size:clamp(38px,4vw,70px);line-height:1.04;letter-spacing:-.06em;margin-top:30px}.hero-left h1>*{display:block}.hero-left em{font:italic 1.08em/1.1 Bodoni,Georgia,serif;color:var(--gold);margin-top:8px}.tesseract-center{width:100%;max-width:530px;justify-self:center}.tesseract-center .codavela-brand{width:100%;filter:drop-shadow(0 0 26px #c2efd521)}.geometry-note{display:block;text-align:center;margin-top:14px;font:7px Consolas,monospace;letter-spacing:1px;color:#a2b7ac}.hero-right{align-self:center;padding-top:80px}.hero-right>p{font-size:16px;line-height:1.8;max-width:230px;color:#b6c8be}.text-link{display:flex;align-items:center;gap:35px;width:max-content;max-width:100%;padding-bottom:13px;border-bottom:1px solid #c3d5c450;font-size:11px;margin-top:30px}.text-link b{font-weight:400;font-size:24px;transition:transform .3s}.text-link:hover b{transform:translate(3px,-3px)}.hero-bottom{position:absolute;bottom:28px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font:8px Consolas,monospace;letter-spacing:.8px;color:#a1b6ab}.hero-bottom button{border:0;background:none;font:10px DM,sans-serif;padding:8px}.projects{padding:70px 6% 100px}.project-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}.project-heading h2{font-size:clamp(35px,4.2vw,68px);font-weight:400;line-height:1.06;letter-spacing:-.055em;max-width:650px;margin-top:24px}.project-heading>p{max-width:325px;color:#a8c0b6;line-height:1.8;font-size:12px}.filters{display:flex;gap:10px;align-items:center;margin:45px 0 40px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filters button{border:1px solid transparent;background:none;padding:9px 17px;border-radius:25px;font-size:11px}.filters button[aria-pressed=true]{border-color:#acc8b455;background:#d3e2ce0f}.filters>span{margin-left:auto;font:11px Consolas,monospace;color:#a5bcb0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 40px}.project-card:nth-child(even){margin-top:80px}.project-card a{display:block}.project-cover{position:relative;aspect-ratio:1.4;overflow:hidden;background:#243c3b;isolation:isolate}.project-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c1c2399,transparent 70%);z-index:-1}.project-cover picture{position:absolute;inset:0;z-index:-2}.project-cover img{height:100%;width:100%;object-fit:cover;object-position:67% center;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s;filter:brightness(.78)}.project-card:hover .project-cover img{transform:scale(1.045);filter:brightness(.95)}.cover-number{position:absolute;top:25px;left:27px;font:9px Consolas,monospace;letter-spacing:2px}.cover-label{position:absolute;top:25px;right:27px;font:8px Consolas,monospace;text-transform:uppercase;letter-spacing:1px}.cover-title{position:absolute;bottom:35px;left:30px;right:30px;font-size:clamp(30px,3.3vw,56px);font-weight:400;letter-spacing:-.055em;line-height:1.05}.cover-title em{display:block;font-family:Bodoni,Georgia,serif;font-weight:400;color:#f0d8b5}.project-card[data-kind=learn] .cover-title{color:#e5e1ff}.project-card[data-kind=water] .cover-title{text-align:center}.project-card[data-kind=shop] .cover-title{font-family:Georgia,serif;letter-spacing:-.05em}.project-info{display:flex;gap:20px;justify-content:space-between;padding-top:22px}.project-info h3{font-size:21px;font-weight:400;letter-spacing:-.03em}.project-info p{font-size:10px;color:#9fb7ac;margin-top:9px}.project-info>b{font-size:26px;font-weight:400}.project-invitation{padding:95px 6% 110px;background:#e6e6d6;color:#18332f}.project-invitation .eyebrow{color:#4f7262}.project-invitation h2{font-size:clamp(42px,6vw,95px);letter-spacing:-.055em;font-weight:400;max-width:950px;margin-top:22px}.project-invitation .text-link{border-color:#18332f55;font-size:13px}.project-invitation .text-link b{margin-left:35px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 6%;font-size:9px;color:#a0b8ad}footer>a:first-child{font-size:24px;letter-spacing:-1px;color:var(--paper)}
@media(max-width:1100px){.portfolio-hero{grid-template-columns:1fr 1.25fr;gap:4%;min-height:670px}.hero-right{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:0;margin-top:-50px;max-width:600px}.hero-right>p{font-size:13px;max-width:280px}.hero-right .text-link{margin:0}.hero-left h1{font-size:5.5vw}.tesseract-center{max-width:420px}.project-heading{gap:30px}.project-heading>p{max-width:260px}.project-grid{gap:50px 25px}.cover-title{font-size:4vw}}
@media(max-width:650px){.portfolio-header{height:85px;margin:0 6%}.portfolio-header nav{gap:16px;font-size:10px}.portfolio-header nav a:first-child{display:none}.studio-name{font-size:26px}.portfolio-hero{height:auto;min-height:0;display:flex;flex-direction:column;padding:55px 7% 100px;gap:0}.hero-left{align-self:stretch;text-align:center}.hero-left h1{font-size:12vw;margin-top:24px}.hero-left h1>*{display:inline}.hero-left em{display:block!important}.tesseract-center{width:min(100%,365px);margin:20px auto 24px}.geometry-note{margin-top:0;font-size:6px}.hero-right{display:block;text-align:center;margin:0;padding:0;max-width:280px}.hero-right>p{font-size:13px}.hero-right .text-link{margin:22px auto 0}.hero-bottom{left:7%;right:7%;bottom:18px;gap:12px;font-size:6px;line-height:1.6}.hero-bottom>span{max-width:150px}.hero-bottom button{font-size:8px}.projects{padding:50px 7% 70px}.project-heading{display:block}.project-heading h2{font-size:11vw;margin-top:20px}.project-heading>p{max-width:none;font-size:11px;margin-top:25px}.filters{gap:3px;flex-wrap:wrap;margin-top:30px;padding:14px 0}.filters button{padding:8px 10px;font-size:9px}.filters>span{display:none}.project-grid{grid-template-columns:1fr;gap:38px}.project-card:nth-child(even){margin-top:0}.project-cover{aspect-ratio:1.13}.cover-title{font-size:10vw;bottom:28px;left:22px;right:22px}.cover-number{top:22px;left:22px}.cover-label{top:22px;right:22px;font-size:6px}.project-info h3{font-size:19px}.project-info p{font-size:9px}.project-invitation{padding:60px 7% 70px}.project-invitation h2{font-size:12vw}footer{padding:28px 7%;flex-wrap:wrap;gap:22px}footer>span{order:3;width:100%;line-height:1.7;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Portfolio shares the home palette, with readable descriptions and direct next steps. */
:root{--ink:#102b2c;--paper:#eeeade;--gold:#e5cea4;--line:#d8e8d438}@font-face{font-family:DM;src:url('../assets/dm-sans.ttf');font-display:swap}@font-face{font-family:Bodoni;src:url('../assets/bodoni-italic.ttf');font-style:italic;font-display:swap}
.portfolio-header nav{font-size:13px;gap:28px}.portfolio-header nav a{padding:13px 0}.portfolio-header select{font-size:13px;min-height:44px}.portfolio-header .studio-name span{font-size:9px;letter-spacing:1.7px}.eyebrow{font-size:11px;color:#c2d1c3}.geometry-note{font-size:9px;color:#bccdbf}.hero-right>p{color:#d0dacf}.hero-right .text-link{font-size:13px}.hero-bottom{font-size:10px;color:#c4d2c5}.hero-bottom button{font-size:12px;min-height:44px}.project-heading>p{font-size:14px;color:#c7d4c9;max-width:370px}.filters button{font-size:13px;min-height:44px;border-color:#b8c8b330;border-radius:4px}.filters button:hover{background:#d3e2ce12}.filters button[aria-pressed=true]{background:#eeeade;color:#173b35;border-color:#eeeade}.filters>span{font-size:12px;color:#d2decf}.project-grid{gap:70px 40px}.project-grid.filtered .project-card{margin-top:0}.project-card{min-width:0}.project-card a:focus-visible{outline:2px solid #e5cea4;outline-offset:5px}.project-cover{border-radius:5px;box-shadow:0 15px 40px #0001}.project-cover:after{background:linear-gradient(0deg,#071f22b8,transparent 85%)}.project-cover img{filter:brightness(.85);transform:scale(1.012)}.cover-number,.cover-label{font-size:10px;text-shadow:0 1px 8px #052122}.cover-title{text-shadow:0 2px 22px #061c1f88}.project-info h3{font-size:25px}.project-info p{font-size:12px;color:#b8cbbd}.project-description{font-size:14px;line-height:1.8;color:#cbd7ca;margin:18px 0;max-width:480px}.project-functions{font-size:12px;color:#d7dfcf;line-height:1.7}.project-functions>span{display:block;font:10px/1.8 Consolas,monospace;letter-spacing:1px;color:#b9cbb8;margin-bottom:5px}.project-open{display:inline-block;margin-top:22px;font-size:13px;border-bottom:1px solid #d5dfc45c;padding:10px 0;color:#f2e3c7}.project-card .project-adapt{display:inline-block;margin-top:13px;padding:10px 0;font-size:12px;color:#c7d5c7;border-bottom:1px solid #b0c9b53b}.project-card .project-adapt:hover{color:#fff5d9}.project-cover:before{content:'';position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 38%,#f7dcaa1c 50%,transparent 63%);transform:translateX(-16%);z-index:0;pointer-events:none;animation:project-light 14s ease-in-out infinite alternate;animation-play-state:paused}.project-card[data-kind=water] .project-cover:before{background:linear-gradient(105deg,transparent 30%,#bfe6e622 50%,transparent 67%);animation-duration:11s}.project-card[data-kind=learn] .project-cover:before{background:linear-gradient(120deg,transparent 30%,#e3e1ff20 50%,transparent 67%)}.project-card.is-inview .project-cover:before{animation-play-state:running}.paused .project-cover:before,.tab-hidden .project-cover:before{animation-play-state:paused!important}@keyframes project-light{to{transform:translateX(16%);opacity:.5}}.project-invitation{background:#eeeadf;color:#173b35}.project-invitation .eyebrow{color:#466357}.project-invitation .text-link{font-size:14px;min-height:44px}footer{font-size:12px;line-height:1.7;color:#c1d0c3}footer>span{max-width:430px}.portfolio-footer-links{display:flex;gap:22px}.portfolio-footer-links a{padding:10px 0;border-bottom:1px solid #b4c3ac42}
@media(max-width:650px){.portfolio-header nav{font-size:12px;gap:16px}.portfolio-header nav a:first-child{display:none}.portfolio-header .studio-name{font-size:27px}.portfolio-header .studio-name span{font-size:8px}.portfolio-header select{padding:10px 6px}.portfolio-hero{padding-top:42px}.eyebrow{font-size:10px}.geometry-note{font-size:8px}.hero-right>p{font-size:14px}.hero-bottom{font-size:8px}.hero-bottom button{font-size:11px}.project-heading>p{font-size:13px}.filters button{font-size:12px;padding:10px 12px}.filters{gap:6px}.filters>span{display:block;margin-left:0;width:100%;padding-top:8px;font-size:11px}.cover-label,.cover-number{font-size:9px;letter-spacing:.4px}.project-info h3{font-size:24px}.project-info p{font-size:12px}.project-description{font-size:14px}.project-functions{font-size:12px}.project-open{font-size:13px}.project-card .project-adapt{font-size:13px}.project-grid{gap:45px}footer>span{font-size:11px}.portfolio-footer-links{font-size:11px;gap:18px}}
