:root{
  --navy:#1a2342;--navy-deep:#0f1730;--steel:#9aa6c2;--red:#c8392b;--red-soft:#dd5546;
  --cream:#f8f7f4;--bg:#ffffff;--fg:#1a2342;--muted:#6b7591;--border:#e5e7eb;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.01em;line-height:1.1}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
@media(min-width:768px){.container{padding:0 2rem}}

/* Navbar */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:48px;height:48px;border-radius:6px;object-fit:contain}
.brand-name{font-family:'Playfair Display',serif;font-weight:700;font-size:1.125rem;color:var(--navy)}
.brand-sub{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.nav-links{display:none;gap:2rem;align-items:center}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--fg)}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.nav-cta{display:none;align-items:center;gap:1rem}
.nav-phone{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:.7rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:0}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 6px 14px rgba(200,57,43,.3)}
.btn-primary:hover{background:var(--red-soft);transform:scale(1.03)}
.btn-outline{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.4);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.15)}
.btn-lg{padding:.95rem 1.75rem}
.menu-toggle{background:none;border:0;padding:.5rem;cursor:pointer;color:var(--navy)}
@media(min-width:1024px){
  .nav-links,.nav-cta{display:flex}
  .menu-toggle{display:none}
}
.mobile-menu{display:none;border-top:1px solid var(--border);background:#fff;padding:1rem}
.mobile-menu a{display:block;padding:.75rem 0;border-bottom:1px solid var(--border);font-weight:500}
.mobile-menu.open{display:block}

/* Hero */
.hero{position:relative;overflow:hidden;min-height:78vh;display:flex;align-items:center;color:#fff;
  background-image:linear-gradient(120deg,rgba(15,23,48,.92) 0%,rgba(15,23,48,.7) 55%,rgba(200,57,43,.55) 100%),url('https://images.unsplash.com/photo-1564939558297-fc396f18e5c7?auto=format&fit=crop&w=1920&q=80');
  background-size:cover;background-position:center}
.hero-content{padding:6rem 0}
.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--red-soft)}
.hero h1{font-size:2.75rem;font-weight:700;margin-top:1.5rem;max-width:48rem}
.hero h1 span{display:block;color:var(--red-soft);margin-top:.5rem}
.hero p{margin-top:1.5rem;max-width:36rem;color:rgba(255,255,255,.85);font-size:1.05rem}
.hero-buttons{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}
@media(min-width:768px){.hero h1{font-size:4.25rem}}

/* Page header */
.page-header{background:var(--navy-deep);color:#fff;padding:7rem 0}
.page-header h1{font-size:2.25rem;font-weight:700;margin-top:1rem;max-width:48rem}
.page-header p{margin-top:1.5rem;max-width:36rem;color:rgba(255,255,255,.8);font-size:1.05rem}
@media(min-width:768px){.page-header h1{font-size:3.5rem}}

/* Sections */
section.block{padding:6rem 0;background:#fff}
section.block.alt{background:var(--cream)}
.section-heading{text-align:center;max-width:48rem;margin:0 auto 3.5rem}
.section-heading .eyebrow{color:var(--red)}
.section-heading h2{font-size:2rem;font-weight:700;margin-top:.75rem;color:var(--navy)}
.section-heading p{margin-top:1rem;color:var(--muted)}
@media(min-width:768px){.section-heading h2{font-size:2.75rem}}

/* Cards */
.grid{display:grid;gap:1.75rem}
.grid-3{grid-template-columns:1fr}
@media(min-width:640px){.grid-3{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.grid-3{grid-template-columns:1fr 1fr 1fr}}
.card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,48,.08)}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card-body{padding:1.5rem}
.card-body h3{font-size:1.15rem;font-weight:700;color:var(--navy)}
.card-body p{margin-top:.6rem;color:var(--muted);font-size:.95rem}

/* CTA band */
.cta-band{background:var(--navy);color:#fff;padding:5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-100px;top:-100px;width:380px;height:380px;border-radius:50%;background:var(--red);opacity:.3;filter:blur(80px)}
.cta-band h2{font-size:2rem;font-weight:700;position:relative}
.cta-band p{margin:1rem auto 0;max-width:36rem;color:rgba(255,255,255,.8);position:relative}
.cta-band .btn{margin-top:2rem;position:relative}
@media(min-width:768px){.cta-band h2{font-size:3rem}}

/* Contact */
.contact-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-info li{list-style:none;display:flex;gap:.75rem;margin-bottom:1.25rem;align-items:flex-start}
.contact-info .ico{width:36px;height:36px;border-radius:8px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}
.contact-info strong{display:block;color:var(--navy);font-size:.95rem}
.contact-info span{color:var(--muted);font-size:.92rem}
form .row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
form label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:.4rem}
form input,form textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.95rem;background:#fff}
form input:focus,form textarea:focus{outline:none;border-color:var(--navy)}
form .field{margin-bottom:1rem}

/* About */
.about-grid{display:grid;gap:3rem;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.about-grid{grid-template-columns:1fr 1fr}}
.about-grid img{border-radius:12px;box-shadow:0 20px 40px rgba(15,23,48,.15)}
.about-grid h2{font-size:2rem;color:var(--navy);margin-bottom:1rem}
.about-grid p{color:var(--muted);margin-bottom:1rem}

/* Footer */
footer{background:var(--navy-deep);color:#fff;padding:4rem 0 0}
.footer-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
footer h3{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;margin-bottom:1rem}
footer ul{list-style:none}
footer ul li{margin-bottom:.5rem;color:rgba(255,255,255,.75);font-size:.9rem}
footer ul li a:hover{color:var(--red-soft)}
footer p.lead{color:rgba(255,255,255,.75);font-size:.92rem;margin-top:1rem;max-width:28rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding:1.5rem 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:rgba(255,255,255,.6);font-size:.8rem}
