@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --black:#070707;
  --black-soft:#101010;
  --gold:#d4af37;
  --gold-light:#f0d576;
  --silver:#c8cbd0;
  --ivory:#f4f1e9;
  --text:#e8e5de;
  --muted:#a7a7a8;
  --line:rgba(212,175,55,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(7,7,7,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.header-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Cinzel,Georgia,serif;color:var(--gold-light);letter-spacing:.08em;font-size:.95rem;white-space:nowrap}
.header-brand img{width:78px;height:50px;object-fit:contain}
nav{display:flex;align-items:center;gap:28px}
nav a{text-decoration:none;color:#d2d2d2;font-size:.9rem}
.nav-contact{border:1px solid var(--gold);padding:9px 15px;color:var(--gold-light)}
.menu-button{display:none;background:none;color:white;border:1px solid var(--line);padding:9px 12px;font:inherit}
.hero{position:relative;overflow:hidden;min-height:760px;display:grid;align-items:center;background:linear-gradient(180deg,#070707,#0c0c0c)}
.hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;right:-180px;top:-170px;background:radial-gradient(circle,rgba(212,175,55,.16),transparent 66%);filter:blur(20px)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:56px;padding:90px 0}
.eyebrow{margin:0 0 16px;color:var(--gold-light);font-size:.77rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.dark{color:#8d6a20}
h1,h2,h3{font-family:Cinzel,Georgia,serif;margin-top:0}
h1{font-size:clamp(3.5rem,7vw,6.7rem);line-height:.98;letter-spacing:-.025em;margin-bottom:28px}
h1 span{color:var(--gold-light)}
h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.08;margin-bottom:28px}
h3{font-size:1.2rem;color:var(--gold-light)}
.hero-text{max-width:670px;color:#c8c8c8;font-size:1.08rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 21px;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem}
.button-gold{background:linear-gradient(135deg,#a77b17,#e5c85d);color:#111}
.button-ghost{border:1px solid var(--line);color:#ddd}
.hero-logo{display:flex;justify-content:center;align-items:center}
.hero-logo img{width:min(100%,650px);filter:drop-shadow(0 28px 35px rgba(0,0,0,.45))}
.section{padding:110px 0}
.section-light{background:var(--ivory);color:#151515}
.two-column{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.body-copy{font-size:1.07rem;color:#4e4e4e}
.services{background:#0c0c0c;border-block:1px solid var(--line)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.service-card{padding:30px 26px;border:1px solid var(--line);background:linear-gradient(180deg,#151515,#0c0c0c);min-height:260px}
.service-card span{color:var(--silver);font-size:.76rem}
.service-card p,.approach p{color:var(--muted)}
.approach{background:radial-gradient(circle at 50% 100%,rgba(212,175,55,.08),transparent 48%)}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.approach-grid>div{padding-top:25px;border-top:1px solid var(--line)}
.approach-grid strong{font-family:Cinzel,Georgia,serif;color:var(--gold-light);font-size:1.22rem}
.crest-section{padding:80px 0;background:#0e0e0e;border-block:1px solid var(--line)}
.crest-grid{display:grid;grid-template-columns:340px 1fr;gap:70px;align-items:center}
.crest-grid img{width:330px;max-height:390px;object-fit:contain;filter:drop-shadow(0 20px 25px rgba(0,0,0,.45))}
.contact-section{background:linear-gradient(135deg,#111,#070707)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-section p{color:#b9b9b9}
.contact-panel{padding:36px;border:1px solid var(--line);background:#0d0d0d}
.label{color:var(--silver)!important;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.email{display:inline-block;color:var(--gold-light);font-family:Cinzel,Georgia,serif;font-size:clamp(1.25rem,2.7vw,2rem);text-decoration:none}
.office-label{margin-top:30px}
address{font-style:normal;color:#c8c8c8}
footer{padding:34px 0;background:#040404;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:28px}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:72px;height:48px;object-fit:contain}
.footer-brand strong{font-family:Cinzel,Georgia,serif;color:var(--gold-light)}
.footer-brand p{margin:3px 0 0;color:#777;font-size:.82rem}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{color:#aaa;font-size:.85rem}
.legal-page{padding:90px 0;min-height:82vh}
.legal-content{max-width:820px}
.legal-content h1{font-size:clamp(3rem,7vw,5.5rem)}
.legal-content h2{font-size:1.55rem;margin-top:42px;color:var(--gold-light)}
.legal-content p{color:#bbb}
.legal-content a{color:var(--gold-light)}
@media(max-width:900px){
  .menu-button{display:block}
  nav{display:none;position:absolute;top:78px;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:18px;background:#111;border:1px solid var(--line)}
  nav.open{display:flex}
  .hero{min-height:auto}
  .hero-grid,.two-column,.contact-grid,.crest-grid{grid-template-columns:1fr}
  .hero-grid{padding:70px 0}
  .hero-logo{order:-1}
  .hero-logo img{width:min(100%,560px)}
  .service-grid{grid-template-columns:1fr 1fr}
  .crest-grid{text-align:center}
  .crest-grid img{margin:auto}
}
@media(max-width:580px){
  .container{width:min(100% - 28px,1180px)}
  .header-brand span{display:none}
  .header-brand img{width:70px}
  .section{padding:76px 0}
  .service-grid,.approach-grid{grid-template-columns:1fr}
  .footer-grid{flex-direction:column;align-items:flex-start}
  h1{font-size:3.25rem}
}
