:root{--ink:#203748;--muted:#62717a;--paper:#f8faf9;--blue:#e1edf3;--line:#dce3e5;--accent:#547b8a;--serif:'Lora',Georgia,serif;--sans:'Source Sans Pro',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
button,a,input,textarea,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #507e97;outline-offset:5px}
::selection{background:#cde3ee;color:#153047}
.wrap{width:calc(100% - 96px);max-width:1120px;margin-inline:auto}
h1,h2,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400}
h1{font-size:42px;line-height:1.25;letter-spacing:-.035em}
h2{font-size:29px;line-height:1.3;letter-spacing:-.025em}
.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);background:white;z-index:100;padding:10px 18px}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:20;background:#f8faf9f5;backdrop-filter:blur(16px);border-bottom:1px solid #dce3e570}
.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.wordmark{font:400 26px/1.3 var(--serif);letter-spacing:-.045em;position:relative;white-space:nowrap}
.wordmark-line{height:6px;background:#d7e9f0;position:absolute;bottom:0;left:0;right:0;z-index:-1;transition:height .3s}
.wordmark:hover .wordmark-line{height:12px}
.nav-links{display:flex;gap:36px;align-items:center;font-size:17px}
.nav-links a{position:relative;padding:10px 0}
.nav-links a::after{content:'';position:absolute;bottom:5px;height:1px;background:var(--ink);left:0;width:0;transition:width .25s}
.nav-links a:hover::after,.nav-links a[aria-current]::after{width:100%}
.menu-toggle{display:none}
.home-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding:64px 0}
.hero-copy h1{font-size:40px;margin-bottom:26px}
.hero-intro{max-width:530px;font-size:18px;color:var(--muted);margin-bottom:28px}
.text-link{display:inline-flex;gap:30px;align-items:center;font-size:16px;border-bottom:1px solid #9cb1bc;padding-bottom:6px}
.text-link span{font-size:22px;transition:transform .25s}
.text-link:hover span{transform:translate(3px,-3px)}
.horizon{position:relative;height:430px;aspect-ratio:1.1;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#f4f5e5 0,transparent 34%),linear-gradient(180deg,#e7f0f4 0%,#edf3f4 45%,#d9e8ed 100%);border:1px solid #d9e6eb;border-radius:50% 50% 3px 3px}
.horizon-fallback{position:absolute;top:0;left:0;inset:0;width:100%;height:100%;z-index:1}.horizon.has-canvas .horizon-fallback{visibility:hidden}.horizon canvas{position:absolute;top:0;left:0;width:100%;height:100%;inset:0;z-index:2}
.horizon-sun{position:absolute;left:calc(50% - 26px);top:30%;height:52px;width:52px;border-radius:50%;background:#efe6ca;box-shadow:0 0 70px 20px #f8f4dd9c}
.home-property{margin-bottom:65px}
.home-photo{position:relative;overflow:hidden;height:0;padding-bottom:40%;background:var(--blue)}
.home-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.photo-annotation{display:flex;justify-content:space-between;gap:16px;padding-top:13px;font-size:13px;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:30px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.footer-brand{font:20px var(--serif);letter-spacing:-.04em}
.site-footer>div{display:flex;gap:28px;font-size:15px}
.site-footer a:hover{color:var(--accent)}
.page-intro{padding:52px 0 34px}
.page-intro h1{margin:0}
.portfolio-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;gap:16px}
.portfolio-filters{display:flex;gap:9px;flex-wrap:wrap}
.portfolio-filters button{font-size:15px;background:transparent;border:1px solid transparent;border-radius:3px;padding:7px 14px;color:var(--muted);transition:background .2s,color .2s}
.portfolio-filters button[aria-pressed=true]{color:var(--ink);background:#e4eef2;border-color:#dae6eb}
.portfolio-filters button:hover{color:var(--ink);background:#edf2f3}
#portfolio-count{color:var(--muted);font-size:14px;white-space:nowrap}
.investment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;row-gap:40px}
.property{min-width:0}
.property-image{position:relative;overflow:hidden;background:#e8edef;height:0;padding-bottom:66.6667%}
.photo-button{position:absolute;top:0;left:0;display:block;width:100%;height:100%;padding:0;border:0;background:none;text-align:inherit}
.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s,opacity .4s}
.photo-button:hover img{transform:scale(1.035)}
.photo-expand{position:absolute;bottom:11px;right:12px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--ink);background:#f8faf9e8;font-size:18px;opacity:0;transition:opacity .25s}
.photo-button:hover .photo-expand,.photo-button:focus-visible .photo-expand{opacity:1}
.status-badge{position:absolute;left:12px;top:12px;z-index:1;pointer-events:none;background:#f8faf9ec;color:#465963;border:1px solid #fff8;padding:3px 9px;font-size:12px}
.is-exited .photo-button img{filter:grayscale(1);opacity:.5}
.is-exited .photo-button:hover img{filter:grayscale(.65);opacity:.7}
.is-exited h2,.is-exited p{color:#67757e}
.property-heading{margin-top:16px}
.property h2{font-size:20px;line-height:1.35;letter-spacing:-.025em;margin-bottom:5px}
.property p{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:0}
.acquisition-date{font-size:12px;color:#6f828c;display:block;margin:6px 0}
.rendering-label{position:absolute;bottom:10px;left:12px;background:#f8faf9e0;padding:2px 6px;font-size:11px;pointer-events:none}
.portfolio-footnote{margin:45px 0 60px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--muted)}
[hidden]{display:none!important}
.team{margin:0 0 55px}
.team-member{display:grid;grid-template-columns:260px 1fr;gap:60px;border-top:1px solid var(--line);padding:40px 0}
.team-photo{align-self:start}
.team-photo img{width:100%;height:auto;object-fit:cover;filter:grayscale(1)}
.team-bio h2{margin:0 0 5px}
.team-bio .team-role{font-size:16px;margin-bottom:20px;color:var(--accent)}
.team-bio p:not(.team-role){font-size:17px;color:var(--muted);margin-bottom:16px;max-width:650px}
.contact-layout{max-width:680px;width:calc(100% - 96px);padding-top:52px;padding-bottom:65px}
.contact-layout h1{font-size:40px;margin-bottom:30px}
.contact-panel{padding:32px;background:#fff;border:1px solid var(--line)}
.contact-panel label{display:block;font-size:15px;margin-bottom:7px}
.contact-panel input:not([type=hidden]),.contact-panel textarea,.contact-panel select{border:1px solid #d6e0e4;border-radius:2px;padding:11px 12px;width:100%;background:#fbfcfc;font-size:16px;margin-bottom:22px;min-width:0}
.contact-panel textarea{resize:vertical}
.contact-panel .field-hint{font-size:14px;color:var(--muted);margin:-14px 0 22px}
.contact-panel input:focus,.contact-panel textarea:focus,.contact-panel select:focus{background:#fff;border-color:#8aabba}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.primary-button{background:var(--ink);color:white;border:1px solid var(--ink);width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 18px;border-radius:2px;font-size:16px;transition:background .2s}
.primary-button:hover{background:#385668}
.primary-button:disabled{opacity:.55;cursor:default}
.form-status{font-size:14px;margin:15px 0;color:#526e7d}
.form-status:empty{display:none}
.form-status.is-error{color:#944536}
.thank-you{padding-top:65px;padding-bottom:100px}
.thank-you>p{color:var(--muted)}
.photo-dialog{width:calc(100% - 40px);max-width:1000px;max-height:92vh;max-height:92dvh;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #152b4540;overflow:auto}
.photo-dialog::backdrop{background:#152633b8;backdrop-filter:blur(5px)}
.photo-dialog>img{width:100%;max-height:75vh;max-height:75dvh;object-fit:contain;background:#172c3c}
.dialog-caption{padding:18px 24px;font-size:16px}
.dialog-close{position:absolute;right:12px;top:12px;border:1px solid #ffffff66;background:#f8faf9eb;color:var(--ink);border-radius:50%;font:28px/1 var(--sans);width:44px;height:44px;z-index:1}
.js [data-reveal].will-reveal{opacity:0;transform:translateY(16px)}
[data-reveal]{transition:opacity .65s,transform .65s}
.js [data-reveal].is-visible{opacity:1;transform:none}
@media(min-width:1500px){.wrap{width:calc(100% - 120px);max-width:1220px}.contact-layout{width:680px}.investment-grid{gap:44px 36px}}
@media(max-width:900px){
 .wrap{width:calc(100% - 56px)}.nav{height:86px}.wordmark{font-size:24px}.nav-links{gap:25px}
 .home-hero{gap:35px;padding:45px 0}.hero-copy h1{font-size:34px}.hero-intro{font-size:17px}.horizon{aspect-ratio:.8}
 .investment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-member{grid-template-columns:210px 1fr;gap:35px}.contact-layout{width:calc(100% - 56px)}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 40px)}h1{font-size:32px}h2{font-size:26px}
 .nav{height:auto;min-height:76px;flex-wrap:wrap;gap:0;padding:16px 0}.wordmark{font-size:23px}
 .nav-links{width:100%;justify-content:space-between;gap:18px;font-size:17px}.nav-links a{min-height:44px;display:flex;align-items:center}
 .js .nav{height:76px;flex-wrap:nowrap;gap:16px}.js .menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 0 6px 12px;border:0;background:transparent;font-size:16px}
 .menu-toggle span{width:18px;height:12px;position:relative}.menu-toggle span::before,.menu-toggle span::after{content:'';position:absolute;left:0;right:0;height:1px;background:var(--ink);transition:transform .2s,top .2s}.menu-toggle span::before{top:2px}.menu-toggle span::after{top:10px}
 .menu-toggle[aria-expanded=true] span::before{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span::after{top:6px;transform:rotate(-45deg)}
 .js .nav-links{display:none;position:absolute;left:0;right:0;top:100%;width:100%;padding:12px 20px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 20px #2037480a}
 .js .nav-links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.nav-links a::after{display:none}.nav-links a[aria-current]{color:var(--accent)}
 .home-hero{grid-template-columns:1fr;gap:32px;padding:34px 0}.hero-copy h1{font-size:31px;margin-bottom:20px}.hero-intro{font-size:17px;margin-bottom:23px;max-width:none}
 .horizon{height:250px;aspect-ratio:1.4;width:100%;max-height:300px}.horizon-sun{top:22%;width:40px;height:40px;left:calc(50% - 20px)}
 .home-photo{padding-bottom:71.4286%}.home-property{margin-bottom:40px}.photo-annotation{font-size:12px}.photo-annotation span:first-child{max-width:70%}
 .site-footer{padding-top:25px;gap:16px}.site-footer>div{gap:25px;flex-basis:100%;font-size:16px}
 .page-intro{padding:32px 0 25px}.page-intro h1{font-size:32px}
 .portfolio-toolbar{align-items:flex-start;flex-direction:column;padding:10px 0;gap:8px;margin-bottom:25px}.portfolio-filters{gap:2px}.portfolio-filters button{font-size:15px;min-height:44px;padding:7px 10px}#portfolio-count{font-size:14px}
 .investment-grid{grid-template-columns:1fr;gap:32px}.property h2{font-size:21px}.property p{font-size:15px}.photo-expand{opacity:1}.portfolio-footnote{margin:35px 0 40px}
 .team-member{grid-template-columns:1fr;gap:24px;padding:30px 0}.team-photo{max-width:250px}.team-bio h2{font-size:27px}.team{margin-bottom:25px}
 .contact-layout{padding-top:32px;padding-bottom:40px}.contact-layout h1{font-size:30px;margin-bottom:25px}.contact-panel{padding:24px 16px}.form-row{grid-template-columns:1fr;gap:0}
 .thank-you{padding-top:40px;padding-bottom:65px}.dialog-caption{padding:14px;font-size:15px}
}
@media(max-width:360px){.js .nav{gap:8px}.wordmark{font-size:21px}.js .menu-toggle{font-size:15px;padding-left:0;gap:8px}.hero-copy h1{font-size:28px}.contact-layout h1{font-size:27px}.contact-panel [data-netlify-recaptcha]{transform:scale(.8);transform-origin:top left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js [data-reveal].will-reveal{opacity:1;transform:none}}

@supports(aspect-ratio:1){.horizon{height:auto}}
