@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f7f6f0;--ink:#173a33;--muted:#61716a;--line:#d8ddd4;--copper:#b78158}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:6px}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.05}h1{font-size:clamp(54px,6.6vw,104px)}h2{font-size:clamp(34px,3.5vw,55px)}h3{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.025em}p{color:var(--muted)}.wrap{max-width:1344px;margin:auto;padding-left:64px;padding-right:64px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;display:block;line-height:1.8}.lead{font-size:21px;line-height:1.65}.muted{font-size:13px;color:var(--muted)}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-weight:700;letter-spacing:.09em;font-size:23px;line-height:1.1;display:flex;align-items:center;gap:13px}.brand small{display:block;font-size:8px;letter-spacing:.25em;font-weight:500;margin-top:7px}.brand-mark{border:2px solid var(--ink);width:35px;height:39px;text-align:center;line-height:34px;font-size:32px}nav{display:flex;align-items:center;gap:33px;font-size:12px}nav a{position:relative}nav a:hover,nav a[aria-current]{color:#95603d}.nav-cta{border-bottom:1px solid var(--ink);padding:9px 0;margin-left:24px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:650px;padding-left:max(5%,calc((100vw - 1216px)/2));overflow:hidden}.hero-copy{padding:72px 30px 45px 0}.hero-copy h1{margin:28px 0 26px}.hero-copy em{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.035em;color:#798d70}.hero-copy p{font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:36px}.button{border:0;background:var(--ink);color:#fff;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:12px;cursor:pointer;transition:background .2s}.button:hover{background:#31564a}.text-link{font-size:12px;border-bottom:1px solid #a0ada4;padding-bottom:5px;display:inline-block}.hero-note{display:flex;align-items:center;gap:10px;margin-top:57px;font-size:10px;color:var(--muted)}.tiny-square{width:6px;height:6px;background:var(--copper)}.hero-art{position:relative;background:radial-gradient(ellipse at 80% 20%,#7c9178 0,#3b594a 40%,#173a33 80%);overflow:hidden;min-height:600px}.hero-art:after{content:'';position:absolute;inset:65% -50% -50%;background:repeating-linear-gradient(0deg,transparent 0 44px,#d9e6c617 45px 46px),repeating-linear-gradient(90deg,transparent 0 70px,#d9e6c617 71px 72px);transform:perspective(200px) rotateX(55deg);transform-origin:top}.architectural{position:absolute;width:100%;height:100%;transform:rotate(-10deg);left:15%;top:9%;filter:drop-shadow(-25px 25px 18px #061e28aa)}.portal{position:absolute;border:17px solid #b3bba0;border-bottom:0;width:66%;height:88%;top:3%;left:10%;box-shadow:inset 6px 3px 0 #536c57,7px -3px 0 #d4d7be;background:linear-gradient(100deg,#102f2c66,transparent);transform:skewY(-11deg)}.p2{width:54%;height:77%;top:14%;left:16%;border-color:#a4ad91}.p3{width:42%;height:66%;top:25%;left:22%;border-color:#8e9d80}.p4{width:30%;height:55%;top:36%;left:28%;border-color:#7d9073}.p5{width:18%;height:44%;top:47%;left:34%;border-color:#b18b66}.p6{width:8%;height:33%;top:58%;left:39%;border-color:#c6a47e;border-width:8px}.art-label,.art-number{position:absolute;z-index:2;color:#e0e4ce;font-size:8px;letter-spacing:.18em;bottom:25px;left:28px}.art-number{left:auto;right:27px}.strap{display:flex;justify-content:space-between;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.section{padding-top:90px;padding-bottom:90px}.section-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:25px;align-items:start;margin-bottom:40px}.section-head p{font-size:13px;margin-top:4px}.section-head .text-link{justify-self:end;margin-top:10px}.section-head h2{margin-bottom:0}.service-rows>a{display:grid;grid-template-columns:70px 1.1fr 1fr 30px;gap:25px;padding:29px 0;border-top:1px solid var(--line);align-items:center;transition:padding .2s}.service-rows>a:last-child{border-bottom:1px solid var(--line)}.service-rows>a:hover{padding-left:12px}.service-rows h3,.service-rows p{margin:0}.service-rows p{font-size:13px;max-width:370px}.num{font-size:12px;font-family:monospace;color:#9b7858}.arrow{font-size:22px}.about-strip{background:#e8ece2;padding:85px 0}.split{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}.split h2{font-size:43px}.split p{max-width:650px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.project-art{height:280px;background:#d9ddd1;position:relative;overflow:hidden;display:grid;place-items:center}.art1{background:#d2dad7}.art2{background:#e5dbc9}.project-art small{position:absolute;bottom:14px;left:18px;letter-spacing:.12em;font-size:8px}.diagram{display:block;width:120px;height:120px;transform:rotate(-25deg);border:1px solid #5b7161;box-shadow:12px 12px #cad0c1,13px 13px #5b7161,25px 25px #cad0c1,26px 26px #5b7161;transition:transform .4s}.d0{background:repeating-linear-gradient(90deg,transparent 0 28px,#5b7161 29px 30px),repeating-linear-gradient(0deg,transparent 0 28px,#5b7161 29px 30px)}.d1{border-radius:50%;box-shadow:20px 0 #d2dad7,21px 0 #5b7161,40px 0 #d2dad7,41px 0 #5b7161,60px 0 #d2dad7,61px 0 #5b7161;transform:rotate(-40deg) translateX(-20px)}.d2{width:150px;height:90px;transform:skewY(-18deg);box-shadow:0 20px #e5dbc9,0 21px #8a785e,0 40px #e5dbc9,0 41px #8a785e;border-color:#8a785e}.project-card:hover .diagram{transform:rotate(-15deg) translateY(-8px)}.card-meta{font-size:10px;margin:20px 0 11px;text-transform:uppercase;letter-spacing:.1em;display:flex;justify-content:space-between;color:var(--muted)}.project-card h3{margin-bottom:10px}.project-card p{font-size:13px}.journal{padding-top:20px}.journal-list>a{display:grid;grid-template-columns:70px 1fr 30px;gap:20px;border-top:1px solid var(--line);padding:26px 0;align-items:center}.journal-list>a:last-child{border-bottom:1px solid var(--line)}.journal-list h3{margin:9px 0 0;font-size:25px}.journal-list .eyebrow{color:var(--muted);font-size:9px}.cta{background:var(--ink);color:var(--paper);padding-top:65px;padding-bottom:65px;position:relative}.cta h2{margin:22px 0 0;font-size:48px}.cta .button{position:absolute;right:64px;top:50%;transform:translateY(-50%)}.light{background:#e6e9dc;color:var(--ink)}.light:hover{background:#fff}footer{padding-top:58px!important;padding-bottom:25px!important}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:45px}.footer-top .brand{display:block;font-size:19px}.footer-top p{font-size:15px}.footer-top>div{font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted);letter-spacing:.04em}.footer-bottom a{margin-left:20px}.page-intro{padding-top:85px;padding-bottom:55px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(50px,5.8vw,86px);max-width:1000px;margin:26px 0}.page-intro p{max-width:680px;margin-bottom:0}.detail-row{display:flex;gap:25px;border-top:1px solid var(--line);padding:24px 0}.detail-row span{color:var(--copper);font-size:11px}.detail-row h3,.detail-row p{margin:0}.facts{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;padding-bottom:90px}.facts h3{font-size:18px;margin-top:16px}.steps>div{display:grid;grid-template-columns:100px 1fr 1.3fr;border-top:1px solid var(--line);gap:35px;padding:35px 0}.steps h2{font-size:38px}.article{max-width:800px;margin:60px auto 90px;padding:0 30px}.article h2{font-size:32px;margin-top:42px;letter-spacing:-.035em}.article p{font-size:17px;line-height:1.9}.article a{text-decoration:underline}.article section{margin-bottom:40px}details{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;font-size:19px}details p{margin:20px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.contact-grid h3{font-size:31px;margin:16px 0}.email{font-size:13px;overflow-wrap:anywhere}.address{margin-top:60px}.address p{margin-top:15px}form{background:#e9ece4;padding:35px}label{display:block;font-size:12px;margin-bottom:20px}input,select,textarea{display:block;background:transparent;border:0;border-bottom:1px solid #9ca99c;border-radius:0;width:100%;padding:11px 0;color:var(--ink);outline-offset:4px}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}#form-status{font-size:13px;margin:15px 0 0}.skip{position:absolute;left:15px;top:-80px;background:white;z-index:10;padding:10px}.skip:focus{top:10px}
@media(min-width:1600px){.hero{max-width:1600px;margin:auto;padding-left:110px}.hero-copy{padding-right:60px}}
@media(max-width:1050px){.wrap{padding-left:35px;padding-right:35px}.hero{min-height:570px}.hero-art{min-height:570px}.hero-copy{padding-top:60px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{margin-top:30px}.section-head{grid-template-columns:1fr 2fr}.section-head>p,.section-head>.text-link{grid-column:2;justify-self:start}.service-rows>a{grid-template-columns:35px 1fr 1fr 20px;gap:15px}.split{gap:40px}.project-art{height:220px}.cta h2{font-size:40px}.cta .button{right:35px}.contact-grid{gap:35px}}
@media(max-width:720px){header{height:82px;padding:0 24px}.brand{font-size:19px}.brand-mark{width:29px;height:33px;font-size:27px;line-height:29px}.menu-toggle{display:block;border:0;background:none;color:var(--ink);font-size:12px}.menu-toggle span{margin-left:8px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);z-index:10;padding:25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:22px;font-size:16px}nav.open{display:flex}.nav-cta{margin:0}.wrap{padding-left:24px;padding-right:24px}.hero{display:block;padding-left:0}.hero-copy{padding:45px 24px 35px}.hero-copy h1{font-size:69px}.hero-copy p{font-size:16px}.hero-actions{flex-direction:row;align-items:center;gap:18px}.button{padding:15px 18px;font-size:11px}.text-link{font-size:11px}.hero-art{height:390px;min-height:0}.architectural{left:23%;width:70%;top:6%}.strap{gap:15px;font-size:9px}.section{padding-top:58px;padding-bottom:58px}.section-head{display:block}.section-head .eyebrow{margin-bottom:20px}.section-head h2{font-size:38px}.section-head p{margin-top:20px}.section-head .text-link{margin-top:22px}.service-rows>a{grid-template-columns:26px 1fr 18px;gap:12px;padding:23px 0}.service-rows h3{font-size:21px}.service-rows p{grid-column:2;grid-row:2}.service-rows .arrow{grid-column:3;grid-row:1}.split{grid-template-columns:1fr;gap:25px}.split h2{font-size:36px}.about-strip{padding:55px 0}.lead{font-size:18px}.project-grid{grid-template-columns:1fr;gap:35px}.project-art{height:285px}.journal-list>a{grid-template-columns:25px 1fr 20px;gap:12px}.journal-list h3{font-size:23px}.cta{padding-top:45px;padding-bottom:45px}.cta h2{font-size:37px}.cta .button{position:static;transform:none;margin-top:28px}.footer-top{grid-template-columns:1fr;gap:22px;padding-bottom:25px}.footer-top p{margin:0}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom>div{width:100%}.footer-bottom a{margin:0 22px 0 0}.page-intro{padding-top:48px;padding-bottom:40px}.page-intro h1{font-size:53px}.facts{grid-template-columns:1fr;padding-bottom:55px}.facts>div{border-top:1px solid var(--line);padding-top:20px}.steps>div{grid-template-columns:30px 1fr;gap:18px}.steps p{grid-column:2}.steps h2{margin-bottom:0}.article{padding:0 24px;margin-top:35px;margin-bottom:55px}.contact-grid{grid-template-columns:1fr;gap:40px}form{padding:23px}.form-pair{grid-template-columns:1fr;gap:0}.address{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
