

   :root{
    /* Exact palette from your image (left → right) */
    --sand-rose: #debcb3;
    --sand-warm: #e4cdbb;
    --sand-light:#ebdecd;
    --sand-grey: #cdccc8;
    --sea-glass: #a2c7cd;
    --coastal:   #85b1b4;
    --sky:       #b6d2de;
  
    /* Deep ocean blue for ALL headings */
    --ocean-deep:#1f3e4a;
  
    /* Supporting tints */
    --foam: rgba(255,255,255,.70);
    --glass: rgba(255,255,255,.38);
  
    /* Text */
    --ink: #24343c;
    --muted: rgba(36,52,60,.70);
    --muted2: rgba(36,52,60,.55);
  
    /* UI */
    --stroke: rgba(31,62,74,.14);
    --stroke2: rgba(31,62,74,.22);
    --shadow: 0 14px 36px rgba(31,62,74,.14);
    --shadow2: 0 10px 22px rgba(31,62,74,.10);
  
    --radius: 18px;
    --radius2: 14px;
    --radiusPill: 999px;
  
    --max: 1120px;
  }
  
  /* ---------- RESET / BASE ---------- */
  *{ box-sizing:border-box; }
  html,body{ height:100%; scroll-behavior:smooth; }
  
  body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
    color: var(--ink);
  
    /* BEACHY layered sand + sea + sky */
    background:
      /* soft sun glow */
      radial-gradient(900px 520px at 18% 10%, rgba(222,188,179,.75) 0%, rgba(222,188,179,0) 55%),
      /* sky wash */
      radial-gradient(1100px 700px at 70% 0%, rgba(182,210,222,.72) 0%, rgba(182,210,222,0) 60%),
      /* sea-glass wash */
      radial-gradient(900px 620px at 88% 32%, rgba(162,199,205,.62) 0%, rgba(162,199,205,0) 62%),
      /* sand gradient base */
      linear-gradient(135deg, var(--sand-rose) 0%, var(--sand-warm) 32%, var(--sand-light) 70%, var(--sand-grey) 110%);
    background-attachment: fixed;
  }
  
  /* subtle “shoreline shimmer” overlay (very beachy) */
  body::before{
    content:"";
    position: fixed;
    inset: 0;
    pointer-events:none;
    background:
      radial-gradient(900px 480px at 10% 55%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 60%),
      radial-gradient(700px 420px at 85% 75%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 60%),
      repeating-linear-gradient(
        110deg,
        rgba(255,255,255,.06) 0px,
        rgba(255,255,255,.06) 2px,
        rgba(255,255,255,0) 10px,
        rgba(255,255,255,0) 22px
      );
    mix-blend-mode: soft-light;
    opacity: .55;
  }
  
  /* a gentle “wave” at the top of each page */
  body::after{
    content:"";
    position: fixed;
    left: 0; right: 0; top: 0;
    height: 320px;
    pointer-events:none;
    background:
      radial-gradient(800px 260px at 20% 0%, rgba(133,177,180,.35) 0%, rgba(133,177,180,0) 70%),
      radial-gradient(900px 300px at 70% 0%, rgba(182,210,222,.35) 0%, rgba(182,210,222,0) 70%);
    opacity: .9;
  }
  
  a{ color:inherit; text-decoration:none; }
  a:hover{ text-decoration:underline; }
  
  .container{
    width: min(var(--max), calc(100% - 40px));
    margin: 0 auto;
    position: relative;
  }
  
  .muted{ color: var(--muted); }
  .small{ font-size: 12px; }
  
  /* ---------- TYPOGRAPHY ---------- */
  h1,h2,h3,h4,h5{
    color: var(--ocean-deep);
  }
  h1{
    margin: 10px 0 12px;
    font-size: clamp(30px, 3.6vw, 46px);
    letter-spacing: -0.8px;
    line-height: 1.05;
  }
  h2{ margin: 0; font-size: 20px; }
  h3{ margin: 0; font-size: 16px; }
  h4,h5{ margin: 0; }
  
  .lead{
    font-size: 15px;
    line-height: 1.75;
    max-width: 72ch;
    color: var(--ink);
  }
  
  /* ---------- CARDS ---------- */
  .card{
    border-radius: var(--radius);
    background:
      linear-gradient(180deg, rgba(255,255,255,.58) 0%, rgba(235,222,205,.72) 100%);
    border: 1px solid rgba(31,62,74,.14);
    box-shadow: var(--shadow);
    backdrop-filter: blur(14px);
    position: relative;
    overflow: hidden;
  }
  
  /* beach-glass highlight */
  .card::before{
    content:"";
    position:absolute;
    inset:-2px;
    background:
      radial-gradient(520px 220px at 20% 0%, rgba(182,210,222,.55) 0%, rgba(182,210,222,0) 60%),
      radial-gradient(520px 220px at 80% 10%, rgba(162,199,205,.45) 0%, rgba(162,199,205,0) 60%);
    opacity:.65;
    pointer-events:none;
  }
  
  .pad{ padding: 20px; }
  
  /* ---------- TOP BRAND + NAV ---------- */
  .nav{
    position: sticky;
    top: 0;
    z-index: 50;
  
    backdrop-filter: blur(14px);
    background:
      linear-gradient(180deg, rgba(228,205,187,.62) 0%, rgba(235,222,205,.45) 100%);
    border-bottom: 1px solid rgba(31,62,74,.16);
  }
  
  .brandTop{
    text-align:center;
    padding: 16px 0 10px;
  }
  
  .brandLogo{
    width: 54px;
    height: auto;
    display:block;
    margin: 0 auto 6px;
    filter: drop-shadow(0 6px 12px rgba(31,62,74,.18));
  }
  
  .brandText h1{
    margin: 0;
    font-size: 22px;
    letter-spacing: 2px;
    font-weight: 900;
    color: var(--ocean-deep);
  }
  
  .brandText p{
    margin: 2px 0 0;
    font-size: 13px;
    color: var(--muted);
  }
  
  .mainNav{
    display:flex;
    justify-content:center;
    gap: 14px;
    padding: 12px 10px 16px;
    flex-wrap: wrap;
  }
  
  .tab,
  .mainNav a{
    padding: 9px 12px;
    border-radius: var(--radiusPill);
    border: 1px solid rgba(31,62,74,.18);
  
    /* sandy-glass */
    background: rgba(255,255,255,.55);
    font-size: 12.5px;
    color: var(--ocean-deep);
  
    transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
    box-shadow: 0 8px 18px rgba(31,62,74,.08);
  }
  
  .tab:hover,
  .mainNav a:hover{
    transform: translateY(-1px);
    background: rgba(255,255,255,.72);
    border-color: rgba(63,111,131,.30);
    box-shadow: 0 10px 22px rgba(31,62,74,.10);
    text-decoration:none;
  }
  
  .is-active{
    border-color: rgba(63,111,131,.40);
    background:
      linear-gradient(135deg, rgba(182,210,222,.65) 0%, rgba(235,222,205,.62) 100%);
  }
  
  .tab--cta{
    border-color: rgba(31,62,74,.26);
    background:
      linear-gradient(135deg, rgba(133,177,180,.95) 0%, rgba(31,62,74,.92) 100%);
    color: white;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(31,62,74,.18);
  }
  .tab--cta:hover{
    background:
      linear-gradient(135deg, rgba(162,199,205,.95) 0%, rgba(31,62,74,.92) 100%);
  }
  
  /* ---------- HERO ---------- */
  .hero{ padding: 34px 0 18px; position: relative; }
  
  /* big beachy wave behind hero */
  .hero::before{
    content:"";
    position:absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -140px;
    width: min(1200px, 92vw);
    height: 420px;
    background:
      radial-gradient(900px 300px at 30% 40%, rgba(182,210,222,.55) 0%, rgba(182,210,222,0) 70%),
      radial-gradient(900px 280px at 70% 55%, rgba(162,199,205,.45) 0%, rgba(162,199,205,0) 70%),
      radial-gradient(700px 260px at 50% 80%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 70%);
    opacity:.95;
    filter: blur(2px);
    pointer-events:none;
    z-index: 0;
  }
  
  .hero__grid{
    display:grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 16px;
    align-items: stretch;
    position: relative;
    z-index: 1;
  }
  
  .hero__card{ padding: 22px; }
  
  /* Pills */
  .pill-row{
    display:flex;
    flex-wrap:wrap;
    gap: 10px;
    align-items:center;
    margin-bottom: 10px;
  }
  
  .pill{
    display:inline-flex;
    gap: 8px;
    align-items:center;
    padding: 9px 12px;
    border-radius: var(--radiusPill);
    border: 1px solid rgba(31,62,74,.16);
  
    /* sea glass pill */
    background:
      linear-gradient(135deg, rgba(162,199,205,.55) 0%, rgba(182,210,222,.45) 100%);
    font-size: 12px;
    font-weight: 900;
    color: var(--ocean-deep);
    box-shadow: 0 8px 18px rgba(31,62,74,.08);
  }
  
  .dot{
    width: 8px; height: 8px;
    border-radius: var(--radiusPill);
    background: var(--ocean-deep);
    box-shadow: 0 0 0 3px rgba(182,210,222,.55);
  }
  
  /* Mini grid */
  .mini-grid{
    margin-top: 14px;
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  
  .mini{
    padding: 12px;
    border-radius: var(--radius2);
    background:
      linear-gradient(180deg, rgba(255,255,255,.60) 0%, rgba(235,222,205,.55) 100%);
    border: 1px solid rgba(31,62,74,.12);
    box-shadow: var(--shadow2);
  }
  
  .mini strong{
    display:block;
    font-size: 13px;
    font-weight: 900;
    color: var(--ocean-deep);
  }
  
  .mini span{
    display:block;
    font-size: 12.5px;
    margin-top: 4px;
    color: var(--muted);
  }
  
  /* ---------- PROFILE CARD ---------- */
  .profile{ overflow:hidden; }
  
  .profile__img-wrap{
    padding: 14px;
    border-bottom: 1px solid rgba(31,62,74,.12);
    background:
      linear-gradient(135deg, rgba(182,210,222,.45) 0%, rgba(162,199,205,.30) 100%);
  }
  
  .founderGrid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  
  .profile__img{
    width:100%;
    height: 280px;
    object-fit: cover;
    border-radius: var(--radius2);
    border: 1px solid rgba(31,62,74,.16);
    background: rgba(31,62,74,.06);
    box-shadow: 0 12px 26px rgba(31,62,74,.16);
  }
  
  .profile__meta{ padding: 18px 18px 20px; }
  
  .profile__name{ margin: 0; font-size: 20px; font-weight: 900; color: var(--ocean-deep); }
  .profile__title{ margin: 6px 0 14px; color: var(--muted); }
  
  .profile__rows{ display:flex; flex-direction:column; gap: 10px; }
  
  .row{
    display:flex;
    gap: 10px;
    align-items:flex-start;
    padding: 12px;
    border-radius: var(--radius2);
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(31,62,74,.12);
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  
  .row__icon{
    width: 34px; height: 34px;
    border-radius: 12px;
    display:grid;
    place-items:center;
    background:
      linear-gradient(135deg, rgba(162,199,205,.55) 0%, rgba(182,210,222,.45) 100%);
    border: 1px solid rgba(31,62,74,.12);
    flex:0 0 auto;
  }
  
  .row__text strong{ display:block; font-size: 12.5px; font-weight: 900; color: var(--ocean-deep); }
  .row__text a{ display:inline-block; margin-top: 3px; }
  
  .note{
    margin: 14px 0 0;
    font-size: 12px;
    color: var(--muted2);
    line-height: 1.55;
  }
  
  /* ---------- SECTIONS ---------- */
  .section{
    padding: 22px 0;
    position: relative;
  }
  
  /* gentle “foam band” between sections */
  .section::before{
    content:"";
    position:absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -10px;
    width: min(1200px, 92vw);
    height: 24px;
    background:
      radial-gradient(80px 18px at 10% 50%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 70%),
      radial-gradient(110px 20px at 30% 50%, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 70%),
      radial-gradient(90px 18px at 55% 50%, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 70%),
      radial-gradient(120px 22px at 78% 50%, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 70%),
      radial-gradient(80px 18px at 92% 50%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 70%);
    opacity: .9;
    pointer-events:none;
  }
  
  .section__head{
    display:flex;
    flex-direction:column;
    gap: 6px;
    margin-bottom: 14px;
  }
  
  /* grids */
  .grid-1{ display:grid; grid-template-columns: 1fr; gap: 14px; }
  .grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  
  /* checklist */
  .checklist{ margin-top: 12px; display:flex; flex-direction:column; gap: 10px; }
  .check{
    padding: 12px 14px;
    border-radius: var(--radius2);
    background:
      linear-gradient(135deg, rgba(162,199,205,.30) 0%, rgba(255,255,255,.52) 100%);
    border: 1px solid rgba(31,62,74,.12);
    font-size: 13px;
    font-weight: 900;
    color: var(--ocean-deep);
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  
  /* chips */
  .chips{ margin-top: 12px; display:flex; flex-wrap:wrap; gap: 8px; }
  .chip{
    padding: 8px 10px;
    border-radius: var(--radiusPill);
    border: 1px solid rgba(31,62,74,.14);
    background:
      linear-gradient(135deg, rgba(182,210,222,.55) 0%, rgba(162,199,205,.40) 100%);
    font-size: 12px;
    font-weight: 900;
    color: var(--ocean-deep);
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  
  .tools-note{
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: var(--radius2);
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(31,62,74,.12);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  
  /* services */
  .service__top{
    display:flex;
    justify-content:space-between;
    gap: 10px;
    align-items:flex-start;
    margin-bottom: 10px;
  }
  .tag{
    display:inline-flex;
    padding: 7px 10px;
    border-radius: var(--radiusPill);
    font-size: 11px;
    border: 1px solid rgba(31,62,74,.14);
    background:
      linear-gradient(135deg, rgba(228,205,187,.62) 0%, rgba(255,255,255,.55) 100%);
    font-weight: 900;
    color: var(--ocean-deep);
    white-space:nowrap;
    box-shadow: 0 8px 18px rgba(31,62,74,.08);
  }
  
  .bullets{
    margin: 12px 0 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
  }
  .bullets li{ margin: 6px 0; }
  
  /* portfolio gallery */
  .gallery{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  
  .work{
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  
  .work img{
    width:100%;
    height: 240px;
    object-fit: cover;
    display:block;
    border-bottom: 1px solid rgba(31,62,74,.12);
    background: rgba(31,62,74,.06);
  }
  
  .work figcaption{
    padding: 14px;
    display:flex;
    flex-direction:column;
    gap: 6px;
  }
  
  .work figcaption strong{ font-size: 13px; font-weight: 900; color: var(--ocean-deep); }
  .work figcaption span{ font-size: 12.5px; color: var(--muted); line-height: 1.55; }
  
  /* buttons */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap: 10px;
    padding: 11px 14px;
    border-radius: 12px;
    border: 1px solid rgba(31,62,74,.16);
    background: rgba(255,255,255,.60);
    color: var(--ocean-deep);
    font-weight: 900;
    font-size: 13px;
    text-decoration:none;
    transition: transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  .btn:hover{
    transform: translateY(-1px);
    background: rgba(255,255,255,.75);
    border-color: rgba(63,111,131,.28);
    box-shadow: 0 12px 28px rgba(31,62,74,.10);
    text-decoration:none;
  }
  .btn--primary{
    background:
      linear-gradient(135deg, rgba(133,177,180,.85) 0%, rgba(31,62,74,.90) 100%);
    border-color: rgba(31,62,74,.22);
    color: white;
  }
  .btn--primary:hover{
    background:
      linear-gradient(135deg, rgba(162,199,205,.88) 0%, rgba(31,62,74,.90) 100%);
  }
  
  /* contact */
  .form{
    display:flex;
    flex-direction:column;
    gap: 12px;
    margin-top: 12px;
  }
  
  .form label{
    display:flex;
    flex-direction:column;
    gap: 6px;
    font-size: 12px;
    color: var(--ocean-deep);
    font-weight: 900;
  }
  
  input, select, textarea{
    padding: 11px 12px;
    border-radius: 12px;
    border: 1px solid rgba(31,62,74,.16);
    background: rgba(255,255,255,.65);
    color: var(--ink);
    outline: none;
    box-shadow: 0 10px 22px rgba(31,62,74,.06);
  }
  
  input:focus, select:focus, textarea:focus{
    border-color: rgba(63,111,131,.38);
    box-shadow: 0 0 0 4px rgba(162,199,205,.30);
  }
  
  .contactBox{ display:flex; flex-direction:column; gap: 10px; margin-top: 10px; }
  .contactRow{
    display:flex;
    gap: 10px;
    align-items:flex-start;
    padding: 12px;
    border-radius: var(--radius2);
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(31,62,74,.12);
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  .contactIcon{
    width: 34px; height: 34px;
    border-radius: 12px;
    display:grid;
    place-items:center;
    background:
      linear-gradient(135deg, rgba(182,210,222,.55) 0%, rgba(162,199,205,.40) 100%);
    border: 1px solid rgba(31,62,74,.12);
    flex:0 0 auto;
  }
  .divider{
    height: 1px;
    background: rgba(31,62,74,.14);
    margin: 14px 0;
  }
  
  /* footer */
  .footer{
    padding: 26px 0 42px;
    color: var(--muted);
    font-size: 12px;
  }
  .footer__inner{
    padding: 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;
    flex-wrap:wrap;
    border-radius: 18px;
    border: 1px solid rgba(31,62,74,.14);
  
    background:
      linear-gradient(135deg, rgba(228,205,187,.58) 0%, rgba(182,210,222,.45) 100%);
    backdrop-filter: blur(14px);
    box-shadow: var(--shadow2);
  }
  .footer__links{
    display:flex;
    gap: 10px;
    flex-wrap:wrap;
  }
  .footer__links a{
    padding: 8px 11px;
    border-radius: var(--radiusPill);
    border: 1px solid rgba(31,62,74,.14);
    background: rgba(255,255,255,.55);
    box-shadow: 0 10px 22px rgba(31,62,74,.08);
  }
  .footer__links a:hover{
    background: rgba(255,255,255,.75);
    text-decoration:none;
  }
  
  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 980px){
    .hero__grid{ grid-template-columns: 1fr; }
    .grid-3{ grid-template-columns: 1fr; }
    .grid-2{ grid-template-columns: 1fr; }
    .gallery{ grid-template-columns: 1fr; }
    .mini-grid{ grid-template-columns: 1fr; }
    .founderGrid{ grid-template-columns: 1fr; }
  
    .profile__img{
      height: auto;
      aspect-ratio: 3 / 4;
      object-fit: cover;
    }
  }
  /* =======================
   LIGHTBOX SYSTEM
   ======================= */

#lightbox-modal{
  display:none;
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(6px);
  justify-content:center;
  align-items:center;
  z-index:9999;
}

#lightbox-img{
  max-width:90%;
  max-height:85%;
  border-radius:18px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}

.lightbox-close{
  position:absolute;
  top:20px;
  right:32px;
  font-size:44px;
  color:white;
  cursor:pointer;
  font-weight:200;
}

.show-bottom{
  object-position: bottom;
}

/* =========================
   FULL WIDTH TOOLS PILL
   ========================= */

   .tools-pill-section{
    padding: 40px 0 60px;
  }
  
  .tools-pill{
    background:
      linear-gradient(135deg,
        rgba(228,205,187,.65),
        rgba(182,210,222,.55)
      );
  
    border-radius: 60px;
    padding: 36px 40px;
    text-align:center;
  
    border: 1px solid rgba(31,62,74,.14);
    box-shadow: 0 30px 80px rgba(31,62,74,.12);
  
    position:relative;
    overflow:hidden;
  }
  
  /* beach shimmer effect */
  .tools-pill::before{
    content:"";
    position:absolute;
    inset:-20%;
    background:
      radial-gradient(circle at 20% 30%, rgba(255,255,255,.25), transparent 60%),
      radial-gradient(circle at 80% 70%, rgba(255,255,255,.18), transparent 60%);
    opacity:.6;
    pointer-events:none;
  }
  
  .tools-pill h3{
    margin-bottom:6px;
  }
  
  .tools-pill .chips{
    justify-content:center;
    margin-top:18px;
  }
  
  .tools-pill .tools-note{
    margin-top:22px;
    font-size:14px;
    font-weight:700;
  }
  
  h1{
    text-align: center;
  }
  .section__head{
    text-align: center;
  }
/* Center + strengthen the hero tagline */
.lead-center{
  text-align:center;
  font-weight:900;
  font-size:16px;
}

/* Keep service pills tidy and consistent */
.pill-row--services{
  justify-content:center;
  margin-top:14px;
}

.pill--service{
  text-align:center;
  padding: 12px 16px;
  font-weight: 900;
}

.pill--service small{
  display:block;
  margin-top:4px;
  font-weight:700;
  font-size:12px;
  opacity:.85;
}


  
  
.pill-right{
  margin-left:auto;
  font-weight:900;
}

/* 24/7 line */
.hero-247{
  text-align:right;
  font-size:18px;
  font-weight:900;
  margin-top:6px;
  margin-bottom:14px;
}

/* services layout */
.services-row{
  justify-content:center;
  gap:14px;
  margin-top:12px;
}

.pill-service{
  display:flex;
  flex-direction:column;
  text-align:center;
  padding:16px 18px;
}

/* main headings inside pills */
.pill-title{
  font-size:18px;
  font-weight:900;
  margin-bottom:4px;
}

/* description text */
.pill-desc{
  font-size:13px;
  font-weight:700;
  opacity:.9;
}
.motion-strip{
  width:100%;
  margin: 28px 0;
  overflow:hidden;
}

.motion-strip video{
  width:100%;
  height:340px;
  object-fit:cover;
  display:block;
  border-radius: 18px;
  filter: saturate(0.9) contrast(1.05);
}
/* ===== HERO (reference-style) ===== */
.hero-ref{
  position: relative;
  padding: 18px 0 26px;
}

/* subtle wavy line background */
.hero-ref::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background:
    radial-gradient(900px 260px at 15% 10%, rgba(255,255,255,.55), transparent 62%),
    radial-gradient(1000px 300px at 85% 18%, rgba(255,255,255,.45), transparent 64%),
    repeating-linear-gradient(
      0deg,
      rgba(10, 30, 44, .06) 0px,
      rgba(10, 30, 44, .06) 1px,
      transparent 1px,
      transparent 34px
    );
  mask-image: radial-gradient(circle at 50% 20%, #000 0%, transparent 75%);
}

.hero-ref__container{
  position: relative;
  z-index: 1;
}

/* top mini nav row (clean like reference) */
.hero-ref__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 10px 0 18px;
  flex-wrap:wrap;
}

.hero-ref__brand{
  display:flex;
  align-items:center;
  gap: 10px;
}

.hero-ref__logo{
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
}

.hero-ref__miniNav{
  display:flex;
  gap: 18px;
  align-items:center;
  flex-wrap:wrap;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .4px;
  color: rgba(10,22,30,.72);
}

.hero-ref__miniNav a{
  text-decoration:none;
  border-bottom: 1px solid transparent;
}
.hero-ref__miniNav a:hover{
  border-bottom-color: rgba(10,22,30,.35);
}

.hero-ref__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.14);
  background: rgba(10, 30, 44, .92);
  color: #fff;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .9px;
  text-decoration:none;
}

/* hero panel */
.hero-ref__hero{
  border-radius: 22px;
  padding: 34px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.12);
}

/* headline rows */
.hero-ref__headline{
  display:flex;
  flex-direction:column;
  gap: 18px;
  margin: 8px 0 12px;
}

.hero-ref__row{
  display:flex;
  align-items:center;
  gap: 18px;
  flex-wrap:wrap;
}

.hero-ref__word{
  font-size: clamp(52px, 7vw, 110px);
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -1.4px;
  color: rgba(10,22,30,.94);
  font-weight: 520;
}

.hero-ref__word--bold{
  font-weight: 950;
}

/* rounded image bars */
.hero-ref__bar{
  height: 130px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background-size: cover;
  background-position: center;
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  flex: 1 1 340px;
  min-width: 220px;
}

/* set these to YOUR images */
.hero-ref__bar--1{ background-image: url("images/heroBar1.jpg"); max-width: 350px; }
.hero-ref__bar--2{ background-image: url("images/heroBar2.jpg"); max-width: 520px; }
.hero-ref__bar--3{ background-image: url("images/heroBar3.jpg"); max-width: 590px; }

.hero-ref__row--1{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:nowrap;   /* THIS keeps them on one line */
}


.hero-ref__sub{
  margin: 16px 0 16px;
  font-weight: 900;
  color: rgba(10,22,30,.72);
}

/* scrolling bar */
.hero-ref__marquee{
  overflow:hidden;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.75);
  padding: 14px 0;
}

.hero-ref__track{
  display:flex;
  gap: 64px;
  width: max-content;
  animation: heroMarquee 18s linear infinite;
  font-weight: 850;
  color: rgba(10,22,30,.88);
  font-size: 14px;
}

.hero-ref__track span{
  white-space: nowrap;
}

@keyframes heroMarquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* mobile */
@media (max-width: 760px){
  .hero-ref__hero{ padding: 18px; }
  .hero-ref__bar{ height: 48px; min-width: 180px; }
  .hero-ref__track{ animation-duration: 22s; }
}

/* ===== Service slideshow section ===== */
.section__head.center{
  text-align:center;
}

.serviceShowcase{
  padding: 18px 0 34px;
}

.slider{
  overflow:hidden;
  border-radius: 22px;
}

.sliderTrack{
  display:flex;
  gap: 16px;
  scroll-snap-type: x mandatory;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 16px;
}

/* Hide scrollbar (still scrollable) */
.sliderTrack::-webkit-scrollbar{ height: 0; }

.slideCard{
  scroll-snap-align: center;
  flex: 0 0 min(520px, 92%);
  border-radius: 22px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.12);
  padding: 22px;
  min-height: 380px; /* “larger square-ish” feel */
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.slideTop{
  display:flex;
  justify-content:flex-start;
}

.slideBadge{
  display:inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 950;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.75);
}

/* Headings in cards */
.slideCard h3{
  margin: 14px 0 8px;
  font-size: 22px;
  letter-spacing: -.4px;
  color: rgba(10,22,30,.94);
}

.slideCard p{
  margin: 0 0 14px;
  line-height: 1.75;
  color: rgba(10,22,30,.72);
  font-weight: 650;
}

/* Dots (visual only) */
.sliderDots{
  display:flex;
  justify-content:center;
  gap: 8px;
  margin-top: 10px;
  opacity: .7;
}
.sliderDots .dot{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(10,22,30,.35);
}

.mainNav a{
  font-weight:600;
}

.workLink{
  display:block;
  text-decoration:none;
  color:inherit;
}
.workLink{
  display:block;
}

.hero-ref__blurVideo{
  height: 140px;
  margin: 18px 0 22px;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.35);
}

.hero-ref__blurVideo video{
  width:100%;
  height:100%;
  object-fit: cover;
  filter: blur(16px) saturate(1.15);
  transform: scale(1.2);
  opacity: .65;
  transition: all .4s ease;
}

/* when mouse hovers over it */
.hero-ref__blurVideo:hover video{
  filter: blur(0px) saturate(1.1);
  opacity: 1;
  transform: scale(1);
}

/* ===== Mobile layout for hero headline ===== */
/* ===== iPhone / small screen hero layout ===== */
@media (max-width: 480px){

  /* stack each row vertically */
  .hero-ref__row{
    display:flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
  }

  /* make each image bar a full-width pill */
  .hero-ref__bar{
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    height: 64px;                 /* pill height on iPhone */
    flex: 0 0 auto;
    border-radius: 999px;
  }

  /* center + clean headline words */
  .hero-ref__word{
    white-space: nowrap;
    text-align: center;
    font-size: clamp(34px, 9.2vw, 48px);
    line-height: 1.05;
  }

  /* ensure the word is always below the bar (even if HTML order differs) */
  .hero-ref__bar{ order: 1; }
  .hero-ref__word{ order: 2; }

  /* slightly more breathing room in the hero panel */
  .hero-ref__hero{
    padding: 20px;
  }
}

/* GRID */
/* ===== PORTFOLIO GRID (CLEAN, WORKS WITH YOUR HTML) ===== */
.gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.work{
  display:flex;
  flex-direction:column;
}

/* Only the MEDIA is locked to a size */
.work > img,
.work > video,
.work > a > img{
  width:100%;
  height:240px;              
  object-fit:cover;
  display:block;
  border-bottom: 1px solid rgba(31,62,74,.12);
  background: rgba(31,62,74,.06);
}

/* Captions show underneath, never clipped */
.work figcaption{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.work figcaption strong{
  font-size:13px;
  font-weight:900;
  color: var(--ocean-deep);
}

.work figcaption span{
  font-size:12.5px;
  color: var(--muted);
  line-height:1.55;
}
#lightbox-modal{
  display:none;
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(6px);
  justify-content:center;
  align-items:center;
  z-index:9999;
}

#lightbox-img{
  max-width:90%;
  max-height:85%;
  border-radius:18px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}

.lightbox-close{
  position:absolute;
  top:20px;
  right:32px;
  font-size:44px;
  color:white;
  cursor:pointer;
  font-weight:200;
}
/* ===== FORCE LIGHTBOX MEDIA TO EXPAND ===== */
#lightbox-modal{
  display:none;
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.88);
  backdrop-filter: blur(6px);
  justify-content:center;
  align-items:center;
  z-index:99999;
  padding: 24px;
}

#lightbox-modal .lightbox-inner{
  width: 100%;
  height: 100%;
  display:flex;
  justify-content:center;
  align-items:center;
}

/* IMAGE expands */
#lightbox-img{
  width: 92vw;         /* THIS forces it bigger */
  height: 88vh;        /* fill screen height */
  max-width: 1400px;   /* optional cap for huge screens */
  object-fit: contain; /* show whole image */
  border-radius: 18px;
}

/* VIDEO expands */
#lightbox-video{
  width: 92vw;         /* THIS forces it bigger */
  height: 88vh;
  max-width: 1400px;
  object-fit: contain;
  border-radius: 18px;
  background: #000;
}

.lightbox-close{
  position:absolute;
  top:16px;
  right:22px;
  font-size:44px;
  color:#fff;
  cursor:pointer;
  font-weight:200;
  background: transparent;
  border: 0;
}
@supports (-webkit-touch-callout: none) {
  body { background-attachment: scroll; }
  body::before,
  body::after { position: absolute; }
}

@media (max-width: 980px) {
  .gallery { grid-template-columns: 1fr !important; }
  .work, .card, .container, .gallery { min-width: 0; }
}
