*{box-sizing:border-box}
body{overflow-x:hidden}
a{color:var(--link)}a:hover{color:var(--link-hover)}
.ng-wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.ng-k{font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ash);display:flex;gap:12px;align-items:center}
.ng-k b{font-weight:400;color:var(--gold-300)}
.ng-h1,.ng-h2,.ng-h3,.ng-h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;margin:0;text-wrap:balance}
.ng-h1{font-size:clamp(52px,9vw,var(--fs-hero));line-height:var(--lh-hero)}
.ng-h2{font-size:clamp(40px,6vw,var(--fs-display));line-height:1.02}
.ng-h3{font-size:clamp(30px,3.6vw,var(--fs-section));line-height:1.08}
.ng-h4{font-size:var(--fs-card-title);line-height:var(--lh-card-title)}
.ng-lead{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--smoke);margin:0;max-width:560px;text-wrap:pretty}
.ng-p{color:var(--ash);margin:0;text-wrap:pretty}
.ng-sec{padding:var(--space-160) 0}
.ng-rule{border:0;border-top:1px solid var(--charcoal);margin:0}
.ng-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ng-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-button);letter-spacing:.2px;text-transform:uppercase;color:var(--white);text-decoration:none;cursor:pointer;background:none;border:0;padding:0;font-family:var(--font-body)}
.ng-link:hover{color:var(--gold-300)}
.ng-ph{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-micro);letter-spacing:var(--ls-micro);text-transform:uppercase;padding:4px 8px;border:1px dashed var(--ash);color:var(--ash);border-radius:2px}
.rv{opacity:0;transition:opacity var(--dur-slow) var(--ease-standard)}
.rv.in{opacity:1}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transition:none}}
/* header */
.ng-hd{position:fixed;inset:0 0 auto;z-index:60;height:var(--nav-height);transition:background var(--dur-fast) var(--ease-standard)}
.ng-hd.solid{background:var(--black);border-bottom:1px solid var(--charcoal)}
.ng-hd-in{height:100%;display:flex;align-items:center;gap:40px;max-width:var(--container-max);margin:0 auto;padding:0 24px}
.ng-brand{display:flex;align-items:center;gap:12px;color:var(--white);text-decoration:none;flex:none}
.ng-brand img{height:52px;width:auto;display:block}
@media (max-width:560px){.ng-brand img{height:42px}}
.ng-brand span{font-family:var(--font-display);font-size:18px;letter-spacing:2px;text-transform:uppercase;line-height:1}
.ng-brand small{display:block;font-family:var(--font-body);font-size:var(--fs-micro);letter-spacing:2.4px;color:var(--steel);margin-top:4px}
.ng-nav{display:flex;gap:28px;flex:1}
.ng-nav a,.ng-nav button{font-family:var(--font-body);font-size:var(--fs-caption);letter-spacing:.4px;text-transform:uppercase;color:var(--smoke);text-decoration:none;background:none;border:0;padding:26px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.ng-nav a:hover,.ng-nav button:hover,.ng-nav .on{color:var(--white)}
.ng-hd-r{display:flex;align-items:center;gap:8px;margin-left:auto}
.ng-menu-btn{display:none}
.ng-mega{position:fixed;left:0;right:0;top:var(--nav-height);background:var(--black);border-top:1px solid var(--charcoal);border-bottom:1px solid var(--charcoal);z-index:59;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard)}
.ng-mega.open{opacity:1;pointer-events:auto}
.ng-mega-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.3fr);gap:32px;padding:40px 24px 48px;max-width:var(--container-max);margin:0 auto}
.ng-mega h5{margin:0 0 16px;font-weight:400;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ash)}
.ng-mega a{display:block;color:var(--white);text-decoration:none;padding:6px 0;font-size:var(--fs-body)}
.ng-mega a:hover{color:var(--gold-300)}
.ng-mega-img{position:relative;aspect-ratio:16/10;background:var(--iron-900);overflow:hidden}
.ng-mega-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--dur-base) var(--ease-standard)}
.ng-ovl{position:fixed;inset:0;z-index:80;background:var(--black);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard);overflow:auto}
.ng-ovl.open{opacity:1;pointer-events:auto}
.ng-ovl-top{height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex:none}
.ng-ovl-body{padding:24px 24px 40px;display:flex;flex-direction:column;gap:40px;flex:1}
.ng-ovl-nav a{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:40px;line-height:1.2;text-transform:uppercase;color:var(--white);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--charcoal)}
.ng-ovl-nav a:hover{color:var(--gold-300)}
.ng-ovl-sv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 24px}
.ng-ovl-sv a{color:var(--smoke);text-decoration:none;padding:6px 0}
@media (max-width:1180px){.ng-nav,.ng-hd-phone{display:none}.ng-menu-btn{display:inline-flex}.ng-hd-in{gap:16px}}
@media (max-width:560px){.ng-brand span{display:none}.ng-hd-cta{display:none}}
/* footer */
.ng-ft{border-top:1px solid var(--charcoal);padding:96px 0 32px}
.ng-ft-g{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:48px}
.ng-ft h5{margin:0 0 16px;font-weight:400;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ash)}
.ng-ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ng-ft li a{text-decoration:none;color:var(--smoke)}
.ng-ft li a:hover{color:var(--gold-300)}
.ng-ft-b{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:80px;padding-top:24px;border-top:1px solid var(--charcoal);font-size:var(--fs-caption);color:var(--ash)}
.ng-ft-b a{color:var(--ash);text-decoration:none}
.ng-ft-b a:hover{color:var(--gold-300)}
.ng-ft-cities{font-size:var(--fs-caption);line-height:1.8;color:var(--ash)}
@media (max-width:900px){.ng-ft-g{grid-template-columns:1fr 1fr}.ng-ft-g>:first-child{grid-column:1/-1}}
/* form */
.ng-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ng-form .full{grid-column:1/-1}
.ng-chips{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){.ng-form{grid-template-columns:1fr}:root{--gutter:20px}.ng-sec{padding:96px 0}}
