@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-ext.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--ink:#152440;--blue:#233b67;--paper:#f4efed;--pink:#e3c7c3;--line:#c9c6c5;--muted:#5e626b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Manrope,Arial,sans-serif}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:450;letter-spacing:-.065em;line-height:1.03}h2{font-size:clamp(38px,4.6vw,72px)}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #c45161;outline-offset:5px}.preview-ribbon{padding:9px 4%;background:var(--ink);color:#f7f1ee;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.03em}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid var(--line);gap:20px}.brand span{font-size:25px;font-weight:700;letter-spacing:-1px}.brand small{display:block;font-size:8px;letter-spacing:.32em;margin-top:-4px}.header nav{display:flex;gap:36px;font-size:12px}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.saved-button{border:1px solid var(--ink);border-radius:0;background:none;padding:10px 15px;font-size:11px}.saved-button span{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:10px;background:var(--ink);color:white;border-radius:50%}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;line-height:1.8}.hero{min-height:760px;max-width:1600px;margin:auto;padding:75px 5% 70px;display:grid;grid-template-columns:1.05fr 1fr;gap:4%}.hero-copy{padding-top:35px;position:relative}.hero h1{font-size:clamp(66px,7.1vw,112px);margin:28px 0}.hero-intro{font-size:16px;line-height:1.9;color:var(--muted);margin:30px 0 34px}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;font-size:12px;line-height:1.4;padding:18px 22px;border:1px solid var(--ink);transition:background .3s,color .3s,transform .3s}.button:hover{transform:translateY(-3px)}.solid{background:var(--ink);color:white}.solid:hover{background:var(--blue)}.outline{background:none}.outline:hover{background:var(--ink);color:white}.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.hero-foot{display:flex;gap:26px;font-size:10px;margin-top:65px;color:var(--muted)}.hero-gallery{position:relative;padding:0 17% 30px 4%}.hero-main{transform:rotate(3deg);position:relative}.hero-main img{aspect-ratio:4/5;object-fit:cover}.hero-main figcaption,.hero-small figcaption{font-size:8px;letter-spacing:.12em;margin-top:10px}.hero-small{width:40%;position:absolute;right:0;bottom:0;border:8px solid var(--paper);background:var(--paper);transform:rotate(-8deg)}.hero-small img{aspect-ratio:1;object-fit:cover}.vertical-note{position:absolute;right:2%;top:4%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.18em}.hero-dot{width:80px;height:80px;border:1px solid var(--ink);border-radius:50%;position:absolute;left:-25px;bottom:10%;background:repeating-linear-gradient(120deg,transparent 0 7px,var(--ink) 8px 9px);z-index:-1}.intro-section{padding:100px 8%;display:grid;grid-template-columns:1.4fr 1fr;gap:35px 7%;background:#e7d5d1}.intro-section>.eyebrow{grid-column:1/-1}.intro-section>div{max-width:400px;padding-top:6px}.intro-section p+p{margin-top:15px}.text-link{display:inline-flex;align-items:center;gap:20px;border:0;border-bottom:1px solid currentColor;background:none;padding:12px 0;font-size:12px;font-weight:650;margin-top:20px}.work-section{padding:115px 5%}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.section-top h2{margin-top:20px}.section-top>p{color:var(--muted);font-size:13px}.filters{display:flex;gap:12px;margin:42px 0 35px;flex-wrap:wrap}.filters button{border:1px solid var(--line);padding:10px 18px;background:transparent;font-size:11px;border-radius:30px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 28px;align-items:start}.work-item[hidden]{display:none}.work-item:nth-child(3n+2){margin-top:65px}.photo-button{padding:0;border:0;display:block;width:100%;background:transparent;overflow:hidden}.photo-button img{aspect-ratio:4/5;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.photo-button:hover img{transform:scale(1.035)}.work-label{display:flex;justify-content:space-between;align-items:center;margin-top:17px;gap:12px}.work-label span{font-size:9px;letter-spacing:.1em;color:var(--muted)}.work-label h3{font-size:19px;font-weight:500;margin-top:4px;letter-spacing:-.03em}.add-work{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);transition:.3s}.add-work[aria-pressed=true]{background:var(--ink);color:white;transform:rotate(45deg)}.gallery-foot{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);margin-top:65px;padding-top:20px}.gallery-foot p{font-size:10px;color:var(--muted)}.gallery-foot .text-link{margin:0}.tech-section{background:var(--ink);color:var(--paper);padding:100px 8%;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.tech-intro h2{margin:25px 0}.tech-intro>p:last-child{max-width:300px;font-size:14px;color:#c4c7ce}.tech-tabs{display:flex;border-bottom:1px solid #5d6575;gap:25px}.tech-tabs button{color:inherit;background:none;border:0;border-bottom:2px solid transparent;padding:15px 0;font-size:12px}.tech-tabs button[aria-selected=true]{border-color:var(--pink)}#tech-panel{position:relative;padding:35px 0}.tech-number{font-family:Georgia,serif;font-size:82px;color:#8792a5;line-height:1}#tech-panel h3{font-size:30px;font-weight:450;letter-spacing:-.045em;margin:20px 0}#tech-panel p{font-size:14px;color:#d7d9df}.tech-note{margin:26px 0;padding:18px 0;border-top:1px solid #5d6575}.tech-note span{font-size:9px;letter-spacing:.12em;color:var(--pink)}.tech-note p{margin-top:9px}.tech-detail .outline{border-color:#bac2ce;color:var(--paper)}.fine{font-size:10px;line-height:1.7;color:#a5adbb}.prepare-section{padding:110px 8%;display:grid;grid-template-columns:1fr 1fr;gap:9%}.prepare-title h2{font-size:clamp(40px,4vw,60px);margin-top:25px}.prepare-section ol{padding:0;list-style:none;margin:0}.prepare-section li{display:flex;gap:28px;border-top:1px solid var(--line);padding:25px 0}.prepare-section li>span{font-family:Georgia,serif;font-size:26px}.prepare-section h3{font-size:17px;font-weight:650}.prepare-section li p{font-size:13px;color:var(--muted);margin-top:8px}.contact-section{position:relative;background:var(--blue);color:var(--paper);padding:100px 8% 0;overflow:hidden}.contact-section h2{font-size:clamp(60px,8vw,120px);margin:25px 0 40px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;position:relative;z-index:1}.contact-grid>div>p{max-width:400px;font-size:14px;color:#d7dce6;margin:15px 0 30px}.address h3{font-size:26px;font-weight:500}.address a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #6e7c95;padding:14px 0;font-size:12px}.footer-word{display:block;font-size:clamp(140px,27vw,420px);line-height:1;letter-spacing:-.1em;font-weight:600;opacity:.13;margin-top:40px;text-align:right}.concept-footer{padding:40px 5%;display:flex;gap:8%;justify-content:space-between;background:#fff}.concept-footer p{font-size:10px;max-width:720px;color:var(--muted)}.concept-footer a{align-self:center;font-size:11px;display:flex;align-items:center;gap:15px;flex-shrink:0}.concept-footer strong{color:var(--ink)}dialog{border:0;padding:50px;width:min(720px,92vw);max-height:88dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#152440bf;backdrop-filter:blur(5px)}dialog h2{font-size:43px;margin:20px 0}dialog>p{font-size:13px;max-width:540px}dialog label{font-size:12px;display:block;margin-top:25px}dialog select{width:100%;padding:14px;border:1px solid var(--line);background:white;color:var(--ink);margin-top:8px}dialog .dialog-close{position:absolute;right:15px;top:15px;border:0;background:none;padding:8px;color:inherit}.selected-tech{display:flex;justify-content:space-between;gap:15px;margin:24px 0;font-size:12px}#board-items{display:flex;gap:10px;margin-top:25px;overflow-x:auto}#board-items figure{min-width:100px;width:100px;flex-shrink:0}#board-items img{height:110px;object-fit:cover}#board-items figcaption{font-size:9px;margin-top:6px}#board-items .empty{border:1px dashed var(--line);padding:20px;font-size:12px;width:100%}#download-status{color:var(--muted);margin-top:12px}#photo-dialog{padding:15px;background:#fff;width:min(720px,94vw)}#photo-dialog img{max-height:80dvh;object-fit:contain}#photo-dialog .dialog-close{background:white;border-radius:50%;z-index:2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1000px){.hero-main{animation:arrive 1s both}.hero-small{animation:arrive-small 1.3s both}@keyframes arrive{from{opacity:0;transform:translateY(40px) rotate(7deg)}to{opacity:1;transform:rotate(3deg)}}@keyframes arrive-small{from{opacity:0;transform:translateY(50px) rotate(-13deg)}to{opacity:1;transform:rotate(-8deg)}}}
@media(max-width:900px){.hero{min-height:0;gap:15px;padding-top:45px}.hero h1{font-size:65px}.hero-copy{padding-top:0}.hero-gallery{align-self:center;padding-left:0}.hero-intro{font-size:13px}.hero-foot{font-size:9px;gap:15px;margin-top:35px}.intro-section{padding:75px 5%;gap:30px}.work-section{padding:80px 5%}.tech-section,.prepare-section{padding:80px 5%;gap:6%}.concept-footer{flex-direction:column;gap:20px}.concept-footer a{align-self:flex-start}}
@media(max-width:600px){html{scroll-padding-top:25px}.preview-ribbon{display:block;text-align:center;font-size:8px;padding:7px 15px}.preview-ribbon span{display:block}.header{padding:20px 6%;gap:10px}.header nav{display:none}.brand span{font-size:23px}.saved-button{font-size:10px;padding:8px 10px}.saved-button span{margin-left:4px}.hero{display:flex;flex-direction:column;padding:36px 6% 45px}.hero .eyebrow{font-size:8px}.hero h1{font-size:clamp(52px,15vw,83px);margin:18px 0}.hero-intro{font-size:14px;margin:22px 0}.hero .button{font-size:11px;padding:16px 19px}.hero-foot{margin-top:25px}.hero-gallery{width:100%;padding:20px 21% 25px 5%;margin:20px 0 0}.hero-main img{aspect-ratio:4/5}.hero-small{width:39%;right:3%;bottom:5%}.vertical-note{top:10%;right:6%}.hero-dot{width:60px;height:60px;left:0;bottom:0}.intro-section{display:block;padding:60px 6%}.intro-section h2{font-size:39px;margin:22px 0 28px}.intro-section p{font-size:13px}.work-section{padding:65px 6%}.section-top{display:block}.section-top h2{font-size:44px;margin:18px 0 22px}.section-top>p{font-size:12px}.filters{gap:7px;margin:28px 0}.filters button{font-size:10px;padding:9px 13px}.work-grid{grid-template-columns:1fr 1fr;gap:27px 14px}.work-item:nth-child(3n+2){margin-top:0}.work-item:nth-child(even){margin-top:35px}.work-label{align-items:flex-start;gap:5px;margin-top:12px}.work-label span{font-size:7px;letter-spacing:.05em}.work-label h3{font-size:13px;line-height:1.4}.add-work{width:32px;height:32px;flex-basis:32px}.add-work svg{width:18px;height:18px}.gallery-foot{margin-top:40px;display:block}.gallery-foot .text-link{margin-top:12px;font-size:11px}.tech-section{display:block;padding:60px 6%}.tech-intro h2{font-size:45px}.tech-intro>p:last-child{max-width:100%;font-size:13px}.tech-tabs{margin-top:30px;gap:20px}.tech-tabs button{font-size:11px}#tech-panel h3{font-size:29px}.tech-number{font-size:66px}.prepare-section{display:block;padding:60px 6%}.prepare-title h2{font-size:39px;margin-bottom:35px}.prepare-section li{gap:20px}.contact-section{padding:60px 6% 0}.contact-section h2{font-size:68px}.contact-grid{display:block}.address{margin-top:45px}.address h3{font-size:24px}.contact-grid>div>p{font-size:13px}.footer-word{font-size:35vw;margin-top:40px}.concept-footer{padding:30px 6%}.concept-footer p{font-size:9px}.concept-footer a{font-size:10px}dialog{padding:42px 23px 28px}dialog h2{font-size:35px}dialog .eyebrow{font-size:8px}dialog>p{font-size:12px}.selected-tech{display:block}.selected-tech strong{display:block;margin-top:4px}.button{max-width:100%;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
