:root{--ink:#101b2d;--ink2:#18263d;--brass:#b5894a;--brass2:#d3ae6e;--stone:#e8eaeb;--tx:#1c2433;--mut:#566073}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:17px/1.65 Figtree,system-ui,sans-serif;color:var(--tx);background:#fff;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit}ul{padding:0;list-style:none}
h1,h2,h3,h4{font-family:"Gilda Display",Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6.2vw,5.2rem)}h2{font-size:clamp(1.9rem,3.6vw,3rem)}h3{font-size:1.5rem}
p+p,h2+p{margin-top:1rem}h2{margin-bottom:1.2rem}
.w{width:min(1180px,100% - 2.5rem);margin-inline:auto}
section{padding:clamp(3.5rem,8vw,7rem) 0}
:focus-visible{outline:3px solid var(--brass2);outline-offset:3px}
.skip{position:absolute;left:-999px;background:#fff;padding:.6rem 1rem;z-index:99}.skip:focus{left:0}
.btn{display:inline-block;padding:.9rem 1.6rem;background:var(--brass);color:var(--ink);font:600 1rem Figtree,sans-serif;text-decoration:none;border:1px solid var(--brass);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.hd .btn:hover,.feat .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.o{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}.btn.o:hover{background:#fff;color:var(--ink)}
.hd{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:1.35rem/1 "Gilda Display",serif}.logo small{display:block;font:.72rem Figtree;letter-spacing:.18em;color:var(--brass2);margin-top:.3rem}
#nv{display:flex;align-items:center;gap:1.8rem}#nv a:not(.btn){text-decoration:none;font-size:.97rem;padding:.3rem 0;border-bottom:2px solid transparent}
#nv a:not(.btn):hover,#nv a[aria-current]{border-color:var(--brass)}#nv .btn{padding:.6rem 1.1rem;font-size:.92rem}
.mb{display:none;background:none;color:#fff;border:1px solid rgba(255,255,255,.5);padding:.45rem .9rem;font:inherit;cursor:pointer}
.hero{position:relative;min-height:calc(100svh - 72px);display:grid;align-items:end;color:#fff;background:var(--ink)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,27,45,.9),rgba(16,27,45,.2) 75%),linear-gradient(0deg,rgba(16,27,45,.75),transparent 55%)}
.hero .w{position:relative;z-index:1;padding:4rem 0 5rem}.hero h1{max-width:13ch}
.hero p{max-width:46ch;margin:1.4rem 0 2rem;font-size:1.15rem;color:#dfe5ee}.cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero h1,.hero p,.hero .cta{animation:up .9s cubic-bezier(.2,.7,.2,1) both}.hero p{animation-delay:.15s}.hero .cta{animation-delay:.3s}
@keyframes up{from{opacity:0;transform:translateY(24px)}}
.slab{background:var(--ink2);color:#cdd5e1}.slab .w{display:grid;grid-template-columns:repeat(3,1fr)}
.slab p{margin:0!important;padding:1.4rem 1.5rem;border-left:1px solid rgba(255,255,255,.15);font-size:.97rem}.slab p:first-child{border-left:0;padding-left:0}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,5rem);align-items:center}.two.r{grid-template-columns:.9fr 1.1fr}
.two img{width:100%;object-fit:cover}.lede{font-size:1.2rem;color:var(--mut)}.bg{background:var(--stone)}
.feat{display:grid;grid-template-columns:1.3fr 1fr;background:var(--ink);color:#fff}
.feat>img{width:100%;height:100%;object-fit:cover;min-height:340px}.feat .bd{padding:clamp(1.8rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.2rem}
.feat .lo,.feat dt{color:#aab6c8}
dl.f{display:grid;grid-template-columns:repeat(3,auto);gap:1rem;justify-content:start;column-gap:2rem}dt{font-size:.82rem;color:var(--mut)}dd{font-weight:600;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.2rem}
.pc{text-decoration:none;display:block;border-bottom:2px solid var(--stone);transition:border-color .2s}.pc:hover{border-color:var(--brass)}
.pc .im{position:relative;aspect-ratio:4/3;overflow:hidden}.pc img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.pc:hover img{transform:scale(1.03)}
.tag{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;padding:.3rem .9rem;font-size:.85rem}.pc .bd{padding:1.2rem 0}.lo{color:var(--mut)}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.cat{position:relative;min-height:400px;display:flex;align-items:end;color:#fff;text-decoration:none;overflow:hidden;background:var(--ink)}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.cat:hover img{transform:scale(1.04)}
.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,27,45,.88),transparent 65%)}.cat div{position:relative;z-index:1;padding:1.8rem}
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:0 4rem}.why div{padding:1.6rem 0;border-top:1px solid #c3c9d1}.why h3{font-size:1.35rem;margin-bottom:.4rem}.why p{color:var(--mut)}
.ach{background:var(--ink);color:#fff;padding:3.5rem 0}.ach .w{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.ach b{font:400 clamp(2rem,4vw,3.2rem)/1 "Gilda Display",serif;color:var(--brass2);display:block;margin-bottom:.5rem}.ach span{color:#c3ccda;font-size:.95rem}
.ph{background:var(--ink);color:#fff;padding:clamp(3rem,7vw,5.5rem) 0}.ph p{max-width:58ch;color:#cdd5e1;margin-top:1rem;font-size:1.1rem}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2.2rem}.team img{aspect-ratio:4/5;object-fit:cover;object-position:top;width:100%;margin-bottom:1rem}
.team h3{font-size:1.4rem}.team .rl{color:var(--brass);font-weight:600;font-size:.95rem;margin:.2rem 0 .6rem}.team p{font-size:.95rem;color:var(--mut)}
.chk li{padding:.55rem 0 .55rem 1.6rem;position:relative}.chk li:before{content:"";position:absolute;left:0;top:1.05rem;width:.7rem;height:.7rem;background:var(--brass)}
.svc{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:2rem 0;border-top:1px solid #c3c9d1}.svc p{color:var(--mut)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.steps li{counter-increment:s;border-top:3px solid var(--brass);padding-top:1rem}
.steps li:before{content:counter(s);font:1.8rem "Gilda Display",serif;color:var(--brass);display:block}.steps b{display:block;margin:.2rem 0}.steps span{color:var(--mut);font-size:.95rem}
.form{display:grid;gap:.9rem;background:#fff;padding:clamp(1.4rem,3vw,2.2rem);border-top:4px solid var(--brass)}
.fld{display:block;font-weight:600;font-size:.92rem}.fld input,.fld select,.fld textarea{display:block;width:100%;margin-top:.3rem;font:400 1rem Figtree,sans-serif;padding:.75rem .85rem;border:1px solid #9aa4b1;background:#fff;color:var(--tx);border-radius:0}
.fld [aria-invalid=true]{border-color:#b3261e}.er{display:block;color:#b3261e;font-weight:400;font-size:.88rem;min-height:1.1em}.row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ok{background:#e6f3ea;border-left:4px solid #1f8f4e;padding:.8rem 1rem;font-size:.95rem}.note{font-size:.85rem;color:var(--mut)}
.ci li{padding:.9rem 0;border-bottom:1px solid #c3c9d1}.ci b{display:block;font-size:.85rem;color:var(--mut);font-weight:600}.ci a{text-decoration:none;font-size:1.15rem}
.map{width:100%;height:420px;border:0;filter:grayscale(.3)}
.pd{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.pd aside{position:sticky;top:90px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}.gal button{padding:0;border:0;background:none;cursor:zoom-in}.gal img{aspect-ratio:4/3;object-fit:cover;width:100%}
.am{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 2rem}.am li{padding:.65rem 0;border-bottom:1px solid #d3d8de}
.ct{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2rem}.ct h4{font-size:1.2rem;margin-bottom:.5rem}.ct li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px solid #e0e4e8;font-size:.95rem}.ct li span{color:var(--mut);white-space:nowrap}
.units{width:100%;border-collapse:collapse}.units th,.units td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid #d3d8de}.units th{background:var(--ink);color:#fff;font-weight:600}
.sc{overflow-x:auto}.pd h2{margin-top:3rem;font-size:2rem}.pd h2:first-child{margin-top:0}
.bar2{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:2rem}.bar2 select{font:inherit;padding:.65rem .8rem;border:1px solid #9aa4b1;background:#fff;min-width:180px}.bar2 .cnt{margin-left:auto;color:var(--mut)}
dialog{border:0;padding:0;max-width:min(1100px,94vw);background:#000}dialog::backdrop{background:rgba(0,0,0,.8)}dialog img{max-height:88vh;width:auto;margin:auto}dialog button{position:absolute;right:.5rem;top:.5rem;font-size:1.6rem;background:#fff;border:0;width:2.4rem;height:2.4rem;cursor:pointer}
.ft{background:var(--ink);color:#b9c3d2;font-size:.95rem;padding:4rem 0 6rem}.ft .w{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:2.5rem}
.ft h4{color:#fff;font-size:1.25rem;margin-bottom:.8rem}.ft a{text-decoration:none}.ft a:hover{color:#fff}.ft li{padding:.2rem 0}.ft .fine{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;font-size:.82rem;color:#8f9bb0}
.fl{position:fixed;right:1rem;bottom:1rem;z-index:60;display:flex;gap:.6rem}.fl a{display:flex;align-items:center;gap:.5rem;background:#1f8f4e;color:#fff;padding:.75rem 1.1rem;text-decoration:none;font-weight:600;border-radius:99px;box-shadow:0 6px 20px rgba(0,0,0,.3)}.fl .tl{background:var(--ink)}
@media(max-width:860px){.mb{display:block}#nv{display:none;position:absolute;left:0;right:0;top:72px;background:var(--ink);flex-direction:column;align-items:flex-start;padding:1rem 1.25rem 1.5rem}#nv.open{display:flex}
.two,.two.r,.feat,.cats,.why,.pd,.svc,.ft .w{grid-template-columns:1fr}.slab .w,.steps,.ach .w{grid-template-columns:1fr 1fr}.slab p{border-left:0;padding-left:0}.pd aside{position:static}.cat{min-height:300px}.row{grid-template-columns:1fr}}
@media(max-width:520px){.slab .w,.steps,.ach .w{grid-template-columns:1fr}dl.f{grid-template-columns:1fr 1fr}.fl .tx{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
