    :root{
      --black:#0B0B0B;
      --white:#FFFFFF;
      --orange:#FF6A00;
      --gray:#F3F4F6;
      --muted:#9CA3AF;
      --max:1120px;
      --radius:18px;
      --shadow: 0 10px 30px rgba(0,0,0,.18);
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color:var(--black);
      background:var(--white);
      line-height:1.5;
    }
    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    body.gate-open{
      overflow:hidden;
    }
    .media-fill{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .wrap{max-width:var(--max); margin:0 auto; padding:0 20px}
    .text-orange{color:var(--orange)}
    .mt-10{margin-top:10px}
    .site-shell{
      min-height:100vh;
    }
    .entry-gate{
      position:fixed;
      inset:0;
      z-index:120;
      display:grid;
      place-items:center;
      padding:20px;
      background:linear-gradient(145deg, #070707 0%, #111111 58%, #232323 100%);
      transition:opacity .35s ease, visibility .35s ease;
    }
    .entry-gate[hidden]{
      display:none;
    }
    .entry-gate.is-leaving{
      opacity:0;
      visibility:hidden;
    }
    .entry-gate-bg{
      position:absolute;
      inset:0;
      overflow:hidden;
      pointer-events:none;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
    }
    .entry-gate-bg::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(145deg, rgba(7,7,7,.78) 0%, rgba(17,17,17,.66) 58%, rgba(35,35,35,.8) 100%);
      z-index:0;
    }
    .orb{
      position:absolute;
      border-radius:999px;
      filter:blur(0);
      opacity:.35;
      z-index:1;
    }
    .orb-a{
      width:340px;
      height:340px;
      background:radial-gradient(circle, rgba(255,106,0,.6) 0%, rgba(255,106,0,0) 72%);
      top:-120px;
      right:7%;
    }
    .orb-b{
      width:380px;
      height:380px;
      background:radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 68%);
      bottom:-160px;
      left:8%;
    }
    .orb-c{
      width:260px;
      height:260px;
      background:radial-gradient(circle, rgba(255,106,0,.38) 0%, rgba(255,106,0,0) 72%);
      top:46%;
      left:48%;
      transform:translate(-50%, -50%);
    }
    .entry-panel{
      position:relative;
      z-index:1;
      width:min(920px, 100%);
      padding:36px;
      border-radius:28px;
      color:var(--white);
      background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.16);
      backdrop-filter: blur(12px);
      box-shadow:0 22px 48px rgba(0,0,0,.42);
    }
    .entry-kicker{
      margin:0;
      color:rgba(255,255,255,.75);
      text-transform:uppercase;
      letter-spacing:1.8px;
      font-size:12px;
      font-weight:700;
    }
    .entry-panel h1{
      margin:8px 0 6px;
      line-height:1.08;
      letter-spacing:-.6px;
      font-size:clamp(28px, 5vw, 48px);
    }
    .entry-intro{
      margin:0;
      color:rgba(255,255,255,.8);
      max-width:58ch;
    }
    .entry-options{
      margin-top:22px;
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
    }
    .entry-option{
      display:grid;
      gap:8px;
      padding:18px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.2);
      background:rgba(255,255,255,.04);
      color:var(--white);
      text-align:left;
      transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .entry-option strong{
      font-size:20px;
      line-height:1.2;
      letter-spacing:-.2px;
    }
    .entry-option-site-logo{
      width:fit-content;
    }
    .entry-option-desc{
      color:rgba(255,255,255,.76);
      font-size:14px;
    }
    .entry-option-tag{
      display:inline-flex;
      width:fit-content;
      padding:5px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      font-size:12px;
      font-weight:700;
      letter-spacing:.2px;
      height: fit-content;
    }
    .entry-option-current{
      cursor:pointer;
      font:inherit;
    }
    .entry-option-current .entry-option-tag{
      background:rgba(255,106,0,.24);
      color:#FFD6B5;
    }
    .entry-option-future .entry-option-tag{
      background:rgba(255,255,255,.16);
    }
    .entry-option:hover,
    .entry-option:focus-visible{
      transform:translateY(-2px);
      border-color:rgba(255,106,0,.6);
      background:rgba(255,106,0,.11);
      box-shadow:0 12px 28px rgba(0,0,0,.22);
      outline:none;
    }
    .btn{
      display:inline-flex; align-items:center; gap:10px;
      padding:12px 16px; border-radius:999px;
      border:1px solid rgba(255,255,255,.2);
      background:var(--orange);
      color:var(--white);
      font-weight:700;
      box-shadow: 0 10px 25px rgba(255,106,0,.25);
    }
    .btn:disabled{
      opacity:.7;
      cursor:not-allowed;
      box-shadow:none;
    }
    .btn.secondary{
      background:transparent;
      border:1px solid rgba(255,255,255,.45);
      box-shadow:none;
    }
    .badge{
      display:inline-block;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,106,0,.12);
      color:var(--orange);
      font-weight:700;
      font-size:12px;
      letter-spacing:.3px;
    }
    header.site-header{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:30;
      background:transparent;
      border-bottom:1px solid transparent;
      transition:background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
    }
    .site-header.is-scrolled{
      background:rgba(11,11,11,.9);
      border-bottom:1px solid rgba(255,255,255,.14);
      backdrop-filter:blur(10px);
    }
    .header-shell{display:block}
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      height:74px;
      gap:14px;
    }
    .logo{
      display:flex;
      align-items:center;
      gap:0;
      font-weight:900;
      letter-spacing:.5px;
      padding-top: 0;
      height: 100%;
      position:relative;
      width: 270px;
      flex: 0 0 270px;
    }
    .entry-option-site-logo{
      margin-bottom:0;
      padding-top: 0;
    }

.logo.entry-option-site-logo img{
  height:70px;
  width:auto;
}
.entry-option-site-logo-placeholder{
  width:184px;
  height:70px;
}
    .logo img{
      display:block;
      height: 70px;
      width:auto;
      max-width:100%;
    }
    .menu{
      display:flex; gap:18px; align-items:center;
      font-weight:650; font-size:14px;
      color:rgba(255,255,255,.95);
    }
    .menu a{padding:10px 10px; border-radius:12px}
    .menu a:hover{background:rgba(255,255,255,.12)}
    .nav-cta{display:flex; gap:10px; align-items:center}
    .menu-toggle{
      display:none;
      width:44px; height:44px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.28);
      background:rgba(11,11,11,.52);
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:4px;
      cursor:pointer;
      padding:0;
    }
    .menu-toggle span{
      width:18px; height:2px;
      background:var(--white);
      border-radius:999px;
      display:block;
    }
    .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
    .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
    .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
    .mobile-menu{
      display:grid;
      gap:12px;
      padding:0 0 14px;
    }
    .mobile-menu[hidden]{display:none}
    .mobile-links{
      display:grid;
      gap:8px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:16px;
      background:rgba(11,11,11,.7);
      box-shadow: 0 10px 24px rgba(0,0,0,.22);
      padding:8px;
    }
    .mobile-links a{
      padding:12px 12px;
      border-radius:12px;
      font-weight:700;
      color: #fff;
    }
    .mobile-links a:hover{background:rgba(255,255,255,.12)}
    .mobile-cta{
      display:grid;
      gap:10px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:16px;
      background:rgba(11,11,11,.7);
      padding:12px;
    }
    .mobile-cta .phone{
      display:inline-flex;
      justify-content:center;
    }
    .mobile-cta .btn{
      justify-content:center;
      border-color:rgba(255,106,0,.44);
    }
    .phone{
      font-weight:800;
      border:1px solid rgba(255,255,255,.32);
      padding:10px 12px;
      border-radius:999px;
      color:rgba(255,255,255,.95);
    }
    /* HERO */
    .hero{
      background:var(--black);
      color:var(--white);
      position:relative;
      overflow:hidden;
    }
    .hero-media{
      position:absolute;
      inset:0;
      z-index:0;
    }
    .hero-slide,
    .fade-slide{
      position:absolute;
      inset:0;
      background-size:cover;
      background-position:center;
      opacity:0;
      transform:scale(1.02);
      transition:opacity .9s ease;
      will-change:opacity;
    }
    .hero-slide.is-active,
    .fade-slide.is-active{
      opacity:1;
    }
    .hero::before{
      content:"";
      position:absolute; inset:0;
      z-index:1;
      background:linear-gradient(90deg, rgba(11,11,11,.92), rgba(11,11,11,.55) 55%, rgba(11,11,11,.25));
    }
    .hero .wrap{
      position:relative;
      z-index:2;
      padding:128px 20px 56px;
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:28px;
      align-items:end;
    }
    .hero h1{
      margin:14px 0 10px;
      font-size: clamp(34px, 4vw, 48px);
      line-height:1.05;
      letter-spacing:-.8px;
    }
    .hero p{margin:0; max-width:58ch; color:rgba(255,255,255,.82)}
    .hero .actions{margin-top:18px; display:flex; gap:12px; flex-wrap:wrap}
    .hero .card{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:var(--radius);
      padding:18px;
      box-shadow: var(--shadow);
    }
    .hero .card h3{margin:0 0 6px; font-size:16px}
    .hero .meta{display:grid; gap:10px; margin-top:10px}
    .hero-note{
      margin-top:12px !important;
      color:rgba(255,255,255,.78) !important;
      font-size:14px;
    }
    .pill{
      display:flex; align-items:center; justify-content:space-between;
      padding:10px 12px;
      border-radius:14px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
      font-size:14px;
      color:rgba(255,255,255,.85);
    }
    .pill b{color:var(--white)}
    .pill .dot{
      width:10px; height:10px; border-radius:50%;
      background:var(--orange);
      box-shadow:0 0 0 4px rgba(255,106,0,.18);
      margin-right:10px;
    }
    .pill .left{display:flex; align-items:center; gap:10px}

    /* SECTIONS */
    section{padding:54px 0}
    .section-title{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:16px; margin-bottom:22px;
    }
    .section-title h2{
      margin:0;
      font-size: clamp(24px, 2.4vw, 34px);
      letter-spacing:-.4px;
    }
    .section-title p{margin:0; color:#4B5563; max-width:60ch}
    .grid-2{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap:16px;
    }
    .grid-3{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:16px;
    }
    .card{
      border:1px solid rgba(0,0,0,.08);
      border-radius:var(--radius);
      padding:18px;
      background:var(--white);
      box-shadow: 0 10px 24px rgba(0,0,0,.05);
    }
    .icon{
      width:42px; height:42px; border-radius:14px;
      background:rgba(255,106,0,.12);
      border:1px solid rgba(255,106,0,.25);
      display:grid; place-items:center;
      margin-bottom:10px;
      color:var(--orange);
      font-weight:900;
    }
    .card h3{margin:0 0 8px}
    .card p{margin:0; color:#4B5563}

    /* SERVICES */
    .services{
      background:var(--gray);
    }
    .service-list{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:16px;
      align-items:stretch;
    }
    .service-photo{
      border-radius:var(--radius);
      overflow:hidden;
      min-height: 270px;
      border:1px solid rgba(0,0,0,.08);
      position:relative;
      box-shadow: var(--shadow);
    }
    .fade-slider{
      position:absolute;
      inset:0;
    }
    .service-photo::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(0deg, rgba(11,11,11,.22), rgba(11,11,11,.22));
      z-index:1;
      pointer-events:none;
    }
    .service-photo .label{
      position:absolute; left:16px; bottom:16px;
      background:rgba(11,11,11,.75);
      color:var(--white);
      border:1px solid rgba(255,255,255,.15);
      padding:10px 12px;
      border-radius:14px;
      max-width: 70%;
      z-index:2;
    }
    .service-label-sub{color:rgba(255,255,255,.8)}
    .list{
      display:grid;
      gap:12px;
    }
    .list .item{
      padding:14px 14px;
      border-radius:16px;
      border:1px solid rgba(0,0,0,.08);
      background:var(--white);
      display:flex;
      gap:12px;
      align-items: ce;
      cursor:pointer;
      height: fit-content;
      transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .list .item:hover{
      border-color:rgba(255,106,0,.28);
      box-shadow:0 10px 24px rgba(0,0,0,.04);
      transform:translateY(-1px);
    }
    .list .item:focus-visible{
      outline:none;
      border-color:rgba(255,106,0,.5);
      box-shadow:0 0 0 4px rgba(255,106,0,.14);
    }
    .list .item.is-open{
      border-color:rgba(255,106,0,.35);
      box-shadow:0 10px 24px rgba(255,106,0,.08);
    }
    .list .item .bullet{
      width:12px; height:12px; border-radius:4px;
      background:var(--orange);
      margin-top:4px;
      flex:0 0 auto;
    }
    .list .item b{display:block; margin-bottom:4px}
    .list .item span{color:#4B5563; font-size:14px}
    .list .item .service-item-content:not([hidden]){
      display:block;
      margin-top:2px;
    }

    /* BANNER */
    .banner{
      padding:0;
      background:var(--black);
      color:var(--white);
      overflow:hidden;
    }
    .banner .inner{
      display:grid;
      grid-template-columns: .95fr 1.05fr;
      align-items:stretch;
    }
    .banner .text{
      padding:44px 20px;
    }
    .banner h2{margin:10px 0 10px; font-size: clamp(24px, 2.8vw, 40px); line-height:1.1}
    .banner p{margin:0; color:rgba(255,255,255,.82); max-width:60ch}
    .banner .photo{
      min-height:320px;
      position:relative;
    }
    .banner .photo::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(11,11,11,.2), rgba(11,11,11,.7));
      z-index:1;
      pointer-events:none;
    }
    .banner .actions{margin-top:16px; display:flex; gap:12px; flex-wrap:wrap}

    /* ABOUT */
    .two-col{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:16px;
      align-items:start;
    }
    .about-photo{
      border-radius:var(--radius);
      overflow:hidden;
      min-height:320px;
      border:1px solid rgba(0,0,0,.08);
      position:relative;
      box-shadow: var(--shadow);
    }
    .about-photo::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(0deg, rgba(11,11,11,.18), rgba(11,11,11,.18));
      z-index:1;
      pointer-events:none;
    }
    /* FAQ */
    details{
      border:1px solid rgba(0,0,0,.10);
      border-radius:16px;
      padding:14px 14px;
      background:var(--white);
    }
    summary{
      cursor:pointer;
      font-weight:800;
      list-style:none;
    }
    summary::-webkit-details-marker{display:none}
    details p{margin:10px 0 0; color:#4B5563}
    .faq-list{display:grid; gap:12px}

    /* CONTACT */
    .contact{
      background:var(--gray);
    }
    form{
      display:grid; gap:12px;
    }
    .fields{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }
    input, textarea{
      width:100%;
      border-radius:14px;
      border:1px solid rgba(0,0,0,.10);
      padding:12px 12px;
      font:inherit;
      background:var(--white);
      outline:none;
    }
    textarea{min-height:120px; resize:vertical}
    input:focus, textarea:focus{
      border-color: rgba(255,106,0,.55);
      box-shadow: 0 0 0 4px rgba(255,106,0,.16);
    }
    .field{display:grid; gap:6px}
    .is-invalid{
      border-color:#DC2626;
      box-shadow:0 0 0 4px rgba(220,38,38,.12);
    }
    .field-error{
      color:#B91C1C;
      font-size:13px;
      line-height:1.35;
    }
    .alert{
      border-radius:14px;
      padding:12px 14px;
      margin:0 0 12px;
      border:1px solid transparent;
      font-weight:600;
      font-size:14px;
    }
    .alert-success{
      background:#ECFDF5;
      border-color:#A7F3D0;
      color:#065F46;
    }
    .alert-error{
      background:#FEF2F2;
      border-color:#FECACA;
      color:#991B1B;
    }
    .h-captcha{
      min-height:78px;
    }
    .hp-field{
      position:absolute !important;
      left:-9999px !important;
      width:1px !important;
      height:1px !important;
      overflow:hidden !important;
    }
    .form-actions{
      display:flex; align-items:center; justify-content:space-between;
      gap:12px; flex-wrap:wrap;
    }
    .hint{color:#6B7280; font-size:13px}
    .contact-card{
      background:var(--white);
      border:1px solid rgba(0,0,0,.08);
      border-radius:var(--radius);
      padding:18px;
      box-shadow: 0 10px 24px rgba(0,0,0,.06);
    }
    .kv{
      display:grid; gap:10px; margin-top:10px;
      color:#374151;
    }
    .kv-tight{margin-top:8px}
    .kv div{display:flex; justify-content:space-between; gap:14px}
    .kv div span{color:#6B7280}
    .contact-meta-block{margin-top:14px}
    .badge-row{
      margin-top:14px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .map{
      margin-top:14px;
      border-radius:16px;
      overflow:hidden;
      border:1px solid rgba(0,0,0,.08);
      height:220px;
      position:relative;
    }

.map iframe{
  width:100%;
}
  
    .map::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(0deg, rgba(11,11,11,.08), rgba(11,11,11,.08));
      z-index:1;
      pointer-events:none;
    }

    footer{
      background:var(--black);
      color:rgba(255,255,255,.82);
      padding:34px 0;
    }
    footer .foot{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:16px;
      align-items:start;
    }
    footer b{color:var(--white)}
    footer a{color:rgba(255,255,255,.82)}
    footer a:hover{color:var(--white)}
    .small{font-size:13px; color:rgba(255,255,255,.65)}
    .footer-links{
      display:grid;
      gap:8px;
      justify-items:end;
    }

    /* Responsive */
    @media (max-width: 920px){
      .entry-panel{
        padding:26px 20px;
        border-radius:22px;
      }
      

      .logo{
        margin-left:0;
        width: 200px;
        flex: 0 0 200px;
      }
      .logo img{
        height: 66px;
      }
      .entry-options{
        grid-template-columns:1fr;
      }
      .entry-option strong{
        font-size:18px;
      }
      .nav{height:74px}
      .hero .wrap{
        grid-template-columns:1fr;
        padding:110px 20px 48px;
      }
      .service-list{grid-template-columns:1fr}
      .grid-3{grid-template-columns:1fr}
      .two-col{grid-template-columns:1fr}
      .banner .inner{grid-template-columns:1fr}
      .banner .photo{min-height:240px}
      .fields{grid-template-columns:1fr}
      .menu{display:none}
      .nav-cta{display:none}
      .menu-toggle{display:inline-flex}
      footer .foot{grid-template-columns:1fr}
      .footer-links{justify-items:start}
      .kv div{align-items:flex-start; flex-direction:column; gap:2px}
    }
@media(max-width:400px){
  .grid-2{
    grid-template-columns:100%;
  }
}
    @media (prefers-reduced-motion: reduce){
      .entry-gate,
      .hero-slide,
      .fade-slide{
        transition:none;
      }
      .entry-option{
        transition:none;
      }
    }
