:root{--paper:#f6f3eb;--white:#fffefa;--ink:#233d35;--green:#244e43;--teal:#266b68;--muted:#5c6c61;--gold:#aa8142;--line:#d8dfd4;--serif:Georgia,'Times New Roman',serif;--body:'Trebuchet MS',Trebuchet,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.symbols{position:absolute;width:0;height:0;overflow:hidden}img{display:block;max-width:100%;height:auto}p{margin:0 0 1.25em}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;letter-spacing:-.035em}h1{font-size:clamp(43px,5.1vw,74px)}h2{font-size:clamp(35px,4vw,52px)}h3{font-size:29px;letter-spacing:-.025em}em{font-weight:400;color:var(--teal)}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.16em;color:var(--green);margin-bottom:22px}.section-space{padding-block:100px}.skip{position:fixed;top:-100px;left:16px;background:var(--green);color:white;z-index:100;padding:12px 20px}.skip:focus{top:15px}.header{background:rgba(246,243,235,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:99px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;font-size:20px;letter-spacing:.065em;line-height:1.4;font-weight:700;display:block}.brand small{font-size:12px;vertical-align:super;letter-spacing:0}.brand-sub{display:block;font-size:11px;font-weight:400;letter-spacing:.045em;color:var(--muted);margin-top:2px}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a{text-decoration:none}nav a:hover{color:var(--teal)}nav .nav-contact{border:1px solid var(--green);padding:11px 17px;border-radius:3px}nav .nav-contact span{margin-left:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;column-gap:6%;padding-top:66px}.hero-copy{padding-top:26px;padding-bottom:25px}.hero-intro{font-size:19px;line-height:1.65;max-width:510px;margin-top:30px;margin-bottom:18px}.hero-more{font-size:16px;color:var(--muted);max-width:490px}.actions{display:flex;align-items:center;gap:30px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:49px;padding:13px 22px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:3px;text-decoration:none;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.button svg{width:18px;height:18px}.button:hover{background:#183d33;transform:translateY(-2px)}.text-link{text-decoration:none;font-size:13px;font-weight:700}.text-link span{margin-left:12px}.portrait{margin:0;position:relative;padding-bottom:34px;align-self:center}.portrait img{border-radius:120px 5px 5px 5px;width:100%;aspect-ratio:1;object-fit:cover}.portrait:before{content:'';position:absolute;inset:-14px 16px 55px -14px;border:1px solid #bdb998;border-radius:132px 3px 3px 3px;z-index:-1}.portrait figcaption{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px;padding-top:12px}.caption-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.hero-note{font-size:11px;letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;margin:35px 0 58px;color:var(--muted)}.book-banner{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;border:1px solid #d9ddc7;background:#e9eddf;border-radius:5px;padding:49px 54px;overflow:hidden}.book-banner .eyebrow{margin-bottom:15px}.book-subtitle{font-size:18px;margin:13px 0 24px}.book-intro>p:not(.eyebrow):not(.book-subtitle){max-width:620px;font-size:16px}.book-banner .button{margin-top:6px}.section-intro{display:flex;gap:80px;justify-content:space-between;align-items:flex-end;margin-bottom:43px}.section-intro .eyebrow{margin-bottom:16px}.section-intro>p{max-width:445px;color:var(--muted);margin-bottom:3px;font-size:16px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:29px}.project{text-decoration:none;background:var(--white);border:1px solid #e3e4db;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.project:hover{transform:translateY(-4px);box-shadow:0 14px 25px #233d3510}.project-body{padding:29px 29px 27px;flex:1;display:flex;flex-direction:column}.project-body>.eyebrow{font-size:9px;color:var(--project);margin-bottom:12px;letter-spacing:.12em}.project-body>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted);margin-top:18px;margin-bottom:26px}.project-action{color:var(--project);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.project-action svg{width:19px;height:19px;flex:none;transition:transform .2s}.project:hover .project-action svg{transform:translateX(4px)}.about-section{background:#ebece3;border-top:1px solid #dce1d3;border-bottom:1px solid #dce1d3}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-heading h2{font-size:clamp(34px,3.4vw,46px);line-height:1.2}.about-heading .eyebrow{margin-bottom:24px}.signature{font:italic 36px/1.1 var(--serif);color:var(--teal);margin-top:39px;letter-spacing:-.055em}.location{font-size:12px;line-height:1.7;color:var(--muted);margin-top:18px}.about-copy p{font-size:16px}.about-copy .lead{font-size:21px;line-height:1.55}.story{margin-top:29px;border-top:1px solid #c5cdbf;border-bottom:1px solid #c5cdbf}.story summary{cursor:pointer;padding:19px 0;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;list-style:none}.story summary::-webkit-details-marker{display:none}.plus{font-size:24px;line-height:1;font-weight:400}.story[open] .plus{transform:rotate(45deg)}.story-content{padding-top:6px;padding-bottom:4px}.place{display:grid;grid-template-columns:.85fr 1.2fr;gap:95px;align-items:center}.place h2{font-size:36px;margin-bottom:26px}.place p{font-size:16px}.place-mark{align-self:center;background:#eeecdf;border-radius:50% 50% 3px 3px;padding:28px 20px 32px;color:#8a986e;display:flex;flex-direction:column;align-items:center}.place-mark svg{width:100%;max-width:330px;stroke-width:1.1}.place-mark span{font-size:9px;letter-spacing:.16em;color:#66744e}.connect{background:var(--green);color:var(--paper);padding:79px 0 76px}.connect-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:100px;align-items:center}.connect .eyebrow{color:#c9d8b9;margin-bottom:17px}.connect h2{font-size:58px;margin-bottom:23px}.connect p:not(.eyebrow){max-width:590px;font-size:17px;color:#e0e6da}.email-link{display:inline-block;font-size:clamp(17px,2.15vw,26px);text-decoration:none;color:#ecd9b0;line-height:1.4;border-bottom:1px solid #94a28c;padding-bottom:9px;overflow-wrap:anywhere}.email-link span{display:inline-block;margin-left:7px}.copy-row{display:flex;flex-wrap:wrap;gap:12px;min-height:28px;margin-top:13px;align-items:center}.copy-email{background:none;border:0;color:#dae1d3;padding:5px 0;font-size:11px;text-decoration:underline;text-underline-offset:4px}.copy-status{font-size:11px;color:#e9d8b5}.connect-paths a{display:block;padding:25px 0;text-decoration:none;border-top:1px solid #63806f;font-size:15px}.connect-paths a:last-child{border-bottom:1px solid #63806f}.connect-paths a>span:first-child{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#c9d8b9;margin-bottom:7px}.connect-paths a>span:last-child{margin-left:4px}.connect-paths a:hover{color:#ecd9b0}.footer{padding-block:42px;display:flex;justify-content:space-between;gap:55px}.footer .brand{font-size:16px}.footer p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:10px;margin-bottom:0}.footer-meta{max-width:470px;text-align:right}.footer-meta .disclaimer{font-size:10px;margin-top:7px}.back-top{font-size:11px;text-decoration:none;display:inline-block;margin-top:10px;color:var(--teal)}
@media(min-width:1450px){.hero{padding-top:82px}.hero-copy{padding-top:45px}.hero-note{margin-top:45px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero-copy{padding-top:8px}.hero-intro{font-size:17px}.hero-more{font-size:15px}nav{gap:22px}.header-inner{gap:15px}.book-banner{padding:40px;gap:25px}.about-layout{gap:48px}.section-intro{gap:35px}.section-intro>p{max-width:360px}.connect-layout{gap:55px}.place{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:85px}body{font-size:17px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:79px}.brand{font-size:17px}.brand-sub{font-size:9px}.menu-toggle{background:none;border:1px solid #bfcbbd;color:var(--ink);border-radius:3px;padding:9px 10px;min-height:44px;display:flex;gap:7px;align-items:center;font-size:12px}.menu-toggle svg{width:19px;height:19px}nav{position:absolute;left:0;right:0;top:79px;background:var(--paper);padding:12px 20px 20px;border-bottom:1px solid var(--line);display:none;align-items:stretch;gap:0;font-size:15px}nav.is-open{display:flex;flex-direction:column}nav a{padding:12px 0}nav .nav-contact{margin-top:7px;padding:12px 14px}.hero{grid-template-columns:1fr;padding-top:38px;gap:26px}.hero-copy{padding:0}.hero .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:18px}h1{font-size:clamp(39px,8.9vw,62px);line-height:1.14}.hero-intro{font-size:18px;margin-top:23px}.hero-more{font-size:16px}.actions{margin-top:27px;gap:24px}.portrait{margin-top:13px;max-width:520px;width:100%;justify-self:center;padding-bottom:28px}.portrait img{border-top-left-radius:80px}.portrait:before{inset:-9px 10px 46px -8px;border-top-left-radius:89px}.hero-note{font-size:9px;line-height:1.7;letter-spacing:.07em;margin:0 0 33px}.book-banner{grid-template-columns:1fr;padding:31px 25px;gap:12px}.book-banner h2{font-size:38px}.book-subtitle{font-size:16px}.book-intro>p:not(.eyebrow):not(.book-subtitle){font-size:16px}.book-banner .button{margin-top:10px}.section-space{padding-block:60px}.section-intro{display:block;margin-bottom:29px}.section-intro>p{margin-top:22px;max-width:none}.section-intro .eyebrow{font-size:10px;margin-bottom:12px}.project-grid{grid-template-columns:1fr;gap:23px}.project-body{padding:25px}.project-body>p:not(.eyebrow){font-size:17px;margin-top:17px;margin-bottom:24px}h3{font-size:29px}.project-action{font-size:12px}.about-layout{grid-template-columns:1fr;gap:25px}.about-heading h2{font-size:37px}.desktop-break{display:none}.signature{font-size:31px;margin-top:28px}.location{font-size:12px}.about-copy p{font-size:17px}.about-copy .lead{font-size:21px}.place{grid-template-columns:1fr;gap:34px}.place-mark{max-width:280px;justify-self:center;order:2;width:100%;padding:13px 19px 27px}.place h2{font-size:33px;line-height:1.2}.place p{font-size:17px}.connect{padding:55px 0}.connect-layout{grid-template-columns:1fr;gap:35px}.connect h2{font-size:48px}.connect .eyebrow{font-size:10px}.email-link{font-size:clamp(17px,5vw,25px)}.connect-paths a{padding:20px 0}.footer{padding-block:32px;flex-direction:column;gap:15px}.footer-meta{text-align:left}.footer p{font-size:11px}.footer-meta .disclaimer{font-size:10px}.button{min-height:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header{position:static}nav,.menu-toggle,.copy-row,.back-top{display:none!important}.wrap{width:92%}.section-space{padding-block:35px}.project{break-inside:avoid}.hero{padding-top:20px}.connect{background:white;color:var(--ink)}.connect p:not(.eyebrow),.connect .eyebrow,.email-link{color:var(--ink)}details:not([open]) .story-content{display:block}h1{font-size:40px}body{font-size:12px}}

/* Project photographs: meaningful, responsive banners rather than line artwork. */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-image{overflow:hidden;background:#e5e9de;aspect-ratio:16/9}
.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.project:hover .project-image img{transform:scale(1.035)}
.project-body{padding:25px 24px 24px}
.project-body h3{font-size:27px;line-height:1.15}
.project-body>p:not(.eyebrow){font-size:15px}
.project-body>.eyebrow{font-size:8px;letter-spacing:.1em}
.project-action{font-size:11px;line-height:1.5}
.image-note{margin:22px 0 0;font-size:11px;color:var(--muted)}
.book-photo{margin:0;align-self:center;min-width:0}
.book-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:80px 4px 4px 4px}
.book-photo figcaption{font-size:10px;color:var(--muted);margin-top:10px;letter-spacing:.04em}
@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-body h3{font-size:29px}}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-body{padding:25px}.project-body>p:not(.eyebrow){font-size:17px}.project-body>.eyebrow{font-size:9px}.project-action{font-size:12px}.book-photo{margin-top:15px}.book-photo img{aspect-ratio:16/9;border-radius:4px}.book-banner{gap:15px}}

/* Authentic Crystal Waters photograph, sourced from the EcoPark page header. */
.place-photo{margin:0;align-self:center;min-width:0}.place-photo a{display:block;text-decoration:none}.place-photo img{width:100%;height:auto;border-radius:5px}.place-photo figcaption{font-size:12px;color:var(--teal);margin-top:12px;display:flex;justify-content:space-between}.place-photo a:hover figcaption{text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.place-photo{width:100%;order:0}.place{gap:30px}}

.project-tone-1{--project:#466d59}
.project-tone-2{--project:#276966}
.project-tone-3{--project:#8b713f}
.project-tone-4{--project:#3c745e}
.project-tone-5{--project:#617a48}
.project-tone-6{--project:#8d6a37}
.project-tone-7{--project:#627443}
.project-tone-8{--project:#77665e}
.project-tone-9{--project:#3d6477}
/* Readable small text, touch targets and clear conversion paths. */
.actions{flex-wrap:wrap;gap:16px 26px}
.hero-note,.portrait figcaption,.brand-sub,.location,.image-note,.place-photo figcaption{font-size:12px}
.eyebrow{font-size:12px;letter-spacing:.12em}
.project-body>.eyebrow{font-size:11px;letter-spacing:.07em}
.project-action{font-size:13px}
.footer p,.footer-meta .disclaimer,.back-top{font-size:12px}
.back-top,.copy-email{min-height:44px;display:inline-flex;align-items:center}
.copy-email{font-size:13px}
.book-roots{margin:0 0 23px;font-size:15px;max-width:550px;border-block:1px solid #bdc8b1}
.book-roots summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:700;min-height:44px}
.book-roots ul{padding-left:20px;margin:0 0 16px;line-height:1.8}
.contact-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.contact-options a{display:inline-flex;align-items:center;min-height:44px;padding:9px 12px;border:1px solid #8ca58d;border-radius:3px;color:#f6f3eb;font-size:12px;text-decoration:none}
.contact-options a:hover{background:#315e50}
@media(max-width:760px){.hero .eyebrow{font-size:11px}.project-body>.eyebrow{font-size:11px}.project-action{font-size:13px}.hero-note{font-size:11px}.actions{gap:14px 24px}.book-banner .button{width:100%;font-size:13px}.hero .button{font-size:13px}.hero-intro{margin-top:23px}}
@media(forced-colors:active){.project{border:1px solid CanvasText}.button{border:1px solid ButtonText}.caption-dot{background:CanvasText}}
