@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#193d35;--ink:#202c27;--muted:#6f7770;--line:#dce0d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:inherit}button{font:inherit}.site-header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.logo{font-family:Manrope,sans-serif;font-size:42px;letter-spacing:-3px;font-weight:800;line-height:1}.logo span{font-size:14px;letter-spacing:0;vertical-align:top;margin:7px 0 0 5px;display:inline-block}.brand-note{font-size:12px;letter-spacing:1.5px}.hero{display:grid;grid-template-columns:48% 52%;min-height:540px;height:calc(85svh - 76px);max-height:700px}.hero-copy{padding:38px 10% 24px;background:var(--green);color:white;display:flex;flex-direction:column;align-items:start;justify-content:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;display:flex;gap:10px;align-items:center}.eyebrow>span{width:6px;height:6px;background:#c3d09d}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(40px,4.2vw,67px);font-weight:500;letter-spacing:-2.5px;line-height:1.14;margin:28px 0 18px}em{font-style:normal;color:#c5d3b0}p{font-size:16px;line-height:1.65}.hero p{color:#d0dcd5;margin-bottom:16px}.button{padding:14px 20px;display:inline-flex;gap:24px;align-items:center;font-size:14px;background:#eef0e2;color:#122f29}.hero-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:26px;font-size:10px;letter-spacing:.8px;color:#c3d0c8;gap:15px}.hero-bottom a{font-size:24px}.hero-image{position:relative;overflow:hidden;background:#a4aba0}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0e241b90)}.image-label{position:absolute;bottom:32px;left:30px;z-index:1;color:white;font-size:11px;letter-spacing:1.8px}.image-label span{display:block;font-size:25px;letter-spacing:-.5px;margin-top:8px}.photo-note{position:absolute;top:14px;right:14px;padding:5px 8px;color:white;background:#122f2980;font-size:11px;z-index:1}.section{padding:48px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:14px}h2{font-family:Manrope,sans-serif;font-size:clamp(28px,3vw,43px);line-height:1.2;letter-spacing:-1.4px;font-weight:500;margin:0}.section-heading p{color:var(--muted);font-size:14px;margin:0}.gallery-grid{--bs-gutter-x:16px;--bs-gutter-y:20px}.space-card{margin:0}.gallery-photo{display:block;width:100%;height:260px;padding:0;border:0;position:relative;overflow:hidden;background:#dce0d8}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-photo:hover img{transform:scale(1.055)}.photo-expand{position:absolute;bottom:12px;right:12px;color:white;background:#193d3580;border:1px solid #ffffff90;border-radius:50%;height:32px;width:32px;font-size:20px}.space-card figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:14px}.space-card h3{font-size:22px;font-weight:500;letter-spacing:-.7px;margin:0 0 6px}.space-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}.space-index{font-size:12px;color:var(--muted);padding-top:5px}.image-disclosure{font-size:12px;color:var(--muted);margin:20px 0 0}.contact{background:var(--green);color:white}.contact .eyebrow{color:#c5d3b0;margin-bottom:18px}.contact h2{margin-bottom:14px}.contact p{color:#d0dcd5}.contact .contact-note{font-size:13px;margin:16px 0 0}.services-compact>div{padding-top:10px;padding-bottom:10px}.services-compact span{font-size:12px;color:#bacbb8}.services-compact h3{font-size:18px;font-weight:400;margin:7px 0 0;max-width:180px}footer{padding:24px 5%;display:flex;align-items:center;gap:30px;justify-content:space-between}footer .logo{font-size:32px}footer>span{font-size:12px;color:var(--muted)}.modal-content{border:0;border-radius:0;background:#f5f6f1}.modal-title{letter-spacing:0}.modal-body img{max-height:75vh;object-fit:contain;background:#10251e}.modal-footer{font-size:13px;color:var(--muted)}a:focus-visible,button:focus-visible{outline:3px solid #90ad79;outline-offset:4px}.reveal.pending{opacity:0;transform:translateY(24px)}.reveal{transition:opacity .65s ease,transform .65s ease}.gallery-grid article:nth-child(2) .reveal{transition-delay:.07s}.gallery-grid article:nth-child(3) .reveal{transition-delay:.14s}.gallery-grid article:nth-child(4) .reveal{transition-delay:.21s}.gallery-grid article:nth-child(5) .reveal{transition-delay:.28s}
@media(max-width:991.98px){.hero{min-height:520px}.hero-copy{padding:28px 8%}.hero h1{font-size:43px}.gallery-grid article:last-child{width:100%}.gallery-grid article:last-child .gallery-photo{height:190px}.gallery-photo{height:190px}.section{padding:36px 5%}.gallery-grid article:last-child img{object-position:50% 58%}.space-card p{font-size:14px}.contact h2{font-size:34px}.services-compact h3{max-width:none}.section-heading p{display:none}}
@media(max-width:575.98px){.site-header{height:64px}.logo{font-size:35px}.brand-note{font-size:9px;letter-spacing:.7px}.hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}.hero-copy{padding:26px 6% 18px}.hero h1{font-size:39px;letter-spacing:-1.8px;margin:18px 0 12px}.hero p{font-size:15px;margin-bottom:12px}.hero .eyebrow{font-size:10px}.hero-bottom{margin-top:16px;font-size:9px;letter-spacing:0}.hero-image{height:185px}.image-label{left:22px;bottom:18px;font-size:9px}.image-label span{font-size:20px;margin-top:4px}.hero-image img{object-position:50% 55%}.section{padding:28px 5%}.section-heading{margin-bottom:20px}h2{font-size:29px}.section-heading .eyebrow{font-size:10px;margin-bottom:10px}.gallery-photo{height:140px}.gallery-grid article:last-child .gallery-photo{height:140px}.space-card h3{font-size:20px}.space-card p{font-size:14px;line-height:1.4}.space-card figcaption{padding-top:9px}.space-index{display:none}.photo-note{font-size:9px;top:8px;right:8px}.gallery-grid{--bs-gutter-x:12px;--bs-gutter-y:16px}.image-disclosure{font-size:11px;margin-top:14px}.contact h2{font-size:30px}.contact .eyebrow{font-size:10px;margin-bottom:12px}.contact p{font-size:14px;margin-bottom:8px}.contact .contact-note{font-size:12px;margin-top:10px}.services-compact h3{font-size:16px;margin-top:3px}.services-compact>div{padding-top:0;padding-bottom:0}footer{padding:20px 5%;gap:15px}footer>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.gallery-photo img{transition:none!important}.reveal.pending{opacity:1;transform:none}}

/* Eight sector cards, compact on every screen. */
.gallery-photo{height:190px}.space-card h3{font-size:21px}.gallery-grid article:last-child{width:25%}.gallery-grid article:last-child .gallery-photo{height:190px}.gallery-grid article:last-child img{object-position:center}.gallery-grid article:nth-child(n+5) .reveal{transition-delay:0s}
@media(max-width:991.98px){.gallery-grid article:last-child{width:50%}.gallery-photo,.gallery-grid article:last-child .gallery-photo{height:160px}}
@media(max-width:575.98px){.gallery-photo,.gallery-grid article:last-child .gallery-photo{height:125px}.space-card h3{font-size:19px}.space-card p{font-size:14px;line-height:1.4}.gallery-grid{--bs-gutter-y:18px}.hero-copy{padding-top:22px;padding-bottom:16px}.hero-image{height:155px}.section{padding-top:26px;padding-bottom:26px}}

.header-phone{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-height:44px;white-space:nowrap;color:var(--green);line-height:1.3}.header-phone span{font-size:12px;color:var(--muted);margin-bottom:3px}.header-phone strong{font-size:19px;font-weight:600;letter-spacing:.3px}.contact-phone{display:inline-flex;align-items:center;gap:20px;color:white;font-size:23px;padding:8px 0;border-bottom:1px solid #8ca594}.contact-phone:hover{color:#c5d3b0}@media(max-width:575.98px){.header-phone strong{font-size:16px;letter-spacing:0}.header-phone span{font-size:11px;margin-bottom:2px}.site-header{gap:12px}.contact-phone{font-size:21px}}
