:root{
    --navy:#0D1B2A;
    --navy-2:#132436;
    --navy-3:#1A2E44;
    --gold:#D4AF37;
    --gold-soft:#C9A24B;
    --cream:#F2E9D8;
    --cream-2:#FAF6EE;
    --ink:#33312D;
    --ink-soft:#5B584F;
    --white:#FFFFFF;
    --serif:'Cormorant Garamond', serif;
    --sans:'Montserrat', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--sans);color:var(--ink);background:var(--cream-2);line-height:1.6;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .container{max-width:1120px;margin:0 auto;padding:0 32px;}
  .eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--gold);}
  h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--navy);letter-spacing:.01em;}
  .on-dark h1,.on-dark h2,.on-dark h3{color:var(--cream-2);}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-radius:2px;transition:all .25s ease;cursor:pointer;border:1px solid transparent;}
  .btn-gold{background:var(--gold);color:var(--navy);}
  .btn-gold:hover{background:var(--gold-soft);transform:translateY(-1px);}
  .btn-outline{border-color:rgba(242,233,216,.5);color:var(--cream-2);}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold);}

  /* ---------- NAV ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,27,42,.92);backdrop-filter:blur(6px);border-bottom:1px solid rgba(212,175,55,.18);}
  nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1120px;margin:0 auto;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand-logo{height:34px;width:auto;display:block;}
  .brand-word{font-family:var(--serif);font-size:20px;letter-spacing:.12em;color:var(--cream-2);}
  .brand-word span{color:var(--gold);}
  .nav-links{display:flex;align-items:center;gap:36px;}
  .nav-links a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-2);opacity:.85;font-weight:500;}
  .nav-links a:hover{opacity:1;color:var(--gold);}
  .nav-cta{padding:10px 20px;font-size:11px;}
  .menu-toggle{display:none;background:none;border:none;color:var(--cream-2);font-size:22px;cursor:pointer;}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100vh;background:var(--navy);display:flex;align-items:center;overflow:hidden;padding-top:88px;}
  .hero-pattern{position:absolute;inset:0;opacity:.55;}
  .hero-inner{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:60px 32px 100px;text-align:center;}
  .hero-mark{margin:0 auto 36px;width:230px;height:auto;}
  .hero .eyebrow{display:block;margin-bottom:22px;}
  .hero h1{font-size:clamp(38px,6vw,64px);line-height:1.12;color:var(--cream-2);max-width:820px;margin:0 auto 24px;}
  .hero h1 em{font-style:italic;color:var(--gold);}
  .hero p.lede{font-size:17px;color:rgba(242,233,216,.78);max-width:560px;margin:0 auto 40px;font-weight:300;}
  .hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:rgba(242,233,216,.55);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;}
  .scroll-cue .line{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);}

  /* ---------- INTRO ---------- */
  .intro{padding:120px 0 90px;background:var(--cream-2);}
  .intro-inner{max-width:760px;margin:0 auto;text-align:center;}
  .intro h2{font-size:clamp(28px,3.6vw,38px);margin-bottom:22px;}
  .intro p{font-size:16.5px;color:var(--ink-soft);font-weight:300;}
  .rule{width:56px;height:2px;background:var(--gold);margin:0 auto 26px;}

  /* ---------- SERVICES ---------- */
  .services{padding:90px 0 120px;background:var(--cream-2);}
  .section-head{text-align:center;max-width:640px;margin:0 auto 64px;}
  .section-head h2{font-size:clamp(28px,3.6vw,38px);margin:14px 0 0;}
  .grid-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(13,27,42,.1);border:1px solid rgba(13,27,42,.1);}
  .service-card{background:var(--cream-2);padding:40px 34px;transition:background .3s ease;}
  .service-card:hover{background:var(--white);}
  .service-num{font-family:var(--serif);font-size:14px;color:var(--gold);letter-spacing:.08em;margin-bottom:18px;display:block;}
  .service-card h3{font-size:21px;margin-bottom:12px;}
  .service-card p{font-size:14.5px;color:var(--ink-soft);font-weight:300;}

  /* ---------- FOR WHOM ---------- */
  .forwhom{padding:110px 0;background:var(--navy);position:relative;overflow:hidden;}
  .forwhom .section-head .eyebrow{color:var(--gold);}
  .forwhom .section-head h2{color:var(--cream-2);}
  .chips{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:820px;margin:0 auto;}
  .chip{border:1px solid rgba(212,175,55,.35);color:var(--cream-2);padding:14px 24px;font-size:13.5px;font-weight:300;letter-spacing:.01em;border-radius:2px;}

  /* ---------- DIFFERENTIATORS ---------- */
  .differentiators{padding:110px 0;background:var(--cream);}
  .diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:60px;}
  .diff-item{text-align:center;}
  .diff-icon{width:46px;height:46px;margin:0 auto 22px;}
  .diff-item h3{font-size:20px;margin-bottom:10px;}
  .diff-item p{font-size:14px;color:var(--ink-soft);font-weight:300;}

  /* ---------- CTA ---------- */
  .cta-band{padding:110px 0;background:var(--navy);text-align:center;position:relative;}
  .cta-band h2{color:var(--cream-2);font-size:clamp(28px,4vw,42px);max-width:640px;margin:0 auto 20px;}
  .cta-band p{color:rgba(242,233,216,.7);font-weight:300;margin-bottom:36px;}
  .cta-band .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-2);padding:56px 0 28px;border-top:1px solid rgba(212,175,55,.15);}
  .footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;margin-bottom:40px;}
  .footer-brand{max-width:280px;}
  .footer-logo{height:38px;width:auto;margin-bottom:14px;}
  .footer-brand p{font-size:13px;color:rgba(242,233,216,.55);font-weight:300;}
  .footer-col h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:600;}
  .footer-col a{display:block;font-size:13.5px;color:rgba(242,233,216,.75);margin-bottom:10px;font-weight:300;}
  .footer-col a:hover{color:var(--gold);}
  .qr-card{background:var(--cream-2);border-radius:4px;padding:10px;width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 4px 18px rgba(0,0,0,.25);}
  .qr-img{width:100%;height:100%;object-fit:contain;}
  .footer-col-qr{display:flex;flex-direction:column;}
  .footer-bottom{border-top:1px solid rgba(242,233,216,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(242,233,216,.4);}

  @media(max-width:860px){
    .nav-links{position:fixed;top:70px;left:0;right:0;background:var(--navy);flex-direction:column;padding:24px 32px;gap:20px;border-bottom:1px solid rgba(212,175,55,.18);transform:translateY(-130%);transition:transform .3s ease;}
    .nav-links.open{transform:translateY(0);}
    .menu-toggle{display:block;}
    .grid-services{grid-template-columns:1fr;}
    .diff-grid{grid-template-columns:1fr;gap:40px;}
  }

  /* ---------- PAGE HERO (internal pages) ---------- */
  .page-hero{position:relative;background:var(--navy);padding:168px 0 90px;overflow:hidden;text-align:center;}
  .page-hero .container{position:relative;z-index:2;}
  .page-hero .eyebrow{display:block;margin-bottom:16px;}
  .page-hero h1{color:var(--cream-2);font-size:clamp(34px,5vw,52px);max-width:720px;margin:0 auto 18px;}
  .page-hero p{color:rgba(242,233,216,.72);max-width:560px;margin:0 auto;font-weight:300;font-size:16px;}

  /* ---------- SERVICE DETAIL ---------- */
  .service-detail-list{padding:100px 0 60px;}
  .service-detail{display:grid;grid-template-columns:120px 1fr;gap:36px;padding:44px 0;border-top:1px solid rgba(13,27,42,.12);}
  .service-detail:last-child{border-bottom:1px solid rgba(13,27,42,.12);}
  .service-detail .num{font-family:var(--serif);font-size:44px;color:var(--gold);line-height:1;}
  .service-detail h3{font-size:26px;margin-bottom:10px;}
  .service-detail p.desc{color:var(--ink-soft);font-weight:300;font-size:15.5px;margin-bottom:18px;max-width:640px;}
  .service-detail ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;max-width:640px;}
  .service-detail li{font-size:14px;color:var(--ink-soft);font-weight:300;padding-left:18px;position:relative;}
  .service-detail li::before{content:"—";position:absolute;left:0;color:var(--gold);}
  @media(max-width:700px){
    .service-detail{grid-template-columns:1fr;gap:10px;}
    .service-detail ul{grid-template-columns:1fr;}
  }

  /* ---------- ABOUT PAGE ---------- */
  .about-story{padding:100px 0;background:var(--cream-2);}
  .about-story .story-inner{max-width:720px;margin:0 auto;}
  .about-story p{font-size:16.5px;color:var(--ink-soft);font-weight:300;margin-bottom:20px;}
  .about-story p.lead{font-size:20px;font-family:var(--serif);color:var(--navy);font-weight:600;margin-bottom:28px;}
  .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:56px;}
  .value-item{text-align:center;}
  .value-item .letter{font-family:var(--serif);font-size:32px;color:var(--gold);margin-bottom:10px;}
  .value-item h4{font-size:15px;color:var(--navy);font-family:var(--sans);font-weight:600;letter-spacing:.02em;margin-bottom:6px;}
  .value-item p{font-size:13px;color:var(--ink-soft);font-weight:300;}
  @media(max-width:760px){.values-grid{grid-template-columns:repeat(2,1fr);}}

  /* ---------- CONTACT PAGE ---------- */
  .contact-wrap{padding:100px 0 120px;background:var(--cream-2);}
  .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;}
  .contact-cards{display:flex;flex-direction:column;gap:18px;}
  .contact-card{background:var(--white);border:1px solid rgba(13,27,42,.1);border-radius:4px;padding:24px 26px;}
  .contact-card h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:8px;}
  .contact-card a, .contact-card span{display:block;font-size:16px;color:var(--navy);font-weight:500;}
  .contact-card a:hover{color:var(--gold-soft);}
  .contact-form{background:var(--white);border:1px solid rgba(13,27,42,.1);border-radius:4px;padding:40px;}
  .form-group{margin-bottom:22px;}
  .form-group label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:8px;}
  .form-group input, .form-group textarea{width:100%;padding:13px 14px;border:1px solid rgba(13,27,42,.2);border-radius:2px;font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--cream-2);}
  .form-group input:focus, .form-group textarea:focus{outline:none;border-color:var(--gold);}
  .form-group textarea{resize:vertical;min-height:120px;}
  .form-note{font-size:12.5px;color:var(--ink-soft);margin-top:14px;font-weight:300;}
  @media(max-width:860px){.contact-grid{grid-template-columns:1fr;}}
