:root{
    --navy-950:#0a0d18;
    --navy-900:#11172a;
    --navy-800:#1a1a2e;
    --navy-700:#27304a;
    --navy-600:#364365;
    --gold:#d4af37;
    --gold-soft:#f0d98a;
    --ivory:#f6f2e8;
    --pearl:#faf8f3;
    --stone:#e8e3d8;
    --ink:#141821;
    --muted:#596074;
    --white:#ffffff;
    --shadow:0 22px 60px rgba(8,12,24,0.18);
    --radius:26px;
    --container:min(1180px, calc(100vw - 2rem));
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:"Manrope",sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

  img{max-width:100%;display:block}
  a{color:inherit}
  button,input,textarea{font:inherit}

  .site-shell{
    overflow:hidden;
    background:
      radial-gradient(circle at top left, rgba(212,175,55,0.11), transparent 32%),
      linear-gradient(180deg, #0d1322 0%, #121a31 22%, #f7f4ee 22%, #f7f4ee 100%);
  }

  .container{width:var(--container);margin:0 auto}

  .topbar{
    position:sticky;
    top:0;
    z-index:20;
    backdrop-filter:blur(18px);
    background:rgba(10,13,24,0.78);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }

  .nav{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0.8rem 0;
  }

  .brand{
    text-decoration:none;
    display:grid;
    gap:0.1rem;
    color:var(--white);
  }

  .brand-mark{
    font-family:"Cormorant Garamond",serif;
    font-size:1.65rem;
    letter-spacing:0.04em;
    text-transform:uppercase;
  }

  .brand-note{
    font-size:0.72rem;
    letter-spacing:0.26em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.64);
  }

  .nav-links{
    display:flex;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .nav-links a{
    text-decoration:none;
    color:rgba(255,255,255,0.84);
    font-size:0.95rem;
  }

  .nav-links a:hover,
  .nav-links a:focus-visible{color:var(--gold-soft)}

  .nav-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0.8rem 1.2rem;
    border-radius:999px;
    background:linear-gradient(135deg, var(--gold) 0%, #b8911e 100%);
    color:var(--navy-950);
    font-weight:800;
    box-shadow:0 12px 28px rgba(212,175,55,0.2);
  }

  .hero{
    position:relative;
    min-height:calc(100vh - 82px);
    min-height:calc(100svh - 82px);
    display:grid;
    align-items:center;
    padding:3rem 0 4rem;
    color:var(--white);
    isolation:isolate;
  }

  .hero-media{
    position:absolute;
    inset:0;
    z-index:-3;
  }

  .hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:grayscale(18%) saturate(82%) brightness(0.34);
  }

  .hero-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
      linear-gradient(110deg, rgba(10,13,24,0.96) 16%, rgba(17,23,42,0.84) 48%, rgba(12,18,34,0.7) 100%),
      radial-gradient(circle at 75% 18%, rgba(212,175,55,0.18), transparent 22%);
  }

  .hero-grid{
    display:grid;
    gap:2rem;
  }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:0.7rem;
    width:max-content;
    padding:0.55rem 0.9rem;
    border:1px solid rgba(212,175,55,0.34);
    border-radius:999px;
    background:rgba(255,255,255,0.03);
    color:var(--gold-soft);
    font-size:0.8rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
  }

  .eyebrow::before{
    content:"";
    width:0.55rem;
    height:0.55rem;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 7px rgba(212,175,55,0.12);
  }

  .hero-copy{
    max-width:760px;
    padding:2rem 0;
  }

  .hero h1{
    margin:1.15rem 0 1rem;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(3rem, 8vw, 6.2rem);
    line-height:0.94;
    letter-spacing:0.02em;
    text-transform:uppercase;
  }

  .hero-subtitle{
    margin:0 0 1rem;
    font-size:clamp(1.1rem, 2.6vw, 1.45rem);
    color:var(--ivory);
    font-weight:600;
  }

  .hero-description{
    max-width:650px;
    margin:0 0 2rem;
    font-size:1.05rem;
    color:rgba(255,255,255,0.76);
  }

  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    align-items:center;
  }

  .button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0.7rem;
    padding:0.95rem 1.35rem;
    min-height:54px;
    border-radius:999px;
    border:1px solid transparent;
    text-decoration:none;
    font-weight:800;
    transition:transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, border-color 220ms ease;
  }

  .button:hover,
  .button:focus-visible{transform:translateY(-2px)}

  .button-primary{
    background:linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 42%, #b58d16 100%);
    color:var(--navy-950);
    box-shadow:0 18px 40px rgba(19,21,31,0.26);
  }

  .button-secondary{
    border-color:rgba(255,255,255,0.22);
    background:rgba(255,255,255,0.05);
    color:var(--white);
  }

  .hero-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1rem;
    margin-top:2.4rem;
    max-width:780px;
  }

  .hero-stat{
    padding:1.15rem 1rem;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
    border:1px solid rgba(255,255,255,0.09);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
  }

  .hero-stat strong{
    display:block;
    font-family:"Cormorant Garamond",serif;
    font-size:1.75rem;
    color:var(--gold-soft);
  }

  .hero-stat span{
    display:block;
    color:rgba(255,255,255,0.72);
    font-size:0.92rem;
  }

  section{
    padding:5rem 0;
    position:relative;
  }

  .section-light{background:var(--white)}
  .section-soft{background:linear-gradient(180deg, var(--pearl) 0%, #f1ece2 100%)}
  .section-dark{
    color:var(--white);
    background:
      radial-gradient(circle at top right, rgba(212,175,55,0.12), transparent 28%),
      linear-gradient(180deg, var(--navy-900) 0%, #0b1020 100%);
  }

  .section-intro{
    display:grid;
    gap:1rem;
    margin-bottom:2.4rem;
  }

  .section-tag{
    width:max-content;
    padding:0.55rem 0.9rem;
    border-radius:999px;
    background:rgba(212,175,55,0.12);
    color:#866611;
    font-size:0.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.16em;
  }

  .section-dark .section-tag{
    color:var(--gold-soft);
    background:rgba(212,175,55,0.14);
  }

  .section-title{
    margin:0;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(2.1rem, 5vw, 3.7rem);
    line-height:0.98;
    letter-spacing:0.03em;
    text-transform:uppercase;
  }

  .section-copy{
    max-width:720px;
    margin:0;
    color:var(--muted);
    font-size:1.02rem;
  }

  .section-dark .section-copy{color:rgba(255,255,255,0.72)}

  .about-grid{
    display:grid;
    gap:1.3rem;
  }

  .about-card{
    background:var(--white);
    border:1px solid rgba(39,48,74,0.08);
    border-radius:var(--radius);
    padding:1.6rem;
    box-shadow:var(--shadow);
  }

  .about-card p{
    margin:0;
    color:#384054;
    font-size:1rem;
  }

  .about-highlight{
    display:grid;
    gap:1rem;
    padding:1.8rem;
    border-radius:var(--radius);
    background:linear-gradient(180deg, #161d31 0%, #0f1424 100%);
    color:var(--white);
    box-shadow:var(--shadow);
  }

  .about-highlight strong{
    font-family:"Cormorant Garamond",serif;
    font-size:2rem;
    color:var(--gold-soft);
    letter-spacing:0.03em;
    text-transform:uppercase;
  }

  .about-highlight p{margin:0;color:rgba(255,255,255,0.74)}

  .services-layout{
    display:grid;
    gap:1.4rem;
  }

  .service-panel{
    background:var(--white);
    border-radius:var(--radius);
    padding:1.7rem;
    box-shadow:var(--shadow);
    border:1px solid rgba(17,23,42,0.06);
  }

  .service-head{
    display:flex;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:1.25rem;
  }

  .icon-shell{
    flex:0 0 auto;
    width:3.5rem;
    height:3.5rem;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(145deg, rgba(212,175,55,0.18), rgba(212,175,55,0.08));
    color:#80620f;
  }

  .icon-shell svg{
    width:1.8rem;
    height:1.8rem;
    stroke:currentColor;
    fill:none;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .service-head h3{
    margin:0 0 0.25rem;
    font-size:1.35rem;
    color:var(--navy-900);
  }

  .service-head p{
    margin:0;
    color:var(--muted);
  }

  .service-list{
    display:grid;
    gap:0.8rem;
    padding:0;
    margin:0;
    list-style:none;
  }

  .service-list li{
    display:flex;
    align-items:flex-start;
    gap:0.8rem;
    color:#2d3548;
  }

  .service-list li::before{
    content:"";
    flex:0 0 auto;
    width:0.65rem;
    height:0.65rem;
    margin-top:0.45rem;
    border-radius:50%;
    background:radial-gradient(circle, var(--gold) 0%, #af8814 100%);
    box-shadow:0 0 0 5px rgba(212,175,55,0.11);
  }

  .offer-grid,
  .why-grid{
    display:grid;
    gap:1rem;
  }

  .offer-card,
  .why-card{
    border-radius:22px;
    padding:1.4rem;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
  }

  .offer-card{
    display:flex;
    align-items:flex-start;
    gap:1rem;
  }

  .offer-card .icon-shell{
    background:rgba(212,175,55,0.12);
    color:var(--gold-soft);
  }

  .offer-card p,
  .why-card p{
    margin:0;
    color:rgba(255,255,255,0.78);
  }

  .offer-card strong,
  .why-card strong{
    display:block;
    margin-bottom:0.25rem;
    color:var(--white);
    font-size:1.05rem;
  }

  .why-card{
    background:var(--white);
    color:var(--ink);
    border:1px solid rgba(17,23,42,0.07);
    box-shadow:var(--shadow);
  }

  .why-card strong{color:var(--navy-900)}
  .why-card p{color:var(--muted)}

  .contact-wrap{
    display:grid;
    gap:1.4rem;
  }

  .contact-card,
  .contact-form{
    border-radius:var(--radius);
    padding:1.7rem;
    box-shadow:var(--shadow);
  }

  .contact-card{
    background:linear-gradient(180deg, #161d31 0%, #0c1020 100%);
    color:var(--white);
  }

  .contact-points{
    display:grid;
    gap:1rem;
    margin-top:1.4rem;
  }

  .contact-point{
    display:flex;
    align-items:flex-start;
    gap:0.9rem;
  }

  .contact-point .icon-shell{
    width:3rem;
    height:3rem;
    border-radius:16px;
    background:rgba(212,175,55,0.14);
    color:var(--gold-soft);
  }

  .contact-point a{
    text-decoration:none;
    color:var(--white);
  }

  .contact-card p{
    margin:0;
    color:rgba(255,255,255,0.74);
  }

  .contact-form{
    background:var(--white);
    border:1px solid rgba(17,23,42,0.08);
  }

  .form-grid{
    display:grid;
    gap:1rem;
  }

  .field{
    display:grid;
    gap:0.45rem;
  }

  label{
    font-size:0.9rem;
    font-weight:700;
    color:var(--navy-900);
  }

  input,
  textarea{
    width:100%;
    border:1px solid rgba(39,48,74,0.15);
    border-radius:18px;
    padding:0.95rem 1rem;
    background:#fcfbf8;
    color:var(--ink);
    transition:border-color 220ms ease, box-shadow 220ms ease;
  }

  input:focus,
  textarea:focus{
    outline:none;
    border-color:rgba(212,175,55,0.9);
    box-shadow:0 0 0 4px rgba(212,175,55,0.12);
  }

  textarea{min-height:150px;resize:vertical}

  .form-note{
    margin:0;
    color:var(--muted);
    font-size:0.92rem;
  }

  .footer{
    padding:2rem 0 3rem;
    background:#090d16;
    color:rgba(255,255,255,0.72);
    border-top:1px solid rgba(255,255,255,0.07);
  }

  .footer-inner{
    display:flex;
    flex-direction:column;
    gap:0.8rem;
  }

  .footer a{
    color:var(--gold-soft);
    text-decoration:none;
  }

  .reveal{
    transition:transform 700ms ease, filter 700ms ease;
  }

  .js .reveal{
    transform:translateY(24px);
    filter:saturate(0.95);
  }

  .js .reveal.in-view{
    transform:none;
    filter:none;
  }

  @media (min-width: 720px){
    .hero-grid,
    .about-grid,
    .contact-wrap{grid-template-columns:repeat(2, minmax(0, 1fr))}

    .services-layout{grid-template-columns:1.2fr 0.8fr}
    .offer-grid,
    .why-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .form-grid.two-col{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .footer-inner{flex-direction:row;justify-content:space-between;align-items:center}
  }

  @media (min-width: 980px){
    section{padding:6.4rem 0}
    .hero-copy{padding:3rem 0 4rem}
    .services-layout{grid-template-columns:1fr 1fr}
    .offer-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
    .why-grid{grid-template-columns:repeat(5, minmax(0, 1fr))}
    .about-grid{grid-template-columns:1.25fr 0.75fr}
  }


/* Hamburger button */
.menu-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:8px;
  background:none;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;
  cursor:pointer;
  z-index:30;
  flex-shrink:0;
}

.menu-toggle span{
  display:block;
  width:100%;
  height:2px;
  background:var(--white);
  border-radius:2px;
  transition:transform 300ms ease, opacity 200ms ease;
}

.menu-toggle.active span:nth-child(1){
  transform:rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2){
  opacity:0;
}

.menu-toggle.active span:nth-child(3){
  transform:rotate(-45deg) translate(5px, -5px);
}

@media (max-width: 719px){
  .menu-toggle{display:flex}

  .nav{
    flex-wrap:wrap;
    align-items:center;
    position:relative;
  }

  .nav-links{
    display:none !important;
    flex-direction:column;
    width:100%;
    gap:0;
    padding:0.5rem 0 1rem;
    order:3;
  }

  .nav-links.open{
    display:flex !important;
  }

  .nav-links a{
    display:block;
    padding:0.85rem 0;
    font-size:1.05rem;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }

  .nav-links a:last-child{
    border-bottom:none;
  }

  .nav-cta{
    margin-top:0.5rem;
    text-align:center;
    width:100%;
  }

  .hero h1{max-width:100%;font-size:clamp(2.2rem,7vw,3.5rem)}
  .hero-copy{padding:1.5rem 0 2rem}
  .hero-stats{grid-template-columns:1fr}
  .hero-description{font-size:0.95rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .button{text-align:center}

  section{padding:3rem 0}
  .section-title{font-size:clamp(1.6rem,5vw,2.4rem)}
  .services-layout{grid-template-columns:1fr}
  .offer-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .contact-wrap{grid-template-columns:1fr}
  .service-panel{padding:1.2rem}
  .service-head{flex-direction:column;gap:0.7rem}
  .offer-card{flex-direction:column}
  .contact-card{padding:1.2rem}
  .contact-form{padding:1.2rem}
  .form-grid.two-col{grid-template-columns:1fr}
  .footer-inner{text-align:center}
}

/* Content prose mobile fix */
@media (max-width: 719px) {
  .content-prose {
    padding: 1.4rem 1.25rem !important;
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .content-prose p,
  .content-prose li,
  .content-prose td {
    font-size: 0.95rem;
    line-height: 1.75;
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .content-prose h2,
  .content-prose h3,
  .card-title {
    font-size: clamp(1.2rem, 4vw, 1.6rem);
    word-break: break-word;
  }
  .about-card {
    padding: 1.4rem 1.25rem !important;
  }
  .page-grid {
    grid-template-columns: 1fr !important;
  }
}
