:root{--green-dark:#1e2952;--green-mid:#2d3d7a;--green-light:#4a5fa8;--green-pale:#eaecf5;--cream:#f7f6f2;--white:#fff;--text-dark:#111827;--text-mid:#3a4468;--text-muted:#7a85aa;--accent:#c8a96e;--border:#1e29521a;--font-head:"Playfair Display", serif;--font-ui:"Outfit", sans-serif;--font-body:"Montserrat", sans-serif;--max-w:2000px;--pad-x:clamp(1.5rem, 5vw, 5rem)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text-dark);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-head);font-weight:400;line-height:1.2}a{color:inherit;cursor:pointer;text-decoration:none;transition:opacity .25s}a:hover{opacity:.72}img{max-width:100%;display:block}button{font-family:var(--font-ui);cursor:pointer;border:none;outline:none}[role=button],.proj-card,.service-card,.related-card,.social-card,.filter-btn,.nav-cta,.link-arrow{cursor:pointer}.container{max-width:var(--max-w);padding:0 var(--pad-x);margin:0 auto}.section-eyebrow{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--green-light);margin-bottom:.9rem;font-size:.78rem}.section-eyebrow.accent{color:var(--accent)}.section-heading{color:var(--text-dark);margin-bottom:1.4rem;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.12}.section-heading em{color:var(--green-mid);font-style:italic}.section-heading.light{color:#fff}.section-heading.light em{color:var(--accent)}.section-header{margin-bottom:4rem}.section-lead{color:var(--text-mid);max-width:680px;margin-top:.5rem;font-size:1.1rem;font-weight:300;line-height:1.75}.link-arrow{font-family:var(--font-ui);color:var(--green-dark);border-bottom:1px solid;margin-top:.5rem;padding-bottom:.2rem;font-size:.95rem;font-weight:500;display:inline-block}.btn-solid{background:var(--green-dark);color:#fff;font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border-radius:2px;align-items:center;padding:.95rem 2.4rem;font-size:.88rem;transition:background .3s;display:inline-flex}.btn-solid:hover{background:var(--green-mid);opacity:1}.btn-solid.full-w{justify-content:center;width:100%}.btn-outline{color:#fff;font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:2px;align-items:center;padding:.95rem 2.4rem;font-size:.88rem;transition:all .3s;display:inline-flex}.btn-outline:hover{opacity:1;background:#ffffff1a;border-color:#fff}.btn-outline-light{color:#fff;font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:2px;align-items:center;padding:.9rem 2.4rem;font-size:.85rem;transition:all .3s;display:inline-flex}.btn-outline-light:hover{opacity:1;background:#ffffff1a;border-color:#fff}.nav{z-index:100;position:absolute;top:0;left:0;right:0}.nav-inner{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;padding-top:2rem;padding-bottom:2rem;display:flex}.nav-logo img{cursor:pointer;width:auto;height:36px}.nav-links{gap:2.4rem;display:flex}.nav-links a{font-family:var(--font-ui);color:#ffffffd9;letter-spacing:.04em;font-size:.9rem}.nav-links a:hover{color:#fff;opacity:1}.nav-cta{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--green-mid);cursor:pointer;border-radius:2px;padding:.7rem 1.8rem;font-size:.82rem;transition:background .3s}.nav-cta:hover{background:var(--green-dark);opacity:1}.hero{background:var(--green-dark);align-items:center;height:100vh;min-height:660px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:1;position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:center 20%;width:100%;height:100%}.hero-overlay{background:linear-gradient(110deg,#0a1a12d9 0%,#0a1a128c 55%,#0a1a122e 100%);position:absolute;inset:0}.hero-body{z-index:2;width:100%;padding-top:6rem;position:relative}.hero-eyebrow{font-family:var(--font-ui);letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:1.6rem;font-size:.78rem}.hero-title{color:#fff;max-width:800px;margin-bottom:2rem;font-size:clamp(3rem,5.5vw,6.5rem);line-height:1.07}.hero-title em{color:var(--accent);font-style:italic}.hero-sub{color:#ffffffb8;border-left:2px solid var(--accent);max-width:500px;margin-bottom:3rem;padding-left:1.5rem;font-size:1.05rem;font-weight:300;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:1.2rem;display:flex}.hero-scroll{z-index:3;flex-direction:column;align-items:center;gap:.7rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(#ffffff80,#0000);width:1px;height:48px}.scroll-label{font-family:var(--font-ui);letter-spacing:.22em;color:#fff6;text-transform:uppercase;font-size:.68rem}.quote-strip{background:var(--cream);border-bottom:1px solid var(--border)}.quote-inner{align-items:center;gap:5rem;padding-top:4rem;padding-bottom:4rem;display:flex}.quote-inner blockquote{font-family:var(--font-head);color:var(--text-dark);flex:1;font-size:clamp(1.1rem,1.8vw,1.5rem);font-style:italic;line-height:1.6}.quote-author{flex-shrink:0;align-items:center;gap:1rem;display:flex}.author-avatar{background:var(--green-dark);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:40px;padding:6px 10px;display:flex;overflow:hidden}.author-avatar img{object-fit:contain;filter:brightness(0)invert();width:100%;height:100%}.quote-author strong{font-family:var(--font-ui);font-size:.95rem;display:block}.quote-author span{color:var(--text-muted);font-size:.78rem;display:block}.about-section{background:var(--white);padding:9rem 0}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:8rem;display:grid}.about-image-col{position:relative}.about-image-col img{aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:3px;width:100%;max-height:640px}.about-tag{background:var(--green-dark);color:#fff;text-align:center;font-family:var(--font-ui);letter-spacing:.06em;border-radius:3px;padding:1.5rem 2rem;font-size:.82rem;position:absolute;bottom:-2rem;right:-2rem}.tag-num{font-size:2.6rem;font-family:var(--font-head);margin-bottom:.35rem;line-height:1;display:block}.about-text-col p{color:var(--text-mid);margin-bottom:1.2rem;font-size:1.05rem;font-weight:300}.services-section{background:var(--cream);padding:9rem 0}.services-grid{grid-template-columns:repeat(4,1fr);gap:2.5rem;display:grid}.service-card{background:var(--white);cursor:pointer;border-radius:3px;transition:transform .4s,box-shadow .4s;overflow:hidden}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #0000001a}.service-img-wrap img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s}.service-card:hover .service-img-wrap img{transform:scale(1.04)}.service-body{padding:2rem}.service-num{font-family:var(--font-head);color:var(--green-pale);-webkit-text-stroke:1px var(--green-light);margin-bottom:.8rem;font-size:2rem;line-height:1;display:block}.service-body h3{font-size:1.15rem;font-family:var(--font-ui);color:var(--green-dark);margin-bottom:.8rem;font-weight:500}.service-body p{color:var(--text-mid);font-size:.95rem;font-weight:300;line-height:1.7}.projects-bg-band{background:var(--green-dark);padding:8rem 0}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:4rem;display:flex}.projects-sub{color:#fff9;max-width:480px;font-size:1.05rem;font-weight:300}.proj-filters{flex-wrap:wrap;flex-shrink:0;gap:.8rem;display:flex}.filter-btn{color:#fff9;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:2px;padding:.55rem 1.4rem;font-size:.82rem;transition:all .3s}.filter-btn:hover,.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.proj-card{background:var(--white);cursor:pointer;color:inherit;border-radius:3px;text-decoration:none;transition:transform .4s,box-shadow .4s;display:block;overflow:hidden}.proj-card:hover{opacity:1;transform:translateY(-6px);box-shadow:0 22px 44px #00000059}.proj-img-wrap{position:relative;overflow:hidden}.proj-img-wrap img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s}.proj-card:hover .proj-img-wrap img{transform:scale(1.05)}.proj-badge{background:var(--accent);color:#fff;font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:.3rem .9rem;font-size:.68rem;position:absolute;top:1rem;left:1rem}.proj-hover-curtain{opacity:0;background:linear-gradient(#0000 40%,#0a1a12e0 100%);align-items:flex-end;padding:1.5rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.proj-card:hover .proj-hover-curtain{opacity:1}.proj-hover-meta{color:#fff}.proj-hover-arch{font-family:var(--font-ui);letter-spacing:.08em;color:var(--accent);margin-bottom:.25rem;font-size:.82rem;display:block}.proj-hover-area{font-family:var(--font-ui);color:#fffc;margin-bottom:.5rem;font-size:.85rem;display:block}.proj-hover-cta{font-family:var(--font-ui);letter-spacing:.06em;color:#fff;border-bottom:1px solid #fff6;padding-bottom:.1rem;font-size:.82rem;display:inline-block}.proj-body{padding:1.6rem 1.8rem 2rem}.proj-type{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--green-light);margin-bottom:.4rem;font-size:.72rem;display:block}.proj-body h3{color:var(--text-dark);margin-bottom:.4rem;font-size:1.3rem}.proj-location{color:var(--text-muted);margin-bottom:.8rem;font-size:.88rem}.proj-desc{color:var(--text-mid);font-size:.92rem;font-weight:300;line-height:1.65}.projects-cta{text-align:center}.social-section{background:var(--white);padding:9rem 0}.social-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-bottom:4rem;display:grid}.social-img-wrap img{aspect-ratio:16/10;object-fit:cover;border-radius:3px;width:100%;margin-bottom:1.4rem;transition:transform .5s}.social-card:hover .social-img-wrap img{transform:scale(1.02)}.social-body h3{color:var(--green-dark);margin-bottom:.6rem;font-size:1.25rem}.social-body p{color:var(--text-mid);font-size:.97rem;font-weight:300;line-height:1.7}.social-banner{border-radius:3px;height:320px;position:relative;overflow:hidden}.social-banner img{object-fit:cover;width:100%;height:100%}.social-banner-overlay{background:linear-gradient(90deg,#0a1a12e6 0%,#0a1a1280 60%,#0000 100%);position:absolute;inset:0}.social-banner-content{flex-direction:column;justify-content:center;padding:4rem;display:flex;position:absolute;inset:0}.social-banner-content h3{color:#fff;max-width:540px;margin-bottom:2rem;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.35}.media-logos{align-items:center;gap:2rem;display:flex}.media-logos img{filter:brightness(0)invert();opacity:.65;width:auto;height:24px}.contact-section{background:var(--green-pale);padding:9rem 0}.contact-inner{grid-template-columns:1fr 1.2fr;align-items:start;gap:8rem;display:grid}.contact-text p{color:var(--text-mid);margin-top:1rem;font-size:1.05rem;font-weight:300;line-height:1.75}.contact-info{flex-direction:column;gap:1.5rem;margin-top:3rem;display:flex}.contact-info-item{flex-direction:column;gap:.2rem;display:flex}.contact-info-item strong{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--green-light);font-size:.78rem}.contact-info-item span,.contact-info-item a{color:var(--text-dark);font-size:1rem}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-form input,.contact-form textarea,.contact-form select{border:1px solid var(--border);background:var(--white);width:100%;font-family:var(--font-body);color:var(--text-dark);appearance:none;border-radius:2px;outline:none;padding:1rem 1.2rem;font-size:1rem;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--green-mid)}.contact-form textarea{resize:vertical;min-height:130px}.footer{background:var(--green-dark);padding:6rem 0 0}.footer-inner{border-bottom:1px solid #ffffff14;grid-template-columns:1.6fr 1fr;gap:8rem;padding-bottom:5rem;display:grid}.footer-brand p{color:#ffffff80;max-width:360px;margin-top:1.2rem;font-size:.98rem;font-weight:300;line-height:1.7}.footer-legal-info{color:#ffffff4d!important;margin-top:.6rem!important;font-size:.82rem!important}.footer-logo{width:auto;height:34px}.footer-cols{align-items:flex-start;gap:5rem;display:flex}.footer-cols div{flex-direction:column;display:flex}.footer-cols h5{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:#ffffff59;margin-bottom:1.2rem;font-size:.75rem}.footer-cols a{color:#ffffffa6;margin-bottom:.6rem;font-size:.95rem;transition:color .25s}.footer-cols a:hover{color:#fff;opacity:1}.footer-bottom{color:#ffffff47;justify-content:space-between;align-items:center;padding:2rem 0;font-size:.82rem;display:flex}.footer-bottom a{color:#fff6}.footer-bottom a:hover{color:#fff;opacity:1}.proj-page-nav{z-index:100;background:var(--green-dark);border-bottom:1px solid #ffffff1a;position:fixed;top:0;left:0;right:0}.proj-page-nav-inner{justify-content:space-between;align-items:center;padding-top:1.2rem;padding-bottom:1.2rem;display:flex}.proj-nav-logo{width:auto;height:30px}.proj-back-btn{font-family:var(--font-ui);letter-spacing:.08em;color:#ffffffb3;cursor:pointer;font-size:.85rem;transition:color .25s}.proj-back-btn:hover{color:#fff;opacity:1}.proj-hero{background:var(--green-dark);height:65vh;min-height:400px;margin-top:64px;position:relative;overflow:hidden}.proj-hero-bg{z-index:1;position:absolute;inset:0}.proj-hero-bg img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.proj-hero-overlay{background:linear-gradient(#0000 0%,#0a1a124d 40%,#0a1a12d9 100%);position:absolute;inset:0}.proj-hero-content{z-index:2;position:absolute;bottom:3rem;left:0;right:0}.proj-type-label{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem;font-size:.78rem;display:block}.proj-hero-title{color:#fff;font-size:clamp(2.4rem,4vw,5rem);line-height:1.1}.proj-hero-badge{background:var(--accent);color:#fff;font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;margin-top:1rem;padding:.3rem 1rem;font-size:.72rem;display:inline-block}.proj-detail{background:var(--white);padding:7rem 0}.proj-detail-grid{grid-template-columns:320px 1fr;align-items:start;gap:6rem;display:grid}.proj-meta-card{background:var(--green-pale);border-radius:3px;grid-template-columns:1fr;gap:0;margin-bottom:2rem;padding:2.5rem;display:grid}.proj-meta-item{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;padding:1.1rem 0;display:flex}.proj-meta-item:first-child{padding-top:0}.proj-meta-item:last-child{border-bottom:none;padding-bottom:0}.meta-label{font-family:var(--font-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--green-light);font-size:.72rem}.meta-value{font-family:var(--font-ui);color:var(--text-dark);font-size:.98rem;font-weight:500}.proj-sidebar-cta{justify-content:center;width:100%}.proj-desc-heading{color:var(--text-dark);margin-bottom:2rem;font-size:clamp(1.8rem,2.5vw,2.8rem);line-height:1.2}.proj-description .section-eyebrow{margin-bottom:.5rem}.proj-description p{color:var(--text-mid);margin-bottom:1.4rem;font-size:1.05rem;font-weight:300;line-height:1.85}.proj-gallery{background:var(--white);padding:0 0 7rem}.proj-gallery .section-eyebrow{margin-bottom:2rem}.gallery-grid{grid-template-rows:auto;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.gallery-item img{aspect-ratio:4/3;object-fit:cover;border-radius:2px;width:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.02)}.gallery-featured{grid-column:span 2}.gallery-featured img{aspect-ratio:16/9}.proj-related{background:var(--cream);padding:7rem 0}.related-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;display:grid}.related-card{cursor:pointer;color:inherit;text-decoration:none;transition:transform .4s;display:block}.related-card:hover{opacity:1;transform:translateY(-4px)}.related-img-wrap img{aspect-ratio:4/3;object-fit:cover;border-radius:3px;width:100%;margin-bottom:1.2rem;transition:box-shadow .4s}.related-card:hover .related-img-wrap img{box-shadow:0 16px 36px #00000026}.related-body h3{margin-bottom:.3rem;font-size:1.2rem}.not-found{background:var(--cream);align-items:center;min-height:100vh;display:flex}.not-found h1{margin-bottom:1rem;font-size:2rem}@media (width<=1400px){.about-grid,.footer-inner{gap:5rem}}@media (width<=1200px){.services-grid{grid-template-columns:repeat(2,1fr)}.proj-detail-grid{grid-template-columns:280px 1fr;gap:4rem}}@media (width<=960px){.about-grid,.contact-inner{grid-template-columns:1fr;gap:3rem}.proj-detail-grid{grid-template-columns:1fr;gap:2rem}.about-tag{bottom:-1.5rem;right:1rem}.social-grid{grid-template-columns:1fr 1fr}.projects-header{flex-direction:column;align-items:flex-start}.footer-inner{grid-template-columns:1fr;gap:3.5rem}.footer-cols{flex-wrap:wrap;gap:2.5rem}.quote-inner{flex-direction:column;gap:2rem}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-featured{grid-column:span 2}.related-grid{grid-template-columns:1fr 1fr}.proj-meta-card{grid-template-columns:1fr 1fr;margin-bottom:1.5rem;padding:1.8rem}.proj-meta-item{padding:1rem 0}.proj-meta-item:nth-last-child(-n+2){border-bottom:none}.proj-sidebar-cta{justify-content:center;width:100%}}@media (width<=640px){.services-grid,.projects-grid,.social-grid,.form-row{grid-template-columns:1fr}.nav-links,.nav-cta{display:none}.hero-title{font-size:2.6rem}.hero-sub{font-size:.97rem}.footer-cols{flex-direction:column;gap:2rem}.social-banner-content{padding:1.8rem}.social-banner{height:260px}.gallery-grid{grid-template-columns:1fr}.gallery-featured{grid-column:span 1}.gallery-featured img{aspect-ratio:4/3}.related-grid{grid-template-columns:1fr}.proj-hero{height:50vh;min-height:300px}.media-logos{flex-wrap:wrap;gap:1rem}.proj-meta-card{grid-template-columns:1fr 1fr;gap:0;padding:1.25rem}.proj-meta-item{border-bottom:1px solid var(--border);padding:.9rem .5rem}.proj-meta-item:nth-child(2n){border-left:1px solid var(--border);padding-left:1rem}.proj-meta-item:nth-last-child(-n+2){border-bottom:none}.meta-label{font-size:.68rem}.meta-value{font-size:.88rem}.proj-desc-heading{font-size:1.6rem}.proj-description p{font-size:.97rem}}
