@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f6f4ef;--ink:#292e27;--muted:#777a70;--accent:#7a8065;--line:#d8d9cf;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:'Manrope',sans-serif;font-weight:400;letter-spacing:-.055em;line-height:1.13}h1{font-size:clamp(46px,5.4vw,86px)}h2{font-size:clamp(35px,4.2vw,66px)}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.wrap{max-width:1500px;margin:0 auto;padding:0 6%}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:600;margin-bottom:25px}.header{height:100px;padding:20px 4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand img{width:47px;height:48px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-size:17px;letter-spacing:.08em;font-weight:700;line-height:1.3}.brand small{display:block;font-size:7px;letter-spacing:.18em;font-weight:400;margin-top:6px}nav{display:flex;gap:33px;font-size:12px}nav a{position:relative}nav a:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:-5px;left:0;width:0;transition:width .3s}nav a:hover:after{width:100%}.portal-link{background:transparent;border:1px solid var(--line);padding:12px 19px;font-size:11px}.portal-link span{margin-left:22px}.hero{padding:60px 4% 0}.hero-copy{display:flex;flex-direction:column;position:relative}.hero-copy .eyebrow{margin-bottom:22px}.hero-bottom{position:absolute;right:0;bottom:7px;display:flex;gap:50px;align-items:center}.hero-bottom p{font-size:13px;color:var(--muted)}.round-link{width:56px;height:56px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:26px;transition:transform .3s,background .3s}.round-link:hover{transform:rotate(45deg);background:#e4e6db}.hero-image{margin-top:38px;height:clamp(340px,42vw,650px);position:relative;overflow:hidden;background:#d9d6cc}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 49%;animation:hero-reveal 1.3s ease-out}.image-caption{position:absolute;bottom:0;padding:30px;width:100%;display:flex;justify-content:space-between;color:white;background:linear-gradient(transparent,#0008);font-size:11px}.image-caption span:last-child{font-size:9px;letter-spacing:.13em}.hero-foot{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;padding:17px 0;border-bottom:1px solid var(--line)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:0 8%;padding-top:110px;padding-bottom:115px}.intro>.eyebrow{grid-column:1/-1}.intro h2{font-size:clamp(32px,3.4vw,52px)}.intro>p:last-child{align-self:center;font-size:18px;line-height:1.85;color:var(--muted);max-width:540px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading>p{font-size:13px;color:var(--muted);padding-bottom:8px}.filters{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:40px;overflow:auto}.filters button{border:0;background:transparent;padding:13px 0;font-size:12px;white-space:nowrap;color:var(--muted)}.filters button.active{color:var(--ink);border-bottom:2px solid var(--ink)}sup{font-size:9px;margin-left:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 32px}.project-card{display:block;text-align:left;padding:0;border:0;background:transparent;width:100%}.project-card:nth-child(4n + 2){padding-top:65px}.project-photo{height:390px;overflow:hidden;background:#e6e3da;position:relative}.project-card:nth-child(4n + 2) .project-photo{height:450px}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .75s}.project-card:hover img{transform:scale(1.04)}.project-photo .open-icon{position:absolute;right:18px;bottom:18px;border-radius:50%;background:var(--paper);width:40px;height:40px;display:grid;place-items:center;opacity:0;transform:translateY(10px);transition:.3s}.project-card:hover .open-icon,.project-card:focus-visible .open-icon{opacity:1;transform:none}.card-caption{padding:18px 0 10px;display:flex;justify-content:space-between;gap:15px}.card-caption h3{font-size:20px;font-weight:400;letter-spacing:-.03em}.card-caption p{font-size:11px;color:var(--muted);margin-top:4px}.project-status{font-size:9px;text-transform:uppercase;letter-spacing:.09em;padding-top:6px;white-space:nowrap}.projects{padding-bottom:110px}.studio{display:grid;grid-template-columns:1fr 1fr;background:#e9e9df}.studio-image{min-height:620px}.studio-image img{width:100%;height:100%;object-fit:cover}.studio-copy{padding:80px 12%}.studio-copy h2{font-size:clamp(32px,3vw,48px);margin-bottom:30px}.studio-copy>p:not(.eyebrow){color:#686e60;font-size:14px;margin-bottom:20px}.text-link{display:inline-block;border-bottom:1px solid #a8ad9b;font-size:12px;padding:10px 0;margin-top:10px}.text-link span{margin-left:35px}.studio-note{border-top:1px solid #ccd0c0;padding-top:20px;margin-top:45px;font-size:8px;letter-spacing:.12em}.approach{padding-top:110px;padding-bottom:95px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps span{font-size:9px;letter-spacing:.12em;color:var(--accent)}.steps h3{font-size:19px;letter-spacing:-.04em;font-weight:500;margin:27px 0 15px}.steps p{font-size:13px;color:var(--muted)}.client-strip{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:38px;padding-bottom:38px}.portal-symbol{font-size:65px;color:var(--accent)}.client-strip .eyebrow{margin-bottom:7px}.client-strip h3{font-size:25px;font-weight:400;letter-spacing:-.03em}.client-strip p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:8px}.outlined{border:1px solid #b7bba9;background:none;padding:14px 23px;font-size:11px;margin-left:auto;white-space:nowrap}.contact{padding-top:110px;padding-bottom:90px}.contact h2{font-size:clamp(52px,6.7vw,100px)}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;margin-top:60px}.email{font-size:clamp(17px,2vw,29px);letter-spacing:-.025em}.contact-grid>div>p{margin-top:30px;color:var(--muted);font-size:13px}.contact-grid>div>a:not(.email){font-size:13px}label{display:block;font-size:10px;letter-spacing:.03em}input,textarea,select{border:0;border-bottom:1px solid var(--line);background:transparent;width:100%;padding:10px 0 15px;border-radius:0;color:var(--ink);outline-offset:0;font-size:13px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:23px}.solid{border:0;background:var(--ink);color:var(--paper);padding:15px 25px;font-size:12px;display:inline-flex;gap:40px;justify-content:space-between;margin-top:22px}.solid:hover{background:#4a5142}form small{display:block;font-size:10px;color:var(--muted);margin-top:10px}footer{padding:35px 4%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;gap:20px}footer button{background:none;border:0;font-size:10px}.footer-brand{font-size:17px;letter-spacing:.1em}.footer-brand span{display:block;font-size:7px;letter-spacing:.16em}.reveal{opacity:1;transform:none}.motion .reveal{opacity:1;transform:none}.motion .reveal.visible{animation:section-enter .6s ease-out}@keyframes section-enter{from{transform:translateY(14px)}to{transform:none}}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(1180px,95vw);max-height:92vh}dialog::backdrop{background:#20291ed1;backdrop-filter:blur(7px)}.close{position:sticky;top:15px;float:right;z-index:5;margin:15px 18px -60px 0;border:1px solid var(--line);background:var(--paper);width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1}.detail-head{padding:60px 6% 40px}.detail-head h2{margin-bottom:20px;font-size:48px}.detail-meta{display:flex;flex-wrap:wrap;gap:25px;font-size:11px;color:var(--muted);margin-bottom:23px}.detail-description{max-width:750px;font-size:16px;line-height:1.9}.detail-gallery{padding:0 3% 40px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-gallery img{width:100%;height:420px;object-fit:contain;background:#e9e7e0}.detail-gallery img:first-child{grid-column:1/-1;height:auto;max-height:750px;object-fit:contain}.demo-banner{padding:14px 60px 14px 25px;background:#e6e7d9;color:#4b5340;font-size:11px}.workspace{display:grid;grid-template-columns:210px 1fr;min-height:620px}.workspace aside{padding:35px 23px;background:#eeeee5;border-right:1px solid var(--line)}.wordmark{font-size:16px;font-weight:600;letter-spacing:.06em;margin-bottom:40px}.wordmark small{font-size:8px;display:block;font-weight:400}.workspace-mode{display:block;width:100%;padding:12px 15px;text-align:left;border:0;background:none;font-size:12px;margin-bottom:5px}.workspace-mode.active{background:#dfe3d4}.workspace aside p{font-size:10px;color:var(--muted);margin-top:30px}.workspace aside a{font-size:11px;display:block;margin-top:30px}#workspace-content{padding:35px 5%}.workspace-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.workspace-heading h2{font-size:32px}.workspace-heading span{font-size:10px;color:var(--muted)}.welcome{font-size:12px;color:var(--muted);margin-bottom:25px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric{padding:18px;background:var(--white);border:1px solid var(--line)}.metric span{font-size:10px;color:var(--muted)}.metric strong{display:block;font-size:23px;font-weight:400;margin-top:7px}.panel{margin-top:25px;border:1px solid var(--line);background:var(--white);padding:22px}.panel h3{font-size:17px;font-weight:500;margin-bottom:18px}.stage{display:grid;grid-template-columns:25px 1fr auto;gap:15px;align-items:center;padding:17px 0;border-top:1px solid var(--line)}.stage .number{font-size:11px;color:var(--muted)}.stage strong{font-size:13px;font-weight:500;display:block}.stage small{font-size:10px;color:var(--muted)}.badge{font-size:9px;padding:5px 9px;background:#e9eddf;white-space:nowrap}.badge.pending{background:#f0e8da}.file-preview{width:100%;height:170px;position:relative;overflow:hidden;background:#e6e3d8;margin:15px 0}.file-preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(.7) blur(1px);opacity:.6}.watermark{position:absolute;inset:0;display:grid;place-items:center;font-size:16px;letter-spacing:.1em;font-weight:700;color:#30382f;transform:rotate(-12deg)}.panel>p{font-size:12px;color:var(--muted)}.workspace-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.workspace-actions .outlined{margin:20px 0 0}.demo-note{font-size:11px;color:var(--muted);margin-top:15px}.client-row{padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}.client-row small{display:block;color:var(--muted)}.empty-state{padding:25px;border:1px dashed var(--line);font-size:13px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;font-size:12px;padding:15px 24px;z-index:20;opacity:0;transition:.3s;pointer-events:none;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes hero-reveal{from{transform:scale(1.055);opacity:.6}to{transform:scale(1);opacity:1}}@media(min-width:1600px){.hero,.header{padding-left:max(4%,calc((100vw - 1500px)/2));padding-right:max(4%,calc((100vw - 1500px)/2))}}@media(max-width:950px){.hero-bottom{position:static;margin-top:25px;justify-content:space-between}.hero-bottom p br{display:none}.hero{padding-top:40px}.intro{gap:35px;grid-template-columns:1fr 1fr}.intro>p:last-child{font-size:15px}.project-photo,.project-card:nth-child(4n + 2) .project-photo{height:330px}.studio-copy{padding:50px 9%}.studio-image{min-height:500px}.steps{grid-template-columns:1fr 1fr;gap:35px}.client-strip{gap:20px}.portal-symbol{display:none}.contact-grid{gap:5%}.header nav{gap:20px}.workspace{grid-template-columns:175px 1fr}.workspace aside{padding:30px 15px}.metric strong{font-size:19px}}@media(max-width:650px){.header{height:auto;min-height:90px;flex-wrap:wrap;gap:15px;padding:18px 5%}.brand img{width:35px;height:38px}.brand span{font-size:14px}.brand small{font-size:6px}.portal-link{padding:9px 12px;font-size:10px}.portal-link span{margin-left:8px}nav{order:3;width:100%;justify-content:space-between;font-size:11px}.hero{padding:35px 5% 0}.hero h1{font-size:45px}.hero-image{height:340px;margin-top:25px}.image-caption{padding:20px 15px}.image-caption span:last-child{max-width:120px;text-align:right}.hero-foot{font-size:7px;letter-spacing:.05em}.wrap{padding-left:6%;padding-right:6%}.intro{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px;gap:22px}.intro>.eyebrow{margin-bottom:0}.intro>p:last-child{font-size:15px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:20px}.filters{gap:22px;margin-bottom:25px}.filters button{font-size:10px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card:nth-child(4n + 2){padding-top:0}.project-photo,.project-card:nth-child(4n + 2) .project-photo{height:340px}.card-caption h3{font-size:19px}.project-photo .open-icon{opacity:1;transform:none}.projects{padding-bottom:60px}.studio{grid-template-columns:1fr}.studio-image{min-height:0;height:380px}.studio-copy{padding:45px 7%}.approach{padding-top:65px;padding-bottom:65px}.steps{gap:28px 22px;margin-top:30px}.steps h3{font-size:17px;margin-top:15px}.steps p{font-size:12px}.client-strip{display:block;padding-top:30px;padding-bottom:30px}.client-strip .outlined{margin-top:20px}.contact{padding-top:70px;padding-bottom:50px}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:35px}.contact-grid>div>p{margin-top:15px}.form-row{gap:15px}footer{flex-wrap:wrap;padding:25px 6%}.footer-brand{width:60%;font-size:15px}dialog{width:96vw;max-height:95vh}.detail-head{padding:65px 6% 25px}.detail-head h2{font-size:34px}.detail-description{font-size:14px}.detail-meta{gap:10px 20px}.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:auto;max-height:550px}.detail-gallery img:first-child{grid-column:auto}.workspace{grid-template-columns:1fr}.workspace aside{padding:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.wordmark{margin-bottom:0;margin-right:auto;font-size:13px}.workspace-mode{width:auto;padding:10px;margin:0}.workspace aside p,.workspace aside a{display:none}#workspace-content{padding:25px 5%}.workspace-heading{display:block}.workspace-heading span{display:block;margin-top:8px}.metric-grid{gap:6px}.metric{padding:10px}.metric strong{font-size:17px}.metric span{font-size:8px}.panel{padding:16px}.stage{gap:7px;grid-template-columns:18px 1fr auto}.stage strong{font-size:11px}.badge{font-size:8px}.demo-banner{font-size:9px;padding-left:15px}.watermark{font-size:12px}.eyebrow{font-size:9px;letter-spacing:.16em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}

[hidden]{display:none!important}.gallery-tools{display:flex;align-items:center;gap:22px;margin:-15px 0 30px;font-size:11px;color:var(--muted)}.gallery-tools p{margin-right:auto}.gallery-tools button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:11px}.gallery-tools select{width:auto;max-width:220px;font-size:11px;padding:8px 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}@media(max-width:650px){.gallery-tools{flex-wrap:wrap;gap:10px 20px}.gallery-tools select{flex-basis:100%;max-width:none}}
