@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:118px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:#18383d;background:#f4f7f6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #d88639;outline-offset:5px}h1,h2,h3,p,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}em{font-style:normal}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;line-height:1.6}.gallery-head{display:flex;justify-content:space-between;align-items:center;padding:30px 5vw;border-bottom:1px solid #ccd7d5}.gallery-head img{width:175px}.gallery-head>span{font-size:10px;letter-spacing:.15em}.gallery-main{max-width:1500px;margin:auto;padding:65px 5vw 30px}.gallery h1{font-family:Manrope,sans-serif;font-size:clamp(44px,6vw,80px);letter-spacing:-.06em;line-height:1.05;margin:18px 0 25px}.gallery-intro{line-height:1.7;color:#5b7276}.options{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:45px 0 30px}.option{border:1px solid #d0dad8;transition:transform .2s;position:relative;background:white}.option:hover{transform:translateY(-7px)}.option-no{position:absolute;top:17px;right:18px;font-size:12px}.mini{height:260px;padding:28px 22px;display:flex;flex-direction:column;justify-content:space-between}.mini>span:first-child{font-size:10px;font-weight:800;letter-spacing:.15em}.mini strong{font-size:32px;line-height:1.03;letter-spacing:-.04em}.mini-line{width:45%;border-bottom:2px solid currentColor}.option-caption{padding:23px 20px}.option-caption h2{font-size:17px}.option-caption p{font-size:13px;line-height:1.6;margin:10px 0 20px;min-height:42px;color:#5b7276}.option-caption>span{font-size:12px;font-weight:700}.option-1 .mini{background:#e4eeee;color:#11687e}.option-2 .mini{background:#eee6d8;color:#504b37}.option-2 .mini strong{font-family:'DM Serif Display',serif;font-weight:400}.option-3 .mini{background:#132724;color:#dbefb2}.option-4 .mini{background:#ccec67;color:#193e40}.option-4 .mini strong{font-size:43px;font-weight:800}.gallery-note{font-size:12px;color:#6c7a7c;line-height:1.6}
.concept{--bg:#f5f8f8;--ink:#15363e;--accent:#086b85;--muted:#57717b;--line:#c9d8dc;--panel:#e5eff1;--font:Manrope,sans-serif;background:var(--bg);color:var(--ink)}.concept-bar{height:36px;background:#173a3e;color:#edf3f1;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;font-size:10px;position:relative;z-index:30;letter-spacing:.04em}.concept-bar>div{display:flex;gap:8px}.concept-bar>div a{padding:4px 7px;opacity:.6}.concept-bar a[aria-current]{background:#edf3f1;color:#173a3e;opacity:1}.site-header{height:82px;display:flex;justify-content:space-between;align-items:center;padding:0 6vw;position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}.wordmark{font-family:Manrope,sans-serif;font-size:33px;font-weight:800;letter-spacing:-.065em}.wordmark span{font-size:28px;margin-left:9px;color:var(--accent)}.wordmark img{width:180px;display:block}.site-header nav{display:flex;gap:35px;font-size:12px;font-weight:600}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a.active{border-color:var(--accent)}.site-header nav a:last-child{color:var(--accent)}.chapter{padding:85px 6vw;scroll-margin-top:0}.hero{min-height:calc(100svh - 118px);display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative;padding-top:50px;padding-bottom:80px}.hero h1{font-family:var(--font);font-size:clamp(55px,7.5vw,110px);line-height:.99;letter-spacing:-.065em;margin:22px 0 28px;font-weight:800}.hero h1 em{color:var(--accent)}.hero-lead{font-size:18px;line-height:1.55;max-width:490px}.hero-sub{font-size:14px;line-height:1.7;margin-top:14px;color:var(--muted);max-width:440px}.action{display:inline-flex;align-items:center;gap:44px;margin-top:27px;padding:14px 20px;background:var(--accent);color:white;font-size:12px;font-weight:600}.action span{font-size:20px}.hero-photo{align-self:center;position:relative}.hero-photo img{width:100%;height:440px;object-fit:cover;display:block;object-position:57% center}.hero-photo figcaption{display:flex;justify-content:space-between;font-size:10px;margin-top:13px;color:var(--muted)}.hero-foot{position:absolute;bottom:23px;left:6vw;right:6vw;display:flex;justify-content:space-between;letter-spacing:.08em;font-size:9px;color:var(--muted)}.work{background:var(--panel)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-head>p{max-width:300px;color:var(--muted);font-size:14px;line-height:1.7}h2{font-family:var(--font);font-size:clamp(30px,3.3vw,50px);line-height:1.15;letter-spacing:-.045em;font-weight:700}.section-head h2{margin-top:14px}h2 em{color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project{border:0;padding:0;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer;transition:transform .25s}.project:hover{transform:translateY(-5px)}.project-art{position:relative;overflow:hidden}.project-art svg{width:100%;display:block;fill:currentColor;transition:transform .4s}.project:hover svg{transform:scale(1.045)}.art-0{background:#bed2cf;color:#356c69}.art-1{background:#d5dfe1;color:#537986}.art-2{background:#e9ddc8;color:#94805a}.art-3{background:#d5dfc6;color:#61794f}.art-4{background:#253f43;color:#9bd0c9}.art-5{background:#d5d7dd;color:#717c93}.project-index{position:absolute;top:13px;left:15px;font-size:10px;font-weight:700}.project-open{position:absolute;bottom:12px;right:12px;background:var(--bg);color:var(--ink);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.project-copy{padding:20px 22px 25px}.project-copy .eyebrow{font-size:9px;color:var(--muted)}.project h3{font-size:20px;letter-spacing:-.03em;margin:7px 0 9px}.project p{font-size:13px;line-height:1.65;color:var(--muted);max-width:280px}.image-note{font-size:10px;color:var(--muted);margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;min-height:90svh}.about h2{margin:16px 0 24px}.about-title>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.8}.personal{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;display:flex;gap:20px}.personal img{width:85px;height:110px;object-fit:cover;object-position:65%}.personal h3{font-size:16px;margin-bottom:10px}.personal p{font-size:12px;line-height:1.8;color:var(--muted)}.approach article{display:flex;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.approach article>span{font-size:12px;color:var(--accent);padding-top:4px}.approach h3{font-size:21px;letter-spacing:-.03em;margin-bottom:12px}.approach p{font-size:14px;line-height:1.8;color:var(--muted)}.contact{background:var(--ink);color:var(--bg);min-height:80svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.contact h2{font-size:clamp(60px,8vw,110px);margin:25px 0;line-height:1;letter-spacing:-.055em}.contact h2 em{color:#b7d5ca}.contact>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:440px;color:#d0dcda}.contact-email{font-size:clamp(21px,3vw,36px);border-bottom:1px solid #6f8b88;padding:22px 0 14px;margin-top:18px}.contact-email span{margin-left:30px}.contact footer{width:100%;margin-top:90px;display:flex;justify-content:space-between;font-size:11px;color:#c2d3d0}.theme-2{--bg:#f6f1e8;--ink:#404637;--accent:#856347;--muted:#717364;--line:#d8d3c5;--panel:#e9e8dd;--font:'DM Serif Display',serif}.theme-2 h1,.theme-2 h2{font-weight:400;letter-spacing:-.035em}.theme-2 h1{font-size:clamp(50px,5.8vw,90px);line-height:1.07}.theme-2 em{font-style:italic}.theme-2 .hero{grid-template-columns:1fr 1fr;gap:7vw;padding-top:65px;padding-bottom:100px}.theme-2 .hero-photo{grid-column:1;grid-row:1}.theme-2 .hero-content{grid-column:2;grid-row:1}.theme-2 .hero-photo img{height:490px;border-radius:180px 180px 8px 8px;object-position:58%}.theme-2 .action{border-radius:40px;background:var(--ink)}.theme-2 .project{background:transparent}.theme-2 .project-art{border-radius:100px 100px 5px 5px}.theme-2 .project-copy{padding-left:0}.theme-2 .section-head h2{font-size:46px}.theme-2 .project h3{font-family:var(--font);font-size:27px;font-weight:400}.theme-2 .contact{background:#494e3e}.theme-3{--bg:#142824;--ink:#f0f0dc;--accent:#d1e99b;--muted:#b3c4ba;--line:#3b5046;--panel:#1d332d}.theme-3 .site-header{background:#142824}.theme-3 .hero{min-height:calc(100svh - 118px);display:flex;isolation:isolate;padding-top:75px;padding-bottom:90px}.theme-3 .hero-photo{position:absolute;inset:0;z-index:-2}.theme-3 .hero-photo img{height:100%;object-position:70% 45%;filter:brightness(.6);width:100%}.theme-3 .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,34,27,.97),rgba(14,34,27,.65) 48%,rgba(14,34,27,.08));z-index:-1}.theme-3 .hero-content{max-width:750px}.theme-3 .hero h1{font-size:clamp(60px,8vw,118px)}.theme-3 .hero-lead{max-width:430px}.theme-3 .hero-photo figcaption{display:none}.theme-3 .action{color:#142824}.theme-3 .project-grid{gap:32px}.theme-3 .project{background:transparent}.theme-3 .project-copy{padding:20px 0}.theme-3 .project-art{filter:saturate(.7)}.theme-3 .contact{background:#cfe59f;color:#19352b}.theme-3 .contact h2 em{color:#46643e}.theme-3 .contact>p,.theme-3 .contact footer{color:#3b573f}.theme-3 .personal img{filter:grayscale(1)}.theme-4{--bg:#f2f1e9;--ink:#174244;--accent:#174244;--muted:#597071;--line:#ced5c8;--panel:#e2e9e4}.theme-4 .hero{background:#ccec67;gap:4vw}.theme-4 .hero h1{font-size:clamp(85px,12vw,175px);letter-spacing:-.08em;line-height:.88}.theme-4 .hero-photo{transform:rotate(3deg);max-width:380px;justify-self:center}.theme-4 .hero-photo img{height:370px}.theme-4 .hero-photo figcaption{font-size:9px}.theme-4 .hero-sub{display:none}.theme-4 .work{background:#174244;color:#f2f1e9}.theme-4 .section-head h2 em{color:#ccec67}.theme-4 .section-head>p,.theme-4 .image-note{color:#bacdca}.theme-4 .project-grid{gap:18px}.theme-4 .project{display:grid;grid-template-columns:105px 1fr;min-height:165px}.theme-4 .project-art{height:100%}.theme-4 .project-art svg{height:100%;width:100%;object-fit:cover}.theme-4 .project-copy{padding:22px 17px}.theme-4 .project h3{font-size:18px}.theme-4 .project p{font-size:12px}.theme-4 .project-grid{grid-template-columns:repeat(2,1fr)}.theme-4 .project-open{bottom:10px;right:10px}.theme-4 .about{min-height:100svh}.theme-4 .contact{background:#d9bda2;color:#174244}.theme-4 .contact h2 em{color:#174244}.theme-4 .contact>p,.theme-4 .contact footer{color:#365758}.theme-4 .contact h2{font-size:clamp(70px,11vw,155px)}
dialog{padding:0;border:0;background:var(--bg);color:var(--ink);width:min(780px,90vw);max-height:85svh;box-shadow:0 30px 150px #0008}dialog::backdrop{background:#0b2027b8;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:15px;top:15px;z-index:2;border:0;width:39px;height:39px;border-radius:50%;background:var(--bg);color:var(--ink);cursor:pointer}.dialog-art{height:200px}.dialog-art svg{height:100%;width:100%;fill:currentColor}.dialog-copy{padding:36px}.dialog-copy h2{margin:9px 0 20px}.dialog-copy>p{font-size:15px;line-height:1.8}.dialog-copy .dialog-lead{font-size:21px;line-height:1.5;margin-bottom:15px}.project-tags{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:11px!important;color:var(--muted)}
@media(min-width:1600px){.chapter{padding-left:max(6vw,calc((100vw - 1400px)/2));padding-right:max(6vw,calc((100vw - 1400px)/2))}}@media(max-width:1000px){.options{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:70px}.hero-photo img{height:370px}.theme-2 .hero-photo img{height:420px}.project-grid{gap:16px}.project-copy{padding:17px}.project h3{font-size:18px}.theme-4 .project-grid{grid-template-columns:repeat(2,1fr)}.section-head{gap:30px}.theme-2 .section-head h2{font-size:36px}}@media(max-width:700px){html{scroll-padding-top:72px}.concept-bar{padding:0 16px}.concept-bar>span{display:none}.site-header{height:72px;padding:0 20px}.wordmark{font-size:28px}.wordmark img{width:120px}.site-header nav{gap:15px;font-size:10px}.chapter{padding:65px 22px}.hero,.theme-2 .hero{grid-template-columns:1fr;gap:35px;padding:45px 22px 75px}.hero h1{font-size:70px}.hero-lead{font-size:17px}.hero-photo img{height:285px}.hero-foot{left:22px;right:22px;font-size:8px}.hero-foot>span{display:none}.theme-2 .hero-content{grid-row:1;grid-column:1}.theme-2 .hero-photo{grid-row:2;grid-column:1;width:100%}.theme-2 .hero-photo img{height:340px;border-radius:140px 140px 4px 4px}.theme-2 h1{font-size:55px}.section-head{display:block}.section-head>p{margin-top:20px;max-width:100%}.project-grid,.theme-4 .project-grid{grid-template-columns:1fr}.project-art svg{max-height:230px}.project-copy{padding:20px}.project h3{font-size:23px}.project p{max-width:none;font-size:14px}.about{grid-template-columns:1fr;gap:30px;min-height:0}.approach article{gap:20px}.contact{min-height:75svh}.contact footer{gap:20px;font-size:10px}.theme-3 .hero{min-height:calc(100svh - 108px)}.theme-3 .hero h1{font-size:65px}.theme-3 .hero-photo img{object-position:64%;height:100%}.theme-3 .hero:after{background:linear-gradient(90deg,#0e221bee,#0e221b55)}.theme-4 .hero h1{font-size:100px}.theme-4 .hero-photo{width:80%;margin:10px auto}.theme-4 .hero-photo img{height:270px}.theme-4 .project{grid-template-columns:100px 1fr}.theme-4 .project-art svg{max-height:none}.dialog-copy{padding:26px}.dialog-art{height:160px}.gallery-head{padding:20px}.gallery-head img{width:125px}.gallery-head>span{font-size:8px;max-width:120px;text-align:right}.gallery-main{padding:40px 22px}.options{grid-template-columns:1fr}.mini{height:240px}.gallery-intro br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Selected direction: concept 1 with the open, rounded project cards of concept 2. */
.theme-1 .project { background: transparent; }
.theme-1 .project-art { border-radius: 100px 100px 5px 5px; }
.theme-1 .project-copy { padding-left: 0; padding-right: 0; }
.theme-1 .project h3 { font-family: var(--font); }
.theme-1 .art-0 { background: #c8dfe7; color: #236c83; }
.theme-1 .art-1 { background: #d7e5ea; color: #507889; }
.theme-1 .art-2 { background: #bdd3de; color: #3c687e; }
.theme-1 .art-3 { background: #dcebed; color: #397b87; }
.theme-1 .art-4 { background: #173f51; color: #9bcbdc; }
.theme-1 .art-5 { background: #cbdbe8; color: #52728e; }

.project-art { aspect-ratio: 600 / 340; }
.project-image { width:100%; height:100%; display:block; object-fit:cover; }
.project-image.logo { object-fit:contain; padding:28px; }
.art-0:has(.project-image), .art-3:has(.project-image) { background:#fff; }
.art-3 .project-image.logo { padding:35px; }
.dialog-art:has(.project-image.photo) { height:auto; }
.dialog-art .project-image.photo { max-height:420px; object-fit:contain; }
.dialog-art .project-image.logo { height:200px; }
.personal img { object-position:center 30%; }
.theme-4 .project-art { aspect-ratio:auto; }
.theme-4 .project-image.logo { padding:12px; }

.project-art.art-3 .project-image.photo { object-position: center 40%; }
.project-art.art-5 .project-image.photo { object-position: center; }
.project-gallery { margin-top:32px; }
.project-gallery h3 { margin-bottom:20px; }
.project-gallery figure { margin:0 0 24px; }
.project-gallery img { width:100%; max-height:520px; object-fit:contain; display:block; background:var(--panel); }
.project-gallery figcaption { font-size:12px; line-height:1.6; margin-top:9px; color:var(--muted); }
.art-1:has(.project-image.logo) { background:#fff; }

/* Robocrops brand yellow, sampled from robocrops.tech. */
.robocrops-badge { position:absolute; right:16px; bottom:16px; width:64px; height:64px; border-radius:50%; background:#ffcd00; display:grid; place-items:center; box-shadow:0 3px 12px #0002; pointer-events:none; }
.robocrops-badge img { display:block; width:38px; height:38px; object-fit:contain; }
.project-art.art-3 .project-open { display:none; }
.dialog-art { position:relative; }
.dialog-art .robocrops-badge { width:76px; height:76px; right:22px; bottom:22px; }
.dialog-art .robocrops-badge img { width:46px; height:46px; }
.theme-4 .project-art .robocrops-badge { width:42px; height:42px; right:8px; bottom:8px; }
.theme-4 .project-art .robocrops-badge img { width:26px; height:26px; }
.dialog-art.art-3 .robocrops-badge { right:max(16px, calc(50% - 135px)); }
.dialog-copy .project-paragraph + .project-paragraph { margin-top:16px; }
