 :root{--ink:#123c2b;--green:#123c2b;--paper:#ffffff;--muted:#66736c;--line:#d6ded9;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}a{color:inherit;text-decoration:none}header{position:absolute;z-index:5;top:0;left:0;right:0;padding:28px 5vw;color:#fff;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:bold;letter-spacing:.2em;font-size:14px}.brand small{display:block;font-size:8px;letter-spacing:.35em;opacity:.7}nav{display:flex;gap:32px;text-transform:uppercase;font-size:11px;letter-spacing:.14em}.hero{height:100vh;min-height:680px;background:url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=2200&q=85') center/cover;position:relative;color:#fff;display:flex;align-items:end;padding:0 5vw 10vh}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0001),linear-gradient(0deg,#0008,transparent 60%)}.hero-copy{position:relative;max-width:900px}.hero-copy p,.feature-copy p,.statement p,.contact article>p{font-size:10px;letter-spacing:.2em}.hero h1{font-size:clamp(58px,8vw,120px);line-height:.94;letter-spacing:-.05em;font-weight:500;margin:22px 0}.hero h1 i,h2 i,h3 i{font-family:var(--serif);font-weight:400}.hero-copy span{display:block;color:#ddd;max-width:520px}.hero a,.feature-copy a,.contact a{display:inline-block;border:1px solid currentColor;padding:14px 18px;margin-top:25px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.section{padding:125px 5vw}.section label{font-size:10px;letter-spacing:.18em;color:var(--muted)}.two{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;margin-top:70px}.two h2,.feature h2,.statement h2,.contact h2{font-size:clamp(48px,6vw,88px);line-height:1;letter-spacing:-.045em;font-weight:500;margin:0}.lead{font-size:22px;line-height:1.35}.two>div>p:not(.lead){color:#666;max-width:560px}.feature{display:grid;grid-template-columns:1.55fr .7fr;min-height:680px}.feature-img{background:url('images/drayton-hall.jpg') center/contain no-repeat #f6f6f2}.feature-copy{background:#eef4f0;padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.feature-copy small{color:var(--muted);letter-spacing:.14em}.feature-copy h2{margin:45px 0}.details{border-top:1px solid #aaa59b;padding-top:18px;font-size:11px;line-height:2;text-transform:uppercase;letter-spacing:.1em}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px 32px}.grid article.big{grid-row:span 2}.grid article.wide{grid-column:1/-1;max-width:70%}.photo{height:410px;background-size:cover;background-position:center;margin-bottom:16px}.big .photo{height:650px}.wide .photo{height:460px}.p1{background-image:url('images/glenmaye-site-plan.jpg');background-size:contain;background-repeat:no-repeat;background-color:#f7f7f4}.p2{background-image:url('images/white-street-new-site-plan.png');background-size:contain;background-repeat:no-repeat;background-color:#f7f7f4}.p3{background-image:url('images/drayton-hall.jpg');background-size:contain;background-repeat:no-repeat;background-color:#f7f7f4}.grid small{font-size:9px;letter-spacing:.13em;color:var(--muted)}h3{font-size:30px;font-weight:500;margin:6px 0}.statement{background:#123c2b;color:#fff;padding:160px 5vw}.statement h2{max-width:1200px;margin:auto}.statement h2 i{color:#bdb7aa}.statement p{max-width:1200px;margin:0 auto 25px;color:#aaa}.principles>div{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:45px 1fr}.principles b{font-size:10px;color:var(--muted)}.principles h3{font-size:20px;margin:0}.principles p{color:#666;margin:4px 0 0}.stats{margin:0 5vw;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.stats div{padding:50px 20px 50px 0;border-right:1px solid var(--line)}.stats div+div{padding-left:20px}.stats div:last-child{border:0}.stats strong{display:block;font-size:52px;font-weight:500;letter-spacing:-.05em}.stats small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.contact{margin-top:125px;background:#123c2b;color:#fff;display:grid;grid-template-columns:1.2fr .8fr;min-height:650px}.contact>div{background:url('images/embry-hills.jpeg') center/contain no-repeat #ffffff}.contact article{padding:80px;display:flex;flex-direction:column;justify-content:center}.contact h2{margin:10px 0 25px}.contact article span{color:#bbb;max-width:450px}footer{background:#0d2c20;color:#fff;padding:55px 5vw 30px}footer p{border-top:1px solid #444;padding-top:20px;margin-top:60px;color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.12em}@media(max-width:800px){nav{display:none}.hero{min-height:650px}.section{padding:85px 7vw}.two,.feature,.contact{grid-template-columns:1fr}.feature-copy{padding:70px 7vw}.grid{grid-template-columns:1fr}.grid article.big{grid-row:auto}.grid article.wide{grid-column:auto;max-width:none}.big .photo,.photo,.wide .photo{height:430px}.stats{grid-template-columns:1fr 1fr;margin:0 7vw}.stats div{border-bottom:1px solid var(--line)}.stats div:nth-child(2){border-right:0}.contact>div{min-height:350px}.contact article{padding:60px 7vw}}

.text-link{display:inline-block;margin-top:25px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:6px}.service-band{margin:0 5vw;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.service-band div{padding:45px 25px 45px 0;border-right:1px solid var(--line)}.service-band div+div{padding-left:25px}.service-band div:last-child{border:0}.service-band strong{display:block;font-size:42px;font-weight:500;letter-spacing:-.04em}.service-band small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;line-height:1.5}@media(max-width:800px){.service-band{grid-template-columns:1fr;margin:0 7vw}.service-band div{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.service-band div+div{padding-left:0}.service-band div:last-child{border:0}}

.about-page{background:#fff}.about-header{position:relative;background:#123c2b;color:#fff}.about-hero{background:#123c2b;color:#fff;padding:150px 5vw 110px;min-height:520px;display:flex;flex-direction:column;justify-content:end}.about-hero p{font-size:10px;letter-spacing:.2em}.about-hero h1{font-size:clamp(58px,8vw,110px);line-height:.94;letter-spacing:-.05em;font-weight:500;margin:25px 0 0}.about-hero h1 i{font-family:var(--serif);font-weight:400;color:#dbe8e0}.about-section{padding-top:115px;padding-bottom:115px}.history{background:#f2f6f3}.about-contact{background:#123c2b;color:#fff;padding:100px 5vw;display:flex;justify-content:space-between;align-items:end;gap:50px}.about-contact h2{font-size:clamp(25px,3.3vw,44px);line-height:1;letter-spacing:-.045em;font-weight:500;margin:15px 0 0}.about-contact h2 i{font-family:var(--serif);font-weight:400;color:#dbe8e0}.about-contact a{border:1px solid #fff;padding:14px 18px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}@media(max-width:800px){.about-hero{padding:110px 7vw 80px}.about-contact{padding:70px 7vw;display:block}.about-contact a{display:inline-block;margin-top:30px}}
.project-note{color:#66736c;font-size:14px;max-width:480px;margin-top:4px}

/* Horizontal approach layout: four steps side by side on desktop */
#approach .two{display:block;}
#approach .two>h2{margin-bottom:42px;}
#approach .principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
#approach .principles>div{display:block;border-top:1px solid var(--line);padding:22px 8px 0 0;}
#approach .principles b{display:block;margin-bottom:18px;}
#approach .principles h3{margin-bottom:12px;}
#approach .principles p{line-height:1.6;}
@media(max-width:900px){#approach .principles{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){#approach .principles{grid-template-columns:1fr;gap:10px;}}

/* Compact Let's Build What's Next section */
.contact{min-height:390px;margin-top:75px;grid-template-columns:1fr 1fr;}
.contact>div{min-height:390px;background-size:75% auto;}
.contact article{padding:45px 6vw;}
.contact h2{font-size:clamp(36px,4vw,60px);margin:8px 0 16px;}
.contact article span{font-size:14px;line-height:1.5;}
.contact a{margin-top:18px;}
@media(max-width:800px){.contact{grid-template-columns:1fr;min-height:0;margin-top:65px}.contact>div{min-height:220px;background-size:65% auto}.contact article{padding:38px 7vw 45px}.contact h2{font-size:clamp(34px,7vw,48px)}}

/* Smaller philosophy statement typography */
.statement h2 { font-size: clamp(30px, 4vw, 56px); line-height: 1.15; }

/* Current projects */
.current-projects{background:#f8faf7;}
.current-projects-inner{max-width:850px;margin:48px auto 0;text-align:center;}
.current-projects-inner h2{margin-bottom:18px;}
.current-projects-inner>p{line-height:1.7;}
.current-projects-placeholder{margin:35px auto 0;border:1px solid #b7c5b8;padding:42px 22px;background:#fff;}
.current-projects-placeholder span{font-size:11px;letter-spacing:.18em;color:#31533e;}
.current-projects-placeholder p{margin:15px 0 0;}
@media(max-width:700px){.current-projects-inner{margin-top:25px}.current-projects-placeholder{padding:28px 16px}}

/* Tucker project: two site plans */
.tucker-project {margin-top: 30px;}
.tucker-intro {margin-bottom: 24px;}
.tucker-intro span {font-size: 12px; letter-spacing: .14em; opacity: .7;}
.tucker-intro h3 {font-size: clamp(25px, 3vw, 40px); margin: 9px 0;}
.tucker-intro p {margin: 0 0 16px;}
.tucker-plans {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px;}
.tucker-plans figure {margin: 0; min-width: 0;}
.tucker-plans img {display: block; width: 100%; height: 310px; object-fit: contain; background: #fff;}
.tucker-plans figcaption {padding-top: 12px; font-size: 14px; font-weight: 600;}
@media (max-width: 700px) {.tucker-plans {grid-template-columns: 1fr;} .tucker-plans img {height: auto; max-height: 420px;}}

.avondale-project {margin-top:38px;padding:30px 32px;border:1px solid rgba(30,65,48,.22);background:#f7f8f4;}
.avondale-project span {font-size:12px;letter-spacing:.14em;opacity:.7;}
.avondale-project h3 {font-size:clamp(24px,3vw,38px);margin:10px 0;}
.avondale-project p {margin:0;font-size:17px;}
@media(max-width:700px){.avondale-project{padding:22px;}}

.avondale-plan {margin:22px 0 0;}
.avondale-plan img {display:block;width:100%;height:auto;background:white;}
.avondale-plan figcaption {padding-top:12px;font-size:14px;font-weight:600;}

/* Two-column current project cards, smaller site plans */
.current-projects-inner{max-width:1280px;text-align:left;}
.current-projects-inner>h2,.current-projects-inner>p{text-align:center;}
.current-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px;align-items:stretch;}
.current-project-grid>.tucker-project,.current-project-grid>.avondale-project{margin:0;padding:24px;border:1px solid rgba(30,65,48,.20);background:#fff;min-width:0;}
.current-project-grid .tucker-intro{margin-bottom:12px;}
.current-project-grid h3{font-size:clamp(22px,2.1vw,30px);line-height:1.2;}
.current-project-grid .avondale-plan{margin-top:18px;}
.current-project-grid .avondale-plan img{height:230px;width:100%;object-fit:contain;}
.current-project-grid .tucker-plans{gap:10px;}
.current-project-grid .tucker-plans img{height:210px;object-fit:contain;}
.current-project-grid figcaption{font-size:12px;line-height:1.4;}
@media(max-width:760px){.current-project-grid{grid-template-columns:1fr;gap:18px}.current-project-grid>.tucker-project,.current-project-grid>.avondale-project{padding:18px}.current-project-grid .avondale-plan img{height:220px}.current-project-grid .tucker-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.current-project-grid .tucker-plans img{height:160px;}}
@media(max-width:420px){.current-project-grid .tucker-plans{grid-template-columns:1fr}.current-project-grid .tucker-plans img{height:200px;}}

/* Two White Street site plans displayed together */
.white-street-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;align-items:center}
.white-street-plans img{width:100%;height:260px;object-fit:contain;background:#f7f7f4;display:block}
@media(max-width:700px){.white-street-plans{grid-template-columns:1fr}.white-street-plans img{height:auto;max-height:350px}}

/* Glenmaye Hampton completed project */
.glenmaye-hampton-completed img{display:block;width:100%;height:260px;object-fit:contain;background:#f7f7f4;margin-bottom:16px}
@media(max-width:700px){.glenmaye-hampton-completed img{height:auto;max-height:350px}}

/* Featured Duluth video: LinkedIn-hosted preview */
.feature-video-preview{background:url('images/duluth-site-plan.png') center/contain no-repeat #e8eee9;position:relative;display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:360px;overflow:hidden}.feature-video-preview::before{content:"";position:absolute;inset:0;background:rgba(9,35,25,.13)}.feature-play{position:relative;z-index:1;display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,.95);color:#153b2a;font-size:32px;box-shadow:0 6px 26px #0003;padding-left:5px}.feature-watch{position:absolute;z-index:1;bottom:25px;left:25px;color:white;background:#173c2b;padding:12px 18px;font-size:13px;letter-spacing:.04em}.feature-video-preview:hover .feature-play{transform:scale(1.06)}

/* Embedded featured development video */
.feature-video-embedded{background:#102d21;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:360px}
.featured-development-video{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;background:#102d21}
@media(max-width:700px){.feature-video-embedded,.featured-development-video{min-height:240px}}

/* Click-to-enlarge project site plans */
.zoomable-site-plan{cursor:zoom-in;transition:filter .18s ease}
.zoomable-site-plan:hover{filter:brightness(.94)}
.zoomable-site-plan:focus-visible{outline:3px solid #b7a46a;outline-offset:3px}
.site-plan-modal-open{overflow:hidden}
.site-plan-lightbox[hidden]{display:none!important}
.site-plan-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,18,13,.94);display:flex;align-items:center;justify-content:center;padding:60px 22px 24px;box-sizing:border-box;cursor:zoom-out}
.site-plan-large{display:block;max-width:96vw;max-height:calc(100vh - 95px);width:auto;height:auto;object-fit:contain;box-shadow:0 12px 40px rgba(0,0,0,.3);cursor:default}
.site-plan-close{position:absolute;right:20px;top:12px;border:0;background:transparent;color:white;font-size:42px;line-height:1;cursor:pointer;padding:4px 12px}

/* Completed projects: consistent two-column cards matching Current projects */
.completed-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px;align-items:stretch}
.completed-project-grid>article,.completed-project-grid>article.big{grid-row:auto;grid-column:auto;min-width:0;margin:0;padding:24px;border:1px solid rgba(30,65,48,.20);background:#fff;display:flex;flex-direction:column}
.completed-project-grid .photo,.completed-project-grid .big .photo{height:260px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#f7f7f4;margin:0 0 16px}
.completed-project-grid .white-street-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;min-height:260px;align-items:center}
.completed-project-grid .white-street-plans img{width:100%;height:250px;max-height:none;object-fit:contain;background:#f7f7f4;margin:0}
.completed-project-grid .glenmaye-hampton-completed img{width:100%;height:260px;max-height:none;object-fit:contain;margin-bottom:16px}
.completed-project-grid h3{font-size:clamp(22px,2.1vw,30px);line-height:1.2;margin-top:auto}
.completed-project-grid .project-note{margin-bottom:0}
@media(max-width:700px){.completed-project-grid{grid-template-columns:1fr;gap:18px}.completed-project-grid>article,.completed-project-grid>article.big{padding:18px}.completed-project-grid .photo,.completed-project-grid .big .photo,.completed-project-grid .glenmaye-hampton-completed img{height:220px}.completed-project-grid .white-street-plans{min-height:220px}.completed-project-grid .white-street-plans img{height:210px}}

/* Past and present collaborators */
.collaborators-section{padding-top:70px;padding-bottom:70px;text-align:center}
.collaborators-section .section-head{margin:0 auto 18px}
.collaborators-section .collaborators-intro{margin:0 auto;color:#5b665f;max-width:650px}
.collaborators-space{min-height:38px}
@media(max-width:700px){.collaborators-section{padding-top:48px;padding-bottom:48px}}

/* Collaborator logo grid */
.collaborators-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:36px auto 0;max-width:1150px;text-align:center}
.collaborator-card{border:1px solid rgba(30,65,48,.15);background:#fff;min-height:158px;padding:20px 12px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}
.collaborator-logo{height:75px;display:flex;align-items:center;justify-content:center}
.collaborator-logo img{width:68px;height:68px;object-fit:contain}
.collaborator-card span{color:#193b2a;font-size:14px;font-weight:600;line-height:1.35}
@media(max-width:850px){.collaborators-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.collaborators-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collaborator-card{padding:14px 8px;min-height:138px}.collaborator-card span{font-size:12px}}

/* Compact collaborator logo boxes */
.collaborators-grid{max-width:990px;gap:12px;margin-top:26px;grid-template-columns:repeat(5,minmax(0,1fr))}
.collaborator-card{min-height:112px;padding:12px 8px 10px;gap:7px}
.collaborator-logo{height:48px}
.collaborator-logo img{width:44px;height:44px}
.collaborator-card span{font-size:12px;line-height:1.25}
@media(max-width:850px){.collaborators-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.collaborators-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.collaborator-card{min-height:100px;padding:10px 6px}.collaborator-logo{height:42px}.collaborator-logo img{width:38px;height:38px}.collaborator-card span{font-size:11px}}

/* Collaborator logos: linked cards preserve the existing compact grid */
a.collaborator-card-link { text-decoration: none; color: inherit; }
a.collaborator-card-link:hover { transform: translateY(-2px); }

/* Preserve full uploaded collaborator marks without cropping. */
.collaborator-logo img { object-fit: contain; max-width: 100%; max-height: 100%; }

/* About Us recognition cards */
.recognition-section h2{margin:12px 0 30px}.recognition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recognition-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:205px;padding:24px 18px;border:1px solid rgba(20,60,42,.18);background:#fff;text-decoration:none;color:inherit;text-align:center;transition:transform .2s,border-color .2s}.recognition-card:hover{transform:translateY(-3px);border-color:#365f4c}.recognition-logo{display:flex;align-items:center;justify-content:center;gap:12px;min-height:80px}.recognition-logo img{width:42px;height:42px;object-fit:contain}.recognition-wordmark{font-size:28px;letter-spacing:.04em;font-weight:700;color:#244b38}.recognition-card h3{font-size:15px;line-height:1.4;margin:10px 0 0;font-weight:500}@media(max-width:720px){.recognition-grid{grid-template-columns:1fr}.recognition-card{min-height:150px}}
