  :root{
    --cream:#FBF6EC;
    --cream-alt:#F3ECDC;
    --teal:#123A3B;
    --teal-dark:#0A2726;
    --teal-light:#1F5C58;
    --gold:#F2A93B;
    --gold-light:#FBD897;
    --aqua:#D8ECE8;
    --text:#1B2624;
    --text-soft:#4C5A55;
    --white:#FFFFFF;
    --radius-lg:28px;
    --radius-md:18px;
    --radius-sm:12px;
    --shadow-soft:0 24px 50px -24px rgba(10,39,38,.35);
    --container:1200px;
    --ease:cubic-bezier(.16,.84,.44,1);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  }
  body{
    margin:0;
    font-family:'Prompt',sans-serif;
    background:var(--cream);
    color:var(--text);
    font-weight:400;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{margin:0; padding:0; list-style:none;}
  h1,h2,h3,h4{margin:0; font-weight:700;}
  p{margin:0;}
  button{font-family:inherit; cursor:pointer;}
  .container{max-width:var(--container); margin:0 auto; padding:0 24px;}
  section{position:relative;}

  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--teal); color:#fff; z-index:999; border-radius:0 0 8px 0;
    padding:12px 20px;
  }
  .skip-link:focus{left:0;}

  :focus-visible{outline:3px solid var(--gold); outline-offset:3px;}

  /* ===== Eyebrow / tags ===== */
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:.82rem; font-weight:600; letter-spacing:.06em;
    color:var(--teal-light); background:var(--aqua);
    padding:7px 16px; border-radius:999px; margin-bottom:18px;
  }
  .eyebrow::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--gold);}

  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(1.7rem,3.6vw,2.6rem); line-height:1.25;}
  .section-head p{margin-top:16px; color:var(--text-soft); font-size:1.05rem;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ===== Buttons ===== */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:15px 30px; border-radius:999px; font-weight:600; font-size:1rem;
    border:2px solid transparent; transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
    white-space:nowrap;
  }
  .btn-primary{background:var(--teal); color:var(--cream);}
  .btn-primary:hover{background:var(--gold); color:var(--teal-dark); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(242,169,59,.6);}
  .btn-ghost{background:transparent; color:var(--teal); border-color:var(--teal);}
  .btn-ghost:hover{background:var(--teal); color:var(--cream); transform:translateY(-3px);}
  .btn-gold{background:var(--gold); color:var(--teal-dark);}
  .btn-gold:hover{background:var(--teal-dark); color:var(--gold-light); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(10,39,38,.5);}
  .btn-sm{padding:10px 20px; font-size:.9rem;}

  /* ===== Header ===== */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:18px 0;
    transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  }
  header.scrolled{
    background:rgba(251,246,236,.9); backdrop-filter:blur(10px);
    padding:12px 0; box-shadow:0 8px 24px -16px rgba(10,39,38,.3);
  }
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .logo-mark{width:48px; height:48px; flex-shrink:0; border-radius:50%; object-fit:cover;}
  .logo{display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.25rem; color:var(--teal); white-space:nowrap;}
  .logo span{color:var(--gold);}
  nav.main-nav{display:flex; align-items:center; gap:36px;}
  nav.main-nav a{font-size:.96rem; font-weight:500; color:var(--text); position:relative; padding:4px 0;}
  nav.main-nav a::after{
    content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--gold);
    transition:width .3s var(--ease);
  }
  nav.main-nav a:hover::after, nav.main-nav a:focus-visible::after{width:100%;}
  .nav-actions{display:flex; align-items:center; gap:14px;}
  .nav-actions .tel{display:flex; align-items:center; gap:8px; font-weight:600; color:var(--teal);}
  .burger{display:none; width:44px; height:44px; align-items:center; justify-content:center; background:var(--teal); border-radius:50%; border:none; flex-shrink:0;}
  .burger span, .burger span::before, .burger span::after{
    content:''; display:block; width:18px; height:2px; background:var(--cream); position:relative; transition:.3s;
  }
  .burger span::before{position:absolute; top:-6px;}
  .burger span::after{position:absolute; top:6px;}
  .burger.open span{background:transparent;}
  .burger.open span::before{transform:rotate(45deg); top:0;}
  .burger.open span::after{transform:rotate(-45deg); top:0;}

  .mobile-nav{
    display:none; position:fixed; inset:0; z-index:99; background:var(--teal);
    color:var(--cream); flex-direction:column; justify-content:center; align-items:center; gap:28px;
    transform:translateY(-100%); transition:transform .5s var(--ease);
  }
  .mobile-nav.open{transform:translateY(0);}
  .mobile-nav a{font-size:1.4rem; font-weight:600;}

  /* ===== Hero ===== */
  .hero{
    padding:170px 0 100px;
    background:
      radial-gradient(ellipse at 85% 10%, rgba(242,169,59,.35), transparent 55%),
      linear-gradient(180deg, var(--cream) 0%, var(--cream-alt) 100%);
    overflow:hidden;
  }
  .hero .container{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
  .hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem); line-height:1.05; letter-spacing:-.02em; font-weight:800;}
  .hero h1 em{font-style:normal; color:var(--teal); background:linear-gradient(180deg, transparent 62%, var(--gold-light) 62%);}
  .hero-subline{font-size:1.15rem; color:var(--teal-light); margin-top:10px; font-weight:500;}
  .hero-subline em{font-style:normal; color:var(--gold); font-weight:600;}
  .hero p.lede{margin-top:22px; font-size:1.12rem; color:var(--text-soft); max-width:520px;}
  .hero-cta{display:flex; flex-wrap:wrap; gap:16px; margin-top:34px;}
  .hero-meta{display:flex; gap:28px; margin-top:44px; flex-wrap:wrap;}
  .hero-meta div{display:flex; flex-direction:column;}
  .hero-meta strong{font-size:1.2rem; color:var(--teal); line-height:1.3;}
  .hero-meta span{font-size:.85rem; color:var(--text-soft);}

  .hero-art{position:relative; aspect-ratio:1/1; max-width:480px; margin:0 auto;}
  .sun-ray{
    position:absolute; inset:-10%; border-radius:50%;
    background:conic-gradient(from 0deg, transparent 0 92%, rgba(242,169,59,.9) 96%, transparent 100%);
    animation:spin 9s linear infinite; opacity:.6; filter:blur(1px);
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  .hero-art .dust{position:absolute; border-radius:50%; background:var(--gold-light); opacity:0; }
  .hero-art .dust:nth-child(2){width:10px;height:10px; top:20%; left:15%; animation:dustFade 4s ease-in-out infinite; animation-delay:.2s;}
  .hero-art .dust:nth-child(3){width:6px;height:6px; top:65%; left:75%; animation:dustFade 5s ease-in-out infinite; animation-delay:1.4s;}
  .hero-art .dust:nth-child(4){width:8px;height:8px; top:78%; left:30%; animation:dustFade 4.5s ease-in-out infinite; animation-delay:2.3s;}
  .hero-art .dust:nth-child(5){width:5px;height:5px; top:12%; left:70%; animation:dustFade 6s ease-in-out infinite; animation-delay:.8s;}
  @keyframes dustFade{
    0%{opacity:0; transform:translateY(0) scale(1);}
    30%{opacity:.9;}
    100%{opacity:0; transform:translateY(-70px) scale(.4);}
  }
  .hero-card{
    position:relative; z-index:2; background:var(--white); border-radius:var(--radius-lg);
    box-shadow:var(--shadow-soft); padding:20px; height:100%;
  }
  .hero-card img{width:100%; height:100%; object-fit:cover; border-radius:16px; display:block;}
  .hero-badge{
    position:absolute; z-index:3; background:rgba(255,255,255,.92); backdrop-filter:blur(6px);
    border-radius:16px; padding:12px 18px; box-shadow:0 16px 30px -14px rgba(10,39,38,.35);
    border:1px solid rgba(18,58,59,.08); animation:floatY 5s ease-in-out infinite; max-width:190px;
  }
  .hero-badge strong{display:block; font-size:.88rem; color:var(--teal); font-weight:700;}
  .hero-badge span{font-size:.76rem; color:var(--text-soft);}
  .hero-badge.b1{top:2%; right:-6%;}
  .hero-badge.b2{top:46%; right:-12%; animation-delay:1.1s;}
  .hero-badge.b3{bottom:4%; left:-8%; animation-delay:2.1s;}
  @keyframes floatY{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);}}
  .hero-scroll{display:flex; align-items:center; gap:12px; margin-top:56px; font-size:.8rem; color:var(--text-soft); letter-spacing:.15em;}
  .hero-scroll .line{width:34px; height:1px; background:var(--teal); opacity:.4; position:relative; overflow:hidden;}
  .hero-scroll .line::after{
    content:''; position:absolute; inset:0; background:var(--gold); animation:scrollLine 2.2s ease-in-out infinite;
  }
  @keyframes scrollLine{0%{transform:translateX(-100%);} 50%{transform:translateX(0);} 100%{transform:translateX(100%);}}

  /* ===== Trust band ===== */
  .trust{background:var(--teal); color:var(--cream); padding:44px 0;}
  .trust .container{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  .trust strong{display:block; font-size:clamp(1.05rem,1.7vw,1.4rem); color:var(--gold-light); line-height:1.3;}
  .trust span{font-size:.85rem; color:rgba(251,246,236,.75); margin-top:6px; display:block;}
  .trust .div{border-left:1px solid rgba(251,246,236,.15);}

  /* ===== Philosophy ===== */
  .philosophy{padding:110px 0; background:var(--cream-alt);}
  .philosophy-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:10px;}
  .philosophy-item h3{font-size:1.15rem; margin-bottom:10px;}
  .philosophy-item p{color:var(--text-soft); font-size:.95rem;}
  .philosophy-quote{
    margin-top:64px; text-align:center; padding:48px; background:var(--white); border-radius:var(--radius-lg);
    box-shadow:0 20px 40px -30px rgba(10,39,38,.2);
  }
  .philosophy-quote p.big{font-size:clamp(1.3rem,2.6vw,1.9rem); color:var(--teal); font-weight:700; font-style:italic;}
  .philosophy-quote span{display:block; margin-top:14px; color:var(--text-soft); font-size:.92rem;}

  /* ===== Services (bento) ===== */
  .services{padding:110px 0; background:var(--cream);}
  .bento{display:grid; grid-template-columns:repeat(6,1fr); gap:22px;}
  .bento .card{
    background:var(--white); border-radius:var(--radius-md); padding:32px; position:relative;
    box-shadow:0 20px 40px -30px rgba(10,39,38,.25); border:1px solid rgba(18,58,59,.06);
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .bento .card:hover{transform:translateY(-6px); box-shadow:0 26px 46px -24px rgba(10,39,38,.3);}
  .card-num{
    position:absolute; top:20px; right:20px; width:30px; height:30px; border-radius:50%;
    background:var(--gold); color:var(--teal-dark); font-weight:800; font-size:.8rem;
    display:flex; align-items:center; justify-content:center; z-index:3;
  }
  .bento .card.big{grid-column:span 3; grid-row:span 2; background:var(--teal); color:var(--cream); position:relative; overflow:hidden;}
  .bento .card.big .icon{background:rgba(251,246,236,.12);}
  .bento .card.big h3{color:var(--gold-light);}
  .bento .card.big p{color:rgba(251,246,236,.8);}
  .card-big-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:opacity .6s var(--ease);}
  .card-big-overlay{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(11,42,41,.55) 0%, rgba(9,33,32,.88) 100%);}
  .card-big-content{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between;}
  .bento .card:not(.big){grid-column:span 3;}
  @media(min-width:900px){
    .bento .card:not(.big){grid-column:span 3;}
  }
  .icon{
    width:52px; height:52px; border-radius:14px; background:var(--aqua); display:flex; align-items:center; justify-content:center;
    margin-bottom:20px;
  }
  .icon svg{width:26px; height:26px; stroke:var(--teal); fill:none; stroke-width:1.8;}
  .bento .card.big .icon svg{stroke:var(--gold-light);}
  .card h3{font-size:1.2rem; margin-bottom:10px;}
  .card p{color:var(--text-soft); font-size:.96rem;}
  .card .tag{display:inline-block; margin-top:16px; font-size:.82rem; font-weight:600; color:var(--teal-light);}
  .bento .card.big .tag{color:var(--gold-light);}

  /* ===== Before / After wipe ===== */
  .wipe-section{background:var(--teal-dark); color:var(--cream); padding:120px 0;}
  .wipe-top{display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center;}
  .wipe-section .section-head h2, .wipe-section .section-head p{color:var(--cream);}
  .wipe-section .section-head p{color:rgba(251,246,236,.7);}
  .wipe-caption{margin-top:28px; display:flex; gap:10px;}
  .wipe-caption span{
    padding:8px 16px; border-radius:999px; font-size:.85rem; border:1px solid rgba(251,246,236,.25);
    color:rgba(251,246,236,.55); transition:.35s;
  }
  .wipe-caption span.active{background:var(--gold); color:var(--teal-dark); border-color:var(--gold); font-weight:600;}
  .wipe-stats{margin-top:32px; display:flex; flex-direction:column; gap:16px;}
  .wipe-stats li{display:flex; gap:12px; align-items:flex-start; font-size:.92rem; color:rgba(251,246,236,.8);}
  .wipe-stats li strong{color:var(--gold-light); display:block; font-size:1rem; margin-bottom:2px;}
  .wipe-stats .dot{width:8px; height:8px; border-radius:50%; background:var(--gold); margin-top:7px; flex-shrink:0;}

  .wipe-stage{
    position:relative; aspect-ratio:4/3; border-radius:var(--radius-lg); overflow:hidden;
    box-shadow:0 40px 80px -30px rgba(0,0,0,.55); cursor:none;
  }
  .wipe-stage svg, .wipe-stage img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .wipe-stage .after-layer{clip-path:inset(0 0 0 100%);}
  .wipe-handle{
    position:absolute; top:0; bottom:0; width:3px; background:var(--gold);
    box-shadow:0 0 0 6px rgba(242,169,59,.18); pointer-events:none;
  }
  .wipe-handle::after{
    content:'✦'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:44px; height:44px; border-radius:50%; background:var(--gold); color:var(--teal-dark);
    display:flex; align-items:center; justify-content:center; font-size:1rem; box-shadow:0 8px 20px rgba(0,0,0,.35);
  }

  /* ===== Portfolio gallery (real job photos, updated every job) ===== */
  .portfolio-head{margin-top:90px; max-width:640px;}
  .portfolio-head p{color:rgba(251,246,236,.7); margin-top:14px;}
  .portfolio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px;}
  .portfolio-item{
    background:rgba(251,246,236,.05); border-radius:var(--radius-md); overflow:hidden;
    border:1px solid rgba(251,246,236,.12); transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
    box-shadow:0 10px 32px -12px rgba(0,0,0,.35);
  }
  .portfolio-item:hover{transform:translateY(-6px); border-color:rgba(242,169,59,.5); box-shadow:0 18px 42px -14px rgba(0,0,0,.45);}
  .portfolio-item .thumb{
    aspect-ratio:5/4; background:rgba(251,246,236,.08); display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
  }
  .portfolio-item .thumb svg{width:52%; stroke:var(--gold-light);}
  .portfolio-item .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
  .portfolio-item:hover .thumb img{transform:scale(1.06);}
  .portfolio-item .thumb .badge{
    position:absolute; top:12px; left:12px; background:var(--gold); color:var(--teal-dark);
    font-size:.75rem; font-weight:700; padding:5px 12px; border-radius:999px;
  }
  .portfolio-item .cap{padding:14px 18px;}
  .portfolio-item .cap h4{font-size:.94rem; margin-bottom:2px; color:var(--cream);}
  .portfolio-item .cap span{font-size:.78rem; color:rgba(251,246,236,.6);}
  @media(max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;}}

  .fb-portfolio{background:var(--cream); padding:110px 0;}
  .fb-portfolio .section-head h2{color:var(--teal-dark);}
  .fb-portfolio .section-head p{color:var(--text-soft);}
  .fb-portfolio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px;}
  .fb-portfolio-loading{grid-column:1/-1; text-align:center; color:var(--text-soft); padding:40px 0;}
  .fb-card{
    background:#fff; border-radius:16px; overflow:hidden; border:1px solid rgba(15,27,43,.08);
    box-shadow:0 10px 30px -10px rgba(15,27,43,.18); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
    display:flex; flex-direction:column; cursor:pointer;
  }
  .fb-card:hover{transform:translateY(-6px); box-shadow:0 20px 42px -12px rgba(15,27,43,.28);}
  .fb-card-cover{position:relative; aspect-ratio:3/4; overflow:hidden;}
  .fb-card-cover img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
  .fb-card:hover .fb-card-cover img{transform:scale(1.05);}
  .fb-img-count{
    position:absolute; bottom:10px; right:10px; background:rgba(15,27,43,.78); color:#fff;
    font-size:.78rem; font-weight:500; padding:5px 11px; border-radius:20px; backdrop-filter:blur(4px);
  }
  .fb-card-body{padding:18px 20px 22px; display:flex; flex-direction:column; gap:12px; flex:1;}
  .fb-card-msg{color:var(--text); font-size:.92rem; line-height:1.6; white-space:pre-line;
    display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;}
  .fb-card-date{font-size:.78rem; color:var(--text-soft); margin-top:auto;}
  @media(max-width:1024px){.fb-portfolio-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.fb-portfolio-grid{grid-template-columns:1fr;}}

  /* Lightbox */
  .fb-lightbox{
    position:fixed; inset:0; z-index:1000; background:rgba(15,27,43,.92);
    display:none; align-items:center; justify-content:center; padding:24px;
  }
  .fb-lightbox.open{display:flex;}
  .fb-lightbox img{max-width:90vw; max-height:82vh; object-fit:contain; border-radius:8px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);}
  .fb-lb-close{position:absolute; top:20px; right:26px; color:#fff; font-size:2.2rem; line-height:1;
    background:none; border:none; cursor:pointer; opacity:.8; transition:opacity .2s;}
  .fb-lb-close:hover{opacity:1;}
  .fb-lb-nav{position:absolute; top:50%; transform:translateY(-50%); color:#fff; font-size:2.4rem;
    background:rgba(255,255,255,.12); border:none; cursor:pointer; width:56px; height:56px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; transition:background .2s;}
  .fb-lb-nav:hover{background:rgba(255,255,255,.25);}
  .fb-lb-prev{left:24px;}
  .fb-lb-next{right:24px;}
  .fb-lb-counter{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:#fff;
    font-size:.9rem; background:rgba(15,27,43,.6); padding:6px 16px; border-radius:20px;}
  @media(max-width:600px){
    .fb-lb-nav{width:44px; height:44px; font-size:1.8rem;}
    .fb-lb-prev{left:10px;} .fb-lb-next{right:10px;}
  }

  /* ===== Process ===== */
  .process{padding:110px 0; background:var(--cream-alt);}
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
  .steps::before{
    content:''; position:absolute; top:34px; left:8%; right:8%; height:2px;
    background:repeating-linear-gradient(90deg, var(--teal) 0 10px, transparent 10px 20px);
    z-index:0;
  }
  .step{position:relative; z-index:1; padding:0 18px; text-align:left;}
  .step .num{
    width:68px; height:68px; border-radius:50%; background:var(--teal); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:700; margin-bottom:22px;
    border:6px solid var(--cream-alt);
  }
  .step h3{font-size:1.08rem; margin-bottom:10px;}
  .step p{color:var(--text-soft); font-size:.94rem;}

  /* ===== Why us (zigzag) ===== */
  .why{padding:110px 0; background:var(--cream);}
  .why-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:48px;}
  .why-card{
    background:var(--white); border-radius:var(--radius-md); padding:32px;
    border:1px solid rgba(18,58,59,.08); box-shadow:0 16px 32px -26px rgba(10,39,38,.25);
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .why-card:hover{transform:translateY(-4px); box-shadow:0 22px 40px -22px rgba(10,39,38,.3);}
  .why-card .feature-visual{
    width:56px; height:56px; border-radius:14px; background:var(--aqua);
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  }
  .why-card .feature-visual svg{width:52%; stroke:var(--teal);}
  .why-card h3{font-size:1.08rem; margin-bottom:8px;}
  .why-card p{color:var(--text-soft); font-size:.9rem; line-height:1.6;}
  @media(max-width:700px){.why-grid{grid-template-columns:1fr;}}

  /* ===== Team ===== */
  .team{padding:110px 0; background:var(--cream);}
  .team-photo-banner{
    border-radius:var(--radius-lg); overflow:hidden; margin-bottom:56px;
    box-shadow:var(--shadow-soft); position:relative;
  }
  .team-photo-banner img{width:100%; max-height:420px; object-fit:cover; display:block;}
  .team-photo-banner .cap{
    position:absolute; left:0; right:0; bottom:0; padding:24px 28px;
    background:linear-gradient(0deg, rgba(10,39,38,.82), transparent);
    color:var(--cream); font-weight:600; font-size:.98rem;
  }
  .team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
  .team-card{
    background:var(--white); border-radius:var(--radius-md); overflow:hidden; text-align:center; padding-bottom:28px;
    box-shadow:0 20px 40px -30px rgba(10,39,38,.25); border:1px solid rgba(18,58,59,.06);
  }
  .team-card .avatar-photo{aspect-ratio:1/1; background:var(--aqua); display:flex; align-items:center; justify-content:center; margin-bottom:22px;}
  .team-card .avatar-photo svg{width:38%; stroke:var(--teal);}
  .team-card h3{font-size:1.1rem;}
  .team-card .role{color:var(--teal-light); font-weight:600; font-size:.9rem; margin-top:4px;}
  .team-card .exp{color:var(--text-soft); font-size:.85rem; margin-top:12px; padding:0 24px;}

  /* ===== Pricing ===== */
  .pricing{padding:110px 0; background:var(--teal); color:var(--cream);}
  .pricing .section-head h2, .pricing .section-head p{color:var(--cream);}
  .pricing .section-head p{color:rgba(251,246,236,.7);}
  .pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:stretch;}
  .price-card{
    background:rgba(251,246,236,.05); border:1px solid rgba(251,246,236,.14); border-radius:var(--radius-lg);
    padding:36px 32px; display:flex; flex-direction:column;
  }
  .price-card.featured{
    background:var(--gold); border-color:var(--gold); box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
  }
  .price-card .badge-pop{
    align-self:flex-start; background:var(--teal-dark); color:var(--gold-light); font-size:.75rem; font-weight:700;
    padding:5px 14px; border-radius:999px; margin-bottom:16px;
  }
  .price-card h3{font-size:1.3rem; color:var(--cream);}
  .price-card.featured h3{color:var(--teal-dark);}
  .price-card .sub{font-size:.88rem; color:rgba(251,246,236,.65); margin-top:6px;}
  .price-card.featured .sub{color:rgba(10,39,38,.7);}
  .price-card .amount{font-size:1.7rem; font-weight:700; margin-top:20px; color:var(--gold-light);}
  .price-card.featured .amount{color:var(--teal-dark);}
  .price-card .amount small{font-size:.75rem; font-weight:400; color:rgba(251,246,236,.6);}
  .price-card.featured .amount small{color:rgba(10,39,38,.6);}
  .price-card ul{margin-top:24px; display:flex; flex-direction:column; gap:12px; flex:1;}
  .price-card ul li{display:flex; gap:10px; font-size:.9rem; color:rgba(251,246,236,.85);}
  .price-card.featured ul li{color:rgba(10,39,38,.85);}
  .price-card ul li .check-ico{color:var(--gold-light); flex-shrink:0;}
  .price-card.featured ul li .check-ico{color:var(--teal-dark);}
  .price-card .btn{margin-top:28px; width:100%;}
  .price-note{margin-top:32px; font-size:.88rem; color:rgba(251,246,236,.6); text-align:center;}

  /* ===== Testimonials ===== */
  .testi{padding:110px 0 130px; background:var(--cream);}
  .testi-track{display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:20px; margin:0 -24px; padding-left:24px; padding-right:24px;}
  .testi-track::-webkit-scrollbar{height:6px;}
  .testi-track::-webkit-scrollbar-thumb{background:var(--teal); border-radius:6px;}
  .testi-card{
    flex:0 0 340px; scroll-snap-align:start; background:var(--white); border-radius:var(--radius-md);
    padding:34px; box-shadow:0 20px 40px -30px rgba(10,39,38,.25); border:1px solid rgba(18,58,59,.06);
  }
  .testi-card .quote-mark{font-size:2.6rem; color:var(--gold); line-height:1; font-family:Georgia,serif;}
  .testi-card p.quote{margin-top:10px; color:var(--text); font-size:.98rem;}
  .testi-card .who{display:flex; align-items:center; gap:12px; margin-top:24px;}
  .avatar{width:46px; height:46px; border-radius:50%; background:var(--teal); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-weight:700;}
  .who strong{display:block; font-size:.95rem;}
  .who span{font-size:.82rem; color:var(--text-soft);}
  .stars{color:var(--gold); letter-spacing:2px; margin-top:6px; font-size:.9rem;}

  /* ===== FAQ ===== */
  .faq{padding:110px 0; background:var(--cream-alt);}
  .faq-list{max-width:800px; margin:0 auto;}
  .faq-item{border-bottom:1px solid rgba(18,58,59,.15);}
  .faq-q{
    width:100%; background:none; border:none; text-align:left; padding:24px 0; display:flex;
    justify-content:space-between; align-items:center; gap:20px; font-size:1.05rem; font-weight:600; color:var(--teal);
  }
  .faq-q .plus{width:26px; height:26px; flex-shrink:0; position:relative;}
  .faq-q .plus::before, .faq-q .plus::after{content:''; position:absolute; background:var(--teal); top:50%; left:50%; transform:translate(-50%,-50%);}
  .faq-q .plus::before{width:16px; height:2px;}
  .faq-q .plus::after{width:2px; height:16px; transition:transform .3s var(--ease);}
  .faq-item.open .plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease);}
  .faq-a p{padding-bottom:24px; color:var(--text-soft); max-width:680px;}

  /* ===== Contact & booking form ===== */
  .contact{background:var(--teal); color:var(--cream); padding:110px 0;}
  .trust-badges{
    display:flex; flex-wrap:wrap; justify-content:center; gap:14px 28px;
    margin-bottom:36px; padding-bottom:36px; border-bottom:1px solid rgba(251,246,236,.15);
  }
  .trust-badge{display:flex; align-items:center; gap:9px; font-size:.9rem; color:rgba(251,246,236,.85);}
  .trust-badge svg{width:20px; height:20px; flex-shrink:0; color:var(--gold-light);}
  @media(max-width:600px){.trust-badges{gap:12px 20px; justify-content:flex-start;} .trust-badge{font-size:.82rem;}}
  .contact .section-head h2, .contact .section-head p{color:var(--cream);}
  .contact .section-head p{color:rgba(251,246,236,.7);}
  .contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px;}
  .contact-info h3{font-size:1.3rem; color:var(--gold-light); margin-bottom:24px;}
  .info-block{margin-bottom:22px;}
  .info-block .label{
    display:block; font-size:.78rem; color:rgba(251,246,236,.55); text-transform:uppercase;
    letter-spacing:.08em; margin-bottom:6px;
  }
  .info-block p{color:rgba(251,246,236,.9); font-size:.98rem;}
  .info-block a{color:var(--gold-light); font-weight:600;}
  .contact-form{
    background:rgba(251,246,236,.06); border:1px solid rgba(251,246,236,.14); border-radius:var(--radius-lg); padding:36px;
  }
  .contact-form h3{color:var(--gold-light); font-size:1.15rem; margin-bottom:6px;}
  .contact-form label{display:block; font-size:.85rem; color:rgba(251,246,236,.7); margin:18px 0 8px;}
  .contact-form input, .contact-form select{
    width:100%; padding:13px 16px; border-radius:10px; border:1px solid rgba(251,246,236,.22);
    background:rgba(251,246,236,.08); color:var(--cream); font-family:inherit; font-size:.95rem;
  }
  .contact-form input::placeholder{color:rgba(251,246,236,.4);}
  .contact-form select option{color:var(--text);}
  .contact-form button{width:100%; margin-top:26px;}
  .form-hint{font-size:.78rem; color:rgba(251,246,236,.5); margin-top:6px;}

  .cf-item-list{display:flex; flex-direction:column; gap:10px; margin-top:2px;}
  .cf-item-row{
    background:rgba(251,246,236,.06); border:1px solid rgba(251,246,236,.16); border-radius:14px;
    padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px;
  }
  .cf-item-left{display:flex; align-items:center; gap:12px; min-width:0;}
  .cf-item-icon{width:38px; height:38px; border-radius:10px; background:rgba(251,246,236,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .cf-item-text{display:flex; flex-direction:column; gap:1px; min-width:0;}
  .cf-item-text .cf-label{font-weight:500; font-size:.92rem; color:rgba(251,246,236,.92);}
  .cf-item-text .cf-sub{font-size:.76rem; color:rgba(251,246,236,.55);}
  .cf-stepper{display:flex; align-items:center; gap:9px; flex-shrink:0;}
  .cf-stepper .cf-step-btn{
    width:30px; height:30px; min-width:30px; min-height:30px; flex-shrink:0; box-sizing:border-box;
    border-radius:50%; border:1.5px solid rgba(251,246,236,.3); background:transparent;
    display:flex; align-items:center; justify-content:center; padding:0; margin-top:0;
  }
  .cf-stepper .cf-step-btn.plus{border:none; background:var(--gold);}
  .cf-stepper .cf-step-btn:disabled{opacity:.35; cursor:not-allowed;}
  .cf-step-count{min-width:16px; flex-shrink:0; text-align:center; font-weight:600; font-size:.92rem; color:rgba(251,246,236,.92);}

  .cf-summary{
    background:var(--gold); border-radius:18px; padding:18px 18px 16px; margin-top:14px;
  }
  .cf-summary-label{display:block; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:rgba(10,39,38,.7); margin-bottom:4px;}
  .cf-summary-total{display:block; font-size:1.6rem; font-weight:800; color:var(--teal-dark); line-height:1.15;}
  .cf-summary-lines{margin-top:10px; display:flex; flex-direction:column; gap:4px;}
  .cf-summary-lines div{display:flex; justify-content:space-between; font-size:.8rem; color:rgba(10,39,38,.75);}
  .cf-breakdown{margin-top:10px; padding-top:10px; border-top:1px solid rgba(10,39,38,.15); display:none; flex-direction:column; gap:5px;}
  .cf-breakdown.show{display:flex;}
  .cf-breakdown div{display:flex; justify-content:space-between; font-size:.82rem; color:rgba(10,39,38,.85);}

  .job-type-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .job-type-grid input{position:absolute; opacity:0; width:0; height:0;}
  .job-type-btn{
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:13px 10px; border-radius:10px; border:1px solid rgba(251,246,236,.22);
    background:rgba(251,246,236,.08); color:var(--cream); font-size:.9rem; font-weight:500;
    cursor:pointer; transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
  }
  .job-type-grid input:checked + .job-type-btn{
    background:var(--gold); border-color:var(--gold); color:var(--teal-dark); font-weight:600;
  }
  .job-type-grid input:focus-visible + .job-type-btn{outline:3px solid var(--gold-light); outline-offset:2px;}

  .photo-upload{
    border:2px dashed rgba(251,246,236,.3); border-radius:14px; padding:22px; text-align:center;
    cursor:pointer; transition:border-color .25s var(--ease), background .25s var(--ease);
  }
  .photo-upload:hover, .photo-upload.drag{background:rgba(251,246,236,.06); border-color:var(--gold);}
  .photo-upload input{display:none;}
  .photo-upload .icon{font-size:1.4rem; margin-bottom:6px;}
  .photo-upload .main{font-weight:600; font-size:.92rem;}
  .photo-upload .sub{font-size:.78rem; color:rgba(251,246,236,.55); margin-top:4px;}
  .photo-preview{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}
  .photo-preview img{width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid rgba(251,246,236,.25);}
  .form-status{margin-top:14px; font-size:.9rem; color:var(--gold-light); min-height:1.4em;}
  .form-note{margin-top:10px; font-size:.78rem; color:rgba(251,246,236,.45);}

  /* ===== Footer ===== */
  footer{background:var(--teal-dark); color:rgba(251,246,236,.8); padding:80px 0 30px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;}
  .foot-logo{display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.2rem; color:var(--cream); margin-bottom:16px;}
  .foot-logo span{color:var(--gold);}
  footer h4{color:var(--cream); font-size:1rem; margin-bottom:18px;}
  footer li{margin-bottom:10px; font-size:.92rem;}
  footer a:hover{color:var(--gold-light);}
  .foot-bottom{margin-top:60px; padding-top:24px; border-top:1px solid rgba(251,246,236,.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.85rem; color:rgba(251,246,236,.5);}
  .social{display:flex; gap:12px; margin-top:18px;}
  .social a{width:38px; height:38px; border-radius:50%; background:rgba(251,246,236,.08); display:flex; align-items:center; justify-content:center;}
  .social a svg{width:16px; height:16px; stroke:var(--cream); fill:none; stroke-width:1.8;}
  .social a:hover{background:var(--gold); }
  .social a:hover svg{stroke:var(--teal-dark);}

  /* ===== Reveal on scroll ===== */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.in{opacity:1; transform:none;}

  /* ===== Sticky mini CTA (mobile) ===== */
  .mobile-cta{
    position:fixed; bottom:0; left:0; right:0; z-index:90; background:var(--teal); padding:14px 18px;
    display:none; gap:12px; box-shadow:0 -10px 30px rgba(0,0,0,.2);
  }
  .mobile-cta a{flex:1; text-align:center;}

  /* ===== Responsive ===== */
  @media(max-width:1024px){
    .hero .container{grid-template-columns:1fr; text-align:center;}
    .hero p.lede{margin-left:auto; margin-right:auto;}
    .hero-cta, .hero-meta{justify-content:center;}
    .hero-art{margin-top:20px;}
    .hero-badge.b1{right:0;}
    .hero-badge.b2{right:-2%;}
    .hero-badge.b3{left:0;}
    .hero-scroll{justify-content:center;}
    .wipe-top{grid-template-columns:1fr;}
    .portfolio-grid{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .pricing-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
  }
  @media(max-width:860px){
    nav.main-nav{display:none;}
    .burger{display:flex;}
    .mobile-nav{display:flex;}
    .trust .container{grid-template-columns:1fr 1fr;}
    .trust .container .div:nth-child(3){border-left:none;}
    .philosophy-grid{grid-template-columns:1fr;}
    .bento{grid-template-columns:1fr;}
    .bento .card.big, .bento .card{grid-column:span 1;}
    .steps{grid-template-columns:1fr; gap:36px;}
    .steps::before{display:none;}
    .team-grid{grid-template-columns:1fr;}
    .mobile-cta{display:flex;}
    body{padding-bottom:74px;}
  }
  @media(max-width:600px){
    .foot-grid{grid-template-columns:1fr 1fr;}
    .hero{padding:150px 0 70px;}
    .hero-badge{display:none;}
    .nav-actions .tel{display:none;}
    .nav-actions .btn-primary.btn-sm{display:none;}
    .logo{font-size:1.05rem; gap:8px;}
    .logo-mark{width:40px; height:40px;}
  }
