html:has(.lac-root) { scroll-behavior: smooth; }
.lac-root, .lac-root .e-con { --gap: 0px; --widgets-spacing: 0px; }
:where(.elementor) .lac-root.e-con,
.lac-root .e-con { --width: 100%; --content-width: 100%; --min-height: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.lac-root .e-con.e-con-full { max-width: none; }
.lac-root .elementor-widget { min-width: 0; margin: 0; }
.lac-root .elementor-heading-title, .lac-root .elementor-widget-text-editor { color: inherit; }
.lac-root .elementor-widget-text-editor, .lac-root .elementor-heading-title { font-family: inherit; }
.lac-root h1.elementor-heading-title, .lac-root h2.elementor-heading-title { font-family: 'Libre Baskerville', Georgia, serif; }
.lac-root .elementor-button { border: 0; border-radius: 0; box-shadow: none; line-height: normal; font-family: inherit; font-weight: inherit; letter-spacing: normal; }
.lac-root .elementor-button-content-wrapper { display: inline-flex; }
.lac-root .logo-image { width: fit-content; min-width: 0; }
.lac-root .logo-image a { display: block; }
.lac-root .lac-toggle { display: none; width: auto; }
.lac-root .menu-toggle { color: inherit; line-height: normal; }
.lac-root .menu-toggle:hover, .lac-root .menu-toggle:focus { background: transparent; color: inherit; }
.lac-root .nav-wrap, .lac-root .fact { flex-direction: row; }
.lac-root .hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(10,10,10,.37) 0%, rgba(230,230,230,.1) 37%, rgba(255,255,255,.36) 58%, rgba(255,255,255,.22) 100%); }
.lac-root .hero::after { z-index: 2; }
.lac-root .nav-links { flex-direction: row; width: auto; }
.lac-root .site-header, .lac-root .hero, .lac-root .site-footer { isolation: isolate; }
.lac-root .nav-links .lac-nav-link { width: auto; }
.lac-root .nav-links .elementor-button, .lac-root .lac-email .elementor-button {
    background: transparent; color: inherit; padding: 0; text-align: left;
}
.lac-root .lac-hero-link .elementor-button-content-wrapper { gap: 16px; }
.lac-root .lac-hero-link .elementor-button-content-wrapper::after { content: "→" / ""; }
.lac-root .lac-footer-image { position: absolute; inset: 0; opacity: .14; filter: grayscale(1); background-position: center 50%; background-size: cover; pointer-events: none; }
.lac-root .lac-fact-icon { width: auto; flex-shrink: 0; }
.lac-root .lac-fact-icon svg { display: block; }
.lac-root .lac-fact-copy { width: auto; }
.lac-root .lac-email .elementor-button::before { content: ''; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.5%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20height%3D%2214%22%20rx%3D%221%22%20width%3D%2220%22%20x%3D%222%22%20y%3D%225%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22m3%206%209%207%209-7%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") center / contain no-repeat; }
@media (max-width: 640px) {
    .lac-root .nav-links { width: 100%; }
    .lac-root .nav-links .elementor-button { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.lac-root) { scroll-behavior: auto; }
}


.lac-root { --ink: #101010; --muted: #444; --gold: #aa7929; --line: #d1d1d1; --soft: #f2f1ef; --container: 1190px; }
.lac-root *, .lac-root *::before, .lac-root *::after { box-sizing: border-box; }
.lac-root { margin: 0; color: var(--ink); background: #fff; font-family: 'DM Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.lac-root a { color: inherit; }
.lac-root img { max-width: 100%; }
.lac-root .container { width: min(calc(100% - 64px), var(--container)); margin: auto; }
.lac-root .site-header { height: 82px; background: #fff; position: relative; z-index: 10; }
.lac-root .nav-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lac-root .logo-image img { display:block; width:320px; max-width:100%; height:auto; }
.lac-root .nav-links { display: flex; align-items: center; gap: 38px; }
.lac-root .nav-links .elementor-button { text-decoration: none; font-size: 15px; transition: color .2s; }
.lac-root .nav-links .elementor-button:hover, .lac-root .nav-links .elementor-button:focus-visible { color: var(--gold); }
.lac-root .menu-toggle { display: none; background: transparent; border: 0; cursor: pointer; padding: 10px; font: inherit; }
.lac-root .hero { min-height: 558px; position: relative; overflow: hidden; background-color: #cecece;
      
      background-position: center 54%; background-size: cover; }
.lac-root .hero::after { content: ''; position: absolute; inset: 0; pointer-events:none; background: linear-gradient(0deg, rgba(0,0,0,.18), transparent 27%); }
.lac-root .architecture { position:absolute; inset:0 auto 0 0; width:36%; z-index:1; opacity:.88; pointer-events:none;
      background: linear-gradient(110deg,rgba(0,0,0,.69),rgba(0,0,0,.12) 74%,transparent 75%),
       repeating-linear-gradient(90deg, transparent 0 68px,rgba(0,0,0,.5) 69px 73px, rgba(255,255,255,.28) 75px 77px, transparent 80px 145px);
      clip-path: polygon(0 0, 79% 0, 100% 39%, 100% 100%, 0 100%); }
.lac-root .architecture::before { content:''; position:absolute; inset:0 0 auto 0; height:32%; background:linear-gradient(10deg, transparent 15%,rgba(0,0,0,.84) 16% 26%,transparent 27%); }
.lac-root .hero-layout { position:relative; z-index:3; display:grid; grid-template-columns: 40% 60%; min-height:558px; align-items:start; }
.lac-root .hero-copy { grid-column:2; padding: 56px 0 60px 15px; max-width: 665px; }
.lac-root .lac-eyebrow .elementor-heading-title { text-transform:uppercase; font-size:12px; line-height:1.4; font-weight:700; letter-spacing:3px; }
.lac-root .lac-eyebrow .elementor-heading-title::after { content:''; display:inline-block; vertical-align:middle; height:2px; width:43px; margin-left:12px; background:var(--gold); }
.lac-root .hero .lac-eyebrow .elementor-heading-title::after { display:block; margin:14px 0 0; width:92px; }
.lac-root h1, .lac-root h2, .lac-root h3, .lac-root p { margin-top:0; }
.lac-root h1, .lac-root h2 { font-family: 'Libre Baskerville', Georgia, serif; font-weight:400; letter-spacing:-1.9px; }
.lac-root h1 { font-size:clamp(40px,4.7vw,66px); line-height:1.09; margin:20px 0 18px; }
.lac-root .hero-tagline { text-transform:uppercase; letter-spacing:4.5px; font-weight:600; font-size:15px; margin:0 0 21px; }
.lac-root .hero-desc { font-size:17px; line-height:1.6; max-width:515px; margin-bottom:24px; }
.lac-root .lac-hero-link .elementor-button { display:inline-flex; align-items:center; gap:16px; background:#090909; color:#fff; padding:13px 24px; font-size:15px; text-decoration:none; transition:background .2s,transform .2s; }
.lac-root .lac-hero-link .elementor-button:hover { background:#343434; transform:translateY(-1px); }
.lac-root .intro, .lac-root .approach { padding:48px 0; }
.lac-root .two-column { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.lac-root .two-column .section-copy { border-left:1px solid var(--line); padding-left:55px; font-size:16px; line-height:1.65; }
.lac-root h2 { font-size:clamp(29px,3.1vw,43px); line-height:1.2; margin:18px 0 0; }
.lac-root .two-column p:last-child { margin-bottom:0; }
.lac-root .expertise { background:var(--soft); padding:35px 0 46px; }
.lac-root .expertise h2 { margin:14px 0 27px; }
.lac-root .services { display:grid; grid-template-columns: repeat(3,1fr); }
.lac-root .service { padding:0 44px 0 0; }
.lac-root .service + .service { border-left:1px solid #ccc; padding-left:48px; }
.lac-root .service-icon { display:block; width:55px; height:55px; margin-bottom:12px; color:var(--gold); }
.lac-root .service-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round; }
.lac-root .service h3 { font-size:20px; line-height:1.15; font-weight:600; margin-bottom:11px; }
.lac-root .service p { font-size:15px; line-height:1.5; color:var(--muted); max-width:300px; margin:0; }
.lac-root .approach { padding:32px 0 37px; }
.lac-root .facts { background:var(--soft); padding:22px 0; }
.lac-root .facts-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.lac-root .fact { display:flex; align-items:center; justify-content:center; gap:22px; min-height:80px; }
.lac-root .fact + .fact { border-left:1px solid #ccc; }
.lac-root .fact svg { width:54px; height:54px; fill:none; stroke:#111; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.lac-root .lac-fact-number .elementor-heading-title { display:block; font-size:28px; font-weight:500; line-height:1.1; }
.lac-root .lac-fact-label .elementor-heading-title { display:block; text-transform:uppercase; font-size:13px; letter-spacing:2px; margin-top:4px; }
.lac-root .site-footer { background:#202020; color:#fff; padding:54px 0 57px; position:relative; overflow:hidden; }
.lac-root .footer-grid { position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:75px; align-items:center; }
.lac-root .lac-footer-title .elementor-heading-title { font-family:'Libre Baskerville',Georgia,serif; font-size:clamp(27px,3vw,39px); line-height:1.25; letter-spacing:-1px; margin-bottom:16px; }
.lac-root .gold-rule { height:2px; width:63px; background:var(--gold); margin-bottom:17px; }
.lac-root .footer-left p { font-size:15px; line-height:1.5; max-width:465px; margin:0; }
.lac-root .footer-right { border-left:1px solid #9d9d9d; padding:8px 0 8px 54px; font-size:15px; line-height:1.65; }
.lac-root .footer-right p { margin-bottom:20px; }
.lac-root .lac-email .elementor-button { display:inline-flex; gap:13px; align-items:center; text-decoration:none; font-size:15px; line-height:1.65; }
.lac-root .lac-email .elementor-button:hover { text-decoration:underline; }
.lac-root :focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
    @media (max-width:900px) {
.lac-root .hero-layout {grid-template-columns:32% 68%;}
.lac-root .hero-copy {padding-left:14px;}
.lac-root .architecture {width:38%;}
.lac-root .service {padding-right:22px;}
.lac-root .service + .service {padding-left:24px;}
.lac-root .two-column {gap:25px;}
.lac-root .two-column .section-copy {padding-left:30px;}
.lac-root .footer-grid {gap:32px;}
.lac-root .footer-right {padding-left:30px;} }
    @media (max-width:640px) {
.lac-root .container { width:min(calc(100% - 38px),var(--container)); }
.lac-root .site-header {height:74px;}
.lac-root .logo-image img {width:min(260px, 67vw);}
.lac-root .menu-toggle {display:block;}
.lac-root .lac-toggle {display:block;}
.lac-root .nav-links {display:none; position:absolute; top:74px; left:0; right:0; background:#fff; padding:20px; box-shadow:0 10px 20px #0002; flex-direction:column; align-items:stretch; gap:0;}
.lac-root .nav-links.is-open {display:flex;}
.lac-root .nav-links .elementor-button {padding:13px;}
.lac-root .hero, .lac-root .hero-layout {min-height:540px;}
.lac-root .hero {background-position:43% center;}
.lac-root .hero::before {content:''; position:absolute;inset:0; background:linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,.6)),linear-gradient(90deg,rgba(10,10,10,.37),rgba(230,230,230,.1) 37%,rgba(255,255,255,.36) 58%,rgba(255,255,255,.22));}
.lac-root .architecture {width:28%;opacity:.36;}
.lac-root .hero-layout {display:block;}
.lac-root .hero-copy {padding:65px 0 55px; max-width:500px;}
.lac-root .hero .lac-eyebrow .elementor-heading-title {font-size:10px;letter-spacing:2px;}
.lac-root h1 {font-size:clamp(38px,9vw,54px);}
.lac-root .hero-tagline {font-size:12px;letter-spacing:2.5px;}
.lac-root .hero-desc {font-size:16px;}
.lac-root .intro, .lac-root .approach {padding:40px 0;}
.lac-root .two-column {grid-template-columns:1fr;gap:24px;}
.lac-root .two-column .section-copy {padding-left:20px;}
.lac-root h2 {font-size:30px;}
.lac-root .expertise {padding:38px 0;}
.lac-root .services {grid-template-columns:1fr;gap:23px;}
.lac-root .service, .lac-root .service + .service {border-left:0;padding:0;}
.lac-root .service + .service {border-top:1px solid #ccc;padding-top:22px;}
.lac-root .service-icon {height:47px;width:47px;margin-bottom:8px;}
.lac-root .service p {max-width:none;}
.lac-root .facts-grid {grid-template-columns:1fr;}
.lac-root .fact {justify-content:flex-start;padding:10px 0;}
.lac-root .fact + .fact {border-left:0;border-top:1px solid #ccc;}
.lac-root .site-footer {padding:42px 0;}
.lac-root .footer-grid {grid-template-columns:1fr;gap:30px;}
.lac-root .footer-right {border-left:0;border-top:1px solid #777;padding:25px 0 0;}
    }
    @media (prefers-reduced-motion:reduce) {
.lac-root *, .lac-root *::before, .lac-root *::after {transition:none!important;} }
