:root{--navy:#0A2433;--orange:#C8894B;--blue:#5E9BA8}*{box-sizing:border-box;margin:0}body{font-family:Inter,sans-serif;color:#1a1a1a;line-height:1.6}
.wrap{max-width:1200px;margin:auto;padding:0 24px}h1,h2,h3{font-weight:800;line-height:1.1}h2{font-size:clamp(28px,4vw,48px);color:var(--navy);margin-bottom:20px}
.eyebrow{color:var(--orange);text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:13px;margin-bottom:12px}
.btn{display:inline-block;background:var(--orange);color:#fff!important;padding:14px 28px;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:14px}.btn.light{background:#fff;color:var(--navy)!important}
.nav{position:fixed;top:0;left:0;right:0;z-index:9;background:var(--navy);display:flex;justify-content:space-between;align-items:center;padding:10px 24px}.brand img{height:30px}
.nav nav a{color:#fff;text-decoration:none;margin-left:28px;font-weight:500}.burger{display:none;background:none;border:0;color:#fff;font-size:28px}
.hero{min-height:92vh;background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;padding-top:80px}.hero h1{font-size:clamp(44px,8vw,96px);text-transform:uppercase;margin-bottom:16px}.sub{font-size:18px;margin-bottom:32px;opacity:.9}
.intro{padding:100px 24px;max-width:900px}.intro p{font-size:20px}.ph{color:#b25300;background:#fff3e8;border-left:3px solid var(--orange);padding:8px 12px;margin-top:16px;font-size:14px!important}
.services{background:#f4f6f9;padding:90px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:30px}
.card{position:relative;min-height:440px;background-size:cover;background-position:center;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(10,36,51,.92))}.card *{position:relative}.card span{color:var(--orange);font-weight:800}.card h3{font-size:22px;margin:6px 0}
.process{padding:100px 24px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:30px}.steps b{font-size:40px;color:var(--blue)}.steps h3{color:var(--navy);margin:8px 0}
.about{background:var(--navy);color:#fff;padding:100px 0}.about h2{color:#fff}.two{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}.about img{width:100%;max-width:440px}
.cta{background:var(--orange);color:#fff;padding:70px 0;text-align:center}.cta h2{color:#fff}
footer{background:#06161f;color:#cfd8e3;padding:70px 0 20px}footer h3{color:#fff;margin-bottom:10px}.flogo{height:34px;margin-bottom:12px}.credits{text-align:center;font-size:12px;margin-top:40px;opacity:.6}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.burger{display:block}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;padding:20px}body.open .nav nav{display:flex}.nav nav a{margin:10px 0}.card{min-height:300px}}
@media(max-width:560px){.grid,.steps{grid-template-columns:1fr}}

.ph-inline{color:#f3c99a;font-size:14px}.card{min-height:380px}
.story{padding:100px 0}.story .two{grid-template-columns:1fr 1.2fr;align-items:start}.story p{font-size:18px;margin-bottom:16px}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gal img,.pair img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.projects{padding:40px 24px 100px}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}
figcaption{padding-top:12px;font-size:15px}figcaption b{display:block;color:var(--navy);font-size:17px}
.brands{background:#eef1f2;padding:90px 0}.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.brandcard{background-size:cover;background-position:center;color:#fff;text-decoration:none;padding:50px 36px;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}.brandcard img{max-width:260px;max-height:110px;object-fit:contain;object-position:left;margin-bottom:20px}.small{opacity:.8;font-size:14px;margin-top:10px}
.area{padding:90px 24px;text-align:center}.towns{font-size:20px;color:var(--navy);font-weight:500}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}footer a{color:#fff}
@media(max-width:900px){.pgrid,.bgrid,.three,.story .two{grid-template-columns:1fr}}
.gal img,.pair img{cursor:zoom-in;image-rendering:auto}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;z-index:99;align-items:center;justify-content:center;touch-action:pan-y}
#lb.on{display:flex}#lb img{max-width:96vw;max-height:90vh;object-fit:contain;cursor:default}
#lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font-size:34px;width:56px;height:56px;border-radius:50%;cursor:pointer}
#lb .x{top:16px;right:16px}#lb .pv{left:16px;top:50%;margin-top:-28px}#lb .nx{right:16px;top:50%;margin-top:-28px}
#lb .ct{position:absolute;bottom:16px;color:#ccc;font-size:14px}

.tag{font-size:clamp(20px,2.4vw,28px);font-weight:700;margin-bottom:10px}.hero .sub{max-width:640px}
.commercial{background:var(--navy);color:#fff;padding:90px 0}.commercial h2{color:#fff}.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:24px}.cgrid div{border-top:3px solid var(--orange);padding-top:16px}.cgrid h3{margin-bottom:8px}
.brandcard img{width:240px;height:auto;max-width:100%;max-height:none}
@media(max-width:900px){.cgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cgrid{grid-template-columns:1fr}}
footer a{text-decoration:none}
