:root{--ink:#17372f;--navy:#183447;--muted:#58665f;--line:#d8dfd8;--warm:#f3f4ee;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:white;color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #9a634b;outline-offset:6px}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}header{height:120px;padding:10px 56px;display:flex;align-items:center;gap:48px;border-bottom:1px solid #edf0eb;background:#fff;position:relative;z-index:5}header .brand{margin-right:auto}#logoTarget{display:block;width:145px;height:97px}#logoTarget img{width:100%;height:100%;object-fit:contain}body.intro-running #logoTarget img{visibility:hidden}nav{display:flex;gap:32px;font-size:15px}nav a{padding:12px 0}nav a:hover{color:#9a634b}.button{border:1px solid var(--ink);border-radius:2px;padding:16px 24px;display:inline-flex;justify-content:space-between;align-items:center;gap:45px;background:var(--ink);color:white;font-size:15px;transition:background .25s,transform .25s}.button:hover{background:#315747;transform:translateY(-2px)}.button.small{padding:12px 20px}.button span,.text-link span{font-size:23px;line-height:1}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:block;font-weight:600}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8d654b;margin-right:10px}.hero{padding-top:65px}.hero h1{font:clamp(60px,6.8vw,100px)/1.07 var(--serif);letter-spacing:-.045em;margin:28px 0 15px;font-weight:normal}em{font-weight:normal;color:#6b7964}.hero-bottom{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;min-height:300px}.hero-copy p{font-size:19px;line-height:1.7;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:34px;font-size:15px;background:none;border:0;border-bottom:1px solid #96a397;padding:12px 0}.text-link:hover{color:#9a634b;border-color:#9a634b}.land-art{max-width:640px;margin:-100px 0 -15px auto;width:100%;position:relative}.land-art svg{width:100%;display:block}.land-art>span{font-size:10px;letter-spacing:.12em;position:absolute;bottom:0;right:0;color:#66776d}.hero-foot{margin-top:20px;padding:24px 0 28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;letter-spacing:.04em}.hero-foot>a{color:var(--muted)}h2{font:clamp(37px,4vw,58px)/1.15 var(--serif);letter-spacing:-.035em;margin:24px 0 28px}h3{font:28px/1.25 var(--serif);font-weight:normal;margin:16px 0}.possibilities{background:var(--warm);padding:95px 0 70px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12%}.lead{font-size:22px;line-height:1.6;letter-spacing:-.015em}.split p:first-child{margin-top:0}.split p:not(.lead),.about-copy>p:not(.lead){color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.steps article{border-top:1px solid #c6d0c3;padding-top:20px}.steps article>span{font:13px var(--serif);color:#64775f}.steps p{font-size:15px;color:var(--muted);max-width:300px}.about{padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:center}.portrait{position:relative;background:var(--warm);overflow:hidden}.portrait img{width:100%;height:590px;display:block;object-fit:cover;object-position:48% center;transition:transform 1.5s}.portrait:hover img{transform:scale(1.025)}.portrait-label{position:absolute;left:0;bottom:0;right:0;color:white;background:linear-gradient(transparent,#142b25c9);padding:65px 30px 24px;display:flex;flex-direction:column}.portrait-label strong{font:28px var(--serif)}.portrait-label span{font-size:12px;letter-spacing:.06em;margin-top:7px}.about-copy h2{font-size:clamp(34px,3.5vw,49px)}details{border-top:1px solid var(--line);margin:27px 0 10px}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.about details summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:15px}.about details p{color:var(--muted);font-size:15px}details[open] summary>span:last-child{transform:rotate(45deg)}.projects{padding-top:20px;padding-bottom:100px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-heading>p{color:var(--muted);font-size:15px;padding-bottom:14px}.project-row{margin:0;border-top:1px solid var(--line)}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row summary{display:flex;align-items:center;gap:35px;padding:30px 0}.project-num{font:14px var(--serif);align-self:start;padding-top:9px;color:var(--muted)}.tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.project-row h3{margin:8px 0;font-size:30px}.plus{margin-left:auto;font-size:30px;font-weight:200}.project-body{padding:0 65px 35px;max-width:800px}.project-body p{color:var(--muted)}.draft-note{font-size:12px;color:#647168;display:block;border-left:2px solid #a9b3a0;padding-left:15px}.invitation{background:var(--ink);padding:90px 0;color:white;text-align:center}.invitation h2{font-size:clamp(36px,4.4vw,64px)}.invitation em{color:#bac5ae}.invitation .button{background:#fff;color:var(--ink);border-color:white}.invitation p{font-size:13px;color:#c6d2c9;margin-top:22px}.contact{padding-top:100px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact>div:last-child{display:flex;flex-direction:column;align-items:start;padding-top:24px}.contact p{font-size:13px;color:var(--muted);margin-bottom:7px}.contact a{font-size:20px;padding:7px 0}.contact a span{margin-left:30px}.contact .contact-name{font:32px var(--serif);padding-bottom:15px}.contact .text-link{font-size:12px;margin-top:15px}footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:30px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}dialog{border:0;border-radius:4px;padding:50px;width:min(680px,calc(100% - 32px));max-height:90dvh;color:var(--ink);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#10281db5;backdrop-filter:blur(6px)}dialog h2{font-size:43px;margin:18px 0 30px}.close{position:absolute;right:16px;top:10px;background:none;border:0;font-size:32px;width:44px;height:44px}fieldset{border:0;margin:0 0 22px;padding:0}legend,form>label,.form-row label{font-size:14px;font-weight:500;display:block;width:100%}legend{margin-bottom:10px}.choices{display:flex;gap:12px}.choices label{flex:1;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:block;padding:13px 10px;border:1px solid var(--line);text-align:center;font-size:13px}.choices input:checked+span{background:var(--ink);color:white;border-color:var(--ink)}.choices input:focus-visible+span{outline:3px solid #ad8b68;outline-offset:3px}input,textarea{display:block;width:100%;margin:8px 0 20px;background:#f8f9f6;border:1px solid #d8dfd8;padding:13px;border-radius:0;font-size:16px;color:var(--ink)}input:focus,textarea:focus{outline:2px solid #839480;outline-offset:1px}.form-row{display:flex;gap:18px}.optional{font-weight:normal;color:var(--muted)}.form-note{font-size:12px;line-height:1.6;color:var(--muted)}#formStatus{font-size:13px}.skip{position:fixed;top:-70px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}#intro{position:fixed;inset:0;background:white;z-index:30;display:grid;place-items:center;transition:opacity .8s}#intro .intro-frame{width:min(650px,90vw);aspect-ratio:3/2}#film{width:100%;height:100%;display:block;object-fit:contain}#skipIntro{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);border:0;background:none;font-size:12px;letter-spacing:.05em;padding:15px;white-space:nowrap}#skipIntro span{margin-left:20px}#flyingLogo{display:none;position:fixed;z-index:40;object-fit:contain;pointer-events:none}body.intro-running{overflow:hidden}body.intro-running main{opacity:0;transform:translateY(16px)}main{transition:opacity 1s,transform 1s}body.intro-running header nav,body.intro-running header>.button{opacity:0}header nav,header>.button{transition:opacity 1s}
@media(min-width:1600px){.hero{padding-top:80px}.hero-bottom{min-height:330px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}header{height:100px;padding:4px 22px;gap:20px;flex-wrap:wrap}#logoTarget{width:115px;height:77px}nav{gap:18px;font-size:12px}header>.button{display:none}.hero{padding-top:46px}.hero h1{font-size:clamp(45px,8.5vw,68px);margin-top:28px}.eyebrow{font-size:10px;letter-spacing:.13em}.hero-bottom{grid-template-columns:1fr;min-height:0}.hero-copy p{font-size:17px}.land-art{max-width:470px;width:90%;margin:-20px 0 0 auto}.hero-foot{margin-top:32px;gap:20px;font-size:10px}.hero-foot>a{white-space:nowrap}.split{grid-template-columns:1fr;gap:0}.possibilities{padding:65px 0 40px}.split h2{margin-bottom:28px}.lead{font-size:20px}.steps{grid-template-columns:1fr;gap:16px;margin-top:35px}.steps article{display:grid;grid-template-columns:30px 1fr;column-gap:14px}.steps article>span{grid-row:span 2;padding-top:5px}.steps h3{margin:0;font-size:25px}.steps p{max-width:none;margin-top:10px}.about{padding:65px 0;grid-template-columns:1fr;gap:40px}.portrait{width:100%;max-width:450px}.portrait img{height:440px}.about-copy h2{font-size:38px}.projects{padding-bottom:65px}.section-heading{display:block}.section-heading>p{margin-top:0}.project-row summary{gap:17px;padding:25px 0}.project-row h3{font-size:24px}.tag{font-size:9px}.project-body{padding-left:30px;padding-right:12px}.invitation{padding:65px 0}.invitation h2{font-size:37px}.invitation p{max-width:280px;margin:20px auto 0}.contact{padding:60px 0;grid-template-columns:1fr;gap:0}.contact>div:last-child{padding-top:0}.contact h2{font-size:42px}footer{gap:20px;flex-wrap:wrap}footer span:nth-child(2){order:3;width:100%;font-style:italic}dialog{padding:40px 22px 25px}dialog h2{font-size:36px}.form-row{display:block}.choices{gap:8px}.choices span{font-size:12px}html{scroll-padding-top:25px}}
@media(max-width:370px){nav{gap:10px;font-size:11px}.hero h1{font-size:42px}.hero-foot{flex-direction:column}.land-art{margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.portrait:hover img{transform:none}}

/* Services: clear scope without adding navigation. */
.services{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:65px;padding-top:38px;border-top:1px solid #c6d0c3}.services-heading>p{font:36px/1.2 var(--serif);letter-spacing:-.025em;margin-top:23px}.service-list article{padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid #c6d0c3}.service-list article:last-child{margin-bottom:0}.service-list h3{font-size:26px;margin-top:0}.service-list p{font-size:15px;color:var(--muted);margin-bottom:0}.process-label{margin-top:55px}.steps{margin-top:25px}.about{align-items:start}.portrait{position:sticky;top:35px}.about-copy>p{font-size:16px}.about-copy>p.lead{font-size:22px}@media(max-width:800px){.services{grid-template-columns:1fr;gap:15px;margin-top:40px;padding-top:28px}.services-heading>p{font-size:30px;margin-bottom:25px}.service-list h3{font-size:25px}.process-label{margin-top:35px}.portrait{position:relative;top:auto}.about-copy>p.lead{font-size:20px}}

.hero-copy strong{font-weight:500;color:var(--ink)}.hero-copy p.hero-terms{font-size:13px;line-height:1.6;max-width:355px;margin:14px 0}.hero .text-link{gap:20px}.hero h1{font-size:clamp(58px,6.8vw,100px)}.hero-bottom{min-height:330px}.model-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.model-benefits article{border-top:1px solid #c6d0c3;padding-top:20px}.model-benefits article>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.model-benefits h3{font-size:27px}.model-benefits p{font-size:15px;color:var(--muted)}.model-faq{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:65px;border-top:1px solid #c6d0c3;padding-top:40px}.model-faq h2{font-size:42px}.model-faq details{margin:0;border-color:#c6d0c3}.model-faq details:last-child{border-bottom:1px solid #c6d0c3}.model-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:16px}.model-faq summary span{font-size:24px}.model-faq details p{font-size:15px;color:var(--muted);margin:0 0 22px}@media(max-width:800px){.hero h1{font-size:clamp(42px,8.5vw,68px)}.hero-bottom{min-height:0}.hero .land-art{margin-top:10px}.hero .text-link{font-size:14px}.model-benefits{grid-template-columns:1fr;gap:15px;margin-top:35px}.model-benefits h3{font-size:25px}.model-faq{grid-template-columns:1fr;gap:10px;margin-top:40px;padding-top:28px}.model-faq h2{font-size:36px}.model-faq summary{font-size:15px}}@media(max-width:370px){.hero h1{font-size:39px}}

.portfolio-note{max-width:730px;padding-top:26px}.portfolio-note p{font-size:15px;color:var(--muted)}.projects .section-heading h2{font-size:clamp(37px,4vw,58px)}
/* Portfolio: consistent editorial treatment of original source material. */
.portfolio-worknote{background:#f3f4ee;border-left:2px solid #8b9b7e;padding:24px 28px;margin-bottom:38px}.portfolio-worknote p{font-size:15px;max-width:900px;margin:10px 0}.portfolio-worknote>span:last-child{font-size:12px;color:var(--muted);display:block;max-width:900px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 32px;margin-bottom:85px}.portfolio-card{display:block}.card-image{aspect-ratio:1.65;overflow:hidden;background:#f0f2ec;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.portfolio-card:hover .card-image img{transform:scale(1.035)}.card-image.drawing-hero img{object-fit:cover;transform:scale(1.4);object-position:50% 50%}.portfolio-card:hover .drawing-hero img{transform:scale(1.44)}.card-category{position:absolute;bottom:14px;left:14px;background:#ffffffeb;padding:5px 10px;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.card-caption{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.card-caption h3{font-size:32px;margin:6px 0}.card-arrow{font-size:25px}.awaiting-image{display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(0deg,transparent 0 39px,#dde4d94d 40px),repeating-linear-gradient(90deg,#f1f3ed 0 39px,#dde4d94d 40px);color:#62745f}.awaiting-num{font:85px/1 var(--serif);font-style:italic;opacity:.4}.awaiting-image>span:last-child{font-size:12px;margin-top:15px;letter-spacing:.08em}.project-presentation{padding-top:60px;padding-bottom:55px;border-top:1px solid #aebbae;scroll-margin-top:25px}.project-title h3{font:clamp(40px,4vw,58px)/1.12 var(--serif);letter-spacing:-.035em;margin:18px 0 12px}.project-title>p{font-size:14px;color:var(--muted)}.project-title>p>span{white-space:nowrap}.project-overview{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin:35px 0}.project-overview>div:first-child>p{font-size:18px;max-width:500px;line-height:1.8}.document-panel{border:1px solid var(--line);padding:25px 28px}.document-panel h4{font-size:17px;font-weight:500;display:flex;flex-wrap:wrap;gap:8px 18px;margin:15px 0 12px}.document-panel h4>span{font-weight:400;color:var(--muted)}.file-pending{display:inline-block;background:#eee9dd;color:#675a39;padding:4px 10px;font-size:11px}.document-panel p{font-size:13px;color:var(--muted)}.document-panel>a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.document-panel small{display:block;font-size:11px;margin-top:12px;color:var(--muted)}.project-gallery,.drawing-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-figure{margin:0;min-width:0}.image-open{position:relative;display:block;width:100%;padding:0;background:#f4f5f1;border:0;overflow:hidden}.image-open img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.enlarge{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--ink);width:32px;height:32px;display:grid;place-items:center;font-size:20px}.project-figure figcaption{font-size:12px;color:var(--muted);padding:11px 0 17px}.drawing-section{margin-top:30px;background:#f3f4ee;padding:28px}.drawing-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.drawing-header>span:last-child{font-size:11px;color:var(--muted)}.drawing-sheet .image-open{padding:18px;background:#fff;border:1px solid #e1e5dc}.drawing-sheet .image-open img{object-fit:contain;aspect-ratio:1.414;background:white}.drawing-sheet figcaption{color:var(--ink);font-size:12px;border-bottom:1px solid #c6d0c3}.project-source{font-size:11px;color:var(--muted);margin-top:18px;max-width:850px}.project-source a{text-decoration:underline;text-underline-offset:3px}.project-missing{margin-top:25px;border-bottom:1px solid var(--line)}.project-missing summary{display:flex;justify-content:space-between;padding:16px 0;font-size:13px}.project-missing p{font-size:13px;color:var(--muted);max-width:850px;margin-top:0}.back-projects{display:inline-block;font-size:12px;margin-top:25px;color:var(--muted)}.material-empty{padding:45px;background:var(--warm);margin:30px 0}.material-empty p{font:26px/1.5 var(--serif);max-width:700px;margin-bottom:0}.image-dialog{width:min(1300px,96vw);padding:50px 22px 18px;max-height:95dvh}.image-dialog>img{display:block;width:100%;height:auto;max-height:78dvh;object-fit:contain}.image-dialog>p{font-size:13px;text-align:center;margin-bottom:0}.image-dialog::backdrop{background:#10281de0}.project-presentations{counter-reset:none}
@media(max-width:800px){.portfolio-worknote{padding:20px}.portfolio-grid{gap:24px 16px;margin-bottom:50px}.card-caption{padding:14px 0;align-items:start}.card-caption h3{font-size:24px}.card-caption .tag{font-size:8px;letter-spacing:0}.card-arrow{font-size:20px}.card-image{aspect-ratio:1.3}.card-category{font-size:8px;padding:4px 7px;bottom:8px;left:8px}.awaiting-num{font-size:50px}.awaiting-image>span:last-child{font-size:9px;letter-spacing:0;text-align:center}.project-presentation{padding-top:40px;padding-bottom:40px}.project-title h3{font-size:38px}.project-overview{grid-template-columns:1fr;gap:15px;margin:24px 0}.project-overview>div:first-child>p{font-size:17px}.document-panel{padding:22px}.drawing-section{padding:18px;margin-top:20px}.drawing-grid{gap:18px;grid-template-columns:1fr}.drawing-header{align-items:start;flex-direction:column;gap:8px}.drawing-sheet .image-open{padding:10px}.project-gallery{gap:14px}.project-figure figcaption{font-size:10px;line-height:1.5}.material-empty{padding:25px}.material-empty p{font-size:23px}.image-dialog{padding:48px 12px 15px}.project-title>p{font-size:12px}.project-title>p>span{display:block;margin-top:7px}}
@media(max-width:450px){.portfolio-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.6}.card-caption h3{font-size:29px}.card-caption .tag{font-size:10px}.card-category{font-size:9px}.project-gallery{grid-template-columns:1fr}}

/* Caption below the entire site illustration; transparent vector handoff. */
.land-art>span{position:static;display:block;margin-top:28px;text-align:right;line-height:1.7}.land-art{margin-bottom:0}#flyingLogo{background:transparent;will-change:transform}#logoTarget img{background:transparent}

/* A quiet reveal, followed by a continuous logo handoff. */
#intro .intro-frame{position:relative}.intro-mark{width:100%;height:100%;object-fit:contain;display:block;clip-path:inset(0 0 24% 0)}.intro-tagline{position:absolute;top:77%;left:0;right:0;margin:0;text-align:center;font:clamp(18px,3.7vw,29px)/1.45 var(--serif);color:var(--navy);letter-spacing:-.015em}.intro-tagline em{color:#8a5036}.playing .intro-mark{animation:none}.playing .intro-tagline{animation:taglineReveal 1.3s cubic-bezier(.4,0,.2,1) 3.4s both}@keyframes brandReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes taglineReveal{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
