:root{--bg:#f7f7f3;--ink:#263632;--muted:#6d7a72;--line:#dee3da;--accent:#496d5a;--light:#e8eee6;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;flex:none}.symbols{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1210px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;z-index:10;top:-100px;left:10px;padding:10px 16px;background:#fff}.skip:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #709d7d;outline-offset:4px}.header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:43px;height:43px;border-radius:12px;background:var(--ink);color:#f4f5ef;display:grid;place-items:center;font-size:21px;font-weight:700;letter-spacing:-1.5px;line-height:1}.brand-mark span{color:#bddb9e}.brand-name{font-size:14px;font-weight:700;line-height:1.2}.brand-name small{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:5px}.header nav{display:flex;gap:39px;align-items:center}.header nav a{font-size:13px;font-weight:500;transition:color .2s}.header nav a:hover,.inline-link:hover,.footer-links a:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:1fr 405px;gap:90px;align-items:center;padding-top:105px;padding-bottom:105px}.hero-copy{max-width:630px}.eyebrow,.section-index,.project-kind{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--accent);margin:0 0 24px}.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8bb497;vertical-align:middle;margin-right:8px}.hero h1,.introduction h2,.section-header h2,.contact h2{font-family:var(--serif);font-weight:400;letter-spacing:-2px;line-height:1.08;margin:0}.hero h1{font-size:clamp(70px,7.2vw,106px)}h1 em,h2 em{font-weight:400;color:var(--accent)}.hero-intro{font-size:18px;line-height:1.75;color:var(--muted);max-width:500px;margin:25px 0 31px}.hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;font-size:13px;font-weight:600;min-height:49px;padding:0 21px;border-radius:7px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}.button svg{width:16px;height:16px}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:#3b5a4b}.button-text{background:transparent;color:var(--ink)}.button-text:hover{background:#e9eee6}.hero-art{height:385px;background:#e5ebe3;border:1px solid #dce5d9;border-radius:4px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;color:#597164;position:relative;overflow:hidden}.art-label,.art-caption{display:flex;justify-content:space-between;align-items:start;font-size:9px;line-height:1.65;letter-spacing:1.2px;font-weight:600;z-index:1}.art-label span:last-child,.art-caption span:last-child{text-align:right}.art-center{position:absolute;inset:35px;display:grid;place-items:center}.art-monogram{font-family:var(--serif);font-size:120px;letter-spacing:-9px;line-height:1;color:#526d5d;transform:translateX(-4px)}.art-monogram span{font-size:88px}.art-monogram i{font-style:normal;color:#9fc48e;font-size:75px;letter-spacing:0}.art-halo{position:absolute;border:1px solid #b5c8b0;border-radius:50%;width:220px;height:220px}.halo-two{width:275px;height:275px;border-color:#c7d6c4}.introduction{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:32px;padding-top:88px;padding-bottom:100px}.section-index{color:#7e8b80;margin-bottom:20px}.introduction h2,.section-header h2,.contact h2{font-size:clamp(39px,4vw,59px)}.introduction p:not(.section-index){max-width:590px;font-size:16px;line-height:1.85;color:var(--muted);margin:24px 0}.inline-link{display:inline-flex;align-items:center;gap:17px;font-size:13px;font-weight:600;padding-bottom:6px;border-bottom:1px solid #bdcbbd;transition:color .2s}.inline-link svg{width:16px;height:16px}.explore{padding:15px 0 110px}.section-header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:42px}.section-header h2{font-size:clamp(38px,4vw,56px)}.section-header p:not(.section-index){font-size:13px;line-height:1.8;color:var(--muted);margin:0}.destination-list{border-top:1px solid var(--line)}.destination{display:grid;grid-template-columns:60px 1fr 210px 44px;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.destination .number{font-size:11px;color:#9aa69b;align-self:start;padding-top:8px}.destination-name h3{font-size:22px;letter-spacing:-.5px;font-weight:600;margin:0 0 4px}.destination-name p{font-size:13px;color:var(--muted);margin:0}.destination-type{font-size:9px;color:#8a978b;font-weight:700;letter-spacing:1px}.arrow-icon{width:39px;height:39px;border:1px solid #cbd6c9;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s}.arrow-icon svg{width:16px;height:16px}.destination:hover .arrow-icon{background:var(--ink);color:#fff;border-color:var(--ink)}.work-section{background:#edf0ea;border-block:1px solid #e2e7de}.work-inner{padding-block:92px 105px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:#fafbf8;border:1px solid #e0e6dd;border-radius:6px;min-height:232px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .2s,transform .2s}.project-card:hover{transform:translateY(-3px);border-color:#a9bda8}.project-top{display:flex;justify-content:space-between;align-items:start}.project-top>svg{width:17px;height:17px;color:#809181}.project-icon{width:38px;height:38px;background:#e8eee5;border-radius:9px;display:grid;place-items:center;font:19px var(--serif);color:#53715b}.project-kind{font-size:9px;color:#8b9c8d;margin:0 0 7px}.project-card h3{font-size:19px;font-weight:600;letter-spacing:-.5px;margin:0 0 6px}.project-card p:last-child{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.contact{padding-block:100px 110px;display:flex;justify-content:space-between;align-items:end;gap:45px}.contact p:not(.section-index){font-size:15px;color:var(--muted);max-width:440px;margin:22px 0 0}.contact-actions{min-width:255px;display:flex;align-items:start;flex-direction:column;gap:15px}.contact-actions .button{min-width:150px}.email{font-size:13px;font-weight:600}.brief-link{font-size:12px;color:var(--accent)}.brief-link span{padding-left:7px}footer{background:#253731;color:#eef3ec}.footer-inner{padding-block:52px 23px}.footer-name{font-size:20px;font-weight:700;letter-spacing:-.7px}.footer-name span{color:#a8c8a1}.footer-inner p{font-size:12px;color:#b3c3b4;margin:5px 0}.footer-links{display:flex;gap:26px;margin:32px 0}.footer-links a{font-size:12px}.footer-links a:hover{color:#b4d7b0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #526258;padding-top:20px;font-size:11px;color:#b5c5b8}.footer-bottom button{color:inherit;display:flex;gap:7px;align-items:center;background:none;border:0;padding:8px;font-size:11px}.footer-bottom button:hover,.footer-bottom a:hover{color:white}.footer-bottom svg{height:14px;width:14px}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;max-width:460px;width:calc(100% - 30px);max-height:calc(100dvh - 30px);overflow:auto;color:var(--ink);background:var(--bg);box-shadow:0 25px 90px #17261e33}dialog::backdrop{background:#1a2922a6;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-heading .section-index{margin:0 0 10px}.dialog-heading h2{font:35px/1.1 var(--serif);margin:0}.close{height:35px;width:35px;border:1px solid #d4ded1;border-radius:50%;background:transparent;font-size:23px;line-height:1;color:var(--ink)}.dialog-note{font-size:13px;line-height:1.7;color:var(--muted)}.dialog-note.small{font-size:11px}.empty{font-size:12px;color:var(--muted);padding:12px 0}.shortcut{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.shortcut a{display:flex;justify-content:space-between;flex:1;font-size:14px;font-weight:600;gap:15px}.shortcut button{font-size:20px;background:none;border:0;color:var(--muted);padding:0 6px}details{border-top:1px solid var(--line);margin-top:15px}summary{display:flex;justify-content:space-between;list-style:none;padding:17px 0;cursor:pointer;font-size:13px;font-weight:600}summary::-webkit-details-marker{display:none}form{display:grid;gap:8px}form label{font-size:12px;font-weight:600}form input{width:100%;border:1px solid #cad7c9;padding:12px;background:#fff;color:var(--ink);border-radius:6px;margin-bottom:8px}form .button{justify-content:space-between}.message{font-size:12px;color:#99523f;min-height:16px}
@media(max-width:1000px){.hero{grid-template-columns:1fr 310px;gap:40px;padding-block:80px}.hero-art{height:330px}.introduction{grid-template-columns:1fr 1.7fr}.destination{grid-template-columns:40px 1fr 150px 40px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{min-height:78px}.brand{gap:9px}.brand-mark{width:38px;height:38px;font-size:19px}.brand-name{font-size:12px}.brand-name small{font-size:10px}.header nav{gap:14px}.header nav a{font-size:12px;padding:12px 0}.hero{grid-template-columns:1fr;gap:45px;padding-block:68px 65px}.hero h1{font-size:clamp(64px,13vw,83px)}.hero-intro{font-size:16px;line-height:1.75;margin-block:20px 26px}.hero-art{height:265px}.art-halo{width:170px;height:170px}.halo-two{width:215px;height:215px}.art-monogram{font-size:100px}.art-monogram span{font-size:72px}.introduction{grid-template-columns:1fr;gap:0;padding-block:64px 72px}.introduction h2,.section-header h2,.contact h2{font-size:42px;letter-spacing:-1.4px}.introduction p:not(.section-index){font-size:14px;margin-block:20px}.explore{padding:0 0 70px}.section-header{display:block;margin-bottom:27px}.section-header p:not(.section-index){margin-top:15px}.section-header .inline-link{margin-top:18px}.destination{grid-template-columns:25px 1fr 35px;gap:12px;padding:22px 0}.destination-name h3{font-size:19px}.destination-name p{font-size:12px;line-height:1.7}.destination-type{display:none}.arrow-icon{width:34px;height:34px}.work-inner{padding-block:65px 70px}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{min-height:185px;padding:22px}.contact{padding-block:70px;display:block}.contact p:not(.section-index){font-size:14px}.contact-actions{margin-top:25px;gap:14px}.footer-inner{padding-block:40px 20px}.footer-bottom{flex-wrap:wrap}.footer-links{margin-block:25px}.footer-bottom button{margin-left:auto}.footer-bottom>a{width:100%;padding-top:3px}}
@media(max-width:360px){.brand-name small{display:none}.header nav{gap:10px}.header nav a{font-size:11px}.brand-name{font-size:11px}.hero h1{font-size:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.brand-mark{display:block;text-align:center;line-height:43px}
@media(max-width:700px){.brand-mark{line-height:38px}}

/* A simple portrait with an integrated caption. */
.portrait-card{padding:0;margin:0;display:flex;flex-direction:column;justify-content:stretch;background:#edf0ea;border:1px solid #dce5d9;border-radius:6px;overflow:hidden}
.portrait-image{display:block;width:100%;height:calc(100% - 65px);object-fit:cover;object-position:center 25%;flex:none}
.portrait-caption{height:65px;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef2eb;color:#263632}
.portrait-caption strong,.portrait-caption div>span{display:block;line-height:1.4}
.portrait-caption strong{font-size:13px;font-weight:700}
.portrait-caption div>span{font-size:11px;color:#6d7a72;margin-top:2px}
.portrait-location{font-size:9px;letter-spacing:1.1px;font-weight:700;color:#75867a;white-space:nowrap}
@media(max-width:700px){.hero-art.portrait-card{height:360px}.portrait-image{object-position:center 18%}.portrait-caption{padding-inline:16px}}
@media(max-width:360px){.hero-art.portrait-card{height:320px}}

/* Main-site message form */
.contact{align-items:start}.contact-copy{max-width:520px}.contact-copy .contact-direct{font-size:13px;margin-top:30px}.contact-direct a{font-weight:600;color:var(--ink);border-bottom:1px solid #b6c8b6;overflow-wrap:anywhere}
.contact-form{width:min(100%,480px);background:#fff;border:1px solid #dfe6dc;border-radius:10px;padding:30px;box-shadow:0 12px 35px #30413208}
.form-heading{margin-bottom:25px}.form-heading h3{font-size:21px;letter-spacing:-.5px;margin:0 0 4px}.form-heading p{font-size:12px;color:#6d7a72;margin:0}
.contact-fields{display:grid;gap:7px}.contact-fields label{font-size:12px;font-weight:600;margin-top:5px;color:#344940}.contact-fields input,.contact-fields textarea{width:100%;font:14px/1.5 var(--sans);border:1px solid #cbd8ca;border-radius:6px;padding:12px 13px;background:#fff;color:#263632;margin:0 0 7px}.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:#859088;opacity:1}.contact-fields textarea{resize:vertical;min-height:126px}.contact-fields input:focus,.contact-fields textarea:focus{outline:2px solid #8eb29a;outline-offset:1px}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:#52645a;margin:13px 0}.contact-consent input{width:16px;height:16px;accent-color:#496d5a;flex:none;margin:2px 0 0}.challenge-wrap{margin:16px 0}.challenge-status{font-size:12px;line-height:1.6;color:#6d7a72;margin:7px 0}.contact-submit{width:100%;justify-content:space-between}.contact-submit:disabled{cursor:not-allowed;opacity:.52}.contact-result{font-size:12px;line-height:1.7;margin-top:12px;color:#8c4336;overflow-wrap:anywhere}.contact-result:empty{display:none}.contact-result.success{color:#376249}.contact-form .form-heading p{margin:0;font-size:12px}
@media(max-width:700px){.contact-form{margin-top:31px;padding:23px}.contact-copy .contact-direct{font-size:13px;margin-top:22px}}

.contact-consent input{padding:0;border:0;border-radius:2px}.form-privacy{font-size:11px;line-height:1.65;color:#6d7a72;margin:12px 0}.form-privacy a{color:#496d5a;text-decoration:underline;text-underline-offset:2px}

/* Reveal the contact form on request. */
.contact-reveal{width:min(100%,480px)}.contact-reveal .contact-toggle{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:16px 21px;font-size:14px;font-weight:600}.contact-toggle::-webkit-details-marker{display:none}.contact-toggle:focus-visible{outline:2px solid #496d5a;outline-offset:4px}.contact-reveal[open] .contact-form{margin-top:20px}.contact-reveal[open] .contact-toggle svg{transform:rotate(45deg)}@media(max-width:700px){.contact-reveal{width:100%;margin-top:25px}.contact-reveal[open] .contact-form{margin-top:20px}}
