:root{color-scheme:light;--paper:#fbfbfb;--ink:#111;--rule:#e5e5e5;--muted:#666;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}
a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.page-width{width:calc(100% - 112px);max-width:1480px;margin-inline:auto}
.micro{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.105em;text-transform:uppercase}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;border-bottom:1px solid var(--rule)}
.wordmark{font-size:15px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8%;padding-block:88px 72px}
.eyebrow{grid-column:1/-1;display:flex;gap:24px;margin-bottom:42px}
.eyebrow span{color:#888}
.hero h1{grid-column:1/-1;font-size:clamp(64px,9.4vw,146px);font-weight:500;line-height:.99;letter-spacing:-.067em}
.hero-detail{display:contents}
.hero-statement{grid-column:2;grid-row:3;align-self:start;margin-top:52px;font-size:clamp(25px,2.6vw,40px);line-height:1.2;letter-spacing:-.035em}
.hero-copy{grid-column:1/-1;grid-row:4;margin-top:42px}
.body-copy{font-size:17px;line-height:1.75;letter-spacing:-.012em;max-width:490px}
.hero-copy .body-copy{max-width:720px;font-size:clamp(20px,2.2vw,28px);line-height:1.5;letter-spacing:-.025em}
.audience{grid-column:1/-1;grid-row:5;margin-top:24px;font-size:16px;line-height:1.6;color:var(--muted);max-width:440px}
.text-link{display:inline-flex;gap:35px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:12px}
.text-link span{font-size:18px}
.hero-place{grid-column:1;grid-row:3;width:100%;max-width:500px;margin:52px 0 0}
.hero-place svg{display:block;width:100%;height:auto;overflow:visible}
.hero-place-line{fill:none;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.hero-place-shape{transform-box:fill-box;transform-origin:center}
.hero-place-meta,.hero-place-footer{fill:#111;font:500 10px Arial,Helvetica,sans-serif;letter-spacing:1.1px}
.hero-place-meta text:not(:first-child){font-weight:400;letter-spacing:0}
.hero-place-title{fill:#111;font:400 100px Georgia,'Times New Roman',serif;letter-spacing:-5px}
.hero-place-number{font:400 55px Georgia,'Times New Roman',serif;letter-spacing:-3px}
.hero-place.is-ready:not(.is-playing) .hero-place-shape,.hero-place.is-ready:not(.is-playing) .hero-place-plant,.hero-place.is-ready:not(.is-playing) .hero-place-type{opacity:0}
.hero-place.is-ready:not(.is-playing) .hero-place-line{stroke-dashoffset:1;opacity:.35}
.hero-place.is-playing .hero-place-stone{animation:hero-place-stone 1.7s cubic-bezier(.22,.65,.28,1) both}
.hero-place.is-playing .hero-place-sage{animation:hero-place-sage 1.8s .05s cubic-bezier(.22,.65,.28,1) both}
.hero-place.is-playing .hero-place-blush{animation:hero-place-right 1.7s .12s cubic-bezier(.22,.65,.28,1) both}
.hero-place.is-playing .hero-place-ochre{animation:hero-place-ochre 1.7s .16s cubic-bezier(.22,.65,.28,1) both}
.hero-place.is-playing .hero-place-mint{animation:hero-place-right 1.5s .3s cubic-bezier(.22,.65,.28,1) both}
.hero-place.is-playing .hero-place-line{animation:hero-place-draw 1.45s .25s cubic-bezier(.22,.65,.28,1) both}
.hero-place.is-playing .hero-place-line-two{animation-delay:.4s}
.hero-place.is-playing .hero-place-line-three{animation-delay:.55s}
.hero-place.is-playing .hero-place-line-four{animation-delay:.7s}
.hero-place.is-playing .hero-place-plant{animation:hero-place-fade .8s .85s ease-out both}
.hero-place.is-playing .hero-place-meta{animation:hero-place-type .65s .9s ease-out both}
.hero-place.is-playing .hero-place-title{animation:hero-place-type .75s 1.15s ease-out both}
.hero-place.is-playing .hero-place-title-last{animation-delay:1.3s}
.hero-place.is-playing .hero-place-footer{animation:hero-place-type .7s 1.45s ease-out both}
@keyframes hero-place-draw{from{stroke-dashoffset:1;opacity:.35}to{stroke-dashoffset:0;opacity:1}}
@keyframes hero-place-stone{from{transform:translate(-18px,35px);opacity:0}to{transform:translate(0,0);opacity:1}}
@keyframes hero-place-sage{from{transform:translate(35px,-30px) rotate(12deg);opacity:0}to{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes hero-place-right{from{transform:translate(37px,0);opacity:0}to{transform:translate(0,0);opacity:1}}
@keyframes hero-place-ochre{from{transform:translate(45px,35px) rotate(8deg);opacity:0}to{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes hero-place-fade{from{opacity:0}to{opacity:1}}
@keyframes hero-place-type{from{transform:translateY(13px);opacity:0}to{transform:translateY(0);opacity:1}}
.hero-place.is-settled .hero-place-ochre{animation:hero-place-idle-ochre 7s ease-in-out infinite}
.hero-place.is-settled .hero-place-stone{animation:hero-place-idle-stone 6.4s ease-in-out infinite}
.hero-place.is-settled .hero-place-sage{animation:hero-place-idle-sage 8s ease-in-out infinite}
.hero-place.is-settled .hero-place-blush{animation:hero-place-idle-blush 7.5s ease-in-out infinite}
.hero-place.is-settled .hero-place-mint{animation:hero-place-idle-mint 6.8s ease-in-out infinite}
.hero-place.is-settled .hero-place-plant{transform-box:fill-box;transform-origin:50% 100%;animation:hero-place-idle-plant 5.5s ease-in-out infinite}
.hero-place.is-settled .hero-place-line{animation:hero-place-idle-line 6s ease-in-out infinite}
@keyframes hero-place-idle-ochre{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-5px) rotate(.7deg)}}
@keyframes hero-place-idle-stone{0%,100%{transform:translate(0,0)}50%{transform:translate(-3px,4px)}}
@keyframes hero-place-idle-sage{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(2px,-3px) rotate(-.35deg)}}
@keyframes hero-place-idle-blush{0%,100%{transform:translate(0,0)}50%{transform:translate(-3px,2px)}}
@keyframes hero-place-idle-mint{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-2px)}}
@keyframes hero-place-idle-plant{0%,100%{transform:rotate(0)}50%{transform:rotate(1.2deg)}}
@keyframes hero-place-idle-line{0%,100%{opacity:1}50%{opacity:.68}}
.section-label{display:flex;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid var(--rule)}
.section-label>span{color:var(--muted)}
.build-assurance{padding-block:30px 62px;border-top:1px solid var(--rule)}
.build-assurance h2{font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.15;letter-spacing:-.04em}
.assurance-details{margin:28px 0 0}
.assurance-details>div{display:grid;grid-template-columns:140px 1fr;gap:24px;padding-block:16px;border-top:1px solid var(--rule)}
.assurance-details dt{padding-top:4px}
.assurance-details dd{margin:0;max-width:690px;font-size:17px;line-height:1.6}
.architecture-intro{max-width:860px;margin-top:58px;font-size:clamp(30px,3.7vw,56px);line-height:1.12;letter-spacing:-.045em}
.comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto repeat(4,auto);column-gap:8%;padding-block:58px 88px}
.comparison-column{display:grid;grid-template-rows:subgrid;grid-row:1 / span 6;min-width:0}
.conventional{grid-column:1}
.editorial{grid-column:2}
.comparison-column>p{margin-bottom:22px}
.comparison h3{font-size:clamp(40px,5vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.055em}
.conventional{color:var(--ink)}
.comparison ul{display:contents;list-style:none;padding:0;margin:0}
.comparison li{padding-block:14px;border-bottom:1px solid var(--rule);font-size:20px;line-height:1.5}
.comparison li:first-child{border-top:1px solid var(--rule);margin-top:40px}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6%;padding-block:35px 106px;border-top:1px solid var(--rule)}
.pillars h2{min-height:34px}
.pillar-title{font-size:clamp(26px,2.6vw,39px);line-height:1.15;letter-spacing:-.04em;margin:38px 0 24px}
.pillars .body-copy{font-size:15px;line-height:1.8}
.infrastructure{padding-block:35px 88px;border-top:1px solid var(--rule)}
.infrastructure>h2{font-size:clamp(36px,4.4vw,66px);font-weight:500;line-height:1.08;letter-spacing:-.05em;margin:46px 0 52px}
.infrastructure-rows article{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;padding-block:26px;border-top:1px solid var(--rule)}
.infrastructure-rows h3{padding-top:5px}
.infrastructure-rows .body-copy{max-width:650px}
.infrastructure-copy p+p{margin-top:20px}
.selected-builds{padding-block:35px 88px;border-top:1px solid var(--rule)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5%;margin-top:46px}
.project-image{display:block;margin-bottom:26px}
.project-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.project h3{font-size:clamp(28px,3.4vw,48px);font-weight:500;line-height:1.15;letter-spacing:-.045em}
.project-description{font-size:16px;line-height:1.6;margin-top:12px;max-width:430px;color:var(--muted)}
.project .text-link{margin-top:24px}
.studio{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;padding-block:35px 88px;border-top:1px solid var(--rule)}
.studio-intro{font-size:clamp(26px,3vw,40px);line-height:1.2;letter-spacing:-.035em;margin-bottom:24px;max-width:620px}
.studio .body-copy{max-width:650px}
.studio-recognition{margin-top:30px;padding-top:22px;border-top:1px solid var(--rule);max-width:650px}
.recognition-copy{margin-top:10px;font-size:14px;line-height:1.65;color:var(--muted)}
.care-note{color:var(--muted)}
.commission-next{margin-top:22px}
.commission{padding-block:35px 78px;border-top:1px solid var(--rule)}
.commission h2{position:relative;font-size:clamp(60px,8.7vw,134px);font-weight:500;line-height:1.02;letter-spacing:-.065em;margin:60px 0 54px}
.commission h2 span{display:inline-block;font-size:.6em;vertical-align:top;margin-left:.5em;font-weight:400}
.commission-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}
.email-link{justify-self:end;display:inline-flex;gap:25px;border-bottom:1px solid var(--ink);padding-bottom:12px;font-size:clamp(17px,2vw,28px);letter-spacing:-.025em}
.email-link:hover,.text-link:hover{border-bottom-color:#888;color:#555}
.footer{display:flex;justify-content:space-between;gap:24px;padding-block:25px;border-top:1px solid var(--rule)}
.footer p:nth-child(2){color:var(--muted)}
@media(min-width:1700px){.hero h1{font-size:150px}}
@media(max-width:900px){.page-width{width:calc(100% - 64px)}.hero{padding-top:68px}.hero-detail{gap:6%}.body-copy{font-size:16px}.pillars{gap:4%}.pillars h2{font-size:10px}.commission-bottom{grid-template-columns:1.1fr 1fr;gap:5%}}
@media(max-width:600px){
  .page-width{width:calc(100% - 40px)}
  .masthead{padding-block:22px;align-items:flex-start;gap:20px}
  .wordmark{font-size:12px;white-space:nowrap}
  .masthead>p{font-size:9px;text-align:right;max-width:135px}
  .hero{column-gap:20px;padding-block:58px 60px}
  .eyebrow{margin-bottom:30px;font-size:10px}
  .hero h1{font-size:clamp(48px,12.5vw,75px);line-height:1.02}
  .hero-statement{margin-top:34px;font-size:clamp(20px,5.8vw,24px);line-height:1.12;letter-spacing:-.04em}
  .hero-copy{margin-top:30px}
  .wide-break{display:none}
  .body-copy{font-size:16px;line-height:1.7}
  .hero-place{width:100%;margin:34px 0 0}
  .audience{margin-top:18px}
  .section-label>span{display:none}
  .build-assurance{padding-block:26px 42px}
  .assurance-details{margin-top:24px}
  .assurance-details>div{grid-template-columns:92px minmax(0,1fr);gap:16px;padding-block:16px}
  .assurance-details dt{font-size:10px;letter-spacing:.07em}
  .assurance-details dd{font-size:16px;line-height:1.55}
  .architecture-intro{margin-top:34px;font-size:30px;line-height:1.15}
  .comparison{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;padding-block:38px 60px}
  .comparison-column>p{font-size:9px;letter-spacing:.065em;min-height:27px;margin-bottom:16px}
  .comparison h3{font-size:clamp(26px,7vw,42px);line-height:1.06;letter-spacing:-.05em}
  .comparison li:first-child{margin-top:26px}
  .comparison li{font-size:16px;line-height:1.5;padding-block:12px;min-height:74px}
  .pillars{grid-template-columns:1fr;gap:36px;padding-block:28px 60px}
  .pillars article+article{padding-top:28px;border-top:1px solid var(--rule)}
  .pillars h2{min-height:0;font-size:11px}
  .pillar-title{font-size:34px;margin:24px 0 18px}
  .infrastructure,.selected-builds{padding-block:28px 60px}
  .infrastructure>h2{font-size:36px;margin:30px 0 34px}
  .infrastructure-rows article{grid-template-columns:1fr;gap:15px;padding-block:24px}
  .infrastructure-rows h3{padding-top:0}
  .project-grid{grid-template-columns:1fr;gap:44px;margin-top:30px}
  .project-image{margin-bottom:20px}
  .project h3{font-size:32px}
  .project-description{font-size:15px}
  .studio{grid-template-columns:1fr;gap:28px;padding-block:28px 60px}
  .commission{padding-block:28px 55px}
  .commission h2{font-size:clamp(48px,11vw,68px);margin:36px 0 30px}
  .commission h2 span{margin-left:.2em}
  .commission-bottom{grid-template-columns:1fr;gap:30px}
  .email-link{justify-self:start;font-size:21px;gap:20px}
  .footer{flex-wrap:wrap;padding-block:22px;gap:14px}
  .footer .micro{font-size:9px}
  .footer a{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-place *{animation:none!important}}
