:root{--paper:#f5f1e9;--ink:#242b2b;--muted:#5e6662;--line:#c7c6bc;--blue:#25465d;--bubble:#d5e4f0;--green:#d7dfd3;--coral:#cb7657;--font-serif:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;--font-sans:"Avenir Next",Avenir,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
button,a{font:inherit}
a{color:inherit}
button{cursor:pointer}
svg{display:block}
::selection{background:#b9cee0;color:#172b3a}
:focus-visible{outline:3px solid #a64c2e;outline-offset:5px}
.skip-link{position:absolute;z-index:100;top:-100px;left:20px;padding:12px 18px;background:var(--ink);color:var(--paper)}
.skip-link:focus{top:15px}
.page-shell{max-width:1800px;margin:auto;overflow:hidden}
.site-header{height:108px;padding:0 clamp(24px,5vw,86px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}
.wordmark,.footer-wordmark{text-decoration:none;display:inline-flex;align-items:center;gap:10px;font:600 clamp(20px,1.6vw,26px)/1 var(--font-serif);letter-spacing:-.055em;color:var(--blue)}
.wordmark-icon{width:34px;height:34px;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-7deg)}
.wordmark-dot,.footer-wordmark span{color:var(--coral)}
.site-nav{display:flex;align-items:center;gap:clamp(22px,3vw,52px);font-size:14px;font-weight:600;letter-spacing:.01em}
.site-nav a{text-decoration:none;border-bottom:1px solid transparent;padding:7px 0}
.site-nav a:hover,.site-nav a:focus-visible{border-color:currentColor}
.site-nav a:last-child{color:var(--blue)}
.site-nav a span{font-size:17px;font-weight:400}
.hero{min-height:720px;padding:45px clamp(24px,5vw,86px) 22px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);grid-template-rows:1fr auto;position:relative}
.hero-copy{position:relative;z-index:2;padding-top:40px}
.hero-kicker{margin:0 0 40px;display:flex;align-items:center;gap:10px;color:var(--blue);font-size:14px;font-weight:600;letter-spacing:.015em}
.kicker-mark{font-size:24px;font-weight:400;line-height:1}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--font-serif);font-weight:400;letter-spacing:-.065em}
h1{font-size:clamp(70px,8.3vw,146px);line-height:.93;margin:0 0 35px;white-space:nowrap}
h1 em,h2 em{font-weight:400}
.hero-intro{font-size:clamp(16px,1.25vw,20px);line-height:1.65;max-width:440px;color:#48534f;margin:0 0 25px}
.text-link{display:inline-flex;align-items:center;gap:30px;font-weight:600;font-size:15px;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 6px}
.text-link span{font-size:22px;font-weight:400;line-height:1}
.text-link:hover{gap:38px}
.hero-art{position:relative;min-height:580px;align-self:center}
.boat-drawing{width:min(100%,560px);position:absolute;right:-2%;top:1%;height:auto;transform:rotate(-2deg)}
.boat-drawing path{stroke:var(--ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.boat-drawing .draw-soft{stroke:#6a7b75;stroke-width:1.4}
.boat-drawing .draw-detail{stroke-width:1.3}
.bubble{position:absolute;z-index:2;background:var(--bubble);color:var(--blue);font-family:var(--font-serif);font-size:25px;line-height:1.12;letter-spacing:-.025em;border-radius:55% 46% 52% 44%;text-align:center;box-shadow:0 1px 0 #acc2d5}
.bubble--one{top:35px;left:14%;width:164px;padding:30px 19px 25px;transform:rotate(-12deg)}
.bubble--one:after{content:"";position:absolute;bottom:-18px;left:42px;border:20px solid transparent;border-top-color:var(--bubble);transform:rotate(18deg)}
.bubble--two{bottom:76px;right:0;width:187px;padding:29px 18px 24px;transform:rotate(8deg)}
.bubble--two:after{content:"";position:absolute;bottom:-16px;right:36px;border:18px solid transparent;border-top-color:var(--bubble);transform:rotate(-18deg)}
.bubble--two span{font:16px var(--font-sans)}
.hero-art-note{position:absolute;right:3%;bottom:32px;font-size:11px;color:var(--muted);letter-spacing:.04em;transform:rotate(-5deg)}
.hero-bottom{grid-column:1/-1;padding-top:34px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:.025em}
.hero-scroll span{padding-left:10px;font-size:17px}
.statement{padding:100px clamp(24px,5vw,86px) 78px;background:#e5e7dd;position:relative}
.statement-top{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto}
.section-index{color:var(--blue);font-size:13px;font-weight:600;letter-spacing:.015em;margin:0}
.line-squiggle{width:175px}
.line-squiggle path{fill:none;stroke:#7b8f83;stroke-width:1.5;stroke-linecap:round}
.statement-grid{max-width:1200px;margin:66px auto 64px;display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw}
.statement h2{font-size:clamp(58px,6.4vw,106px);line-height:.98;margin:0}
.statement-body{max-width:380px;padding-bottom:7px}
.statement-body p{font-size:16px;line-height:1.75;color:#45524d;margin:0 0 20px}
.statement-body p:last-child{margin:0}
.statement-foot{max-width:1200px;margin:auto;border-top:1px solid #acb9ae;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-serif);font-style:italic;font-size:20px}
.statement-foot svg{width:69px;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;fill:none}
.work-section{padding:120px clamp(24px,5vw,86px) 135px}
.work-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}
.work-heading .section-index{margin-bottom:28px}
.work-heading h2{font-size:clamp(64px,7vw,116px);line-height:.95;margin:0}
.work-intro{max-width:300px;color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:8px}
.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:49px 0 28px}
.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.filter-button{border:1px solid #b6bab3;background:transparent;border-radius:999px;padding:10px 19px;color:#43504d;font-size:13px;font-weight:600;transition:background .2s ease,color .2s ease,border-color .2s ease}
.filter-button:hover{border-color:var(--blue)}
.filter-button[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue)}
.project-count{font-size:12px;color:var(--muted);margin:0;white-space:nowrap}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:75px 28px}
.project-card{min-width:0}
.project-card--1{grid-column:1/-1}
.project-card:last-child:nth-child(even){grid-column:1/-1}
.project-art{height:clamp(330px,35vw,570px);overflow:hidden;position:relative;isolation:isolate}
.project-card:not(.project-card--1) .project-art{height:clamp(315px,33vw,500px)}
.art--harbor{background:#c9d9d7}
.art-harbor__sun{position:absolute;width:43%;aspect-ratio:1;border-radius:50%;background:#ecd8ba;left:-8%;top:-43%;box-shadow:0 0 0 26px #dae3da}
.art-harbor__window{position:absolute;width:68%;height:78%;left:17%;top:12%;background:#f4f0e6;border:1px solid #436878;box-shadow:25px 24px 0 #6b918f,-24px -18px 0 #acc5be;transform:rotate(-3deg)}
.art-harbor__top{height:40px;border-bottom:1px solid #8da7a5;display:flex;align-items:center;gap:7px;padding-left:18px}
.art-harbor__top i{display:block;width:8px;height:8px;border-radius:50%;background:#aac5bf}
.art-harbor__top i:first-child{background:#c37659}
.art-harbor__content{padding:5% 7%;height:calc(100% - 40px);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;position:relative}
.art-harbor__note{font-family:var(--font-serif);font-size:clamp(42px,5.5vw,102px);letter-spacing:-.07em;line-height:.9;color:#25465d;position:relative;z-index:1}
.art-harbor__ring{position:absolute;width:36%;aspect-ratio:1;border:2px solid #b57e63;border-radius:50%;right:11%;top:14%;transform:rotateX(48deg) rotate(-22deg)}
.art-harbor__ring:after{content:"";display:block;width:80%;height:120%;border:2px solid #b57e63;border-radius:50%;transform:rotate(42deg) translate(10%,-10%)}
.art-harbor__button{background:#25465d;color:white;padding:10px 18px;font-size:12px;border-radius:2px;letter-spacing:.02em}
.art-harbor__orbit{position:absolute;border:1px solid #6b918f;width:42%;height:75%;border-radius:50%;right:-9%;top:12%;transform:rotate(40deg);z-index:-1}
.art--signal{background:#c36e54}
.art-signal__paper{position:absolute;background:#f3dcb8;left:12%;top:9%;width:75%;height:84%;padding:8%;box-shadow:18px 20px 0 #9e4c3e;transform:rotate(5deg);display:flex;flex-direction:column}
.art-signal__small{font:600 11px var(--font-sans);letter-spacing:.05em;color:#754636;border-bottom:1px solid #ad8565;padding-bottom:14px}
.art-signal__title{font:italic clamp(48px,4vw,72px)/.9 var(--font-serif);letter-spacing:-.07em;color:#533b35;margin:17% 0 0;position:relative;z-index:1;overflow-wrap:anywhere}
.art-signal__paper svg{width:52%;align-self:end;margin-top:auto;fill:none;stroke:#a04e40;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.art-signal__stamp{position:absolute;right:3%;bottom:4%;border:1px solid #f6e9da;border-radius:50%;padding:19px 13px;color:#f6e9da;font:italic 16px var(--font-serif);transform:rotate(-13deg)}
.art--field{background:#284a4b}
.art-field__disc{width:55%;aspect-ratio:1;position:absolute;top:-26%;right:-12%;border-radius:50%;border:1px solid #b5c9b2;transform:rotate(-22deg)}
.art-field__disc span{position:absolute;inset:10%;border:1px solid #b5c9b2;border-radius:50%}
.art-field__disc span:nth-child(2){inset:24%}
.art-field__disc span:nth-child(3){inset:39%;background:#e0c9a4}
.art-field__caption{font:italic clamp(54px,5.1vw,92px)/.97 var(--font-serif);letter-spacing:-.07em;color:#f0e9db;position:absolute;left:8%;top:32%;max-width:74%;z-index:1}
.art-field__asterisk{display:block;font:66px var(--font-sans);color:#dfb883;line-height:1;margin-top:25px}
.art--field>svg{position:absolute;bottom:-4%;left:0;width:100%;height:auto;fill:none;stroke:#a0b9ad;stroke-width:1.3}
.project-details{padding-top:21px}
.project-meta{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:600}
.project-meta span+span:before{content:"/";padding-right:8px;color:#8a9690}
.project-card h3{font-size:clamp(36px,3.5vw,54px);line-height:1.05;margin:12px 0 12px}
.project-summary{max-width:600px;color:var(--muted);font-size:15px;line-height:1.65;margin:0 0 19px}
.project-footer{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
.project-placeholder{font-style:italic}
.project-link{font-weight:600;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.project-link:after{content:" ↗"}
.noscript-note{padding:25px;border:1px solid var(--line)}
.closing{text-align:center;background:#dce7ed;padding:115px 24px 122px;position:relative}
.closing-star{font-size:55px;line-height:1;color:var(--blue);margin-bottom:29px}
.closing>p:first-of-type{color:var(--blue);font-size:13px;font-weight:600;margin:0 0 25px}
.closing h2{font-size:clamp(68px,8vw,128px);line-height:.93;margin:0 0 35px}
.closing-copy{font-size:16px;color:#465d68;margin-bottom:35px}
.contact-section{padding:110px clamp(24px,5vw,86px) 120px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}
.contact-section .section-index{margin-bottom:28px}
.contact-section h2{font-size:clamp(62px,7vw,114px);line-height:.95;margin:0}
.contact-right{max-width:350px;justify-self:end;padding-bottom:10px}
.contact-right>p{font-size:17px;line-height:1.65;color:var(--muted)}
.contact-pending{border-top:1px solid var(--line);padding-top:18px;color:var(--blue);font-size:13px;font-weight:600;line-height:1.5}
.contact-link{display:inline-flex;margin-top:6px;padding:12px 0;border-bottom:1px solid currentColor;color:var(--blue);font-weight:600;text-decoration:none;word-break:break-word}
.site-footer{border-top:1px solid var(--line);padding:36px clamp(24px,5vw,86px) 45px;display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center}
.footer-wordmark{font-size:28px}
.site-footer p,.site-footer small,.footer-top{color:var(--muted);font-size:12px;margin:0}
.footer-top{text-decoration:none}
.footer-top:hover{text-decoration:underline}
.site-footer small{grid-column:1/-1;margin-top:29px}
@media (min-width:1500px){.hero{min-height:830px}.hero-art{min-height:680px}.boat-drawing{right:5%}.bubble--two{right:7%}}
@media (max-width:950px){.hero{grid-template-columns:1fr .8fr;min-height:650px}.hero-art{min-height:500px}.bubble{font-size:20px}.bubble--one{width:137px;left:0}.bubble--two{width:155px;bottom:95px}.statement-grid{gap:45px}.statement h2{font-size:clamp(56px,6vw,80px)}.work-heading h2{font-size:clamp(60px,7vw,90px)}}
@media (max-width:720px){.site-header{height:85px;padding:0 22px}.site-nav{gap:16px;font-size:12px}.wordmark{font-size:20px}.wordmark-icon{width:26px;height:26px}.hero{padding:35px 23px 22px;display:flex;flex-direction:column;min-height:0}.hero-copy{padding-top:28px}.hero-kicker{font-size:12px;margin-bottom:27px}h1{font-size:clamp(68px,12vw,94px);margin-bottom:24px}.hero-intro{max-width:460px}.hero-art{width:100%;min-height:410px;margin:10px auto 0}.boat-drawing{width:min(100%,460px);right:4%;top:0}.bubble--one{top:2%;left:8%;font-size:17px;width:112px;padding:21px 10px}.bubble--two{right:2%;bottom:12%;font-size:17px;width:142px;padding:20px 9px}.hero-art-note{bottom:0;right:4%}.hero-bottom{margin-top:23px;padding-top:17px}.hero-scroll{max-width:140px;text-align:right}.statement{padding:80px 23px 58px}.statement-grid{display:block;margin:45px auto 40px}.statement h2{font-size:clamp(58px,10vw,84px);margin-bottom:30px}.statement-body{max-width:540px}.work-section{padding:88px 23px 95px}.work-heading{display:block}.work-heading h2{font-size:clamp(61px,10vw,84px)}.work-intro{max-width:460px;margin:24px 0 0}.work-toolbar{padding:35px 0 21px;align-items:end}.project-grid{display:block}.project-card{margin-bottom:58px}.project-art,.project-card:not(.project-card--1) .project-art{height:clamp(320px,78vw,550px)}.art-harbor__note{font-size:clamp(46px,9vw,72px)}.art-signal__title{font-size:clamp(58px,10vw,80px)}.art-field__caption{font-size:clamp(59px,10vw,78px)}.closing{padding:90px 22px 100px}.closing h2{font-size:clamp(64px,10vw,95px)}.contact-section{padding:85px 23px 90px;display:block}.contact-section h2{font-size:clamp(64px,10vw,90px)}.contact-right{max-width:540px;justify-self:start;margin-top:33px}.site-footer{padding:30px 23px 36px;grid-template-columns:1fr auto}.site-footer p{grid-column:1/-1}.site-footer small{margin-top:8px}}
@media (max-width:440px){.site-header{align-items:flex-start;height:auto;padding-top:21px;padding-bottom:14px;gap:13px;flex-direction:column}.site-nav{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px}.hero{padding-top:20px}.hero-kicker{margin-bottom:25px}h1{font-size:clamp(58px,12.5vw,72px)}.hero-art{min-height:350px}.bubble--one{left:0;top:0}.bubble--two{right:-2%;bottom:10%}.hero-scroll{display:none}.line-squiggle{width:115px}.statement h2,.work-heading h2,.contact-section h2{font-size:clamp(52px,12vw,70px)}.work-toolbar{display:block}.project-count{margin-top:16px}.filter-button{padding:9px 15px}.project-art,.project-card:not(.project-card--1) .project-art{height:330px}.art-harbor__window{width:80%;left:10%;height:75%}.art-harbor__note{font-size:43px}.art-signal__title{font-size:58px}.art-field__caption{font-size:54px}.closing h2{font-size:clamp(53px,12vw,70px)}.footer-wordmark{font-size:23px}}
@media (max-width:720px){.project-card--6 .art-signal__title{font-size:clamp(42px,7.5vw,58px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
