*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-primary: #9E2B25;--brand-accent: #C9A24B;--brand-dark: #F7F4EF;--brand-darker: #1C1B19;--brand-surface: #EFECE7;--brand-surface-hover: #E3E0DB;--text-primary: #1C1B19;--text-secondary: #272523;--text-muted: #4E4D4A;--border: #E3E0DB;--border-focus: rgba(158, 43, 37, .35);--glow: 0 0 25px rgba(158, 43, 37, .15);--glow-button: 0 4px 20px rgba(158, 43, 37, .2);--head: "Playfair Display", Georgia, serif;--max: 1140px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--brand-dark);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}h1 em,h2 em,h3 em,h4 em{font-style:italic;font-family:var(--head);font-weight:500;color:var(--brand-primary)}a{color:inherit;text-decoration:none}header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#1c1b19eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}.header-container{max-width:var(--max);margin:0 auto;padding:.8rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-brand{color:#fff;font-weight:800;font-size:1.25rem;display:flex;align-items:center;letter-spacing:-.02em}.nav-brand span{background:linear-gradient(135deg,#FFFFFF 60%,var(--brand-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-left:8px;font-family:var(--head);font-weight:900;text-transform:uppercase;letter-spacing:-.01em}.menu-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:.5rem}.nav-menu{display:flex;align-items:center;gap:2rem}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-link,.dropdown-toggle{color:#f7f4ef;font-size:.95rem;font-weight:600;background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:.5rem 0;transition:color .2s;font-family:inherit}.nav-link:hover,.dropdown-toggle:hover{color:var(--brand-accent)}.nav-item{position:relative}.dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);background:var(--brand-surface);border:1px solid var(--border);border-radius:8px;min-width:220px;padding:.5rem 0;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 30px #00000080}.nav-item:after{content:"";position:absolute;height:20px;width:100%;bottom:-20px;left:0}.nav-item:hover .dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.nav-item:hover .dropdown-toggle svg{transform:rotate(180deg)}.dropdown-menu a{display:block;padding:.6rem 1.2rem;color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:all .2s;font-weight:500}.dropdown-menu a:hover{color:var(--brand-primary);background:#f59e0b0d}.nav-phone-link{background:var(--brand-primary);color:var(--brand-dark);font-weight:800;font-size:.95rem;padding:.65rem 1.3rem;border-radius:99px;display:flex;align-items:center;gap:6px;box-shadow:var(--glow-button);transition:transform .2s,opacity .2s,box-shadow .2s;font-family:var(--head)}.nav-phone-link:hover{transform:translateY(-2px);box-shadow:0 6px 25px #f59e0b80;opacity:.95}@media(max-width:900px){.menu-toggle{display:block}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#16213bfa;backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1.5rem;flex-direction:column;align-items:stretch;gap:1.5rem;box-shadow:0 10px 30px #00000080}.nav-menu.active{display:flex}.nav-links{flex-direction:column;align-items:stretch;gap:.75rem}.nav-item:after{display:none}.dropdown-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;background:#ffffff05;margin-top:.25rem;display:none;padding-left:1rem}.nav-item:hover .dropdown-menu{transform:none}.nav-item.open .dropdown-menu{display:block}.nav-item.open .dropdown-toggle svg{transform:rotate(180deg)}.nav-phone-btn{text-align:center}.nav-phone-link{display:flex;justify-content:center}}.hero{position:relative;background:var(--brand-dark);background-image:radial-gradient(circle at 80% 20%,rgba(245,158,11,.08) 0%,transparent 40%),radial-gradient(circle at 20% 80%,rgba(245,158,11,.05) 0%,transparent 35%),linear-gradient(to bottom,rgba(15,23,42,.4) 0%,var(--brand-dark) 100%),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,40px 40px,40px 40px;color:var(--text-primary);padding:9.5rem 1.5rem 7.5rem;text-align:center;overflow:hidden;border-bottom:1px solid var(--border)}.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to top,var(--brand-dark),transparent);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:.5rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.18);color:var(--brand-primary);padding:.45rem 1.15rem;border-radius:99px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem;font-family:var(--head)}.badge svg,.badge i{color:var(--brand-primary)}.hero h1{font-family:var(--head);font-size:clamp(2rem,6vw,3.5rem);font-weight:900;color:var(--text-primary);line-height:1.15;margin-bottom:1rem;letter-spacing:-.03em;text-transform:uppercase}.hero h2{font-size:clamp(1.1rem,3.5vw,1.5rem);font-weight:400;color:var(--text-muted);margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.5}.cta-btn{display:inline-block;background:var(--brand-primary);color:var(--brand-dark);font-size:1.1rem;font-weight:800;padding:1rem 2.5rem;border-radius:99px;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;box-shadow:var(--glow-button);transition:transform .2s,box-shadow .2s,opacity .2s;font-family:var(--head)}.cta-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #f59e0b80;opacity:.95}.cta-sub{display:block;color:var(--text-muted);font-size:.85rem;margin-top:.8rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600}.section{padding:5rem 1.5rem;background:var(--brand-dark);position:relative}.section.alt{background:var(--brand-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.container{max-width:var(--max);margin:0 auto}.section h2{font-family:var(--head);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;margin-bottom:1.5rem;color:var(--text-primary);letter-spacing:-.02em}.section h2 span{color:var(--brand-primary)}.section p{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.7;max-width:800px}.bento-container{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:1.25rem;margin-top:-3.5rem;position:relative;z-index:10;margin-bottom:4rem}.bento-box{background:var(--brand-surface);border:1px solid var(--border);border-radius:12px;padding:1.75rem;box-shadow:0 15px 35px #00000073;display:flex;flex-direction:column;justify-content:center}.bento-box.accent{border-color:#f59e0b33;box-shadow:var(--glow);background:linear-gradient(135deg,var(--brand-surface) 0%,rgba(245,158,11,.02) 100%)}.bento-title{font-family:var(--head);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.bento-title svg{color:var(--brand-primary)}.bento-text{font-size:.95rem;color:var(--text-muted);line-height:1.5}.bento-stats{display:flex;flex-direction:column;gap:.85rem}.bento-stat-item{display:flex;align-items:center;gap:.75rem}.bento-stat-icon{color:var(--brand-primary);display:flex}.bento-stat-info{display:flex;flex-direction:column}.bento-stat-val{font-family:var(--head);font-weight:700;color:var(--text-primary);font-size:.95rem;line-height:1.2}.bento-stat-lbl{color:var(--text-muted);font-size:.8rem}.bento-cta{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.bento-cta .cta-btn{width:100%;padding:.85rem 1.5rem;font-size:1rem}@media(max-width:900px){.bento-container{grid-template-columns:1fr;margin-top:-2rem;padding:0 1rem;margin-bottom:3rem}}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}.service-card{background:var(--brand-surface);border:1px solid var(--border);border-radius:12px;padding:2rem;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--brand-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.service-card:hover{transform:translateY(-5px);border-color:#f59e0b40;box-shadow:var(--glow)}.service-card:hover:before{transform:scaleX(1)}.service-card .icon-wrapper{width:50px;height:50px;background:#f59e0b14;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--brand-primary)}.service-card h3{font-family:var(--head);font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;transition:color .2s}.service-card p{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.5}.service-card a{display:block;height:100%}.service-card a:hover h3{color:var(--brand-primary)}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}.why-item{text-align:center;background:#ffffff04;border:1px solid var(--border);border-radius:12px;padding:2.25rem 1.5rem;transition:border-color .3s}.why-item:hover{border-color:var(--brand-primary)}.why-item .icon-wrapper{width:55px;height:55px;background:#f59e0b14;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:var(--brand-primary)}.why-item strong{display:block;font-family:var(--head);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.why-item span{font-size:.9rem;color:var(--text-muted);line-height:1.5;display:block}.cta-strip{background:var(--brand-primary);padding:4.5rem 1.5rem;text-align:center;color:var(--brand-dark);position:relative;overflow:hidden}.cta-strip:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none}.cta-strip h2{font-family:var(--head);color:var(--brand-dark);font-size:clamp(1.6rem,4vw,2.5rem);font-weight:900;margin-bottom:.75rem;letter-spacing:-.02em}.cta-strip p{color:var(--brand-dark);font-size:1.15rem;max-width:700px;margin:0 auto 2rem;font-weight:500}.cta-strip .cta-btn{background:var(--brand-dark);color:var(--brand-primary);box-shadow:0 5px 20px #00000040}.cta-strip .cta-btn:hover{background:#1c1c24;box-shadow:0 8px 30px #00000059;color:#fff}.city-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.city-links a,.city-links span.city-pill{background:#ffffff06;border:1px solid var(--border);border-radius:99px;padding:.5rem 1.25rem;font-size:.9rem;color:var(--text-secondary);transition:all .2s}.city-links a:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#f59e0b0d;transform:translateY(-2px)}details{margin-bottom:1rem;border:1px solid var(--border);border-radius:8px;background:var(--brand-surface);transition:all .3s}details[open]{border-color:#f59e0b40;box-shadow:var(--glow)}summary{font-family:var(--head);font-weight:700;font-size:1.1rem;color:var(--text-primary);padding:1.25rem;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none}summary:after{content:"";width:10px;height:10px;border-bottom:2px solid var(--brand-primary);border-right:2px solid var(--brand-primary);transform:rotate(45deg);transition:transform .2s ease;margin-left:1rem;flex-shrink:0}details[open] summary:after{transform:rotate(-135deg)}summary::-webkit-details-marker{display:none}details p{padding:0 1.25rem 1.25rem;margin:0;color:var(--text-muted);line-height:1.6}.nap-block{background:var(--brand-surface);color:var(--text-muted);padding:4rem 1.5rem;border-top:1px solid var(--border)}.nap-block .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem}.nap-block h3{font-family:var(--head);color:var(--brand-primary);font-size:1.15rem;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.02em}.nap-block p,.nap-block a{font-size:.95rem;color:var(--text-secondary);line-height:1.8}.nap-block a:hover{color:var(--brand-primary)}footer{--text-muted: #A3A29F;--text-secondary: #F7F4EF;--border: rgba(255, 255, 255, .1);background:var(--brand-darker);border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:4rem 1.5rem;font-size:.9rem}footer p{margin-bottom:1rem}footer a{color:var(--text-secondary);transition:color .2s}footer a:hover{color:var(--brand-primary)}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.footer-links a{font-weight:500;text-decoration:none}.agency-credit{font-size:.78rem;opacity:.7;margin-top:1rem}.agency-credit a{color:var(--brand-primary);text-decoration:none;font-weight:600}.photo-hero{position:relative;min-height:88vh;display:flex;align-items:center;padding:8rem 1.5rem 5rem;overflow:hidden;border-bottom:1px solid var(--border)}.photo-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.photo-hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#0f172af0,#0f172ac7 42%,#0f172a4d),linear-gradient(to top,rgba(15,23,42,.95) 0%,transparent 38%)}.photo-hero .container{position:relative;z-index:2;width:100%}.photo-hero__inner{max-width:640px}.photo-hero h1{font-family:var(--head);font-size:clamp(2.2rem,5.4vw,3.7rem);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-.03em;margin-bottom:1.1rem}.photo-hero h1 .accent{color:var(--brand-primary)}.photo-hero .lede{font-size:clamp(1.05rem,2.2vw,1.3rem);color:#ffffffd9;line-height:1.55;margin-bottom:2rem;max-width:560px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.hero-eta{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-size:.92rem;font-weight:600}.hero-eta svg{color:var(--brand-accent);flex-shrink:0}@media(max-width:768px){.photo-hero{min-height:78vh;padding-top:7rem;text-align:left}.photo-hero__overlay{background:linear-gradient(to top,#0f172af7,#0f172a9e 55%,#0f172a8c)}}.trust-strip{background:var(--brand-darker);border-bottom:1px solid rgba(255,255,255,.08)}.trust-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.4rem 1.5rem}.trust-item{display:flex;align-items:center;gap:.7rem;justify-content:center;color:var(--brand-dark);font-weight:700;font-size:.95rem;font-family:var(--head)}.trust-item svg{color:var(--brand-accent);flex-shrink:0}@media(max-width:760px){.trust-strip .container{grid-template-columns:repeat(2,1fr);gap:1.1rem}.trust-item{justify-content:flex-start;font-size:.88rem}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.project-card{background:var(--brand-surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;justify-content:space-between}.project-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0000000d;border-color:var(--brand-accent)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.project-tag{background:#9e2b2514;color:var(--brand-primary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;border-radius:4px}.project-value{font-family:var(--head);font-weight:700;color:var(--brand-accent);font-size:.85rem;font-style:italic}.project-card h3{font-family:var(--head);font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.01em}.project-desc{font-size:.92rem;color:var(--text-muted);line-height:1.5;margin-bottom:1.25rem;flex-grow:1}.project-meta{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-secondary);font-weight:600;border-top:1px solid var(--border);padding-top:.75rem;margin-top:auto}.project-meta svg{width:14px;height:14px;color:var(--brand-primary);fill:none}.service-card .card-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;margin-bottom:1.25rem;display:block;background:var(--brand-darker)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;counter-reset:step}.process-step{position:relative;background:var(--brand-surface);border:1px solid var(--border);border-radius:14px;padding:2.25rem 1.75rem 1.75rem}.process-step .step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--brand-primary);color:var(--brand-dark);font-family:var(--head);font-weight:800;font-size:1.2rem;margin-bottom:1rem}.process-step strong{display:block;font-family:var(--head);font-size:1.15rem;color:var(--text-primary);margin-bottom:.5rem}.process-step span{color:var(--text-muted);font-size:.95rem;line-height:1.55}@media(max-width:760px){.process-grid{grid-template-columns:1fr}}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}.area-card{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border);aspect-ratio:3 / 4;display:flex;align-items:flex-end;transition:transform .3s,border-color .3s}.area-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.area-card:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#0a1120eb,#0a112026 55%,#0a112059)}.area-card .area-label{position:relative;z-index:2;padding:1.1rem;width:100%}.area-card .area-label strong{display:block;font-family:var(--head);font-weight:700;color:#fff;font-size:1.1rem}.area-card .area-label span{color:var(--brand-primary);font-size:.82rem;font-weight:600}.area-card:hover{transform:translateY(-4px);border-color:var(--brand-primary)}@media(max-width:900px){.area-grid{grid-template-columns:repeat(2,1fr)}}.price-table-wrap{margin-top:2.5rem;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--brand-surface)}table.price-table{width:100%;border-collapse:collapse}table.price-table th,table.price-table td{text-align:left;padding:1rem 1.4rem;border-bottom:1px solid var(--border);font-size:.98rem}table.price-table thead th{font-family:var(--head);color:#fff;font-weight:700;background:var(--brand-darker);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}table.price-table td:first-child{color:var(--text-secondary);font-weight:600}table.price-table td.price{color:var(--brand-primary);font-weight:800;font-family:var(--head);white-space:nowrap}table.price-table tr:last-child td{border-bottom:none}.price-note{color:var(--text-muted);font-size:.88rem;margin-top:1rem;font-style:italic}@media(max-width:600px){table.price-table th,table.price-table td{padding:.8rem .9rem;font-size:.9rem}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.mobile-sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:#16213bd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:.75rem 1rem env(safe-area-inset-bottom)}.mobile-sticky-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;background:var(--brand-primary);color:var(--brand-dark);font-weight:800;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;padding:.85rem;border-radius:99px;text-decoration:none;width:100%;box-shadow:0 4px 20px #f59e0b66}@media(max-width:768px){.mobile-sticky-bar{display:block}body{padding-bottom:80px}}
