:root{--ink:#ece8e1;--gold:#c2a061;--goldtext:#d9b878;--white:#ffffff;--dark:#0c0b09;--panel:#1b1712;--footer:#171410;--muted:#b3ab9e;--radius:3px;--radius-lg:10px;--head:"Barlow Condensed",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--head);font-size:16px;color:var(--ink);background:#0c0b09;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1,h2,h3,h4,p{margin:0}
.ph{background:linear-gradient(135deg,#3a332a,#171410 60%,#4a3a26)}
.hdr{position:absolute;top:0;left:0;right:0;z-index:50;height:86px;transition:background .2s}
.hdr.stuck{position:fixed;background:#0c0b09eb}
.hdr .in{max-width:1570px;margin:0 auto;height:86px;display:flex;align-items:center;justify-content:center;gap:20px}
.hdr nav ul{list-style:none;margin:0;padding:0;display:flex}
.hdr nav a.it{display:flex;align-items:center;height:46px;padding:0 20px;font-size:20px;font-weight:600;color:#fff}
.hdr nav a.it.on{color:var(--goldtext)}
.hdr nav li{position:relative}
.hdr nav ul.sub{display:none;position:absolute;left:0;top:50px;width:200px;background:#1b1712;padding:0;flex-direction:column}
.has:hover .sub,.has.open .sub{display:flex}
.sub a{display:block;padding:12px 20px;font-size:20px;color:var(--ink);font-weight:400}
.caret{margin-left:10px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);display:inline-block}
.logo{height:64px;width:auto;display:block}
.phone{display:flex;align-items:center;gap:15px;color:#fff;font:900 18px var(--head);margin-left:10px}
.phone i{width:30px;height:30px;border:3px solid var(--gold);border-radius:50%;display:block}
.tog,.mob,.mlogo{display:none}
.hero{position:relative;height:830px;padding:0;text-align:center;color:#fff;background:linear-gradient(rgba(12,11,9,.72),rgba(12,11,9,.72)),linear-gradient(135deg,#3a332a,#14110d 55%,#4a3a26)}
.hero .hi{padding-top:298px}
@media(max-width:1024px){.hero .hi{padding-top:260px}}
@media(max-width:767px){.hero .hi{padding-top:240px}}
.col{max-width:1570px;margin-left:auto;margin-right:auto;width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.spacer{height:100px}
.hero h1{font-size:80px;line-height:80px;font-weight:500;color:var(--goldtext)}
.hero h1 b{display:block;color:#fff;font-weight:500}
.hero h4{font-size:30px;font-weight:300;font-style:italic;line-height:30px}
.hero .btn{display:none}
.intro{padding:80px 0 40px;text-align:center;height:437px}
.intro h2{font-size:80px;line-height:96px;font-weight:600;max-width:1260px;margin:10px auto 0}
.intro p{font:italic 300 17px var(--body);margin:12px 0 0}
.intro p em{color:var(--gold);font-style:italic}
.logos{display:flex;justify-content:center;gap:20px;max-width:1260px;margin:30px auto 0;padding:0 10px}
.logos div{flex:1;height:108px;display:flex;align-items:center;justify-content:center;font:700 20px var(--head);color:#c2a061;border:2px solid #3a332a;border-radius:var(--radius-lg);background:#1b1712}
.why{background:var(--panel);color:#fff;height:1075px;display:flex}
.why .l{flex:0 0 50%;margin:100px 0 100px 73px;max-width:640px}
.why .l div{height:100%;min-height:600px}
.why .r{width:462px;margin:188px 0 0 100px}
.why h2{font-size:50px;font-weight:600;line-height:55px;margin-bottom:25px}
.why p{font:400 16px/27px var(--body);color:#fff;margin-bottom:16px}
.cta{display:inline-block;background:var(--gold);color:#14110d;font:600 20px var(--head);padding:12px 40px;border-radius:var(--radius);margin-top:30px}
.grid{display:grid;grid-template-columns:repeat(3,380px);justify-content:center;background:#1b1712}
.grid a{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:25px 20px;height:450px;text-align:center;color:#fff}
.grid a:nth-child(1){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),linear-gradient(135deg,#556,#222)}
.grid a:nth-child(2){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),linear-gradient(135deg,#667,#333)}
.grid a:nth-child(3){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),linear-gradient(135deg,#456,#223)}
.grid a:nth-child(4){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),linear-gradient(135deg,#777,#344)}
.grid a:nth-child(5){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),linear-gradient(135deg,#8a6d3b,#1b1712)}
.grid a:nth-child(6){background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),linear-gradient(135deg,#348,#123)}
.grid h3{font-size:45px;line-height:55px;font-weight:500;margin-bottom:16px}
.rev{background:var(--dark);color:#fff;padding:60px 20px 40px}
.rev h2{font-size:80px;line-height:80px;font-weight:600;text-align:center;max-width:618px;margin:0 auto 60px}
.score{max-width:1300px;margin:0 auto 20px;font:500 28px var(--head);padding-left:25px}
.score small{display:block;font:400 11px var(--body);color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1300px;margin:0 auto}
.card{border:1px solid #3a332a;border-radius:var(--radius-lg);padding:16px;font:400 11px/16px var(--body);min-height:140px}
.card b{display:flex;justify-content:space-between;font:500 13px var(--head);color:#fff;margin-bottom:10px}
.card b span{color:#fbbc04}.card i{display:block;margin-top:14px;font-style:normal;color:var(--muted)}
.more{text-align:center;font:700 12px var(--body);margin:30px 0 0}
.contact{background:var(--dark);color:#fff;padding:0;min-height:1000px}
.contact .in{padding:260px 20px 120px 850px}
.contact small{display:block;font:400 20px var(--head);text-transform:uppercase;color:var(--goldtext)}
.contact h2{font-size:80px;line-height:80px;font-weight:600;max-width:559px}
.contact.up h2{text-transform:uppercase}
.ft{background:var(--footer);color:#fff;padding:0}
.ft .cols{max-width:1570px;margin:0 auto;display:grid;grid-template-columns:480px 1fr 1fr 1fr;gap:20px;padding:70px 20px;height:auto}
.ft h2{font-size:21px;font-weight:600;margin-bottom:30px;line-height:21px}
.ft p,.ft li{font:400 14px var(--head);color:var(--muted);line-height:20px}
.ft p.t{font:400 17px/24px var(--body);max-width:389px;margin-top:20px}
.ft .bn{font:700 21px var(--head);color:#fff;margin:20px 0 0;display:block}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin-bottom:21px}
.ft .soc li{display:flex;align-items:center;gap:20px}.ft .soc i{width:20px;height:20px;border:2px solid #fff;border-radius:4px}
.copy{max-width:1405px;margin:0 auto;padding:10px;text-align:center;font:400 17px var(--body);color:var(--muted);height:44px}
.ft .logo{display:block}
.ban{height:437px;display:flex;align-items:flex-end;justify-content:center;padding:0;color:#fff;background:linear-gradient(rgba(12,11,9,.6),rgba(12,11,9,.6)),linear-gradient(135deg,#4a3a26,#1b1712)}
.ban h1{font-size:80px;line-height:80px;font-weight:600;text-transform:capitalize;margin-bottom:110px}
.b2{height:400px}.b2 h1{margin-bottom:100px}
.pg{max-width:1285px;margin:0 auto;padding:80px 20px}
.svc{display:flex;margin-bottom:60px;align-items:stretch}
.svc .im{flex:0 0 400px;min-height:400px}
.svc .tx{flex:1;background:var(--panel);color:#fff;padding:40px 20px;margin-top:20px;font:400 15px/26px var(--body)}
.svc h2{font:600 24px var(--head);margin-bottom:20px}
.svc p{margin-bottom:16px;font-size:13px;line-height:22px}
.svc a{font:600 16px var(--head);text-transform:uppercase}
.cert h2{font-size:45px;line-height:55px;font-weight:500;margin:50px 0 20px}
.cert p{font:400 15px/26px var(--body);margin-bottom:20px}
.cert hr{border:0;border-top:1px solid var(--ink);margin:20px 0}
.cert .lead{text-align:center}.cert .lead h1{font-size:80px;line-height:80px;font-weight:600;margin:0 0 20px}
.about h2{font-size:50px;line-height:55px;font-weight:600;margin:20px 0}
.about p{font:400 16px/27px var(--body);margin-bottom:16px}
.about .two{display:flex;gap:50px}.about .two>div{flex:1}
.lead2{text-align:center;padding:80px 20px 40px}.lead2 h2{font-size:45px;font-weight:600}
@media(max-width:1199px){.why .l{margin-left:20px}.why .r{margin-left:50px}.contact .in{padding-left:50%}.ft .cols{grid-template-columns:1fr 1fr 1fr 1fr}.ft .cols>div:first-child{grid-column:auto}}
@media(max-width:1024px){
.hdr .dsk{display:none}
.mlogo,.tog{display:block}
.hdr{height:100px}
.hdr .in{height:100px;justify-content:space-between;padding:0 20px}
.tog{width:40px;height:40px;background:none;border:0;color:#fff;position:relative;cursor:pointer;padding:0}
.tog:before,.tog:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:#1b1712;top:12px;box-shadow:0 8px 0 #fff}
.tog:after{top:28px;box-shadow:none}
.hdr.open .tog:before{transform:rotate(45deg);box-shadow:none;top:20px}.hdr.open .tog:after{transform:rotate(-45deg);top:20px}
.mob{position:absolute;top:100px;left:0;right:0;background:#0c0b09d9;list-style:none;margin:0;padding:0}
.mob a{display:flex;align-items:center;height:40px;padding:0 20px;color:#fff;font:600 20px var(--head)}
.mob a.on{color:#d9b878;background:#ffffff26}
.mob .subm{display:none}.mob .subm.open{display:block}.mob .subm a{padding-left:40px;font-weight:400}
.hero h1{font-size:60px;line-height:60px}
.grid{grid-template-columns:repeat(2,1fr)}
.intro h2{font-size:40px;line-height:60px}
.why{height:auto;flex-direction:column;padding:40px 20px}.why .l{margin:0;width:100%;max-width:none}.why .l div{min-height:360px}.why .r{width:auto;margin:40px 0 0}
.cards{grid-template-columns:repeat(2,1fr)}
.rev h2,.contact h2{font-size:40px;line-height:50px}
.contact{padding-top:120px;min-height:500px}.contact .in{padding-left:0}
.ban{height:300px;padding-bottom:60px}
.svc{flex-direction:column}.svc .im{flex:none;min-height:300px}
.cert .lead h1{font-size:45px;line-height:50px}
.about .two{flex-direction:column}
}
@media(max-width:767px){
.hero{height:600px}
.hero h1{font-size:40px;line-height:45px}.hero h4{font-size:22px;line-height:28px;padding:0 20px}
.hero .btn{display:inline-block;position:absolute;top:100px;left:50%;transform:translateX(-50%);background:var(--gold);color:#14110d;border-radius:50px;padding:6px 30px;font:900 18px var(--head)}
.intro{height:auto;padding:40px 20px}.intro h2{font-size:40px;line-height:48px;margin-top:0}
.logos{flex-wrap:wrap}.logos div{flex:0 0 calc(50% - 10px);height:70px}
.grid{grid-template-columns:1fr}.grid a{height:380px}.grid h3{font-size:35px;line-height:42px}
.cards{grid-template-columns:1fr}
.ft{padding-top:40px}.ft .cols{grid-template-columns:1fr;height:auto;gap:30px}
.copy{height:auto}
.pg{padding:40px 20px}.cert h2{font-size:35px;line-height:42px}.about h2{font-size:35px}
}

.hov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#c2a061cc;opacity:.01;transition:opacity .25s;padding:20px}
.grid a{position:relative}.grid a:hover .hov{opacity:1}
.hov h5{font:400 16px var(--head);margin:0 0 8px;text-transform:uppercase}.hov h4{font:600 30px var(--head);margin:0}
.strip{background:#171410;height:156px}.strip .col{display:flex;justify-content:space-around;align-items:center;height:156px;padding:0 40px;font:700 20px var(--head);color:#b3ab9e}
.csec{text-align:center;padding:85px 0}
.csec h2{font-size:80px;line-height:96px;font-weight:600}
.csec p{font:italic 300 17px var(--body);margin:12px 0 0}.csec p em{color:var(--gold)}
.apanel{background:var(--panel);padding:100px 0 80px}
.ar{position:relative;display:flex;height:590px;padding:0 10px}
.aimg{width:600px;height:590px;flex:none}
.acard{background:#1b1712;color:var(--ink);width:570px;margin:30px 0 0 -40px;padding:40px 20px;height:min-content;font-size:18px}
.acard h2{font-size:30px;line-height:36px;font-weight:600;margin:0 0 20px}
.apanel .cta{margin-top:60px}
.rev .col h2{margin-bottom:60px}
.ft .cols .bn+p{margin-top:20px}
@media(max-width:1024px){
.ban h1{font-size:40px;line-height:50px;margin-bottom:60px}.hero h1{font-size:40px;line-height:44px}
.csec h2,.intro h2,.rev h2,.contact h2{font-size:60px;line-height:66px}
.contact .in{padding:120px 20px}
.ar{flex-direction:column;height:auto}.aimg{width:100%;height:400px}.acard{width:auto;margin:0 20px}
.cards{grid-template-columns:repeat(2,1fr)}
.ft .cols{grid-template-columns:repeat(4,1fr)}
.svc p,.cert p,.about p{font-size:18px;line-height:28px}.svc h2{font-size:30px}
.strip .col{overflow:hidden}
}
@media(max-width:767px){
.hero h1{font-size:40px}.intro h2,.csec h2,.rev h2,.contact h2{font-size:40px;line-height:48px}
.ft .cols{grid-template-columns:1fr 1fr}
.svc p,.cert p,.about p,.acard{font-size:16px;line-height:26px}.svc h2{font-size:30px}
.strip .col{padding:0 10px;font-size:14px}
.grid h3{font-size:35px}
}
@media(min-width:1025px){.svc p,.cert p,.about p{font-size:18px;line-height:28px}.svc h2{font-size:30px;line-height:36px}}

.mlogo .logo{height:52px;width:auto}
@media(max-width:1024px){
.hdr.open{background:#2a251e}
.hdr.open::before{content:"";position:fixed;left:0;right:0;top:0;bottom:0;background:#2a251ecc;z-index:-1}
.hdr.open .mob{background:#2a251e}
.mob a.on{background:#ffffff33}
}
.csec{padding:80px 0 40px}
.ft .cols{padding:70px 0}
@media(max-width:1024px){.col{max-width:1024px}.ft .cols{padding:70px 10px}}
@media(max-width:767px){.col{max-width:767px}.csec{padding:40px 0}.ft .cols{padding:40px 10px}}
.rev{padding:0}
.rev .col h2{padding-top:60px;margin-bottom:60px}
.rev .cards,.rev .score{padding-left:20px;padding-right:20px}
.rev .more{padding-bottom:40px}
.copy{max-width:1570px;padding:0;line-height:44px;height:44px}
.rv-s{min-height:1240px}.rv-a{min-height:1350px}.rv-r .rev{min-height:1230px}
.contact{min-height:1186px}
.cert h2{margin:30px 0 10px}
@media(max-width:1024px){.rv-s{min-height:800px}.rv-a{min-height:1650px}.rv-r .rev{min-height:1000px}.contact{min-height:600px}}
@media(max-width:767px){.rv-s{min-height:1700px}.rv-a{min-height:1900px}.rv-r .rev{min-height:1300px}.contact{min-height:600px}}
.rv-r .rev{min-height:1000px}
.cert h2{margin:15px 0 0}.cert p{margin-bottom:12px}
@media(max-width:1024px){.rv-r .rev{min-height:1700px}.contact{min-height:1012px}}
@media(max-width:767px){.rv-r .rev{min-height:1900px}.contact{min-height:1105px}}
@media(max-width:1024px){.contact{min-height:600px}.home .contact{min-height:1012px}}
@media(max-width:767px){.contact{min-height:600px}.home .contact{min-height:1105px}}
@media(max-width:1024px){.ft .cols{padding:70px 0;max-width:1024px}}
@media(max-width:767px){.ft{padding-top:0}.ft .cols{padding:0;max-width:767px}.ft .cols>div{padding:20px 10px}}
.pg.cert{padding:80px 20px 40px}
@media(max-width:767px){.pg.cert{padding:40px 20px 40px}.ft .cols{grid-template-columns:1fr}}
@media(max-width:767px){.ft .cols{grid-template-columns:1fr 1fr}}
.strip{height:auto;padding:85px 0}.strip .col{height:120px}
.rv-s{min-height:1106px}.rv-a{min-height:1216px}.rv-r .rev{min-height:866px}
@media(max-width:1024px){.rv-s{min-height:666px}.rv-a{min-height:1516px}.rv-r .rev{min-height:1566px}}
@media(max-width:767px){.rv-s{min-height:1566px}.rv-a{min-height:1766px}.rv-r .rev{min-height:1766px}}
.strip{padding:0;display:flex;align-items:center;height:auto}
.strip .sl{display:flex;justify-content:space-around;align-items:center;padding:85px 40px;height:auto;flex:1;font:700 20px var(--head);color:#b3ab9e}
.strip .nx{color:var(--gold);font:700 28px var(--head);padding:0 15px}
/* ---- footer rebuilt from measured structure ---- */
.dn{display:none!important}
.ft{background:var(--footer);color:#fff;padding:10px 0;width:100%}
.ft .fi{margin:0 10px;padding:70px 0;height:424px;max-width:1570px}
.ft .fcols{display:grid;grid-template-columns:506px 337px 316px 1fr;padding:0 10px;max-width:1405px}
.ft .fcols>div{padding:0}
.ft .flogo{display:block}
.ft .flogo .logo{height:60px;width:auto}
.ft .bn{font:600 21px/21px var(--head);margin:20px 0 0;color:#fff}
.ft p.t{font:400 17px/24px var(--body);color:var(--muted);max-width:389px;margin:30px 0 0}
.ft h2{font:600 21px/21px var(--head);margin:0 0 30px;color:#fff}
.ft .fc1 h2.bn{margin:20px 0 0}
.ft ul.il{list-style:none;margin:0;padding:0}
.ft ul.il li{font:400 16px/27px var(--head);color:var(--muted);margin:0 0 20px;height:27px}
.ft ul.lk li{margin-bottom:10px}
.ft ul.soc li{height:30px;line-height:30px;margin-bottom:20px}
.ft ul.soc a{display:flex;align-items:center;gap:20px}
.ft .soc i{width:20px;height:20px;border:2px solid #fff;border-radius:4px;display:block}
.ft .fb{margin:0 10px;height:44px;max-width:1570px}
.ft .fb p{font:400 17px/24px var(--body);color:var(--muted);text-align:center;padding:10px 0 0;margin:0}
.ft .fb a{color:var(--muted)}
@media(max-width:1199px){.ft .fcols{grid-template-columns:1.5fr 1fr 1fr 1fr}.ft .fi,.ft .fb{max-width:1024px}}
@media(max-width:767px){
.ft .fi{padding:0;height:auto}
.ft .fcols{grid-template-columns:1fr;padding:0}
.ft .fcols>div{padding:20px 10px}
.ft .fb{height:auto}
.ft .fb p{padding:10px 10px 20px}
}
/* hover headings on tiles */
.grid .hov h2{font:400 16px/20px var(--head);margin:0 0 8px;text-transform:uppercase;color:#14110d}
.grid .hov h3{font:600 30px/36px var(--head);margin:0;color:#14110d}
/* review text size taken from check measurements (18px desktop/tablet, 17px phone) */
.card{font-size:18px;line-height:24px}
@media(max-width:767px){.card{font-size:17px;line-height:23px}.rv-r + .csec h2{font-size:60px;line-height:66px}}
/* measured corrections (check 14) */
.ft{padding:0;display:flow-root}
.ft .fi{margin:10px 10px 0}
.ft .fb{margin:0 10px 10px}
.strip .sl{padding:85px 0}
.contact{min-height:1003px}
.rv-s{min-height:1173px}.rv-a{min-height:1286px}.rv-r .rev{min-height:889px}
.cert h2{margin:10px 0 0}.cert p{margin-bottom:8px}.pg.cert{padding-bottom:0}
@media(max-width:1024px){.home .contact{min-height:816px}.rv-s{min-height:796px}.rv-a{min-height:1783px}.rv-r .rev{min-height:1792px}.pg.cert{padding-bottom:358px}}
@media(max-width:767px){.home .contact{min-height:300px}.rv-s{min-height:1506px}.rv-a{min-height:1690px}.rv-r .rev{min-height:1472px}.pg.cert{padding-bottom:0}.ft .fi,.ft .fb{max-width:767px}}
/* scope contact heights (check 15) */
body:not(.home) .contact{min-height:1186px}
.home .contact{min-height:1003px}
@media(max-width:1024px){body:not(.home) .contact{min-height:600px}.home .contact{min-height:816px}}
@media(max-width:767px){body:not(.home) .contact{min-height:600px}.home .contact{min-height:300px}.rv-r .rev h2{font-size:60px;line-height:66px}}
.rev .more{font-size:18px}
@media(max-width:767px){.rev .more{font-size:17px}}
@media(max-width:767px){.rv-r .rev{min-height:1136px}}
/* measured height corrections (check 15) */
.pg.cert{padding-bottom:20px}
@media(max-width:1024px){.pg.cert{padding-bottom:392px}}
@media(max-width:767px){
.pg.cert{padding-bottom:212px}
.home .contact{min-height:0}.home .contact .in{padding:0 20px 38px}
.card{min-height:0;padding:10px 12px;line-height:21px}.cards{gap:10px}
}
@media(max-width:767px){.home .contact .in{padding:120px 20px 147px}.card{padding:5px 12px}.cards{gap:6px}}
@media(max-width:767px){.intro{padding:40px 0}.intro .col{padding:0 20px}}
/* pass 1: footer columns are direct children of the inner section */
.ft .fi{display:grid;grid-template-columns:506px 337px 316px 1fr;padding:70px 10px;height:424px}
@media(max-width:1199px){.ft .fi{grid-template-columns:1.5fr 1fr 1fr 1fr}}
@media(max-width:767px){.ft .fi{grid-template-columns:1fr;padding:0;height:auto}.ft .fi>div{padding:20px 10px}}
/* pass 1b: footer spacing from measurements; phone footer centred single column */
.ft .fi{padding:70px 0;grid-template-columns:516px 337px 316px 1fr}
.ft .fi>.fc1{padding-left:10px}
@media(max-width:1199px){.ft .fi{grid-template-columns:1.5fr 1fr 1fr 1fr}}
@media(max-width:767px){
.ft .fi{grid-template-columns:1fr;padding:24px 0 0;height:auto}
.ft .fi>div,.ft .fi>.fc1{padding:0 20px 20px;text-align:center}
.ft .flogo{margin:0 auto}.ft .flogo .logo{justify-content:center}
.ft p.t{margin:20px auto 0}
.ft ul.soc a{justify-content:center}
.ft .fb p{padding:10px 20px 20px}
}
/* pass 2/3: certifications header is its own section (measured 80 0 40 0; 40 0 40 0 on phone) */
.cl{padding:80px 20px 40px;max-width:1285px}
.cl .lead h1{margin-top:0}
.pg.cert{padding-top:0;padding-bottom:0}
@media(max-width:1024px){.cl{padding:80px 20px 40px}.pg.cert{padding-top:0;padding-bottom:352px}}
@media(max-width:767px){.cl{padding:40px 20px}.pg.cert{padding-bottom:172px}}
/* phone footer: column padding carries the 24px top offset (original section padding is 0) */
@media(max-width:767px){.ft .fi{padding:0}.ft .fi>.fc1{padding-top:24px}}
/* certifications header section: measured column widths and paddings */
.cl{max-width:1570px;padding:80px 0 40px}
.cl .lead,.cl .logos{max-width:1285px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.pg.cert{padding-bottom:99px}
@media(max-width:1024px){.cl{max-width:1024px;padding:80px 0 40px}.pg.cert{padding-bottom:459px}}
@media(max-width:767px){.cl{max-width:767px;padding:40px 0}.pg.cert{padding-bottom:420px}}
/* ===== pass 3: section heights/paddings from Deep measurements (capture layouts) ===== */
.strip{background:#171410;padding:85px 0;display:block;height:290px}
.strip .sl{display:flex;justify-content:space-around;align-items:center;height:120px;padding:0 40px;font:700 20px var(--head);color:#b3ab9e}
.cs-s{height:399px;padding:80px 0 40px}
.cs-s .lg{padding:20px 0 0;height:153px}
.cs-a,.cs-r{height:500px;padding:80px 0 40px}
.svc{margin-bottom:56px}
body:not(.home) .contact{min-height:938px}
.rv-s{min-height:1280px}.rv-a{min-height:1072px}.rv-r .rev{min-height:997px}
@media(max-width:1024px){
.cs-a{height:396px}.cs-r{height:468px}
body:not(.home) .contact{min-height:1120px}
.rv-s{min-height:974px}.rv-a{min-height:952px}.rv-r .rev{min-height:1066px}
.svc{flex-direction:row;height:647px;margin-bottom:0}
.svc .im{flex:0 0 290px;min-height:0}
.svc .tx{margin:20px 0 0 10px;padding:30px 20px;overflow:hidden}
.svc p{font-size:14px;line-height:22px}.svc h2{font-size:24px;line-height:30px}
}
@media(max-width:767px){
.cs-s{height:322px;padding:0 0 40px}.cs-s .lg{height:130px}
.cs-a,.cs-r{height:568px;padding:40px 0}
body:not(.home) .contact{min-height:1347px}
.rv-s{min-height:1174px}.rv-a{min-height:911px}.rv-r .rev{min-height:1096px}
.svc{margin-bottom:51px}
}
/* footer tablet/phone sizes measured: tablet 554/490, phone 929/852 + bottom row 56 */
@media(min-width:768px) and (max-width:1199px){.ft .fi{height:490px}}
@media(max-width:767px){
.ft .fi>div,.ft .fi>.fc1{padding-bottom:0}
.ft .fi>.fc1{padding-top:24px}
.ft h2{margin-bottom:24px}
.ft .fb p{padding:4px 20px}
}
/* pass 3b: page-scoped contact heights; services list tablet row / phone column */
body.pg-certifications .contact{min-height:1186px}
@media(max-width:1024px){body.pg-certifications .contact{min-height:600px}
.svc p{font-size:18px;line-height:27px}.svc h2{font-size:30px;line-height:36px}}
@media(max-width:767px){
body.pg-certifications .contact{min-height:600px}
.svc{flex-direction:column;height:auto;margin-bottom:51px}
.svc .im{flex:none;min-height:300px;width:100%}
.svc .tx{margin:0;padding:40px 20px;overflow:visible}
.svc p{font-size:16px;line-height:26px}
}
/* ===== pass 4: remaining measured heights ===== */
body.pg-certifications .contact{min-height:938px}
.cmain{min-height:1885px}
.pg.cert{padding-bottom:0}
.cert h2{margin:10px 0 0}.cert p{margin-bottom:4px}
.apanel{min-height:1132px}
.rv-s{min-height:1304px}
@media(max-width:1024px){
body.pg-certifications .contact{min-height:1120px}
.cmain{min-height:1999px}
.pg.cert{padding-bottom:0}
.apanel{min-height:1112px}
.pg-services .pg{padding-top:325px}
.rev .cards{grid-template-columns:repeat(3,1fr)}
.home .contact{min-height:742px}
}
@media(max-width:767px){
body.pg-certifications .contact{min-height:1346px}
body:not(.home) .contact{min-height:1346px}
.cmain{min-height:3113px}
.cert h2{font-size:30px;line-height:34px;margin:6px 0 0}.cert p{line-height:24px;margin-bottom:2px}
.apanel{min-height:1489px}
.pg-services .pg{padding-top:40px}
.rev .cards{grid-template-columns:1fr}
.rev .cards.collapsed .card:nth-child(n+5){display:none}
.home .contact .in{padding:120px 20px 406px}
}
@media(min-width:768px){.rev .cards.collapsed .card:nth-child(n+5){display:block}}
.rev .more{cursor:pointer}
/* ===== pass 5: measured home hero/intro heights; tablet/phone section heights re-stated after desktop rules ===== */
@media(max-width:1024px){
.rv-s{min-height:974px}
.pg-services .pg{padding-top:245px}
.hero{height:460px}.hero .hi{padding-top:150px}
.intro{height:469px}
.rev .cards.collapsed .card:nth-child(n+7){display:none}
.home .rev .cards.collapsed .card{display:block}
.home .contact{min-height:1074px}
}
@media(max-width:767px){
.rv-s{min-height:1174px}
.svc{margin-bottom:71px}
.hero{height:656px}.hero .hi{padding-top:240px}
.intro{height:467px;padding:40px 0}
}
@media(max-width:767px){.pg-services .pg{padding-top:40px}.home .contact .in{padding:120px 20px 103px}}
/* ===== pass 6: exact positions from layout diff ===== */
@media(max-width:1024px){
.cmain{min-height:2009px}
.cert h2{margin:0}.cert p{margin-bottom:0;line-height:26px}
}
@media(max-width:767px){
.cmain{min-height:3193px}
.ft .fb p{padding:4px 0}
.home .contact{min-height:794px}
}
/* ===== pass 7: heading levels/sizes per original (banner titles on About/Reviews/Certifications are h2) ===== */
.ban h2{font-size:80px;line-height:80px;font-weight:600;text-transform:capitalize;margin:0 0 100px;color:#fff}
.cl .lead h2{font-size:80px;line-height:80px;font-weight:600;margin:0 0 20px;text-align:center}
.cert h2{font-size:60px;line-height:66px;font-weight:500}
.acard h2{font-size:50px;line-height:55px}
.cs-s h2{font-size:46px;line-height:56px}
@media(max-width:1024px){
.ban h1,.ban h2{font-size:60px;line-height:66px;margin-bottom:60px}
.cl .lead h2{font-size:60px;line-height:66px}
.cert h2{font-size:45px;line-height:52px}
.acard h2{font-size:40px;line-height:46px}
}
@media(max-width:767px){
.pg-about-us .ban h2{font-size:40px;line-height:48px}
.pg-services .ban h1{font-size:40px;line-height:48px}
.pg-reviews .ban h2{font-size:60px;line-height:66px}
.cl .lead h2{font-size:35px;line-height:42px}
.cert h2{font-size:35px;line-height:42px}
.acard h2{font-size:35px;line-height:42px}
.cs-s h2{font-size:35px;line-height:42px}
}
@media(max-width:767px){.cert h2{font-size:30px;line-height:34px}}
/* ===== pass 8: header is a section with two groups; bar colour #0c0b09eb from measurements ===== */
.hdr{background:#0c0b09eb;padding:0}
.hdr .in .hl,.hdr .in .hr{display:flex;align-items:center;gap:20px}
@media(max-width:1024px){.hdr{background:#0c0b09eb}.hdr.open{background:#2a251e}}
/* header section: measured heights 86 / 110 / 180 and column widths 1570 / 1024 / 767 */
.hbtn{display:none}
@media(max-width:1024px){.hdr{height:110px}.hdr .in{height:110px;max-width:1024px}.mob{top:110px}}
@media(max-width:767px){
.hdr{height:180px}.hdr .in{height:100px;max-width:767px}
.mob{top:100px}
.hbtn{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;top:104px;transform:translateX(-50%);background:var(--gold);color:#14110d;border-radius:50px;padding:0 30px;height:44px;font:900 18px var(--head)}
.hero .btn{display:none}
.hdr.open .hbtn{display:none}
}
/* pass 9b: services certified block column widths (measured: col x88 / x15, inner x98 / x25) */
.cs-s .col{padding:0 88px}.cs-s .lg{max-width:1570px;padding:20px 0 0}
@media(max-width:1024px){.cs-s .col{padding:0 15px}}
@media(max-width:1024px){.cs-s .lg{max-width:1024px}}
@media(max-width:767px){.cs-s .lg{max-width:767px}}
/* ===== landing bottom contact: map in the 850px left gutter + AJN details (original: google_maps embed left, CONTACT US right) ===== */
.contact{position:relative}
.cmap{position:absolute;left:20px;top:140px;bottom:120px;width:790px;border-radius:var(--radius-lg);overflow:hidden;background:#1b1712}
.cmap iframe{width:100%;height:100%;border:0;display:block}
.cd{list-style:none;margin:34px 0 0;padding:0}
.cd li{font:400 20px/28px var(--head);color:var(--muted);margin:0 0 12px}
.cd b{color:#fff;font:600 26px/32px var(--head);letter-spacing:.5px}
.cd a{color:var(--goldtext)}
@media(max-width:1024px){.cmap{position:static;width:100%;height:380px;margin:0 0 40px}}
@media(max-width:767px){.cmap{height:300px}.cd li{font-size:18px;line-height:26px}.cd b{font-size:22px;line-height:28px}}
/* ===== landing bottom contact: map slides in from left, text+form from right, meeting in the middle (original: fadeInLeft/fadeInRight) ===== */
@keyframes slideL{from{opacity:0;transform:translateX(-90px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideR{from{opacity:0;transform:translateX(90px)}to{opacity:1;transform:translateX(0)}}
.home-contact .in{display:flex;align-items:center;gap:48px;padding:120px 20px}
.home-contact .cmap{position:static;flex:0 0 calc(50% - 24px);width:auto;height:640px}
.home-contact .ct{flex:1;min-width:0}
.home-contact.pre .cmap,.home-contact.pre .ct{opacity:0}
.home-contact.pre.play .cmap{animation:slideL 1s ease both}
.home-contact.pre.play .ct{animation:slideR 1s ease .15s both}
.home-contact .ct h2{max-width:559px}
.hform{border:1px solid #3a332a;background:#14110d;padding:30px 24px;margin-top:34px;border-radius:var(--radius-lg);font-family:var(--body)}
.hform .g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.hform input,.hform textarea{background:#0c0b09;border:1px solid #3a332a;border-radius:5px;color:#fff;height:40px;padding:0 14px;font:400 13px var(--body);width:100%}
.hform textarea{height:96px;padding:10px 14px;margin-bottom:14px;resize:vertical}
.hform .consent{display:flex;gap:12px;font:400 12px/18px var(--body);color:var(--muted);margin-bottom:16px;align-items:flex-start}
.hform button{width:100%;background:var(--gold);color:#14110d;border:0;border-radius:5px;height:45px;font:600 15px var(--body);cursor:pointer}
.hform[hidden],.home-contact .thanks[hidden]{display:none}
.home-contact .thanks{border:1px solid #3a332a;background:#14110d;padding:40px 24px;text-align:center;margin-top:34px;border-radius:var(--radius-lg)}
.home-contact .thanks h3{font:600 32px var(--head);margin-bottom:8px;color:#fff}
.home-contact .thanks p{font:400 15px var(--body);color:var(--muted)}
@media(max-width:1024px){.home-contact .in{flex-direction:column;align-items:stretch;gap:36px;padding:80px 20px}.home-contact .cmap{flex:none;width:100%;height:380px}}
@media(max-width:767px){.home-contact .cmap{height:300px}.hform .g2{grid-template-columns:1fr}.hform{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.home-contact.pre .cmap,.home-contact.pre .ct{opacity:1;animation:none}}
.gal{padding:80px 0 0;text-align:center}
.gal small{display:block;color:var(--gold);font:400 20px var(--head)}
.gal h2{font-size:80px;line-height:90px;font-weight:600;margin:5px 0 20px}
.gal .col>p{font:400 16px/26px var(--body);max-width:720px;margin:0 auto 60px}
.galhero{max-width:1420px;height:607px;margin:0 auto}
.igh{display:flex;gap:20px;align-items:center;text-align:left;padding:20px 10px}
.igh .av{width:50px;height:50px;border-radius:50%;background:#c2a061;flex:none}
.igh b{font:600 17px var(--head)}.igh p{font:400 13px var(--head)}
.iggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 10px;max-width:1440px}
.iggrid .ph{aspect-ratio:1}
.iggrid .ig1{background:linear-gradient(135deg,#8a6d3b,#1b1712)}.iggrid .ig2{background:linear-gradient(135deg,#3a332a,#14110d)}.iggrid .ig3{background:linear-gradient(135deg,#223,#667)}
.igbtn{display:flex;gap:10px;justify-content:center;padding:30px 0 40px}
.igbtn a{padding:8px 14px;border-radius:var(--radius);font:700 12px var(--body);color:#fff;background:#2a251e}.igbtn a.b2{background:#8a6d3b;height:auto}
.blog{display:flex;gap:60px;padding:120px 124px 80px}
.posts{flex:0 0 800px}.posts article{margin-bottom:60px}
.pimg{height:600px;margin-bottom:20px}
.posts h3{font:600 22px/30px var(--head);margin:0 0 10px}
.meta{font:400 13px var(--head);margin-bottom:10px}
.rm{display:inline-block;font:600 16px var(--head);border-bottom:2px solid var(--gold);color:var(--ink)}
.blog aside{flex:1}
.blog aside h4{font:600 20px var(--head);padding-bottom:10px;border-bottom:1px solid #3a332a;margin:30px 0 20px}
.blog aside h4:first-child{margin-top:0}
.sb{height:68px;border:1px solid #3a332a;padding:24px;font:400 12px var(--head)}
.cats{list-style:none;margin:0;padding:0}.cats li{display:flex;justify-content:space-between;align-items:center;font:600 14px var(--head);height:30px}
.cats i{background:#c2a061;color:#14110d;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font:400 10px var(--head)}
.sbcard{height:800px;display:flex;align-items:flex-end;justify-content:center;text-align:center;color:#fff;padding-bottom:100px}
.sbcard b{display:block;font:600 24px var(--head)}.sbcard span{display:block;font:600 40px var(--head);margin:10px 0 20px}.sbcard em{display:inline-block;background:#fff;color:var(--ink);border-radius:30px;padding:8px 25px;font:400 12px var(--head);font-style:normal}
.gthumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gthumbs i{aspect-ratio:1.25}
.soc2{display:flex;gap:10px}.soc2 i{width:35px;height:35px;border-radius:5px;background:#c2a061}
.cform{background:var(--dark);color:#fff;padding:100px 0;min-height:963px}
.cf{display:flex;gap:40px;padding:0 20px;align-items:flex-start}
.map{flex:0 0 695px;height:757px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#2a251e,#14110d);position:relative}
.mc{position:absolute;left:0;top:8px;background:#1b1712;color:#ece8e1;padding:12px 20px;font:400 13px var(--body);width:260px}.mc b{font:500 14px var(--body)}
.fr{flex:1;max-width:660px}
.fr small{display:block;font:400 24px var(--head);text-transform:uppercase}
.fr h2{font-size:80px;line-height:80px;font-weight:600;margin:5px 0 30px}
.fr p{font:400 16px/27px var(--head);margin-bottom:20px}
.fr form{border:1px solid #3a332a;background:#14110d;padding:60px 40px;margin-left:-32px;width:calc(100% + 60px);font-family:var(--body)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:18px}
.fr input:not([type=checkbox]),.fr textarea{background:#0c0b09;border:1px solid #3a332a;border-radius:5px;color:#fff;height:36px;padding:0 14px;font:400 12px var(--body);width:100%}
.fr textarea{height:108px;padding:10px 14px;margin-bottom:20px}
.fr label{display:flex;gap:20px;font:400 14px/20px var(--body);margin-bottom:40px}
.fr button{width:100%;background:#c2a061;color:#14110d;border:0;border-radius:5px;height:45px;font:400 14px var(--body);cursor:pointer}
.rights{padding:60px 0 40px}.rights h2{font-size:70px;line-height:80px;font-weight:600;text-align:center;text-transform:uppercase;margin-bottom:60px}
.rights ol{list-style:none;max-width:900px;margin:0 auto;padding:0 20px}
.rights li{display:flex;gap:30px;margin-bottom:35px;min-height:110px}
.rights .n{flex:0 0 40px;width:40px;font:600 50px/45px var(--head);color:transparent;-webkit-text-stroke:1px #c2a061;word-break:break-all;border:1px solid #3a332a;padding:5px;height:110px}
.rights p{font:400 13px/22px var(--head)}
@media(max-width:1199px){.blog{padding:100px 20px;gap:30px}.posts{flex:1}.cf{flex-direction:column}.map{flex:none;width:100%;height:500px}}
@media(max-width:1024px){.gal h2,.fr h2{font-size:60px;line-height:66px}.rights h2{font-size:50px;line-height:60px}.blog{flex-direction:column}.pimg{height:400px}.sbcard{height:500px}.fr form{margin-left:0;width:100%}.rights p{font-size:16px;line-height:26px}}
@media(max-width:767px){.gal h2,.fr h2,.rights h2{font-size:40px;line-height:48px}.iggrid{grid-template-columns:repeat(2,1fr)}.galhero{height:300px}.g2{grid-template-columns:1fr}.fr form{padding:30px 20px}.pimg{height:250px}.map{height:350px}}
.fr .fld{display:block}.fr .fld textarea{display:block}
.fr .consent{display:flex;gap:20px;font:400 14px/20px var(--body);margin-bottom:40px;align-items:flex-start}
.fr .thanks{border:1px solid #3a332a;background:#14110d;padding:60px 40px;text-align:center}
.fr .thanks h3{font:600 40px var(--head);margin-bottom:10px}
.fr .thanks[hidden],.fr form[hidden]{display:none}
.fr .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
