:root{--ink:#080a0b;--charcoal:#111518;--cream:#f2e9da;--white:#fffdfa;--orange:#e56d2f;--muted:#a9a49b;--line:#2a2d2e;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--cream);color:var(--ink);padding:.75rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:96px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:50;background:rgba(8,10,11,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand img{display:block;width:180px;height:76px;object-fit:contain}.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a{text-decoration:none;font-size:.88rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.site-header nav a:hover{color:var(--orange)}.header-call{border:1px solid var(--cream);padding:.7rem 1rem;text-decoration:none;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;font-weight:800}.menu-toggle{display:none}.hero{min-height:680px;display:grid;grid-template-columns:1.08fr .92fr;max-width:var(--max);margin:auto;padding:96px 24px 76px;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:12% auto auto 42%;width:480px;height:480px;border:1px solid #292725;border-radius:50%;box-shadow:0 0 0 80px rgba(242,233,218,.018),0 0 0 160px rgba(242,233,218,.012)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--orange);font-size:.78rem;font-weight:800;margin:0 0 14px}.hero h1,.section h2{font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;line-height:.92;margin:0;letter-spacing:-.045em}.hero h1{font-size:clamp(4rem,8vw,7.5rem);position:relative}.hero h1 span{color:var(--orange)}.hero-text{font-size:1.2rem;max-width:620px;color:#d4cec4;margin:26px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.82rem;border:1px solid var(--cream);cursor:pointer}.button.primary{background:var(--cream);color:var(--ink)}.button.primary:hover{background:var(--orange);border-color:var(--orange);color:#fff}.button.secondary:hover{background:var(--cream);color:var(--ink)}.trust-list{display:flex;gap:28px;padding:0;margin:34px 0 0;list-style:none;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.trust-list li:before{content:"✓";color:var(--orange);margin-right:8px}.hero-mark{position:relative;display:grid;place-items:center}.hero-mark img{width:100%;max-width:520px;filter:drop-shadow(0 22px 45px #000)}.service-strip{background:var(--cream);color:var(--ink);display:grid;grid-template-columns:repeat(4,1fr);padding:19px max(24px,calc((100vw - var(--max))/2));font-family:Georgia,serif;font-weight:800;text-transform:uppercase;letter-spacing:.12em;text-align:center}.service-strip span+span{border-left:1px solid #b6afa3}.section{max-width:var(--max);margin:auto;padding:110px 24px}.section-heading{display:grid;grid-template-columns:.7fr 1fr;gap:48px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-28px}.section h2{font-size:clamp(2.6rem,5vw,4.8rem)}.section-heading>p:last-child{color:#bbb5ab;margin:0;font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-card{padding:34px 25px;min-height:340px;border-right:1px solid var(--line);display:flex;flex-direction:column;transition:.25s ease}.service-card:last-child{border-right:0}.service-card:hover,.service-card.featured{background:var(--charcoal);transform:translateY(-6px)}.service-number{color:var(--orange);font-size:.72rem;letter-spacing:.14em}.service-card h3{font-family:Georgia,serif;text-transform:uppercase;font-size:2rem;margin:28px 0 8px}.service-card p{color:#aaa69e}.service-card a{margin-top:auto;color:var(--cream);text-underline-offset:5px;font-weight:700;font-size:.85rem}.about{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px;align-items:center;border-top:1px solid var(--line)}.about-badge{aspect-ratio:1;border:1px solid #49443d;display:flex;align-items:center;justify-content:center;gap:16px;background:radial-gradient(circle,#1c1d1d,var(--ink) 67%);font-family:Georgia,serif}.about-badge strong{font-size:4.2rem}.about-badge span{color:var(--orange);text-transform:uppercase}.about>div>p:not(.eyebrow){color:#bdb7ad;font-size:1.1rem}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.about-points div{border-top:2px solid var(--orange);padding-top:12px}.about-points strong,.about-points span{display:block}.about-points span{font-size:.84rem;color:var(--muted);line-height:1.45;margin-top:5px}.quote-section{max-width:none;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.quote-copy>p:not(.eyebrow){max-width:480px}.phone-display{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:800;text-decoration:none;display:block;margin-top:30px}.quote-section form{background:var(--ink);color:var(--cream);padding:34px}.quote-section label{display:grid;gap:7px;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800;margin-bottom:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-section input,.quote-section select,.quote-section textarea{width:100%;border:1px solid #444;background:#151819;color:var(--white);padding:13px 14px;font:inherit;border-radius:0}.quote-section input:focus,.quote-section select:focus,.quote-section textarea:focus{outline:2px solid var(--orange);outline-offset:1px}.quote-section textarea{resize:vertical}.submit{width:100%}.form-error{background:#442018;color:#ffd7c4;padding:10px 12px;font-size:.88rem}.fine-print{color:#777;font-size:.75rem;text-align:center;margin:12px 0 0}footer{text-align:center;padding:70px 24px 90px;border-top:1px solid var(--line)}footer img{width:230px;height:140px;object-fit:contain}footer>p{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}footer>a{font-family:Georgia,serif;font-size:1.8rem;font-weight:800}.copyright{margin-top:35px!important;font-size:.68rem!important}.mobile-contact{display:none}
.service-area{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.service-area>p{color:#bdb7ad;font-size:1.08rem;margin:0}
.gallery-section{max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);background:#0b0e10}.gallery-heading{max-width:var(--max);margin-left:auto;margin-right:auto}.gallery-filters{max-width:var(--max);margin:0 auto 28px;display:flex;gap:10px;flex-wrap:wrap}.gallery-filter{border:1px solid #46494a;background:transparent;color:var(--cream);min-height:46px;padding:0 17px;font:inherit;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.gallery-filter span{color:var(--muted);margin-left:6px}.gallery-filter:hover,.gallery-filter.active{background:var(--cream);border-color:var(--cream);color:var(--ink)}.gallery-filter.active span{color:#68645d}.project-gallery{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:10px}.gallery-item{border:0;padding:0;position:relative;overflow:hidden;background:#1a1d1f;cursor:zoom-in;color:#fff}.gallery-item.wide{grid-column:span 2}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease,filter .4s ease}.gallery-item span{position:absolute;left:12px;bottom:12px;background:rgba(8,10,11,.88);border-left:3px solid var(--orange);padding:7px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.035);filter:brightness(.78)}.gallery-item:focus-visible{outline:3px solid var(--orange);outline-offset:3px;z-index:2}.gallery-lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;height:min(860px,calc(100vh - 32px));max-height:none;padding:0;border:1px solid #3b3e40;background:#080a0b;color:var(--cream);overflow:hidden}.gallery-lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}.gallery-lightbox figure{height:100%;margin:0;display:grid;grid-template-rows:1fr auto;place-items:center}.gallery-lightbox figure img{max-width:100%;max-height:calc(100vh - 105px);width:auto;height:auto;object-fit:contain}.gallery-lightbox figcaption{width:100%;min-height:58px;padding:15px 72px;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.82rem;background:#111518}.lightbox-close,.lightbox-nav{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.35);background:rgba(8,10,11,.82);color:#fff;cursor:pointer;display:grid;place-items:center}.lightbox-close{right:12px;top:12px;width:46px;height:46px;font-size:2rem;line-height:1}.lightbox-nav{top:50%;width:48px;height:64px;transform:translateY(-50%);font-size:2.3rem}.lightbox-nav.previous{left:12px}.lightbox-nav.next{right:12px}.lightbox-close:hover,.lightbox-nav:hover{background:var(--orange);border-color:var(--orange)}
@media(max-width:900px){.site-header{height:78px;padding:0 18px}.brand img{width:140px;height:62px}.header-call{display:none}.menu-toggle{display:block;margin-left:auto;background:none;border:1px solid var(--cream);color:var(--cream);padding:.55rem .7rem;text-transform:uppercase;font-weight:700}.site-header nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--charcoal);padding:24px;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:74px;min-height:auto}.hero-mark{position:absolute;right:-90px;top:30px;opacity:.13;width:500px}.hero-copy{position:relative;z-index:1}.hero:before{display:none}.section-heading,.about,.quote-section,.service-area{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card{border-bottom:1px solid var(--line)}.about-badge{max-width:390px}.quote-section{gap:45px}.service-area{gap:30px}.section{padding-top:80px;padding-bottom:80px}.project-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}}
@media(max-width:600px){body{padding-bottom:64px}.hero{padding:58px 18px 56px}.hero h1{font-size:3.55rem}.hero-text{font-size:1.04rem}.hero-actions{display:grid}.button{width:100%}.trust-list{display:grid;gap:8px;margin-top:26px}.service-strip{grid-template-columns:1fr 1fr;gap:12px 0;font-size:.8rem}.service-strip span:nth-child(3){border-left:0}.section{padding:72px 18px}.section-heading{gap:24px}.section-heading .eyebrow{margin-bottom:-8px}.section h2{font-size:2.65rem}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;min-height:280px}.about{gap:42px}.about-badge strong{font-size:3.2rem}.about-points{grid-template-columns:1fr}.quote-section{padding-left:18px;padding-right:18px}.quote-section form{padding:24px 18px}.field-row{grid-template-columns:1fr}.phone-display{font-size:2.05rem}.gallery-section{padding-left:18px;padding-right:18px}.gallery-filters{display:grid;grid-template-columns:1fr 1fr}.gallery-filter{padding:0 8px}.project-gallery{grid-auto-rows:210px;gap:7px}.gallery-item.wide{grid-column:span 2}.gallery-lightbox{width:100vw;height:100dvh}.gallery-lightbox figcaption{padding:14px 60px}.lightbox-nav{width:44px;height:58px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);border-top:1px solid var(--line)}.mobile-contact a{text-align:center;padding:17px 8px;text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-size:.76rem;font-weight:800}.mobile-contact a:last-child{background:var(--orange);color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.gallery-item img{transition:none}}
.site-header nav a[aria-current="page"]{color:var(--orange)}
