:root{
      --emj-green:#0E766D;
      --emj-green-deep:#095B54;
      --emj-green-soft:#E4F3F1;
      --emj-gold:#b89a55;
      --emj-gold-light:#d7c58f;
      --emj-cream:#f8f4ec;
      --emj-paper:#fffdf8;
      --emj-ink:#1E4743;
      --emj-muted:#667A77;
      --emj-border:rgba(14,118,109,.16);
      --emj-shadow:0 24px 65px rgba(9,91,84,.11);
      --emj-radius:24px;
    }

    html{ scroll-behavior:smooth; }

    body{
      margin:0;
      font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
      color:var(--emj-ink);
      background:var(--emj-paper);
      line-height:1.65;
    }

    body::selection{
      color:#fff;
      background:var(--emj-green);
    }

    a{ color:inherit; }

    .container-wide{
      width:min(1320px, calc(100% - 32px));
      margin-inline:auto;
    }

    .serif{ font-family:"Playfair Display",Georgia,serif; }
    .text-muted-emj{ color:var(--emj-muted); }
    .text-gold{ color:var(--emj-gold); }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.65rem;
      color:var(--emj-gold);
      font-size:.78rem;
      font-weight:800;
      letter-spacing:.22em;
      text-transform:uppercase;
    }

    .eyebrow::before{
      content:"";
      width:34px;
      height:1px;
      background:currentColor;
    }

    .section-heading{
      max-width:760px;
      margin-bottom:3rem;
    }

    .section-heading h2{
      margin:.65rem 0 .9rem;
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(2rem,4vw,3.25rem);
      line-height:1.1;
      color:var(--emj-green-deep);
    }

    .section-heading p{
      margin:0;
      color:var(--emj-muted);
      font-size:1.05rem;
    }

    /* Logo */
    .emj-logo{
      display:inline-flex;
      align-items:center;
      gap:.8rem;
      text-decoration:none;
      color:inherit;
    }

    .emj-logo-mark{
      width:56px;
      height:56px;
      flex:0 0 56px;
      color:var(--emj-gold-light);
    }

    .emj-logo-mark text{
      font-family:"Playfair Display",Georgia,serif;
      fill:currentColor;
    }

    .emj-logo-copy{
      display:flex;
      flex-direction:column;
      line-height:1;
    }

    .emj-logo-copy strong{
      font-family:"Playfair Display",Georgia,serif;
      color:#fff;
      font-size:1.18rem;
      letter-spacing:.18em;
      font-weight:600;
    }

    .emj-logo-copy span{
      margin-top:.45rem;
      color:var(--emj-gold-light);
      font-size:.58rem;
      letter-spacing:.28em;
      text-transform:uppercase;
    }

    /* Header */
    .site-header{
      position:sticky;
      top:0;
      z-index:1020;
      background:rgba(9,91,84,.97);
      border-bottom:1px solid rgba(215,197,143,.22);
      box-shadow:0 8px 30px rgba(7,78,72,.12);
      backdrop-filter:blur(16px);
    }

    .navbar{
      min-height:84px;
      padding:.65rem 0;
    }

    .navbar-toggler{
      border-color:rgba(255,255,255,.28);
      box-shadow:none !important;
    }

    .navbar-toggler-icon{
      filter:invert(1);
    }

    .nav-link{
      position:relative;
      color:rgba(255,255,255,.78) !important;
      padding:.65rem .8rem !important;
      font-size:.92rem;
      font-weight:600;
    }

    .nav-link::after{
      content:"";
      position:absolute;
      left:.8rem;
      right:.8rem;
      bottom:.35rem;
      height:1px;
      transform:scaleX(0);
      transform-origin:left;
      background:var(--emj-gold-light);
      transition:transform .2s ease;
    }

    .nav-link:hover,
    .nav-link:focus,
    .nav-link.active{
      color:#fff !important;
    }

    .nav-link:hover::after,
    .nav-link.active::after{
      transform:scaleX(1);
    }

    .btn-emj{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.55rem;
      min-height:48px;
      padding:.8rem 1.25rem;
      border:1px solid var(--emj-gold);
      border-radius:999px;
      color:var(--emj-green-deep);
      background:var(--emj-gold-light);
      font-weight:800;
      text-decoration:none;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .btn-emj:hover{
      color:var(--emj-green-deep);
      background:#e1d3a8;
      transform:translateY(-2px);
      box-shadow:0 15px 35px rgba(0,0,0,.16);
    }

    .btn-emj-outline{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.55rem;
      min-height:48px;
      padding:.8rem 1.25rem;
      border:1px solid rgba(255,255,255,.42);
      border-radius:999px;
      color:#fff;
      background:transparent;
      font-weight:700;
      text-decoration:none;
      transition:background .2s ease, border-color .2s ease, transform .2s ease;
    }

    .btn-emj-outline:hover{
      color:#fff;
      border-color:rgba(255,255,255,.75);
      background:rgba(255,255,255,.09);
      transform:translateY(-2px);
    }

    .btn-emj-dark{
      color:#fff;
      background:var(--emj-green);
      border-color:var(--emj-green);
    }

    .btn-emj-dark:hover{
      color:#fff;
      background:var(--emj-green-deep);
      border-color:var(--emj-green-deep);
    }

    /* Hero */
    .hero{
      position:relative;
      isolation:isolate;
      overflow:hidden;
      min-height:calc(100vh - 84px);
      display:flex;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 15% 20%, rgba(184,154,85,.15), transparent 34%),
        radial-gradient(circle at 88% 72%, rgba(215,197,143,.12), transparent 28%),
        linear-gradient(125deg, var(--emj-green-deep) 0%, var(--emj-green) 58%, #179187 100%);
    }

    .hero::before,
    .hero::after{
      content:"";
      position:absolute;
      z-index:-1;
      border:1px solid rgba(215,197,143,.20);
      border-radius:50%;
      pointer-events:none;
    }

    .hero::before{
      width:620px;
      height:620px;
      right:-170px;
      top:-210px;
    }

    .hero::after{
      width:410px;
      height:410px;
      left:-180px;
      bottom:-210px;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
      gap:clamp(2rem,7vw,7rem);
      align-items:center;
      padding:clamp(5rem,8vw,8rem) 0;
    }

    .hero-copy h1{
      max-width:820px;
      margin:1.2rem 0 1.4rem;
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(3rem,6.4vw,6.4rem);
      line-height:.98;
      letter-spacing:-.035em;
      font-weight:600;
    }

    .hero-copy h1 span{
      display:block;
      color:var(--emj-gold-light);
    }

    .hero-copy p{
      max-width:690px;
      margin:0;
      color:rgba(255,255,255,.78);
      font-size:clamp(1.02rem,1.6vw,1.2rem);
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.8rem;
      margin-top:2rem;
    }

    .hero-capabilities{
      display:flex;
      flex-wrap:wrap;
      gap:.65rem;
      margin-top:2.4rem;
    }

    .hero-capabilities span{
      padding:.55rem .8rem;
      border:1px solid rgba(255,255,255,.15);
      border-radius:999px;
      color:rgba(255,255,255,.74);
      background:rgba(255,255,255,.06);
      font-size:.79rem;
      font-weight:700;
      letter-spacing:.04em;
    }

    .hero-brand-panel{
      position:relative;
      min-height:560px;
      display:grid;
      place-items:center;
    }

    .hero-ring{
      position:relative;
      width:min(100%, 470px);
      aspect-ratio:1;
      display:grid;
      place-items:center;
      border:1px solid rgba(215,197,143,.48);
      border-radius:50%;
      background:rgba(255,255,255,.035);
      box-shadow:inset 0 0 70px rgba(0,0,0,.12), 0 35px 90px rgba(0,0,0,.15);
    }

    .hero-ring::before,
    .hero-ring::after{
      content:"";
      position:absolute;
      border-radius:50%;
      border:1px solid rgba(215,197,143,.16);
    }

    .hero-ring::before{ inset:34px; }
    .hero-ring::after{ inset:78px; }

    .hero-monogram{
      position:relative;
      z-index:1;
      text-align:center;
      color:#fff;
    }

    .hero-monogram .letters{
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(4rem,8vw,7.2rem);
      line-height:1;
      letter-spacing:.08em;
      font-weight:500;
    }

    .hero-monogram .line{
      width:78px;
      height:1px;
      margin:1.35rem auto 1rem;
      background:var(--emj-gold-light);
    }

    .hero-monogram .group{
      color:var(--emj-gold-light);
      font-size:.78rem;
      font-weight:700;
      letter-spacing:.52em;
      text-transform:uppercase;
      padding-left:.52em;
    }

    .orbit-chip{
      position:absolute;
      z-index:2;
      display:flex;
      align-items:center;
      gap:.6rem;
      padding:.7rem .9rem;
      border:1px solid rgba(215,197,143,.24);
      border-radius:999px;
      color:#fff;
      background:rgba(9,91,84,.90);
      box-shadow:0 15px 35px rgba(0,0,0,.17);
      backdrop-filter:blur(10px);
      font-size:.76rem;
      font-weight:700;
      white-space:nowrap;
    }

    .orbit-chip i{ color:var(--emj-gold-light); }
    .orbit-chip.one{ top:10%; left:0; }
    .orbit-chip.two{ top:24%; right:-4%; }
    .orbit-chip.three{ bottom:22%; left:-2%; }
    .orbit-chip.four{ bottom:8%; right:6%; }

    /* Brand strip */
    .brand-strip{
      background:var(--emj-cream);
      border-bottom:1px solid var(--emj-border);
    }

    .brand-strip-inner{
      display:grid;
      grid-template-columns:1.2fr repeat(5,1fr);
      align-items:center;
      min-height:96px;
    }

    .brand-strip-title{
      color:var(--emj-green-deep);
      font-family:"Playfair Display",Georgia,serif;
      font-size:1.1rem;
    }

    .brand-strip-item{
      display:flex;
      justify-content:center;
      align-items:center;
      gap:.5rem;
      min-height:48px;
      border-left:1px solid var(--emj-border);
      color:var(--emj-muted);
      font-size:.8rem;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .brand-strip-item i{ color:var(--emj-gold); }

    /* Services */
    .services-section{
      padding:clamp(5rem,8vw,8rem) 0;
      background:var(--emj-paper);
    }

    .service-grid{
      display:grid;
      grid-template-columns:repeat(6,1fr);
      gap:1.25rem;
    }

    .service-card{
      grid-column:span 2;
      position:relative;
      overflow:hidden;
      min-height:410px;
      display:flex;
      flex-direction:column;
      padding:2rem;
      border:1px solid var(--emj-border);
      border-radius:var(--emj-radius);
      background:#fff;
      box-shadow:0 16px 45px rgba(9,91,84,.07);
      transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .service-card:nth-child(4){ grid-column:2 / span 2; }
    .service-card:nth-child(5){ grid-column:4 / span 2; }

    .service-card::after{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      right:-85px;
      bottom:-95px;
      border-radius:50%;
      background:rgba(184,154,85,.09);
      transition:transform .25s ease;
    }

    .service-card:hover{
      transform:translateY(-8px);
      border-color:rgba(184,154,85,.55);
      box-shadow:var(--emj-shadow);
    }

    .service-card:hover::after{ transform:scale(1.25); }

    .service-card-top{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:1rem;
      margin-bottom:1.8rem;
    }

    .service-icon{
      width:58px;
      height:58px;
      display:grid;
      place-items:center;
      border-radius:18px;
      color:var(--emj-gold);
      background:var(--emj-green-soft);
      font-size:1.25rem;
    }

    .service-no{
      color:rgba(14,118,109,.22);
      font-family:"Playfair Display",Georgia,serif;
      font-size:2.35rem;
      line-height:1;
    }

    .service-card h3{
      margin:0 0 .4rem;
      font-family:"Playfair Display",Georgia,serif;
      color:var(--emj-green-deep);
      font-size:1.8rem;
    }

    .service-card .subtitle{
      margin-bottom:1rem;
      color:var(--emj-gold);
      font-size:.82rem;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .service-card p{
      color:var(--emj-muted);
      font-size:.94rem;
    }

    .service-card ul{
      display:grid;
      gap:.55rem;
      margin:auto 0 0;
      padding:1.25rem 0 0;
      border-top:1px solid var(--emj-border);
      list-style:none;
    }

    .service-card li{
      position:relative;
      padding-left:1.35rem;
      color:#4C6D68;
      font-size:.88rem;
    }

    .service-card li::before{
      content:"";
      position:absolute;
      left:0;
      top:.58rem;
      width:6px;
      height:6px;
      border-radius:50%;
      background:var(--emj-gold);
    }

    /* About / value */
    .value-section{
      position:relative;
      overflow:hidden;
      padding:clamp(5rem,8vw,8rem) 0;
      color:#fff;
      background:var(--emj-green-deep);
    }

    .value-section::before{
      content:"";
      position:absolute;
      width:620px;
      height:620px;
      border:1px solid rgba(215,197,143,.14);
      border-radius:50%;
      right:-270px;
      top:-180px;
    }

    .value-layout{
      position:relative;
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:clamp(3rem,8vw,8rem);
      align-items:center;
    }

    .value-copy h2{
      margin:.9rem 0 1.2rem;
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(2.3rem,4.6vw,4.1rem);
      line-height:1.05;
    }

    .value-copy p{
      color:rgba(255,255,255,.72);
      font-size:1.05rem;
    }

    .value-list{
      display:grid;
      gap:1rem;
    }

    .value-card{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:1rem;
      align-items:flex-start;
      padding:1.4rem;
      border:1px solid rgba(255,255,255,.11);
      border-radius:20px;
      background:rgba(255,255,255,.055);
      backdrop-filter:blur(8px);
    }

    .value-card .icon{
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border:1px solid rgba(215,197,143,.28);
      border-radius:14px;
      color:var(--emj-gold-light);
      background:rgba(215,197,143,.08);
    }

    .value-card h3{
      margin:0 0 .3rem;
      font-size:1rem;
    }

    .value-card p{
      margin:0;
      color:rgba(255,255,255,.63);
      font-size:.9rem;
    }

    /* Group */
    .group-section{
      padding:clamp(5rem,8vw,8rem) 0;
      background:var(--emj-cream);
    }

    .company-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:1.4rem;
    }

    .company-card{
      position:relative;
      overflow:hidden;
      min-height:310px;
      padding:2.4rem;
      border:1px solid var(--emj-border);
      border-radius:var(--emj-radius);
      background:#fff;
      box-shadow:0 18px 50px rgba(9,91,84,.08);
    }

    .company-card::after{
      content:"";
      position:absolute;
      width:230px;
      height:230px;
      right:-100px;
      top:-100px;
      border:1px solid rgba(184,154,85,.26);
      border-radius:50%;
    }

    .company-icon{
      width:64px;
      height:64px;
      display:grid;
      place-items:center;
      margin-bottom:2.5rem;
      border-radius:20px;
      color:var(--emj-gold);
      background:var(--emj-green-soft);
      font-size:1.35rem;
    }

    .company-card .company-label{
      color:var(--emj-gold);
      font-size:.72rem;
      font-weight:800;
      letter-spacing:.18em;
      text-transform:uppercase;
    }

    .company-card h3{
      margin:.5rem 0 .7rem;
      font-family:"Playfair Display",Georgia,serif;
      color:var(--emj-green-deep);
      font-size:1.85rem;
    }

    .company-card p{
      max-width:460px;
      margin:0;
      color:var(--emj-muted);
    }

    /* Process */
    .process-section{
      padding:clamp(5rem,8vw,8rem) 0;
      background:#fff;
    }

    .process-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:1rem;
    }

    .process-item{
      position:relative;
      padding:2rem 1.5rem;
      border-top:2px solid var(--emj-gold-light);
      background:linear-gradient(180deg, rgba(248,244,236,.95), rgba(255,255,255,1));
    }

    .process-number{
      margin-bottom:1.5rem;
      color:rgba(14,118,109,.24);
      font-family:"Playfair Display",Georgia,serif;
      font-size:2.5rem;
      line-height:1;
    }

    .process-item h3{
      margin:0 0 .6rem;
      color:var(--emj-green-deep);
      font-family:"Playfair Display",Georgia,serif;
      font-size:1.45rem;
    }

    .process-item p{
      margin:0;
      color:var(--emj-muted);
      font-size:.9rem;
    }

    /* Contact */
    .contact-section{
      padding:clamp(5rem,8vw,8rem) 0;
      background:var(--emj-cream);
    }

    .contact-shell{
      overflow:hidden;
      display:grid;
      grid-template-columns:.88fr 1.12fr;
      border:1px solid var(--emj-border);
      border-radius:32px;
      background:#fff;
      box-shadow:var(--emj-shadow);
    }

    .contact-info{
      position:relative;
      overflow:hidden;
      padding:clamp(2.4rem,5vw,4.2rem);
      color:#fff;
      background:var(--emj-green-deep);
    }

    .contact-info::after{
      content:"";
      position:absolute;
      width:360px;
      height:360px;
      right:-170px;
      bottom:-180px;
      border:1px solid rgba(215,197,143,.22);
      border-radius:50%;
    }

    .contact-info h2{
      margin:.9rem 0 1rem;
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(2.2rem,4vw,3.4rem);
      line-height:1.05;
    }

    .contact-info > p{
      color:rgba(255,255,255,.67);
    }

    .contact-list{
      display:grid;
      gap:1rem;
      margin-top:2rem;
    }

    .contact-row{
      display:grid;
      grid-template-columns:42px 1fr;
      gap:.9rem;
      align-items:center;
    }

    .contact-row .icon{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border:1px solid rgba(215,197,143,.25);
      border-radius:13px;
      color:var(--emj-gold-light);
      background:rgba(255,255,255,.05);
    }

    .contact-row small{
      display:block;
      color:rgba(255,255,255,.48);
      font-size:.7rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .contact-row a,
    .contact-row span{
      color:#fff;
      text-decoration:none;
      font-size:.92rem;
    }

    .contact-form{
      padding:clamp(2.4rem,5vw,4.2rem);
    }

    .contact-form h3{
      margin:0 0 .35rem;
      font-family:"Playfair Display",Georgia,serif;
      color:var(--emj-green-deep);
      font-size:2rem;
    }

    .form-label{
      color:var(--emj-green-deep);
      font-size:.76rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .form-control,
    .form-select{
      min-height:52px;
      border:1px solid var(--emj-border);
      border-radius:14px;
      background:#fff;
      color:var(--emj-ink);
      box-shadow:none !important;
    }

    textarea.form-control{ min-height:142px; resize:vertical; }

    .form-control:focus,
    .form-select:focus{
      border-color:var(--emj-gold);
    }

    /* Footer */
    footer{
      padding:3.2rem 0 1.5rem;
      color:rgba(255,255,255,.68);
      background:#052d25;
    }

    .footer-grid{
      display:grid;
      grid-template-columns:1.4fr .7fr .9fr;
      gap:2rem;
      padding-bottom:2rem;
      border-bottom:1px solid rgba(255,255,255,.10);
    }

    .footer-title{
      margin-bottom:.8rem;
      color:#fff;
      font-size:.82rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .footer-link{
      display:block;
      width:max-content;
      margin:.35rem 0;
      color:rgba(255,255,255,.62);
      text-decoration:none;
      font-size:.88rem;
    }

    .footer-link:hover{ color:var(--emj-gold-light); }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:1rem;
      padding-top:1.4rem;
      font-size:.78rem;
    }

    .footer-logo .emj-logo-mark{
      width:48px;
      height:48px;
      flex-basis:48px;
    }

    /* Responsive */
    @media (max-width:1199.98px){
      .hero-grid{
        grid-template-columns:1fr 400px;
        gap:3rem;
      }

      .brand-strip-inner{
        grid-template-columns:repeat(5,1fr);
        padding:1rem 0;
      }

      .brand-strip-title{
        grid-column:1 / -1;
        padding:0 0 .8rem;
        text-align:center;
      }

      .brand-strip-item:first-of-type{ border-left:0; }
    }

    @media (max-width:991.98px){
      .navbar-collapse{
        margin-top:.8rem;
        padding:1rem;
        border:1px solid rgba(255,255,255,.10);
        border-radius:18px;
        background:rgba(5,45,37,.98);
      }

      .hero{
        min-height:auto;
      }

      .hero-grid{
        grid-template-columns:1fr;
        padding:5rem 0 4rem;
      }

      .hero-copy{
        text-align:center;
      }

      .hero-copy p{
        margin-inline:auto;
      }

      .hero-actions,
      .hero-capabilities{
        justify-content:center;
      }

      .hero-brand-panel{
        min-height:480px;
      }

      .service-card,
      .service-card:nth-child(4),
      .service-card:nth-child(5){
        grid-column:span 3;
      }

      .service-card:nth-child(5){
        grid-column:2 / span 4;
      }

      .value-layout,
      .contact-shell{
        grid-template-columns:1fr;
      }

      .company-grid{
        grid-template-columns:1fr;
      }

      .process-grid{
        grid-template-columns:repeat(2,1fr);
      }

      .footer-grid{
        grid-template-columns:1fr 1fr;
      }

      .footer-grid > div:first-child{
        grid-column:1 / -1;
      }
    }

    @media (max-width:767.98px){
      .emj-logo-copy strong{ font-size:1rem; }
      .emj-logo-copy span{ font-size:.5rem; }
      .emj-logo-mark{ width:50px; height:50px; flex-basis:50px; }

      .hero-copy h1{ font-size:clamp(2.65rem,14vw,4.1rem); }

      .hero-brand-panel{
        min-height:390px;
      }

      .hero-ring{
        width:310px;
      }

      .orbit-chip{
        font-size:.68rem;
        padding:.6rem .75rem;
      }

      .orbit-chip.one{ top:6%; left:0; }
      .orbit-chip.two{ top:24%; right:0; }
      .orbit-chip.three{ bottom:18%; left:0; }
      .orbit-chip.four{ bottom:2%; right:4%; }

      .brand-strip-inner{
        grid-template-columns:1fr 1fr;
      }

      .brand-strip-item{
        border-left:0;
        border-top:1px solid var(--emj-border);
      }

      .brand-strip-item:last-child{
        grid-column:1 / -1;
      }

      .service-grid{
        grid-template-columns:1fr;
      }

      .service-card,
      .service-card:nth-child(4),
      .service-card:nth-child(5){
        grid-column:auto;
      }

      .process-grid,
      .footer-grid{
        grid-template-columns:1fr;
      }

      .footer-grid > div:first-child{
        grid-column:auto;
      }

      .footer-bottom{
        flex-direction:column;
      }
    }

    @media (max-width:479.98px){
      .container-wide{ width:min(100% - 22px, 1320px); }
      .hero-actions > a{ width:100%; }
      .hero-brand-panel{ min-height:340px; }
      .hero-ring{ width:260px; }
      .orbit-chip{ display:none; }
      .service-card{ padding:1.55rem; }
      .company-card{ padding:1.8rem; }
      .contact-info,
      .contact-form{ padding:2rem 1.3rem; }
    }


/* Multi-page additions */
body{
  min-height:100vh;
}

main{
  min-height:55vh;
}

.site-header .dropdown-menu{
  min-width:270px;
  padding:.75rem;
  border:1px solid rgba(215,197,143,.24);
  border-radius:18px;
  background:#063f36;
  box-shadow:0 24px 55px rgba(0,0,0,.22);
}

.site-header .dropdown-item{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.75rem .8rem;
  border-radius:12px;
  color:rgba(255,255,255,.78);
  font-size:.88rem;
  font-weight:700;
}

.site-header .dropdown-item i{
  width:20px;
  color:var(--emj-gold-light);
  text-align:center;
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus,
.site-header .dropdown-item.active{
  color:#fff;
  background:rgba(255,255,255,.08);
}

.page-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(5rem,9vw,8rem) 0;
  color:#fff;
  background:
    radial-gradient(circle at 85% 25%, rgba(215,197,143,.16), transparent 28%),
    linear-gradient(125deg, var(--emj-green-deep), var(--emj-green));
}

.page-hero::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-220px;
  bottom:-340px;
  border:1px solid rgba(215,197,143,.22);
  border-radius:50%;
}

.page-hero-inner{
  position:relative;
  z-index:1;
  max-width:900px;
}

.page-hero h1{
  margin:1rem 0 1.1rem;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2.8rem,6vw,5.6rem);
  line-height:1;
  letter-spacing:-.03em;
  font-weight:600;
}

.page-hero p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:clamp(1rem,1.7vw,1.18rem);
}

.breadcrumb-emj{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  align-items:center;
  margin-bottom:1rem;
  color:rgba(255,255,255,.58);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.breadcrumb-emj a{
  color:var(--emj-gold-light);
  text-decoration:none;
}

.content-section{
  padding:clamp(4.5rem,8vw,7.5rem) 0;
}

.content-section.alt{
  background:var(--emj-cream);
}

.content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
  gap:clamp(2rem,7vw,6rem);
  align-items:start;
}

.prose h2,
.prose h3{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--emj-green-deep);
}

.prose h2{
  margin:0 0 1rem;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.08;
}

.prose h3{
  margin:2rem 0 .7rem;
  font-size:1.55rem;
}

.prose p,
.prose li{
  color:var(--emj-muted);
}

.prose p{
  font-size:1.02rem;
}

.prose ul{
  display:grid;
  gap:.75rem;
  padding-left:1.25rem;
}

.info-panel{
  position:sticky;
  top:115px;
  padding:2rem;
  border:1px solid var(--emj-border);
  border-radius:var(--emj-radius);
  background:#fff;
  box-shadow:var(--emj-shadow);
}

.info-panel h3{
  margin:0 0 1rem;
  font-family:"Playfair Display",Georgia,serif;
  color:var(--emj-green-deep);
  font-size:1.7rem;
}

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

.info-list li{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:.75rem;
  align-items:start;
  color:var(--emj-muted);
  font-size:.92rem;
}

.info-list i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--emj-gold);
  background:var(--emj-green-soft);
}

.service-card-link{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
}

.service-card .learn-more{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1.25rem;
  color:var(--emj-green);
  font-size:.86rem;
  font-weight:800;
}

.service-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
}

.detail-card{
  padding:1.7rem;
  border:1px solid var(--emj-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 40px rgba(9,91,84,.06);
}

.detail-card .icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:1.2rem;
  border-radius:14px;
  color:var(--emj-gold);
  background:var(--emj-green-soft);
}

.detail-card h3{
  margin:0 0 .55rem;
  font-family:"Playfair Display",Georgia,serif;
  color:var(--emj-green-deep);
  font-size:1.35rem;
}

.detail-card p{
  margin:0;
  color:var(--emj-muted);
  font-size:.91rem;
}

.check-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.85rem;
  margin:1.5rem 0 0;
  padding:0;
  list-style:none;
}

.check-list li{
  position:relative;
  padding:1rem 1rem 1rem 2.8rem;
  border:1px solid var(--emj-border);
  border-radius:14px;
  color:#4C6D68;
  background:#fff;
}

.check-list li::before{
  content:"\f00c";
  position:absolute;
  left:1rem;
  top:1rem;
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--emj-gold);
}

.cta-band{
  padding:clamp(4rem,7vw,6rem) 0;
  color:#fff;
  background:var(--emj-green-deep);
}

.cta-band-inner{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:center;
}

.cta-band h2{
  max-width:760px;
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.08;
}

.contact-page-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:1.5rem;
}

.contact-page-card{
  padding:clamp(2rem,4vw,3rem);
  border:1px solid var(--emj-border);
  border-radius:var(--emj-radius);
  background:#fff;
  box-shadow:var(--emj-shadow);
}

.contact-page-card.dark{
  color:#fff;
  background:var(--emj-green-deep);
}

.contact-page-card.dark p{
  color:rgba(255,255,255,.68);
}

.contact-page-card .contact-list{
  margin-top:2rem;
}

.legal-copy{
  max-width:900px;
}

.legal-copy h2{
  margin-top:2.3rem;
  font-family:"Playfair Display",Georgia,serif;
  color:var(--emj-green-deep);
}

.legal-copy p,
.legal-copy li{
  color:var(--emj-muted);
}

.error-page{
  display:grid;
  place-items:center;
  min-height:70vh;
  padding:5rem 1rem;
  text-align:center;
  background:var(--emj-cream);
}

.error-code{
  color:rgba(14,118,109,.18);
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(7rem,22vw,15rem);
  line-height:.8;
}

.error-page h1{
  margin:1.5rem 0 .7rem;
  font-family:"Playfair Display",Georgia,serif;
  color:var(--emj-green-deep);
}

@media (max-width:991.98px){
  .content-grid,
  .contact-page-grid{
    grid-template-columns:1fr;
  }

  .info-panel{
    position:static;
  }

  .service-detail-grid{
    grid-template-columns:1fr 1fr;
  }

  .cta-band-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width:767.98px){
  .service-detail-grid,
  .check-list{
    grid-template-columns:1fr;
  }
}
