:root{
  --bg:#0d1424; --fg:#f1ead8; --card:#1a2236; --muted:#9da4b3; --border:rgba(255,255,255,0.1);
  --gold:#e6c270; --gold-deep:#c9a44c; --navy-deep:#0a1020;
  --grad-hero:linear-gradient(135deg,#0e1729 0%,#1c2a48 100%);
  --grad-gold:linear-gradient(135deg,#ecc972 0%,#c9a44c 100%);
  --shadow-elegant:0 20px 60px -20px rgba(0,0,0,.6);
  --shadow-card:0 10px 30px -15px rgba(0,0,0,.4);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;letter-spacing:-0.02em;font-weight:700;line-height:1.1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.text-gold{color:var(--gold)} .text-gold-deep{color:var(--gold-deep)} .text-muted{color:var(--muted)}
.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:.75rem}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:rgba(13,20,36,.8);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700}
.brand-sub{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.nav-links{display:none;gap:2rem;font-size:.9rem;color:var(--muted);font-weight:500}
.nav-links a:hover{color:var(--gold)}
.nav-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--navy-deep);color:var(--fg);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500}
@media(min-width:768px){.nav-links{display:flex}}

/* HERO */
.hero{position:relative;overflow:hidden;background:var(--grad-hero)}
.hero::before{content:"";position:absolute;top:-130px;right:-130px;width:500px;height:500px;border-radius:50%;background:var(--grad-gold);opacity:.2;filter:blur(80px)}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;padding:4rem 0 5rem}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;padding:6rem 0 8rem}}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px);margin-bottom:1.5rem;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(2.25rem,5vw,3.75rem);margin-bottom:1.5rem;color:#fff}
.hero p.lede{font-size:1.05rem;color:rgba(255,255,255,.75);max-width:36rem;margin-bottom:2rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.chip{font-size:.8rem;letter-spacing:.05em;padding:.375rem .75rem;border-radius:6px;border:1px solid rgba(230,194,112,.4);color:var(--gold)}
.btn-group{display:flex;flex-wrap:wrap;gap:.75rem}
.btn-gold{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:6px;font-weight:500;background:var(--grad-gold);color:#1a1a2e;box-shadow:0 8px 20px -8px rgba(201,164,76,.5);transition:transform .2s}
.btn-gold:hover{transform:scale(1.02)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:6px;color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.motto{margin-top:2.5rem;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(230,194,112,.9);font-weight:500}
.portrait-wrap{position:relative}
.portrait-wrap::before{content:"";position:absolute;inset:-1rem;border-radius:24px;background:linear-gradient(135deg,rgba(230,194,112,.3),transparent);filter:blur(40px)}
.portrait{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,16,32,.6),transparent 50%)}
.portrait-caption{position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;color:#fff}
.portrait-caption .name{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700}
.portrait-caption .role{font-size:.875rem;color:rgba(255,255,255,.8)}
.tagline-band{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.1);padding:1rem 0;text-align:center;color:var(--gold);font-weight:500;letter-spacing:.05em;text-transform:uppercase;font-size:.95rem}

/* SECTIONS */
section{padding:5rem 0}
@media(min-width:1024px){section{padding:7rem 0}}
.section-head{text-align:center;max-width:42rem;margin:0 auto 4rem}
.section-head h2{font-size:clamp(1.875rem,3.5vw,3rem);color:var(--fg)}
.section-head p{color:var(--muted);margin-top:1rem}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:1024px){.svc-grid{grid-template-columns:1fr 1fr;gap:2rem}}
.svc-card{background:var(--card);border-radius:24px;padding:2rem;border:1px solid var(--border);box-shadow:var(--shadow-elegant)}
@media(min-width:1024px){.svc-card{padding:2.5rem}}
.svc-head{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.svc-icon{width:40px;height:40px;border-radius:8px;background:var(--navy-deep);display:flex;align-items:center;justify-content:center;font-size:18px}
.svc-card h3{font-size:1.4rem}
.svc-list{list-style:none;display:flex;flex-direction:column;gap:1rem}
.svc-item{display:flex;align-items:flex-start;gap:1rem}
.svc-bullet{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:var(--gold-deep);flex-shrink:0;font-size:16px}
.svc-item span{padding-top:.4rem}

/* WHY */
.why-section{background:#141d31}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.why-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.why-grid{grid-template-columns:repeat(6,1fr);gap:1.5rem}}
.why-card{background:var(--card);border-radius:16px;padding:1.5rem;text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-card);transition:transform .2s}
.why-card:hover{transform:translateY(-4px)}
.why-ico{width:48px;height:48px;margin:0 auto 1rem;border-radius:12px;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;color:#1a1a2e;font-size:22px}
.why-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--fg)}
.why-sub{font-size:11px;color:var(--muted);margin-top:.25rem}

/* SERVE + EDGE */
.serve-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.serve-grid{grid-template-columns:3fr 2fr}}
.serve-grid h2{font-size:clamp(1.875rem,3vw,2.5rem);margin-bottom:2.5rem}
.serve-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:640px){.serve-items{grid-template-columns:repeat(3,1fr)}}
.serve-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.5rem;border-radius:16px;border:1px solid var(--border);background:var(--card);transition:border-color .2s}
.serve-card:hover{border-color:var(--gold)}
.serve-ico{width:48px;height:48px;border-radius:50%;background:#1f2841;display:flex;align-items:center;justify-content:center;font-size:20px}
.serve-card span{font-size:.875rem;font-weight:500}
.edge-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:0}
.edge-card{display:flex;gap:1rem;padding:1.25rem;border-radius:12px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card)}
.edge-check{color:var(--gold-deep);font-size:24px;flex-shrink:0;margin-top:2px}

/* CONTACT */
.contact{position:relative;overflow:hidden;background:var(--grad-hero);color:#fff}
.contact::before{content:"";position:absolute;top:0;right:0;width:400px;height:400px;border-radius:50%;background:var(--grad-gold);opacity:.2;filter:blur(100px)}
.contact-head{position:relative;max-width:36rem;margin-bottom:3.5rem}
.contact-head .eyebrow{color:var(--gold)}
.contact-head h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;color:#fff}
.contact-head p{color:rgba(255,255,255,.75);font-size:1.1rem}
.contact-grid{position:relative;display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.contact-grid{grid-template-columns:repeat(3,1fr)}}
.contact-card{padding:1.5rem;border-radius:16px;background:rgba(255,255,255,.05);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15);transition:all .2s;display:block}
.contact-card:hover{border-color:rgba(230,194,112,.5);background:rgba(255,255,255,.1)}
.contact-card .c-ico{width:40px;height:40px;border-radius:8px;background:var(--gold);color:#1a1a2e;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:18px}
.contact-card .c-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-bottom:.5rem}
.contact-card p{color:#fff;font-weight:500}

/* MAP */
.map-section{background:rgba(20,29,49,.4)}
.map-wrap{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-elegant)}
.map-wrap iframe{width:100%;display:block;border:0;filter:grayscale(.3) contrast(1.05)}
.map-open{position:absolute;bottom:1.25rem;right:1.25rem;z-index:20;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:6px;background:var(--grad-gold);color:#1a1a2e;font-weight:500;font-size:.875rem;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}

/* FOOTER */
footer{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.1);padding:2rem 0;text-align:center;color:rgba(255,255,255,.6);font-size:.875rem}
