:root{--ink:#171c19;--paper:#f4f1ea;--warm:#c7a06b;--warm-2:#d9bd8e;--stone:#d8d1c4;--muted:#66706a;--white:#fff;--max:1180px;--line:rgba(23,28,25,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.nav{position:fixed;z-index:30;top:0;left:0;right:0;padding:16px 0;background:rgba(15,18,16,.72);border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(14px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;min-width:150px}.brand-logo{display:flex;align-items:center}.brand-logo img{width:145px;height:auto;max-height:50px;object-fit:contain}.brand-logo-light{display:none}
.navlinks{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:650;color:#f7f4ed}.navlinks a{opacity:.86}.navlinks a:hover{opacity:1;color:var(--warm-2)}
.lang{border:1px solid rgba(255,255,255,.45);padding:7px 11px;background:transparent;color:#fff;cursor:pointer;border-radius:2px;font-size:12px;font-weight:700}.lang:hover{background:rgba(255,255,255,.08)}.menu{display:none;border:0;background:none;color:#fff;font-size:25px}
.hero{min-height:100vh;padding-top:0;display:block;background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero-grid{min-height:100vh;display:grid;grid-template-columns:52% 48%;position:relative}.hero-panel{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:150px 7vw 90px;overflow:hidden;background:linear-gradient(90deg,#101411 0%,#101411 72%,rgba(16,20,17,.94) 88%,rgba(16,20,17,.45) 100%)}.hero-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 42%,rgba(201,164,101,.08),transparent 35%)}
.hero-est{position:relative;z-index:2;letter-spacing:6px;color:#c9a873;font-size:11px;font-weight:700;margin-bottom:28px}.hero-est:after{content:"";display:inline-block;width:70px;height:1px;background:#c9a873;vertical-align:middle;margin-left:18px;opacity:.8}.hero-copy{position:relative;z-index:2;max-width:720px}.hero-copy h1{font:500 clamp(56px,5.7vw,92px)/.97 Georgia,"Times New Roman",serif;letter-spacing:-1.8px;margin:0 0 26px;max-width:850px}.hero-copy p{max-width:590px;color:#e5e2da;font-size:17px;line-height:1.7;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.cta{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:#cda96e;color:#171b18;border:1px solid #cda96e;border-radius:2px;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:800}.cta:hover{background:#dec18e}.cta.secondary{background:transparent;color:#fff;border-color:rgba(210,180,128,.65)}.cta.secondary:hover{background:rgba(255,255,255,.08)}
.hero-drawing{position:absolute;right:-30px;bottom:0;width:55%;height:45%;opacity:.2;pointer-events:none;border:1px solid rgba(205,169,110,.22);border-bottom:0}.hero-drawing:before,.hero-drawing:after{content:"";position:absolute;border:1px solid rgba(205,169,110,.22)}.hero-drawing:before{left:13%;bottom:0;width:36%;height:66%;border-bottom:0}.hero-drawing:after{right:8%;bottom:0;width:22%;height:84%;border-bottom:0}.hero-drawing span{position:absolute;display:block;background:rgba(205,169,110,.24);height:1px;width:35%;transform-origin:left center}.hero-drawing span:nth-child(1){left:8%;bottom:27%;transform:rotate(-35deg)}.hero-drawing span:nth-child(2){left:15%;bottom:48%;transform:rotate(-22deg)}.hero-drawing span:nth-child(3){right:12%;bottom:54%;transform:rotate(25deg)}.hero-drawing span:nth-child(4){right:4%;bottom:31%;transform:rotate(42deg)}.hero-drawing b{position:absolute;right:2%;top:5%;font:600 11px Inter,Arial,sans-serif;letter-spacing:4px;color:#d0ac76}
.hero-image{position:relative;min-height:100vh;overflow:hidden;background:#1a1b18}.hero-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,20,17,.72) 0%,rgba(16,20,17,.22) 28%,rgba(16,20,17,.02) 60%,rgba(16,20,17,.28) 100%),linear-gradient(0deg,rgba(16,20,17,.28),transparent 35%)}.hero-image:after{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 72% 55%,transparent 45%,rgba(10,13,12,.24) 100%);pointer-events:none}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.02);transform:scale(1.03)}
.section{padding:110px 0}.stats-section{padding-top:55px;padding-bottom:55px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}.stat{padding:35px 20px;border-right:1px solid var(--stone)}.stat:last-child{border-right:0}.stat strong{font:700 42px Georgia,serif;display:block}.stat span{color:var(--muted);font-size:14px}
.eyebrow{letter-spacing:3px;text-transform:uppercase;font-size:12px;color:var(--warm);font-weight:800}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2{font:500 clamp(38px,5vw,62px)/1.08 Georgia,"Times New Roman",serif;margin:0}.section-head p{max-width:520px;color:var(--muted)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08}
.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-copy h2{font:500 clamp(44px,5.7vw,76px)/1.02 Georgia,"Times New Roman",serif;margin:14px 0 22px}.about-copy p{color:var(--muted);font-size:17px}.about-image{aspect-ratio:4/5;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--stone);border:1px solid var(--stone)}.service{background:var(--paper);padding:38px;min-height:210px}.service-num{color:var(--warm);font-weight:800;font-size:12px;letter-spacing:2px}.service h3{font-size:30px;margin:28px 0 0}
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-card{background:#fff;border:1px solid #e2ddd2;overflow:hidden;transition:transform .3s,box-shadow .3s}.project-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(29,36,33,.1)}.project-cover{aspect-ratio:16/10;overflow:hidden}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover .project-cover img{transform:scale(1.04)}.project-body{padding:26px}.tag{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--warm);font-weight:800}.project-body h3{font-size:30px;margin:8px 0}.location{color:var(--muted);font-size:14px}.project-body p{color:var(--muted);font-size:14px;margin-bottom:0}.details{display:inline-block;margin-top:10px;font-weight:800;font-size:13px;border-bottom:1px solid var(--warm)}
.heritage{background:var(--ink);color:#fff}.heritage-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.heritage h2{font:500 clamp(44px,6vw,76px)/1.02 Georgia,"Times New Roman",serif;margin:14px 0 22px}.heritage p{color:#d8d8d1;font-size:17px}.heritage-list{border-left:1px solid #736b5c;padding-left:30px}.heritage-list div{padding:18px 0;border-bottom:1px solid #4b504b}.heritage-list strong{display:block}.heritage-list span{font-size:13px;color:#aaa}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact>div:first-child{padding-top:6px}.contact>div:first-child p{max-width:540px;color:var(--muted);font-size:21px;line-height:1.5;margin:22px 0 0}.contact-item{padding:20px 0;border-bottom:1px solid var(--stone)}.contact-item small{display:block;text-transform:uppercase;letter-spacing:1.5px;color:var(--warm);font-weight:800}.contact-item a,.contact-item div{font-size:20px}.contact-item a:hover{text-decoration:underline;text-decoration-color:var(--warm)}
.footer{background:#171c19;color:#d6d4cc;padding:35px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:13px}.footer-inner strong{color:#fff}.footer-inner span{color:#d6d4cc}
.modal{position:fixed;inset:0;z-index:50;background:rgba(12,16,14,.94);display:none;padding:25px;overflow:auto}.modal.open{display:block}.modal-inner{width:min(1100px,100%);margin:40px auto;color:#fff}.modal-top{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:25px}.close{border:1px solid #666;background:none;color:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer}.close:hover{background:#fff;color:#171c19}.modal h2{font:500 clamp(36px,6vw,65px)/1.02 Georgia,"Times New Roman",serif;margin:14px 0}.modal-meta{color:#d0c3ae}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in}.modal-copy{max-width:780px;color:#d5d8d4;font-size:16px;margin:25px 0 35px}
.lightbox{position:fixed;inset:0;z-index:70;background:rgba(7,9,8,.98);display:none;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1200px,90vw);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lightbox img{max-width:90vw;max-height:78vh;object-fit:contain}.lightbox figcaption{color:#d7d1c6;font-size:13px}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;cursor:pointer}.lightbox-close{top:22px;right:24px;width:44px;height:44px;border-radius:50%;font-size:28px}.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:66px;font-size:42px;line-height:1}.lightbox-nav.prev{left:22px}.lightbox-nav.next{right:22px}.lightbox-nav:hover,.lightbox-close:hover{background:#fff;color:#171c19}
.noscript{position:fixed;bottom:0;left:0;right:0;background:#171c19;color:#fff;padding:10px;text-align:center;z-index:100;font-size:13px}
@media(max-width:900px){.nav{padding:12px 0}.brand-logo img{width:140px;max-height:46px}.menu{display:block}.navlinks{display:none;position:absolute;top:70px;left:0;right:0;padding:20px;background:rgba(23,28,25,.98);flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.12)}.navlinks.open{display:flex}.hero-grid{grid-template-columns:1fr;min-height:100svh}.hero-panel{min-height:100svh;padding:130px 28px 55px;background:linear-gradient(90deg,rgba(16,20,17,.96),rgba(16,20,17,.84)),url("assets/images/hero/brick-restoration.jpg") center/cover}.hero-image{position:absolute;inset:0;min-height:100svh;z-index:0;opacity:.40}.hero-image:before{background:linear-gradient(90deg,rgba(16,20,17,.9),rgba(16,20,17,.35))}.hero-copy h1{font-size:clamp(46px,11vw,72px)}.stats,.services,.projects,.about,.heritage-grid,.contact{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--stone)}.section{padding:80px 0}.section-head{display:block}.section-head p{margin-top:20px}.gallery{grid-template-columns:1fr}.footer-inner{display:block}.footer-inner>*{margin:8px 0}.about-image{aspect-ratio:16/12}}
@media(max-width:560px){.container{width:min(calc(100% - 28px),var(--max))}.hero-copy h1{font-size:clamp(42px,12vw,62px)}.hero-copy p{font-size:15px}.hero-actions .cta{width:100%;justify-content:center}.hero-est{margin-bottom:18px}.hero-drawing{display:none}.contact>div:first-child p{font-size:18px}.lightbox{padding:22px 16px}.lightbox-nav{width:40px;height:54px;font-size:32px}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}}
