/* Rapps editorial direction: warm paper, ink, cobalt, and deliberate color. */
:root{--paper:#f7f6f2;--ink:#202a32;--muted:#60666a;--line:#d7d7cf;--accent:#205bba;--blue:#205bba;--navy:#19252e;--coral:#205bba;--teal:#205bba;--sky:#a9c6ec}
body{background:var(--paper);color:var(--ink)}
em{color:inherit}.text-link{color:var(--accent)}
.perspective,.lens{background:var(--paper)}.investments,.footer{background:#eeeee7}
.section-heading{border-color:var(--line)}.small-note{color:#676d70}
.header.scrolled{color:var(--ink);border-color:#d7d7cf;box-shadow:0 2px 15px #17252c08}
.header::before{background:rgba(247,246,242,.8)}
.hero-art canvas{filter:blur(14px) saturate(1.35) brightness(1.1)}
.hero:before{opacity:.1}.hero h1 em{color:#fff}
.hero h1{font-size:clamp(66px,8.6vw,144px)}
.statement{grid-template-columns:1fr 1fr;gap:8%}.statement h2{font-size:clamp(62px,6.8vw,100px)}
.statement .lead{font-size:clamp(25px,2.5vw,36px);line-height:1.28}
.belief-line{border-color:var(--line);margin-top:64px}.belief-line span:before{color:var(--accent)}
.investments>h2{max-width:1050px}.investment-copy h3 em{color:inherit}
.investment-block{gap:8%;margin-top:70px;align-items:center}
.investment-copy p{color:var(--muted)}.investment-copy p:first-of-type{color:var(--ink)}
.architecture,.systems{background:transparent;background-image:none;aspect-ratio:640/500;color:#205bba;overflow:visible}
.investment-visual svg{display:block;width:100%;height:auto;transform:none!important;will-change:auto}
.investment-visual svg text{font:11px 'DM Sans',sans-serif;letter-spacing:1.1px;fill:#445057}
.draft-rule{fill:none;stroke:#bec4c2;stroke-width:1}
.draft-trace{fill:none;stroke:#647b8b;stroke-width:1.2}
.map-paper{fill:#e9ece6}.map-contours{fill:none;stroke:#c4cbc1;stroke-width:.7}
.map-parcels{fill:#d5dacf;stroke:#c1c9bc;stroke-width:.6}.map-water{fill:none;stroke:#bdcfd7;stroke-width:13}
.map-roads{fill:none;stroke:#f8f8f4;stroke-width:8}.map-catchment{fill:#205bba0b;stroke:#205bba;stroke-width:1.1}
.map-catchment.outer{fill:none;stroke:#8495a0;stroke-dasharray:3 4}.map-route{stroke:#205bba;stroke-width:2}
.map-demand{color:#566c79;fill:#536e7d}.map-employment{fill:#6a7880;stroke:#f7f6f2;stroke-width:1}
.map-subject>path:first-child{fill:#205bba;stroke:#fff;stroke-width:1.5}.map-subject circle{fill:none;stroke:#205bba;stroke-width:1}
.map-subject .draft-label{fill:#174b9c;font-weight:600}
.study-grid{fill:none;stroke:#d1d6ce;stroke-width:.65}
.business-base{fill:#d8dcd4;stroke:#929f9e;stroke-width:1}
.business-frame{fill:none;stroke:#819294;stroke-width:.8}
.business-plane{fill:#bbcfdb;fill-opacity:.65;stroke:#5e7a8d;stroke-width:1}
.business-plane.upper{fill:#c6d7e8;fill-opacity:.65;stroke:#205bba}
.business-edge{stroke:#205bba;stroke-width:1.7}
.approach{background:#19252e;color:#f7f6f2}.approach em{color:inherit}
.approach .small-note,.approach-intro>p,.principles p,.principles article>span{color:#bfc9ca}
.approach .section-heading,.principles article{border-color:#526068}
.approach-layout{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:28px}
.approach-intro{grid-column:1;grid-row:1}.principles{grid-column:2;grid-row:1/3}
.ownership-study{grid-column:1;grid-row:2;margin:0;color:#abc8e1;align-self:end}
.ownership-study svg{display:block;width:100%;height:auto;overflow:visible}
.ownership-study figcaption{font:11px/1.6 var(--sans);color:#bfc9ca;padding:12px 0;border-top:1px solid #526068}
.ownership-study .draft-label{font:10px var(--sans);letter-spacing:1px;fill:#c1ccd0}
.ownership-guides{fill:none;stroke:#4b5e69;stroke-width:.65}
.ownership-existing{fill:none;stroke:#c4cdd0;stroke-width:1.1}
.ownership-added{fill:#6395c71a;stroke:#81b4e4;stroke-width:1.2}
.ownership-link{stroke:#8ea8b9;stroke-width:1;stroke-dasharray:3 4}
.ownership-satellite{fill:#233743;stroke:#8eabbf;stroke-width:1}
.lens-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:8%;align-items:end}
.lens-intro h2{font-size:clamp(48px,5.5vw,84px)}.lens-intro>p{color:var(--muted);max-width:360px}
.risk-list{margin-top:48px;border-top:1px solid #bfc6c4}
.risk-list details,.risk-list details[open]{padding:0;border:0;border-bottom:1px solid #bfc6c4;background:transparent}
.risk-list summary{display:grid;grid-template-columns:42px 1fr 1fr 150px 20px;gap:20px;align-items:center;padding:18px 0;list-style:none;cursor:pointer}
.risk-list summary::-webkit-details-marker{display:none}
.risk-list summary>span:nth-child(2){font:34px/1.1 var(--serif)}
.risk-list .risk-number,.risk-list .risk-caption{font:10px/1.5 var(--sans);letter-spacing:1px;color:#5c666b}
.risk-list summary b{font:20px var(--sans);font-weight:400;color:var(--accent)}
.risk-list summary svg{display:block;width:150px;height:64px;fill:none;stroke-width:1;stroke:#8b979b}
.risk-list .lens-new{stroke:#205bba;fill:#205bba08;transition:fill .35s,stroke .35s}
.risk-list details[open] .lens-new{fill:#205bba26;stroke:#174b9c}
.risk-list details[open] summary>span:nth-child(2){color:#205bba}
.risk-list details p{max-width:680px;margin:0 0 26px 62px;font:15px/1.8 var(--sans);color:var(--muted)}
.risk-list summary:focus-visible{outline:2px solid #205bba;outline-offset:5px}
.markets{border-color:var(--line)}.markets h3 em{color:inherit}
.contact{background:#19252e;background-image:none;color:#f7f6f2}
.contact em{color:#f7f6f2}.contact .section-heading{border-color:#526068}
.contact .small-note,.contact .form-note,.contact-privacy{color:#c4cdd0}
.contact input,.contact textarea,.contact select{border-color:#7c8a92}
.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:#a6c9ed;box-shadow:0 1px 0 #a6c9ed}
.contact .submit{background:#f7f6f2;color:#19252e}.contact .submit:hover{background:#d9e5ee}
.footer .footer-brand{color:var(--ink)}.social-links a{color:#364a56;border-color:#bac2c2}.social-links a:hover{color:#205bba;background:#dce5e8}
.footer-bottom{border-color:var(--line)}
.draft-enter .draft-reveal{animation:draft-reveal 1.8s var(--delay,0s) both;animation-play-state:var(--drawing-play,running)}
.draft-enter .draft-trace:not(.ownership-link){animation:draft-trace 2s var(--delay,0s) both;animation-play-state:var(--drawing-play,running)}
.draft-enter .ownership-link{animation:draft-reveal 2s var(--delay,0s) both;animation-play-state:var(--drawing-play,running)}
@keyframes draft-reveal{from{opacity:0}to{opacity:1}}
@keyframes draft-trace{from{stroke-dasharray:1;stroke-dashoffset:1;opacity:.2}to{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}
@media(max-width:600px), (max-width:1100px) and (orientation:portrait){
 .hero-art canvas{filter:blur(10px) saturate(1.35) brightness(1.1)}
 .hero h1{font-size:clamp(53px,9vw,100px)}
 .statement{grid-template-columns:1fr;gap:28px}.perspective-title{display:block}.perspective-copy{grid-row:auto}
 .statement h2{font-size:clamp(60px,10vw,94px)}.statement .lead{font-size:28px}
 .belief-line{margin-top:36px}.investment-block{margin-top:48px;gap:28px}
 .investment-visual svg text{font-size:15px;letter-spacing:.5px}.ownership-study .draft-label{font-size:13px;letter-spacing:.5px}
 .approach-layout{grid-template-columns:1fr;gap:36px}.approach-intro,.principles,.ownership-study{grid-column:1;grid-row:auto}
 .ownership-study{grid-row:2;max-width:650px;width:100%;margin:auto}
 .lens-intro{grid-template-columns:1fr;gap:24px}.lens-intro>p{max-width:none}
 .risk-list summary{grid-template-columns:24px 1fr 94px 14px;gap:12px;padding:18px 0}
 .risk-list .risk-caption{display:none}.risk-list summary>span:nth-child(2){font-size:30px}.risk-list summary svg{width:94px;height:48px}
 .risk-list details p{margin:0 0 24px 36px;font-size:14px}
 .header #navigation{background:#f0efe8;color:#202a32}.menu-open .header{color:#202a32}
 .header #navigation>a:hover,.menu-details em{color:#205bba}.header #navigation .menu-details a{color:#364a56}
 .menu-texture{background-color:#d7dedc;background-image:url('menu-texture.svg');background-blend-mode:luminosity;filter:saturate(.3)}
}
@media(max-height:500px){.hero h1{font-size:clamp(28px,min(8.6vw,16dvh),90px)}}
@media(prefers-reduced-motion:reduce){.draft-enter *{animation:none!important}.hero-art canvas{filter:blur(14px) saturate(1.35)}}
