@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650&family=Manrope:wght@400;450;500;550;600&display=swap');
:root{--paper:#eeeae2;--ink:#252a25;--muted:#666a61;--line:#c7c8bb;--accent:#8a4f37;--dark:#252f29}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,.big-contact{font-family:'Manrope',Arial,sans-serif;font-weight:450;letter-spacing:-.055em;line-height:1.06}em{font-family:Georgia,serif;font-weight:normal}p{line-height:1.6}.pad{padding-left:4%;padding-right:4%}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.5;font-weight:500}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:22px}.wordmark{font-size:52px;font-weight:550;letter-spacing:-4px;line-height:1}.brand-dot{color:var(--accent)}.brand-sub{font-size:9px;line-height:1.4;letter-spacing:.12em;border-left:1px solid var(--line);padding-left:20px}.header nav{display:flex;gap:32px;font-size:13px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.header nav a:hover:after{width:100%}.contact-link{font-size:13px;display:flex;gap:34px;align-items:center}.contact-link span{font-size:22px}#menu{display:none}.intro{padding-top:35px;padding-bottom:36px}.intro-meta{display:flex;justify-content:space-between;color:var(--muted)}h1{font-size:clamp(72px,8.8vw,152px);margin-top:35px;position:relative}h1 span{margin-left:19%}h1 sup{position:absolute;font-size:80px;line-height:1;right:5%;bottom:16px;font-weight:400;color:var(--accent)}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:25px}.intro-bottom p{font-size:14px;line-height:1.5}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid currentColor;padding:8px 0}.text-link span{font-size:22px}.hero{margin:0 1.2%;position:relative;overflow:hidden}.hero-picture{width:100%;padding:0;display:grid;grid-template-columns:repeat(3,1fr);height:auto;aspect-ratio:2.4;overflow:hidden}.hero-picture img{transition:filter .5s;min-width:0}.hero-picture:hover img{filter:brightness(.9)}.hero-caption{position:absolute;bottom:0;left:0;width:100%;padding:30px 3%;display:flex;align-items:center;gap:30px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.5));font-size:12px;pointer-events:none}.hero-caption span:first-child{font-size:10px;letter-spacing:.08em}.hero-caption button{margin-left:auto;border:1px solid #ffffff80;border-radius:50%;width:42px;height:42px;font-size:24px;pointer-events:auto;color:#fff}.section-label{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;margin-bottom:65px;color:var(--muted)}h2{font-size:clamp(42px,4.8vw,76px)}.manifesto-grid{display:grid;grid-template-columns:1fr 2fr;gap:5%}.small-label{font-size:15px;line-height:1.5;color:var(--muted)}.two-copy{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:35px;max-width:760px;font-size:15px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:85px;gap:40px}.principles>div{border-top:1px solid var(--line);padding-top:18px}.principles span{font-size:11px;color:var(--accent)}.principles h3{font-weight:500;font-size:20px;margin-top:24px;letter-spacing:-.025em}.principles p{color:var(--muted);font-size:13px;margin-top:10px}.works{background:#e1e1d6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading p{font-size:14px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-item{text-align:left;padding:0;min-width:0}.work-item:nth-child(2){padding-top:65px}.work-item:nth-child(3){padding-top:130px}.image-wrap{position:relative;overflow:hidden;aspect-ratio:4/5}.image-wrap img{transition:transform .6s}.work-item:hover img{transform:scale(1.035)}.image-action{position:absolute;bottom:20px;right:20px;background:var(--paper);padding:10px 16px;font-size:12px;opacity:0;transform:translateY(5px);transition:.2s}.work-item:hover .image-action,.work-item:focus-visible .image-action{opacity:1;transform:none}.work-caption{padding-top:17px;display:flex;justify-content:space-between;gap:10px;align-items:center}.work-caption h3{font-size:16px;font-weight:450}.work-caption>span{font-size:9px;color:var(--muted);letter-spacing:.05em}.work-note{border-top:1px solid #b6b9ab;padding-top:20px;margin-top:60px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.process{background:var(--dark);color:var(--paper)}.process .section-label{border-color:#59635b;color:#b0b7aa}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.process-grid h2{font-size:clamp(40px,4.3vw,68px)}.process-grid p{font-size:14px;max-width:360px;margin-top:30px}.muted{color:var(--muted)}.process .muted{color:#b0b7aa}.highlight-links{display:flex;gap:30px;margin-top:35px;font-size:12px}.highlight-links a{border-bottom:1px solid #747e70;padding-bottom:10px;display:flex;gap:30px}.line-drawing{color:#b6b99a;padding:0 5% 40px}.line-drawing svg{width:100%;height:auto;display:block}.line-drawing>span{display:block;text-align:center;font-size:9px;letter-spacing:.15em;margin-top:20px;color:#b0b7aa}details{border-top:1px solid #59635b}details:last-child{border-bottom:1px solid #59635b}summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:23px 0;gap:30px;font-size:18px}summary::-webkit-details-marker{display:none}summary>span{color:#a2ac9f;font-size:10px}summary>b{margin-left:auto;font-size:24px;font-weight:400;transition:transform .2s}details[open] summary>b{transform:rotate(45deg)}.process details p{margin:0 0 26px 43px;font-size:13px;color:#b8c0b3;max-width:390px}.territory .section-heading p{margin-bottom:20px}.territory-tag{font-size:9px;letter-spacing:.08em;color:var(--accent);border:1px solid #beaa94;padding:7px 12px;display:inline-block}.territory-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:start;margin-top:60px}.territory figure{margin:0}.territory figure:nth-child(2){margin-top:110px}.territory figure img{aspect-ratio:1.65;filter:saturate(.65)}figcaption{display:flex;flex-direction:column;gap:8px;padding-top:18px;font-size:12px}figcaption span:first-child{font-size:9px;letter-spacing:.07em;color:var(--muted)}.territory-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:60px;padding-top:25px;border-top:1px solid var(--line)}.territory-bottom p:first-child{font-family:Georgia,serif;font-style:italic;font-size:30px;line-height:1.25}.territory-bottom p:last-child{font-size:12px;color:var(--muted);max-width:320px;justify-self:end}.contact{background:#d3d3bf;padding-bottom:70px}.contact .section-label{border-color:#a9ae99}.big-contact{font-size:clamp(48px,7vw,112px);padding:0;text-align:left;position:relative;width:100%}.big-contact>span{position:absolute;right:20px;top:10px;font-size:1.3em;font-weight:400;transition:transform .25s}.big-contact:hover>span{transform:translate(6px,-6px)}.contact-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:55px}.contact-bottom p{font-size:14px}.pill{display:inline-flex;background:var(--ink);color:var(--paper);border-radius:60px;align-items:center;padding:19px 25px;gap:35px;font-size:13px}.pill:hover{background:var(--accent)}footer{padding-top:45px;padding-bottom:45px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px}.footer-word{font-size:72px;letter-spacing:-6px;font-weight:500;line-height:1}footer div p{line-height:1.5}footer>span{color:var(--muted)}.proposal-note{padding:12px 4%;border-top:1px solid var(--line);font-size:10px;letter-spacing:.04em;color:var(--muted)}.skip{position:fixed;z-index:20;top:-100px;left:20px;background:var(--paper);padding:15px}.skip:focus{top:10px}dialog{border:0;background:var(--paper);color:var(--ink);padding:65px 50px 45px;max-width:1120px;width:92%;max-height:92vh;overflow:auto}dialog::backdrop{background:#17201bd9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:15px;top:10px;font-size:35px;line-height:1;width:45px;height:45px;z-index:1}.project-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.project-layout img{height:55vh;object-fit:contain;background:#d9d9cd}.project-info{padding-top:15px}.project-info h2{font-size:54px;margin:30px 0}.project-info p:not(.eyebrow){font-size:14px;margin-bottom:25px}.project-info .muted{font-size:12px!important}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:18px}.gallery-controls button{font-size:26px;padding:0 15px}.gallery-controls span{font-size:11px}#contact-dialog{max-width:690px}#contact-dialog h2{font-size:50px;margin:20px 0}#contact-dialog>p:not(.eyebrow){font-size:14px;max-width:400px;color:var(--muted)}form{margin-top:25px}label{display:flex;flex-direction:column;gap:9px;font-size:12px;margin-top:18px}input,select,textarea{width:100%;background:transparent;border:1px solid #bfc1b3;border-radius:0;padding:13px;color:var(--ink);font-size:14px;min-width:0}input:focus,textarea:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}textarea{resize:vertical}form .pill{margin-top:24px}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}#brief-result .muted{font-size:12px}#edit{margin-top:12px}.header nav a,.text-link,.highlight-links a,footer a{transition:color .2s}.header nav a:hover,.text-link:hover,.highlight-links a:hover,footer a:hover{color:var(--accent)}
@media(min-width:1650px){.pad{padding-left:7%;padding-right:7%}.header{padding-left:7%;padding-right:7%}.intro h1{font-size:150px}.hero{margin-left:3%;margin-right:3%}}
@media(max-width:1000px){.header{height:85px}.brand{gap:12px}.brand-sub{padding-left:12px;font-size:8px}.wordmark{font-size:44px}.header nav{gap:20px}.contact-link{gap:15px}.section{padding-top:80px;padding-bottom:80px}.work-caption{display:block}.work-caption>span{display:block;margin-top:6px}.section-heading p br{display:none}.section-heading p{max-width:250px}h1 sup{font-size:55px}.process-grid{gap:6%}.two-copy{gap:25px}.territory-grid{gap:30px}.big-contact>span{font-size:1em}.manifesto-grid{grid-template-columns:1fr 2.6fr}.header .contact-link{font-size:12px}footer{flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:20px}.pad{padding-left:6%;padding-right:6%}.header{height:80px;padding:0 6%;position:relative;z-index:10}.brand-sub{font-size:7px}.wordmark{font-size:42px}.header .contact-link{display:none}#menu{display:flex;align-items:center;gap:15px;font-size:12px;padding:12px 0}#menu span{font-size:23px}.header nav{display:none;position:absolute;top:79px;left:0;background:var(--paper);padding:25px 6%;width:100%;border-bottom:1px solid var(--line);font-size:20px}.header nav.open{display:flex;flex-direction:column;gap:24px}.intro{padding-top:22px;padding-bottom:25px}.intro-meta{font-size:8px}.intro-meta>span:last-child{display:none}h1{font-size:clamp(54px,12.3vw,86px);margin-top:30px;line-height:1.12;letter-spacing:-.06em}h1 span{margin-left:6%}h1 sup{font-size:38px;right:0;bottom:8px}.intro-bottom{margin-top:24px;gap:20px}.intro-bottom p{font-size:11px}.intro-bottom p br{display:none}.intro-bottom .text-link{font-size:10px;gap:15px;flex-shrink:0}.hero{margin:0 3%}.hero-picture{aspect-ratio:1.15;grid-template-columns:repeat(3,1fr)}.hero-picture img{object-fit:cover;height:100%}.hero-caption{padding:35px 5% 18px;gap:12px;align-items:end}.hero-caption>span:first-child{display:none}.hero-caption>span{font-size:11px}.hero-caption button{width:35px;height:35px}.section{padding-top:65px;padding-bottom:65px}.section-label{font-size:9px;margin-bottom:38px;padding-top:14px}.section-label span:last-child{display:none}.manifesto-grid{display:block}.small-label{font-size:12px;margin-bottom:25px}h2{font-size:44px}.two-copy{display:block;margin-top:25px;font-size:14px}.two-copy p+p{margin-top:18px}.principles{gap:0;display:block;margin-top:45px}.principles>div{display:grid;grid-template-columns:25px 1fr;padding:18px 0;column-gap:15px}.principles h3{margin:0;font-size:18px}.principles p{grid-column:2;margin-top:7px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:22px;max-width:100%;font-size:13px}.work-grid{gap:35px;display:block}.work-item{display:block;width:100%;margin-top:30px}.work-item:nth-child(2),.work-item:nth-child(3){padding-top:0}.image-wrap{aspect-ratio:4/4.5}.work-caption{display:flex;align-items:baseline}.work-caption h3{font-size:17px}.image-action{opacity:1;transform:none;font-size:10px;padding:8px 12px;right:12px;bottom:12px}.work-note{font-size:10px;margin-top:35px;gap:20px}.process-grid{display:block}.process-grid h2{font-size:46px}.process-grid p{max-width:100%;font-size:14px;margin-top:25px}.process-right{margin-top:45px}.line-drawing{padding-bottom:30px}summary{font-size:17px}.process details p{font-size:13px}.highlight-links{gap:25px}.territory-grid{display:block;margin-top:35px}.territory figure:nth-child(2){margin-top:35px}.territory figure img{aspect-ratio:1.5}.territory-bottom{display:block;margin-top:40px}.territory-bottom p:first-child{font-size:29px}.territory-bottom p:last-child{margin-top:25px;max-width:100%}.territory-tag{font-size:8px}.big-contact{font-size:clamp(38px,8.9vw,63px)}.big-contact>span{font-size:.7em;right:0;top:0}.contact-bottom{display:block;margin-top:35px}.contact-bottom p{font-size:13px}.contact-bottom .pill{margin-top:25px}.pill{padding:17px 22px;font-size:12px}.footer-word{font-size:65px}footer{display:grid;grid-template-columns:1fr 1fr;padding-top:35px;padding-bottom:35px;gap:25px}footer>span{font-size:9px}.proposal-note{font-size:8px;line-height:1.5;padding-left:6%;padding-right:6%}dialog{padding:60px 22px 30px;width:94%;max-height:94vh}.project-layout{display:block}.project-layout img{height:44vh}.project-info{padding-top:25px}.project-info h2{font-size:40px;margin:20px 0}#contact-dialog h2{font-size:41px}.form-row{display:block}.result-actions{align-items:start;flex-direction:column}.gallery-controls{padding-top:10px}.project-info p:not(.eyebrow){font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.hero-fragment{display:block;min-width:0;overflow:hidden;height:100%}.hero-picture .hero-fragment img{width:106%;max-width:none;margin-left:-3%;object-fit:fill}.image-wrap img{width:106%;margin-left:-3%;max-width:none}

/* Profile logo: original boat and lettering, composed horizontally for the web. */
.header .brand{display:block;flex-shrink:0;width:262px;line-height:0}
.brand-logo{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply;display:block}
.footer-brand{display:block;width:260px;flex-shrink:0}
@media(max-width:1000px){.header .brand{width:230px}.header nav{gap:17px}}
@media(max-width:700px){.header{height:94px}.header .brand{width:228px}.header nav{top:93px}.footer-brand{width:228px;grid-column:1/-1}footer{row-gap:26px}}
@media(max-width:360px){.header .brand{width:204px}}
