/* Turnbull Park: a dimensional land prospectus. Enhancement of the existing
   accessible presentation; this is not a measured 3D model of the property. */
:root{--ink:#182923;--paper:#f5f5f0;--lime:#d8e5bc;--muted:#56635c;--line:#cfd5cb;--dark-line:#3b4b40;--gutter:clamp(22px,5.4vw,100px);--ease:cubic-bezier(.22,.68,.15,1)}
html{scroll-padding-top:102px}
body{overflow-x:clip}
.site-header{height:82px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand-mark{border-color:#7c897a}
.site-header nav a{color:var(--ink)}
.site-header nav a:hover{color:#506d32}
.nav-cta{color:var(--ink);font-size:.875rem;min-height:44px}
.hero{min-height:0;height:auto;overflow:clip;background:var(--paper);color:var(--ink);isolation:auto;padding-bottom:0}
.hero-content{padding:52px var(--gutter) 20px;max-width:1800px;margin:auto}
.hero .eyebrow{color:var(--ink);font-size:.75rem;margin:0 0 37px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;max-width:none}
.hero-heading-row{display:grid;grid-template-columns:1fr 280px;gap:45px;align-items:end}
.hero h1{font-size:clamp(3.4rem,6.9vw,8rem);line-height:1.07;letter-spacing:-.07em;font-weight:500}
.hero h1 .title-line{display:block;color:var(--ink)}
.hero h1 .title-light{color:#738171}
.hero-aside{padding-bottom:6px}
.hero-description{margin:0;color:var(--muted);font-size:1rem;line-height:1.7;max-width:30ch}
.hero-aside .text-link{margin-top:23px;font-size:.9rem;gap:18px}
.hero-record-link{display:block;margin-top:15px;font-size:.8rem;color:var(--muted)}
.hero-scene{height:clamp(320px,43vw,720px);margin:32px var(--gutter) 0;perspective:1500px;position:relative}
.hero-board{position:absolute;inset:0;transform:rotateX(var(--hero-rx,7deg)) rotateY(var(--hero-ry,-2deg)) scale(var(--hero-scale,.95));transform-origin:50% 65%;background:#293c30;box-shadow:0 24px 50px -24px #15281870;will-change:transform;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;z-index:auto;transform:scale(1.04)}
.hero-board-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b211bcc,transparent 40%)}
.hero-board-caption{position:absolute;bottom:28px;left:32px;right:32px;display:flex;justify-content:space-between;gap:24px;align-items:end;color:white}
.hero-board-caption>span:first-child{font-size:1.35rem;letter-spacing:.1em;font-weight:600}
.hero-board-caption small{font-size:.75rem;display:block;letter-spacing:.035em;font-weight:400;margin-top:5px}
.hero-board-caption .image-label{font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.015em;text-transform:none;border:0;padding:0;text-align:right;max-width:300px}
.hero-image-index{position:absolute;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;color:white;font-size:.7rem;letter-spacing:.12em;pointer-events:none;padding:7px 12px;background:#12241dcc;width:max-content;max-width:90%;gap:30px}
.hero-bottom{position:static;display:flex;justify-content:space-between;margin:30px var(--gutter) 36px;color:var(--muted);font-size:.875rem}
.hero-bottom .scroll-link{font-size:.875rem;color:var(--ink)}
@media(min-width:1800px){.hero h1{font-size:8rem}.hero-scene{max-width:1600px;margin-left:auto;margin-right:auto}}
@media(max-width:1050px){.hero-heading-row{grid-template-columns:1fr;gap:26px}.hero-aside{display:flex;align-items:center;justify-content:space-between;gap:22px}.hero-description{max-width:43ch}.hero-aside .text-link{margin:0;flex-shrink:0}.hero-record-link{display:none}.hero h1{font-size:clamp(3.4rem,8.3vw,6.8rem)}.hero{min-height:0}.site-header{height:76px}}
@media(max-width:760px){html{scroll-padding-top:86px}.site-header{height:72px}.hero-content{padding-top:30px;padding-bottom:0}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:28px}.hero .eyebrow>span{display:none}.hero h1{font-size:clamp(2.55rem,8.5vw,4.9rem);line-height:1.12;letter-spacing:-.065em}.hero-heading-row{gap:24px}.hero-aside{display:block}.hero-description{font-size:1rem;max-width:38ch}.hero-aside .text-link{margin-top:20px}.hero-scene{height:330px;margin:28px 14px 0;perspective:1000px}.hero-board{transform:rotateX(var(--hero-rx,5deg)) scale(var(--hero-scale,.98));box-shadow:0 17px 24px -19px #15281880}.hero-image{object-position:52% 50%}.hero-board-caption{left:20px;right:20px;bottom:20px;display:block}.hero-board-caption>span:first-child{font-size:1.05rem}.hero-board-caption small{display:none}.hero-board-caption .image-label{display:block;text-align:left;font-size:.75rem;margin-top:10px;max-width:90%}.hero-image-index{left:20px;top:17px;gap:16px;font-size:.65rem}.hero-bottom{margin:23px var(--gutter) 28px}.hero-bottom>span{display:none}.hero-bottom .scroll-link{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.hero-board{transform:none!important;will-change:auto}.hero-image{transform:none}}
@media print{.hero,.site-header{display:none!important}}

/* Shared navigation and sourced context. Records never tilt or parallax. */
.header-actions{display:flex;align-items:center;gap:24px}
.motion-toggle{border:1px solid #cbd2c6;background:transparent;color:var(--muted);padding:9px 12px;min-height:44px;font-size:.75rem;white-space:nowrap}
.motion-toggle span{color:var(--ink);font-weight:700;margin-left:3px}
.motion-toggle:disabled{cursor:default}
.site-header::after{content:"";height:2px;position:absolute;bottom:-1px;left:0;width:100%;background:#719152;transform:scaleX(var(--reading-progress,0));transform-origin:0 50%;pointer-events:none}
.record-strip{display:grid;grid-template-columns:.65fr 1fr 1fr 1.2fr;padding:28px var(--gutter);gap:32px;align-items:center;background:#e8ece1;border-top:1px solid #d3dbcd;border-bottom:1px solid #d3dbcd;font-size:.75rem;color:var(--muted)}
.record-strip-label{font-weight:650;text-transform:uppercase;letter-spacing:.09em;max-width:12ch}
.record-strip a{text-decoration:none}
.record-strip a:hover strong{text-decoration:underline;text-underline-offset:5px}
.record-strip strong{display:block;font-weight:600;font-size:.9375rem;color:var(--ink);margin:2px 0}
.record-strip small{display:block;font-size:.75rem}
.opportunity{padding-top:110px;padding-bottom:100px}
.opportunity .intro-grid{grid-template-columns:1fr 1fr;gap:12%}
.opportunity h2{font-size:clamp(3rem,5.2vw,5.9rem)}
.thesis-grid{gap:5%;margin-top:60px}
.thesis-grid h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.035em}
.thesis-grid p{max-width:36ch}
.small-number{font-size:.75rem;letter-spacing:.1em}

/* The vision table: illustrated selections, then one large active study. */
.visions{background:#10281f;padding-bottom:36px;overflow:clip}
.visions-intro{padding-top:90px}
.visions .section-top{margin-bottom:43px}
.vision-heading h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.1}
.vision-heading h2 span{color:#a5bc9c}
.vision-heading>p{max-width:330px;font-size:1rem;color:#ccd6c6}
.concept-disclosure{max-width:90ch;font-size:.8125rem;color:#bfceb7;margin-top:26px}
.vision-tabs{border:0;gap:22px;margin-top:40px;margin-bottom:30px;perspective:1400px}
.vision-tab,.vision-tab+.vision-tab{display:grid;grid-template-columns:1fr 22px;gap:0;border:1px solid #ffffff26;border-bottom:2px solid #ffffff26;padding:0 0 17px;background:#173328;color:#eff4e9;position:relative;transition:background .3s,border-color .3s;isolation:isolate}
.vision-tab:hover{background:#214532;color:white;border-color:#7b996d}
.vision-tab[aria-selected="true"]{color:var(--ink);background:#d7e4bd;border-color:#d7e4bd}
.tab-art{display:block;grid-column:1/-1;position:relative;aspect-ratio:2.7;overflow:hidden;margin-bottom:14px}
.tab-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);transform:scale(1.01);transition:filter .4s,transform .6s var(--ease)}
.vision-tab[aria-selected="true"] .tab-art img,.vision-tab:hover .tab-art img{filter:saturate(1);transform:scale(1.055)}
.tab-art>span{position:absolute;left:14px;top:12px;background:#10281fcf;color:white;border:1px solid #ffffff50;padding:2px 9px;font-size:.75rem;font-variant-numeric:tabular-nums}
.tab-name{padding-left:18px;font-size:1rem;line-height:1.4;font-weight:600}
.tab-name small{color:#bacbb0;font-size:.8125rem;margin-top:4px;font-weight:400}
.vision-tab[aria-selected="true"] .tab-name small{color:#405637}
.tab-arrow{display:block;align-self:center;justify-self:end;opacity:.5;margin-right:16px;font-size:1.15rem}
.vision-tab[aria-selected="true"] .tab-arrow{opacity:1}
.vision-stage{margin:0 var(--gutter);max-width:1600px;perspective:1600px}
.vision-panel{display:grid;grid-template-columns:1.35fr 1fr;animation:none;min-height:580px;background:#eaf0e1;transform-origin:50% 50%}
.vision-figure{width:100%;height:100%;min-height:530px;margin:0;max-width:none;background:#28452f}
.vision-figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01)}
.vision-figure figcaption{left:28px;right:28px;bottom:24px;display:block;font-size:.8125rem;line-height:1.65}
.vision-figure figcaption>span{display:block}
.vision-figure figcaption>span:last-child{font-size:.75rem;color:#e3ebdc}
.vision-figure::after{height:180px;background:linear-gradient(transparent,#061b12dd)}
.expand-image{top:22px;right:22px;min-height:44px;font-size:.8125rem;border-color:#ffffff70;background:#10261fbd}
.vision-detail.section{display:flex;flex-direction:column;gap:23px;padding:36px clamp(25px,3vw,50px);color:var(--ink);margin:0;max-width:none;background:#eaf0e1}
.vision-detail .eyebrow{font-size:.7rem;letter-spacing:.09em;color:#47613c;margin-bottom:19px}
.vision-detail h3{font-size:clamp(2rem,3.2vw,3.5rem);letter-spacing:-.05em;line-height:1.12}
.vision-narrative>p:not(.lead){font-size:1rem;color:#475843;line-height:1.65}
.vision-narrative dl{margin-top:24px;font-size:.875rem}
.vision-narrative dl>div{grid-template-columns:100px 1fr;gap:20px;border-color:#bbc9b0;padding:12px 0}
.vision-narrative dt{color:#52614c;font-size:.8125rem}
.vision-narrative dd{color:var(--ink);font-size:.875rem}
.vision-record-link{font-size:.8125rem;margin-top:auto;gap:15px;align-self:flex-start;line-height:1.6}
.vision-footnote{padding-top:25px;padding-bottom:0;border:0;font-size:.8125rem;color:#b9cbb0}
.property{padding-top:100px}
.property-map{background:white;border:1px solid #d4dacd;box-shadow:0 13px 36px -22px #15281860;padding:22px}
.property-map figcaption{font-size:.8125rem}
.property-context{margin-top:70px}
.acreage b{font-size:.8125rem}
.materials{background:#e8ece1;max-width:none;border:0}
.document-links a{font-size:1.2rem;padding:28px 0}
.document-links small{font-size:.75rem}
.process{padding-top:90px;padding-bottom:90px;background:#10281f}
.process-steps{gap:6%}
.process-steps li>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}
.process-steps p{font-size:1rem}
.site-footer{background:#0b1b14}
.site-footer,.footer-note{font-size:.8125rem}
.dialog-close{min-height:48px}

/* A finite arrival and scroll-controlled perspective. Never an idle loop. */
.motion-enabled .hero-content .title-line{animation:title-arrival 1000ms var(--ease) both}
.motion-enabled .hero-content .title-line:nth-child(2){animation-delay:130ms}
.motion-enabled .hero-board{animation:board-arrival 1400ms var(--ease) both}
.motion-enabled .vision-tab{transition:transform .65s var(--ease),background .3s,border-color .3s;transform:rotateX(5deg) translateY(3px);transform-origin:50% 100%}
.motion-enabled .vision-tab:hover,.motion-enabled .vision-tab[aria-selected="true"]{transform:rotateX(0deg) translateY(-5px)}
html:not(.motion-enabled){scroll-behavior:auto}
html:not(.motion-enabled) .hero-board{transform:none;will-change:auto}
html:not(.motion-enabled) .vision-tab,html:not(.motion-enabled) .tab-art img,html:not(.motion-enabled) .vision-panel{animation:none;transition:none;transform:none}
@keyframes title-arrival{from{opacity:0;transform:translate3d(0,27px,0)}to{opacity:1;transform:translateZ(0)}}
@keyframes board-arrival{from{opacity:.25;transform:perspective(1500px) rotateX(14deg) rotateY(-4deg) translateY(60px) scale(.9)}to{opacity:1;transform:rotateX(var(--hero-rx,7deg)) rotateY(var(--hero-ry,-2deg)) scale(var(--hero-scale,.95))}}
@media(min-width:1800px){.vision-stage{margin-left:auto;margin-right:auto}}
@media(max-width:1150px){.site-header nav{gap:20px}.header-actions{gap:16px}.hero-heading-row{grid-template-columns:1fr}.hero-aside{display:flex;align-items:center;justify-content:space-between;gap:24px}.hero-aside .text-link{margin:0;flex-shrink:0}.hero-description{max-width:43ch}.hero-record-link{display:none}.vision-panel{grid-template-columns:1.15fr 1fr}.vision-detail.section{padding:30px}.vision-detail h3{font-size:2.4rem}.vision-figure figcaption{left:22px;right:22px}.tab-name{font-size:.9375rem}.tab-name small{font-size:.75rem}.vision-tabs{gap:16px}.record-strip{grid-template-columns:.6fr 1fr 1fr;gap:25px}.record-strip>span:last-child{grid-column:2/-1;border-top:1px solid #cbd5c4;padding-top:13px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.record-strip>span:last-child strong{font-size:.875rem}.record-strip>span:last-child small{margin-left:auto}}
@media(max-width:950px){.site-header nav{display:none}.vision-panel{grid-template-columns:1fr}.vision-figure{min-height:460px;height:50vw;max-height:650px}.vision-detail.section{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px 8%;padding:38px}.vision-record-link{grid-column:2}.vision-detail h3{font-size:2.5rem}.vision-narrative dl>div{grid-template-columns:100px 1fr}.vision-heading{gap:35px}.vision-heading>p{max-width:260px}.vision-tabs{gap:14px}.tab-name{padding-left:12px}.tab-arrow{margin-right:12px}.tab-art{aspect-ratio:2.25}}
@media(max-width:760px){.header-actions{gap:12px}.nav-cta{font-size:.8125rem;gap:10px}.motion-toggle{font-size:.75rem;padding:7px 9px;min-height:44px}.site-header{gap:14px}.wordmark{gap:9px;font-size:.7rem}.brand-mark{width:34px;height:34px}.record-strip{grid-template-columns:1fr 1fr;gap:22px 18px;padding:24px var(--gutter)}.record-strip-label{grid-column:1/-1;max-width:none}.record-strip>span:last-child{grid-column:1/-1;display:block}.record-strip>span:last-child small{margin:0}.record-strip strong{font-size:.875rem}.opportunity{padding-top:66px;padding-bottom:66px}.opportunity .intro-grid{grid-template-columns:1fr;gap:26px}.opportunity h2{font-size:3.15rem}.thesis-grid{display:grid;grid-template-columns:1fr;margin-top:40px;gap:22px}.thesis-grid article{grid-template-columns:1fr;gap:9px}.thesis-grid p{grid-column:auto;max-width:100%}.thesis-grid h3{margin:0;font-size:1.45rem}.thesis-grid .small-number{padding:0}.visions-intro{padding-top:65px}.visions .section-top{margin-bottom:27px}.vision-heading h2{font-size:clamp(2.35rem,8.7vw,4.5rem)}.vision-heading>p{max-width:100%;margin-top:22px}.concept-disclosure{font-size:.8125rem}.vision-tabs{display:grid;grid-template-columns:1fr;margin-top:28px;gap:12px;overflow:visible}.vision-tab,.vision-tab+.vision-tab{display:grid;grid-template-columns:92px 1fr 24px;padding:0;gap:0;min-height:88px;border:1px solid #ffffff30}.tab-art{grid-column:1;aspect-ratio:auto;height:100%;margin:0;min-height:88px}.tab-art>span{font-size:.65rem;left:7px;top:7px;padding:0 6px}.tab-name{padding:13px 12px;font-size:.9375rem;align-self:center}.tab-name small{font-size:.75rem;line-height:1.5}.tab-arrow{font-size:1.05rem;margin-right:10px}.motion-enabled .vision-tab{transform:none}.motion-enabled .vision-tab:hover,.motion-enabled .vision-tab[aria-selected="true"]{transform:none}.vision-stage{margin:0 14px}.vision-panel{min-height:0}.vision-figure{height:390px;min-height:0;max-height:none}.vision-figure figcaption{bottom:19px;left:20px;right:20px}.expand-image{top:18px;right:18px;font-size:.75rem;gap:12px}.vision-detail.section{display:flex;padding:29px 23px;gap:23px}.vision-detail h3{font-size:2.65rem}.vision-detail .eyebrow{font-size:.75rem;margin-bottom:17px}.vision-record-link{grid-column:auto;font-size:.875rem}.vision-footnote{padding-top:23px;font-size:.8125rem}.property{padding-top:65px}.property-map{padding:17px;margin-top:0}.property-context{margin-top:45px}.materials{padding-top:50px;padding-bottom:55px}.document-links a{font-size:1.15rem}.process{padding-top:65px;padding-bottom:65px}.contact-grid h2{font-size:3.4rem}.process-steps li{grid-template-columns:1fr;gap:8px}.process-steps li>span{margin:0;padding:0}.process-steps p{grid-column:auto;margin:0}.site-footer{font-size:.8125rem}.hero-aside{display:block}.hero-aside .text-link{margin-top:20px}}
@media(max-width:370px){.nav-cta{font-size:.75rem;gap:5px}.header-actions{gap:8px}.motion-toggle{padding:7px}.site-header{padding-left:16px;padding-right:16px}.hero h1{font-size:2.45rem}.hero-board-caption .image-label{font-size:.7rem}.tab-name{font-size:.875rem}}
@media(max-width:760px){.vision-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vision-tab,.vision-tab+.vision-tab{display:flex;flex-direction:column;align-items:stretch;min-height:0}.tab-art{height:74px;min-height:74px;flex-shrink:0}.tab-name{padding:12px 9px;align-self:stretch;font-size:.875rem;line-height:1.4;font-weight:600}.tab-name small,.tab-arrow{display:none}.hero-image-index{font-size:.65rem;letter-spacing:.05em;gap:12px;left:20px;right:20px;max-width:calc(100% - 40px);width:auto;justify-content:space-between}.vision-figure{height:330px}}
@media(prefers-reduced-motion:reduce){.hero-board,.vision-tab,.tab-art img{transform:none!important;animation:none!important;transition:none!important}.hero-board{will-change:auto}}
@media print{.record-strip,.motion-toggle{display:none}.visions{overflow:visible;background:white}.vision-stage{margin:0;perspective:none}.vision-panel{display:block;min-height:0;background:white}.vision-figure{height:260px;min-height:0}.vision-figure>img{position:static;height:230px;object-fit:contain;transform:none}.vision-detail.section{padding:20px 0;display:block;background:white}.vision-record-link{display:none}.vision-detail h3{font-size:24pt}.vision-footnote{color:#222}.materials{background:white}.vision-figure figcaption{color:#111}.vision-figure figcaption>span:last-child{color:#333}}
