@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600&display=swap');
:root{--navy:#0d1b2a;--navy2:#142b40;--gold:#b79a61;--paper:#f5f5f2;--ink:#15202b;--muted:#66717d;--line:#d9dde0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:white;line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(1160px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:92px}.brand img{width:215px;height:90px;object-fit:contain}.nav{display:flex;gap:27px;align-items:center;font-size:14px;font-weight:600}.nav a:hover{color:var(--gold)}.nav-cta{background:var(--navy);color:white!important;padding:12px 18px}.menu-toggle{display:none;background:none;border:0;font-size:27px}
.hero{background:var(--paper);min-height:660px;display:flex;align-items:center;overflow:hidden}.hero-grid{width:min(1160px,92%);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}.eyebrow{letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--gold);margin:0 0 16px}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(58px,8vw,104px);line-height:.98;margin:0 0 25px;color:var(--navy)}.hero h1 span{font-style:italic}.hero-text{font-size:19px;max-width:610px;color:#53606c}.buttons{display:flex;gap:12px;margin-top:30px}.button{display:inline-block;border:0;cursor:pointer;padding:14px 22px;font-weight:700;font-size:14px}.primary{background:var(--navy);color:white}.primary:hover{background:var(--navy2)}.secondary{border:1px solid var(--navy);color:var(--navy)}.hero-mark{height:500px;position:relative;display:grid;place-items:center}.vitruvian-ring{width:470px;height:470px;border:1px solid #a9adb1;border-radius:50%;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(255,255,255,.88) 0%,rgba(245,245,242,.96) 62%,rgba(229,231,229,.7) 100%);box-shadow:0 20px 50px rgba(13,27,42,.10),inset 0 0 0 8px rgba(255,255,255,.35)}.vitruvian-ring img{width:100%;max-width:100%;height:auto;object-fit:contain;object-position:center center;display:block;position:relative;z-index:3;filter:sepia(.10) contrast(1.05);mix-blend-mode:multiply;opacity:.94}.vitruvian-ring:before,.vitruvian-ring:after{content:"";position:absolute;inset:18px;border:1px solid #c5c8ca;border-radius:50%;z-index:1;pointer-events:none}.vitruvian-ring:after{inset:58px;border-style:dashed;opacity:.9}.vitruvian-label{position:absolute;z-index:5;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.22em;font-weight:700;color:#7b6844;white-space:nowrap;background:rgba(245,245,242,.78);padding:3px 8px}.vitruvian-label-top{top:22px}.vitruvian-label-bottom{bottom:22px}.technical-lines{position:absolute;width:100%;height:100%;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.85%,#c7cbce 50%,transparent 50.15%),linear-gradient(0deg,transparent 49.85%,#c7cbce 50%,transparent 50.15%);opacity:.18;z-index:4}
.intro-strip{background:var(--navy);color:white}.three-col{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0}.three-col div{padding:0 30px;border-right:1px solid rgba(255,255,255,.18)}.three-col div:first-child{padding-left:0}.three-col div:last-child{border:0}.three-col strong,.three-col span{display:block}.three-col strong{font-size:16px}.three-col span{color:#cbd2d8;font-size:13px}
.section{padding:110px 0}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.section h2{font-family:"Playfair Display",serif;font-size:56px;line-height:1.05;margin:0 0 24px;color:var(--navy)}.section-lead{max-width:680px;color:#c7d0d8}.stats{display:flex;gap:55px;margin-top:40px}.stats b{font-size:34px;color:var(--gold);display:block}.stats span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dark{background:var(--navy);color:white}.dark h2{color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#334455;margin-top:55px}.service-grid article{background:var(--navy);padding:32px;min-height:230px}.service-grid span{color:var(--gold);font-size:12px;font-weight:700}.service-grid h3{font-size:21px;margin:30px 0 10px}.service-grid p{color:#b8c2cb;font-size:14px}
.projects{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-head>p{max-width:430px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.project-card{min-height:400px;position:relative;display:flex;align-items:end;padding:30px;background-size:cover;background-position:center;overflow:hidden}.project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(13,27,42,.88))}.project-card>div{position:relative;color:white}.project-card span{font-size:11px;letter-spacing:.16em;color:#e0c98f}.project-card h3{font-size:25px;line-height:1.15;margin:10px 0}.project-card p{margin:0;color:#d4dbe0;font-size:13px}.project-one{background:linear-gradient(135deg,#bac0c4,#4b5861)}.project-two{background:linear-gradient(135deg,#c8c3b8,#606c73)}.project-three{background:linear-gradient(135deg,#8c969d,#1c3346)}
.area-section{background:white}.license-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.license-list span{border:1px solid var(--line);padding:9px 15px;font-size:13px;font-weight:600}.map-card{min-height:420px;background:var(--paper);position:relative;border:1px solid var(--line);overflow:hidden;box-shadow:0 16px 35px rgba(13,27,42,.08)}.office-map{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.78) contrast(1.02)}.map-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,.78) 0%,rgba(13,27,42,0) 28%,rgba(13,27,42,0) 58%,rgba(13,27,42,.86) 100%);pointer-events:none}.map-overlay-top,.map-overlay-bottom{position:absolute;z-index:2;color:white}.map-overlay-top{left:25px;top:22px;display:flex;flex-direction:column;gap:3px;text-shadow:0 1px 5px rgba(0,0,0,.35)}.map-overlay-top span{font-size:10px;letter-spacing:.2em;color:#e0c98f;font-weight:700}.map-overlay-top b{font-size:15px;letter-spacing:.08em}.map-overlay-bottom{left:25px;right:25px;bottom:22px;display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;text-shadow:0 1px 5px rgba(0,0,0,.5)}.map-overlay-bottom strong{font-size:15px}.map-overlay-bottom a{background:var(--gold);color:var(--navy);padding:10px 13px;font-size:10px;letter-spacing:.12em;font-weight:800;white-space:nowrap;text-shadow:none}.map-overlay-bottom a:hover{background:white}
.contact{background:#eef0ef}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2 span{font-style:italic}.contact-info{margin-top:35px}.contact-info p{margin:22px 0}.contact-info a{color:#6d5a34}.contact-form{background:white;padding:35px;box-shadow:0 12px 40px rgba(13,27,42,.08)}label{display:block;font-size:12px;font-weight:700;margin-bottom:17px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);padding:12px;font:inherit;background:white}textarea{resize:vertical}.form-message{font-size:13px;color:#6d5a34}
footer{background:#08131e;color:#bdc6ce;padding:30px 0}.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}.footer-wrap img{width:170px;filter:grayscale(1) brightness(2)}.footer-wrap p{margin:0;color:#a68d5b}
@media(max-width:850px){.nav{display:none;position:absolute;left:0;right:0;top:92px;background:white;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero{padding:80px 0}.hero-mark{height:390px}.vitruvian-ring{width:350px;height:350px}.vitruvian-ring img{width:100%}.service-grid,.project-grid{grid-template-columns:1fr}.three-col{grid-template-columns:1fr;gap:20px}.three-col div{border:0;padding:0}.section{padding:80px 0}.section-head{display:block}.contact-grid{gap:45px}.footer-wrap{display:block}.footer-wrap>div+div{margin-top:20px}.map-card{min-height:380px}.map-overlay-bottom{display:block}.map-overlay-bottom a{display:inline-block;margin-top:10px}}
