:root{--black:#0a0a0a;--black-soft:#151515;--gold:#c9a24b;--gold-light:#e2c677;--ivory:#f4efe6;--muted:#f4efe6b3;--font-head:"Playfair Display", serif;--font-body:"Inter", sans-serif;--container:1200px;--nav-h:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--black);color:var(--ivory);-webkit-font-smoothing:antialiased;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button,input,textarea{font:inherit}h1,h2,h3{font-family:var(--font-head);line-height:1.15}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.5rem}.section{scroll-margin-top:var(--nav-h);padding:clamp(4rem,8vw,7rem) 0}.section--soft{background:var(--black-soft)}.section--ivory{background:var(--ivory);color:var(--black)}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:block}.section--ivory .eyebrow{color:#8a6a1f}.section-title{margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.8rem)}.section-lead{max-width:600px;color:var(--muted)}.btn{border:1px solid var(--gold);letter-spacing:.05em;cursor:pointer;padding:.9rem 2rem;font-weight:600;transition:background .3s,color .3s,transform .3s;display:inline-block}.btn--gold{background:var(--gold);color:var(--black)}.btn--gold:hover{background:var(--gold-light);transform:translateY(-2px)}.btn--outline{color:var(--gold);background:0 0}.btn--outline:hover{background:var(--gold);color:var(--black)}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.loader{z-index:9999;background:var(--black);place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0}.loader--hide{opacity:0;visibility:hidden}.loader__logo{width:clamp(120px,22vw,200px);color:var(--gold);opacity:0;animation:1.4s forwards logoIn}@keyframes logoIn{to{opacity:1}}.navbar{z-index:100;height:var(--nav-h);border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.navbar--solid{background:#0a0a0af2;border-bottom-color:#c9a24b59}.navbar__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__logo{z-index:102;color:var(--gold);width:70px;display:block;position:relative}.navbar__toggle{z-index:102;color:var(--ivory);cursor:pointer;background:0 0;border:0;display:grid;position:relative}.navbar__links{z-index:101;background:var(--black);font-size:1.4rem;font-family:var(--font-head);flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:transform .4s;display:flex;position:fixed;inset:0;transform:translate(100%)}.navbar__links.is-open{transform:translate(0)}.navbar__links a:not(.btn):hover{color:var(--gold)}.navbar__cta{font-family:var(--font-body);font-size:1rem}@media (width>=900px){.navbar__toggle{display:none}.navbar__links{font-family:var(--font-body);background:0 0;flex-direction:row;gap:2.2rem;font-size:.95rem;position:static;transform:none}.navbar__cta{padding:.6rem 1.4rem}.navbar--solid{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__slide{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.2s,transform 8s;position:absolute;inset:0;transform:scale(1)}.hero__slide.is-active{opacity:1;transform:scale(1.08)}.hero__overlay{background:linear-gradient(90deg,#0a0a0aeb 0%,#0a0a0a73 100%);position:absolute;inset:0}.hero__content{padding-top:var(--nav-h);position:relative}.hero__text{max-width:640px;animation:.9s both fadeUp}.hero h1{margin-bottom:1.2rem;font-size:clamp(2.2rem,6vw,4.2rem)}.hero p{color:var(--muted);margin-bottom:2rem;font-size:1.1rem}.hero__actions{flex-wrap:wrap;gap:1rem;display:flex}.hero__dots{gap:.6rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__dots button{cursor:pointer;background:#f4efe659;border:0;width:32px;height:4px;transition:background .3s}.hero__dots button.active{background:var(--gold)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.hero__tagline{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-top:2.2rem;font-size:.8rem}.hero__phone-wrap{height:3.6rem;overflow:hidden}.hero__phone{color:var(--gold);letter-spacing:.05em;opacity:0;align-items:center;gap:.6rem;padding-top:1.2rem;font-size:1.1rem;font-weight:600;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s;display:inline-flex;transform:translateY(-120%)}.hero__phone.is-visible{opacity:1;transform:none}.hero__phone:hover{color:var(--gold-light)}@media (prefers-reduced-motion:reduce){.hero__phone{transition:opacity .4s;transform:none}}@media (width<=768px){.hero__overlay{background:#0a0a0aad}}@media (prefers-reduced-motion:reduce){.hero__slide,.hero__slide.is-active{transition:opacity .5s;transform:none}.hero__text{animation:none}}@media (width<=768px){.hero__slide--road{background-position:22%}}.services__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.service-card{background:var(--black);border:1px solid #c9a24b33;height:100%;padding:2rem 1.6rem;transition:border-color .3s,transform .3s}.service-card:hover{border-color:var(--gold);transform:translateY(-6px)}.service-card svg{color:var(--gold);margin-bottom:1.2rem}.service-card h3{margin-bottom:.6rem;font-size:1.2rem}.service-card p{color:var(--muted);font-size:.95rem}.about__grid{align-items:center;gap:3rem;display:grid}.about__image{max-width:460px;margin:0 auto;position:relative}.about__image:after{content:"";border:2px solid var(--gold);z-index:0;position:absolute;inset:16px -16px -16px 16px}.about__image img{z-index:1;aspect-ratio:4/5;object-fit:cover;object-position:center top;width:100%;display:block;position:relative}.about__caption{z-index:2;border-top:2px solid var(--gold);background:#0a0a0ae0;gap:.2rem;padding:1.2rem 1.4rem;display:grid;position:absolute;bottom:0;left:0;right:0}.about__caption strong{font-family:var(--font-head);color:var(--ivory);font-size:1.25rem}.about__caption span{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}.about__grid p{color:#3a3a3a;margin-bottom:1.2rem}.about__grid .btn{margin-top:.8rem}.about__points{gap:.7rem;margin:1.5rem 0 2rem;display:grid}.about__points li{color:#3a3a3a;padding-left:1.6rem;font-weight:500;position:relative}.about__points li:before{content:"";background:var(--gold);width:.7rem;height:2px;position:absolute;top:.55em;left:0}@media (width>=900px){.about__grid{grid-template-columns:1fr 1fr;gap:5rem}}.stats{background:var(--black);border-top:1px solid #c9a24b4d;border-bottom:1px solid #c9a24b4d;padding:4rem 0}.stats__grid{text-align:center;grid-template-columns:repeat(2,1fr);gap:2.5rem 1rem;display:grid}.stat strong{font-family:var(--font-head);color:var(--gold);font-size:clamp(2.2rem,5vw,3.4rem);display:block}.stat span{color:var(--muted);font-size:.95rem}@media (width>=768px){.stats__grid{grid-template-columns:repeat(4,1fr)}}.contact__grid{gap:3rem;display:grid}.contact__offices{gap:1.4rem;margin-top:2rem;display:grid}.contact__offices li{align-items:flex-start;gap:1rem;display:flex}.contact__offices svg{color:var(--gold);flex-shrink:0;margin-top:4px}.contact__offices strong{display:block}.contact__offices strong em{color:var(--gold);font-size:.85rem;font-style:normal;font-weight:400}.contact__offices span{color:var(--muted);font-size:.95rem;display:block}.contact__form{gap:1rem;display:grid}.contact__form input,.contact__form textarea{background:var(--black);width:100%;color:var(--ivory);border:1px solid #c9a24b40;outline:none;padding:1rem 1.1rem;transition:border-color .3s}.contact__form input:focus,.contact__form textarea:focus{border-color:var(--gold)}.contact__form ::placeholder{color:#f4efe673}.contact__form .btn{justify-self:start}.contact__success{color:var(--gold);font-weight:500}.contact__error{color:#e57373;font-weight:500}.contact__form .btn:disabled{opacity:.6;cursor:not-allowed}.contact__offices a{color:inherit;transition:color .3s}.contact__offices a:hover{color:var(--gold)}@media (width>=900px){.contact__grid{grid-template-columns:1fr 1fr;gap:5rem}}.footer{background:var(--black);border-top:1px solid #c9a24b4d;padding:3rem 0}.footer__inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.footer__logo{width:80px;color:var(--gold)}.footer__links{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.footer__links a:hover{color:var(--gold)}.footer p{color:var(--muted);font-size:.85rem}
