@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=DM+Sans:wght@300;400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold:#c89b6d;--dark:#1a1a1a;--mid:#2a2a2a;--cream:#f7f4ef;--text:#333;--muted:#666;--content-width:1100px;--page-padding:24px;--section-padding:80px;--font-heading:"Playfair Display", serif;--font-body:"DM Sans", sans-serif;--font-body-size:1rem;--font-small:.85rem;--font-h1:clamp(2.4rem, 6vw, 4.2rem);--font-h2:2.2rem;--font-h3:1.15rem;--line-body:1.75;--line-heading:1.15;--paragraph-gap:18px;--heading-gap:40px}body{background:var(--cream);color:var(--text);font-family:var(--font-body);font-size:var(--font-body-size);line-height:var(--line-body)}h1,h2,h3{font-family:var(--font-heading);line-height:var(--line-heading)}h2{font-size:var(--font-h2)}h3{font-size:var(--font-h3)}p{line-height:var(--line-body)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.section{max-width:var(--content-width);padding:var(--section-padding) var(--page-padding);margin:0 auto}.section h2{margin-bottom:var(--heading-gap);display:inline-block;position:relative}.section h2:after{content:"";background:var(--gold);width:44px;height:2px;position:absolute;bottom:-12px;left:0}.hero{text-align:center;background:url(/photos/header.JPG) 50%/cover no-repeat;justify-content:center;align-items:center;height:92vh;display:flex;position:relative}.hero-overlay{background:#0000009e;position:absolute;inset:0}.hero-content{padding:0 var(--page-padding);color:#fff;animation:.9s both fadeUp;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.badge{letter-spacing:.06em;text-transform:uppercase;background:#ffffff1a;border:1px solid #ffffff40;border-radius:40px;margin-bottom:28px;padding:8px 20px;font-size:.82rem;display:inline-block}.hero-content h1{font-size:var(--font-h1);margin-bottom:18px;font-weight:700;line-height:1.1}.hero-sub{opacity:.75;margin-bottom:40px;font-size:1.1rem;font-weight:300}.buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.btn-primary,.btn-secondary{color:#fff;border-radius:2px;padding:14px 32px;text-decoration:none;display:inline-block}.btn-primary{background:var(--gold);letter-spacing:.04em;font-weight:500;transition:opacity .2s}.btn-primary:hover{opacity:.82}.btn-secondary{border:1px solid #fff9;transition:background .2s}.btn-secondary:hover{background:#ffffff1a}.nav{z-index:100;background:var(--dark);flex-wrap:wrap;justify-content:center;gap:4px;padding:14px 20px;display:flex;position:sticky;top:0}.nav a{color:#ffffffb3;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;padding:7px 16px;font-size:.88rem;text-decoration:none;transition:color .2s}.nav a:hover{color:var(--gold)}.about-grid{grid-template-columns:1fr 280px;align-items:start;gap:60px;display:grid}.about-text p{margin-bottom:var(--paragraph-gap);color:var(--muted)}.about-stats{flex-direction:column;gap:24px;display:flex}.stat{border-left:3px solid var(--gold);background:#fff;flex-direction:column;padding:20px 24px;display:flex;box-shadow:0 2px 10px #0000000d}.stat-num{color:var(--gold);font-family:var(--font-heading);font-size:var(--font-h2);line-height:1}.stat-label{color:var(--muted);font-size:var(--font-small);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.featured-section .section{padding-top:20px}.featured-project{background:#fff;border-radius:8px;grid-template-columns:1.4fr 1fr;display:grid;overflow:hidden;box-shadow:0 10px 30px #00000014}.featured-image{cursor:pointer;min-height:420px;position:relative;overflow:hidden}.featured-image img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.featured-image:hover img{transform:scale(1.03)}.featured-image-count{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a1a1ab8;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:600;position:absolute;bottom:18px;left:18px}.featured-content{flex-direction:column;justify-content:center;padding:48px;display:flex}.featured-category{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:700}.featured-content h3{color:var(--dark);margin-bottom:18px;font-size:1.8rem}.featured-content p{color:var(--muted);margin-bottom:28px}.featured-btn{background:var(--dark);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:13px 20px;font-weight:500;transition:transform .2s,background .2s}.featured-btn:hover{background:var(--mid);transform:translateY(-2px)}.featured-btn:active{transform:translateY(0)}.featured-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.portfolio-section{background:var(--mid);color:#fff}.portfolio-section h2,.team-section h2,.hiring-section h2{color:#fff}.filter-bar{flex-wrap:wrap;gap:10px;margin-top:-16px;margin-bottom:36px;display:flex}.filter-btn,.show-more-btn{color:#ffffffb3;cursor:pointer;letter-spacing:.03em;background:0 0;border-radius:2px;transition:color .2s,border-color .2s,background .2s}.filter-btn{font-size:var(--font-small);background:#ffffff14;border:1px solid #ffffff26;padding:7px 18px}.filter-btn:hover,.show-more-btn:hover{border-color:var(--gold);color:var(--gold)}.filter-btn.active{border-color:var(--gold);background:var(--gold);color:#fff}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.project{aspect-ratio:4/3;cursor:pointer;border-radius:2px;position:relative;overflow:hidden}.project img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.project:hover img{transform:scale(1.07)}.project-label{background:linear-gradient(#0000,#000000bf);padding:28px 16px 14px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:translateY(4px)}.project:hover .project-label{transform:translateY(0)}.project-cat{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;display:block}.project-label h3{color:#fff;font-family:var(--font-body);font-size:.95rem;font-weight:500}.show-more-wrap{text-align:center;margin-top:36px}.show-more-btn{border:1px solid #ffffff4d;padding:12px 32px;font-size:.9rem}.lightbox{z-index:999;padding:var(--page-padding);cursor:pointer;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;cursor:default;border-radius:2px;max-width:90vw;max-height:82vh}.lightbox-title,.lightbox-counter{color:#ffffffb3}.lightbox-title{margin-top:16px;font-size:.95rem}.lightbox-counter{font-size:var(--font-small);letter-spacing:.08em;margin-top:4px}.lightbox-close,.lightbox-arrow{color:#fff;cursor:pointer;border:none}.lightbox-close{opacity:.7;background:0 0;font-size:1.4rem;transition:opacity .2s;position:absolute;top:20px;right:24px}.lightbox-close:hover{opacity:1}.lightbox-arrow{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1414148c;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:38px;font-weight:300;line-height:1;transition:background .2s,transform .2s,border-color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow-left{left:30px}.lightbox-arrow-right{right:30px}.lightbox-arrow:hover{background:#141414d9;border-color:#ffffffb3;transform:translateY(-50%)scale(1.08)}.lightbox-arrow:active{transform:translateY(-50%)scale(.95)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.service-card{border-top:3px solid var(--gold);background:#fff;padding:32px 26px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 14px #0000000f}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001a}.service-icon{margin-bottom:14px;font-size:2rem}.service-card h3{margin-bottom:10px}.service-card p{color:var(--muted)}.team-section{background:var(--mid);color:#fff}.team-grid{flex-wrap:wrap;gap:32px;display:flex}.team-card{text-align:center;flex:0 0 200px}.team-card img{border:3px solid var(--gold);object-fit:cover;object-position:top;border-radius:50%;width:160px;height:160px;margin:0 auto 16px;display:block}.team-card h3{color:#fff;margin-bottom:5px}.team-card p{color:#ffffff80;font-size:var(--font-small);letter-spacing:.05em;text-transform:uppercase}.hiring-section{background:var(--dark);color:#fff}.hiring-inner{max-width:var(--content-width)}.hiring-text{max-width:760px}.hiring-label{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-size:.78rem;font-weight:700;display:inline-block}.hiring-text>p{margin-bottom:var(--paragraph-gap);color:#ffffffc7}.hiring-text strong{color:#fff;font-weight:500}.hiring-details{grid-template-columns:repeat(2,1fr);gap:14px 30px;margin-top:32px;display:grid}.hiring-detail{align-items:flex-start;gap:11px;display:flex}.hiring-detail span{color:var(--gold);flex-shrink:0;font-weight:700}.hiring-detail p{color:#ffffffd9}.contact-section{padding:var(--section-padding) var(--page-padding);background:var(--gold);color:#fff;text-align:center}.contact-section h2{margin-bottom:14px}.contact-sub{opacity:.9;margin-bottom:40px;font-size:1.05rem}.contact-items{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.contact-item{color:#fff;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:2px;align-items:center;gap:10px;padding:14px 24px;text-decoration:none;transition:background .2s;display:flex}.contact-item:hover{background:#ffffff47}.contact-icon{font-size:1.2rem}.footer{padding:24px var(--page-padding);background:var(--gold);color:#fff;font-size:var(--font-small)}.footer-inner{max-width:var(--content-width);justify-content:center;align-items:center;gap:24px;margin:0 auto;display:flex}.footer-logo{opacity:.75;flex-shrink:0;height:40px}.footer-copy{opacity:.5;font-size:.78rem}@media (width<=900px){.featured-project{grid-template-columns:1fr}.featured-image{min-height:340px}.featured-content{padding:36px}}@media (width<=720px){:root{--page-padding:20px;--section-padding:60px}.about-grid{grid-template-columns:1fr;gap:40px}.team-grid{justify-content:center}.hiring-details{grid-template-columns:1fr}}@media (width<=600px){.nav{flex-direction:column;align-items:center;gap:2px;padding:10px;position:static}.nav a{text-align:center;width:100%;padding:10px}.featured-image{min-height:260px}.featured-content{padding:26px 22px}.featured-content h3{font-size:1.6rem}.featured-btn{text-align:center;width:100%}.featured-image-count{bottom:12px;left:12px}.lightbox-arrow{width:42px;height:42px;font-size:30px}.lightbox-arrow-left{left:10px}.lightbox-arrow-right{right:10px}}
