  :root{
    --navy:#0b7a72;
    --navy-deep:#07484c;
    --navy-abyss:#042c2f;
    --navy-soft:#e2f4f1;
    --ink:#0e1c1f;
    --ink-soft:#4f6168;
    --stone:#f2f7f6;
    --stone-2:#e7f0ee;
    --mint:#6dd6c2;
    --mint-deep:#12806f;
    --taupe:#96806b;
    --white:#ffffff;
    --border:#dbe7e4;
    --border-dark:rgba(255,255,255,.16);
    --shadow:0 40px 90px -40px rgba(4,44,47,.42);
    --shadow-sm:0 16px 40px -22px rgba(4,44,47,.30);
    --shadow-lift:0 34px 70px -28px rgba(4,44,47,.34);
    --radius-xl:34px;
    --radius-lg:24px;
    --radius-md:16px;
    --radius-sm:11px;
    --font-d:'Comfortaa',system-ui,sans-serif;
    --font-b:'Comfortaa',system-ui,sans-serif;
    --container:1220px;
    --header-h:76px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 18px);}
  body{
    margin:0;font-family:var(--font-b);font-weight:600;color:var(--ink);
    background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:var(--navy);}
  a:hover{color:var(--mint-deep);}
  h1,h2,h3{font-family:var(--font-d);color:var(--ink);margin:0 0 .5em;line-height:1.1;letter-spacing:-.015em;}
  p{margin:0 0 1em;}
  .container{max-width:var(--container);margin:0 auto;padding:0 28px;}
  section{position:relative;}

  /* ---------- scroll progress ---------- */
  .scroll-prog{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;
    background:linear-gradient(90deg,var(--mint),var(--navy));z-index:400;pointer-events:none;}

  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--font-d);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--navy);margin-bottom:18px;padding:7px 15px 7px 13px;border-radius:999px;
    background:rgba(11,122,114,.09);
  }
  .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint-deep);flex:none;}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:var(--font-d);font-weight:700;font-size:15.5px;
    padding:15px 28px;border-radius:999px;border:2px solid transparent;
    cursor:pointer;text-decoration:none;white-space:nowrap;position:relative;overflow:hidden;
    transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .2s, color .2s, border-color .2s;
  }
  .btn:hover{transform:translateY(-3px);}
  .btn:active{transform:translateY(0) scale(.98);}
  .btn-primary{background:var(--navy);color:var(--white);box-shadow:0 16px 32px -18px rgba(11,122,114,.9);}
  .btn-primary:hover{background:var(--navy-deep);color:var(--white);box-shadow:0 24px 44px -18px rgba(11,122,114,.85);}
  .btn-outline{background:transparent;color:var(--navy);border-color:var(--navy);}
  .btn-outline:hover{background:var(--navy);color:var(--white);}
  .btn-call{background:var(--white);color:var(--ink);border-color:var(--border);}
  .btn-call:hover{border-color:var(--navy);color:var(--navy);}
  .btn-mint{background:var(--mint);color:var(--navy-abyss);border-color:var(--mint);font-size:17px;padding:17px 32px;}
  .btn-mint:hover{background:#8ce0d0;border-color:#8ce0d0;color:var(--navy-abyss);}
  :focus-visible{outline:3px solid var(--mint-deep);outline-offset:3px;}

  /* ---------- Header ---------- */
  .site-header{
    position:sticky;top:0;z-index:200;height:var(--header-h);
    background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(160%);
    border-bottom:1px solid transparent;transition:height .3s var(--ease), background .3s, border-color .3s, box-shadow .3s;
  }
  .site-header.is-stuck{height:64px;background:rgba(255,255,255,.9);border-bottom-color:var(--border);box-shadow:0 10px 30px -22px rgba(4,44,47,.5);}
  .site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;}
  .brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0;}
  .brand-icon{width:38px;height:38px;flex-shrink:0;object-fit:contain;transition:transform .5s var(--ease);}
  .brand:hover .brand-icon{transform:rotate(-12deg) scale(1.06);}
  .brand-logo{height:21px;flex-shrink:0;object-fit:contain;}
  .main-nav{display:flex;align-items:center;gap:4px;}
  .main-nav a{
    font-family:var(--font-d);font-weight:700;font-size:14.5px;text-decoration:none;color:var(--ink);
    padding:9px 14px;border-radius:999px;position:relative;transition:color .2s, background .25s;
  }
  .main-nav a:hover{color:var(--navy);background:rgba(11,122,114,.08);}
  .header-actions{display:flex;align-items:center;gap:12px;}
  .phone-link{display:flex;align-items:center;gap:7px;font-family:var(--font-d);font-weight:700;font-size:14.5px;text-decoration:none;color:var(--ink);white-space:nowrap;}
  .phone-link svg{width:17px;height:17px;color:var(--mint-deep);flex-shrink:0;}
  .lang-toggle{display:flex;gap:2px;background:var(--stone-2);border-radius:999px;padding:3px;flex-shrink:0;}
  .lang-toggle button{
    font-family:var(--font-d);font-weight:700;font-size:12px;letter-spacing:.06em;
    border:0;background:transparent;padding:7px 11px;border-radius:999px;cursor:pointer;color:var(--ink-soft);
    transition:background .25s var(--ease),color .2s;
  }
  .lang-toggle button[aria-pressed="true"]{background:var(--white);color:var(--navy);box-shadow:0 4px 12px -6px rgba(4,44,47,.4);}
  .hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-shrink:0;}
  .hamburger svg{width:26px;height:26px;color:var(--ink);}

  .mobile-nav{
    position:fixed;inset:var(--header-h) 0 0 0;background:var(--white);z-index:190;
    display:none;flex-direction:column;padding:30px 26px;overflow-y:auto;
  }
  .mobile-nav.open{display:flex;animation:fadeUp .35s var(--ease);}
  .mobile-nav a{font-family:var(--font-d);font-weight:700;font-size:23px;text-decoration:none;color:var(--ink);padding:16px 0;border-bottom:1px solid var(--border);}
  .lang-select{
    margin-top:24px;align-self:stretch;width:100%;appearance:none;-webkit-appearance:none;
    font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--ink);
    background-color:var(--stone-2);border:0;border-radius:999px;padding:15px 44px 15px 18px;cursor:pointer;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b7a72' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px;
  }
  .mobile-nav .btn{margin-top:22px;width:100%;}

  /* ---------- Animated mesh ---------- */
  .mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .mesh i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform;}
  .mesh i:nth-child(1){width:52vw;height:52vw;top:-18vw;right:-12vw;background:radial-gradient(circle at 40% 40%,#9fe6d7,transparent 68%);animation:drift1 26s ease-in-out infinite;}
  .mesh i:nth-child(2){width:40vw;height:40vw;bottom:-16vw;left:-10vw;background:radial-gradient(circle at 50% 50%,#c9ece5,transparent 66%);animation:drift2 32s ease-in-out infinite;}
  .mesh i:nth-child(3){width:30vw;height:30vw;top:26%;left:34%;background:radial-gradient(circle at 50% 50%,#e6f6f1,transparent 64%);animation:drift3 38s ease-in-out infinite;}
  .mesh--dark i{opacity:.34;filter:blur(80px);}
  .mesh--dark i:nth-child(1){background:radial-gradient(circle at 40% 40%,#0f9c8c,transparent 68%);}
  .mesh--dark i:nth-child(2){background:radial-gradient(circle at 50% 50%,#116e73,transparent 66%);}
  .mesh--dark i:nth-child(3){background:radial-gradient(circle at 50% 50%,#1aa595,transparent 62%);}
  @keyframes drift1{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(-6vw,5vw,0) scale(1.14);}}
  @keyframes drift2{0%,100%{transform:translate3d(0,0,0) scale(1.06);}50%{transform:translate3d(7vw,-4vw,0) scale(.94);}}
  @keyframes drift3{0%,100%{transform:translate3d(0,0,0) scale(1);}33%{transform:translate3d(5vw,4vw,0) scale(1.1);}66%{transform:translate3d(-4vw,-5vw,0) scale(.96);}}

  /* ---------- Hero ---------- */
  .hero{padding:76px 0 96px;overflow:hidden;position:relative;background:var(--white);}
  .hero-arcs{position:absolute;top:-70px;right:-90px;width:660px;height:540px;pointer-events:none;z-index:0;opacity:.8;}
  .hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:62px;align-items:center;}
  .hero-head{max-width:none;margin:0;text-align:left;}
  .hero h1{font-size:clamp(31px,3.9vw,50px);font-weight:700;margin-bottom:.42em;text-wrap:pretty;}
  .h1-kw{display:block;font-size:clamp(15.5px,1.5vw,18.5px);font-weight:700;line-height:1.45;color:var(--navy);margin-top:18px;letter-spacing:0;}
  .hero-sub{font-size:18.5px;color:var(--ink-soft);max-width:44ch;margin:0 0 34px;text-wrap:pretty;}
  .hero-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:0;}

  .ba-wrap{max-width:none;margin:0;position:relative;}
  .ba-wrap::before{
    content:"";position:absolute;inset:-16px -16px 34px;border-radius:calc(var(--radius-xl) + 12px);
    background:linear-gradient(140deg,rgba(109,214,194,.34),rgba(11,122,114,.10));z-index:0;
    animation:breathe 9s ease-in-out infinite;
  }
  @keyframes breathe{0%,100%{transform:scale(1) rotate(0deg);}50%{transform:scale(1.025) rotate(.6deg);}}
  .ba-slider{
    position:relative;width:100%;aspect-ratio:600/625;border-radius:var(--radius-xl);
    overflow:hidden;box-shadow:var(--shadow);background:var(--stone);cursor:ew-resize;z-index:1;
  }
  .ba-slider__layer{position:absolute;inset:0;}
  .ba-slider__layer img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none;}
  .ba-slider__before{clip-path:inset(0 50% 0 0);}
  .ba-slider.dragging{cursor:grabbing;}
  .ba-slider__handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--white);transform:translateX(-50%);pointer-events:none;box-shadow:0 0 22px rgba(255,255,255,.55);}
  .ba-slider__grip{position:absolute;top:50%;left:50%;width:52px;height:52px;border-radius:50%;background:var(--white);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px rgba(4,44,47,.5);}
  .ba-slider__grip svg{width:21px;height:21px;color:var(--navy);}
  .ba-pill{position:absolute;top:18px;padding:8px 16px;border-radius:999px;font-family:var(--font-d);font-weight:700;font-size:12px;letter-spacing:.11em;color:var(--white);pointer-events:none;backdrop-filter:blur(6px);}
  .ba-pill--before{left:18px;background:rgba(150,128,107,.86);}
  .ba-pill--after{right:18px;background:rgba(18,128,111,.9);}
  .ba-slider__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none;cursor:ew-resize;-webkit-appearance:none;appearance:none;}
  .ba-slider__range::-webkit-slider-thumb{-webkit-appearance:none;width:46px;height:100%;}
  .ba-caption{text-align:center;color:var(--ink-soft);font-size:14px;margin:20px 0 0;position:relative;z-index:1;}
  .ba-caption strong{color:var(--ink);}

  /* ---------- Marquee ---------- */
  .mq-band{background:var(--navy-abyss);padding:26px 0;overflow:hidden;position:relative;}
  .mq-band::before,.mq-band::after{content:"";position:absolute;top:0;bottom:0;width:14%;z-index:2;pointer-events:none;}
  .mq-band::before{left:0;background:linear-gradient(90deg,var(--navy-abyss),transparent);}
  .mq-band::after{right:0;background:linear-gradient(270deg,var(--navy-abyss),transparent);}
  .mq{overflow:hidden;}
  .mq-track{display:flex;align-items:center;gap:0;width:max-content;animation:mqScroll 46s linear infinite;}
  .mq-band:hover .mq-track{animation-play-state:paused;}
  .mq-track > span{
    display:flex;align-items:center;gap:20px;flex:none;
    font-family:var(--font-d);font-weight:700;font-size:16px;letter-spacing:.01em;color:rgba(255,255,255,.9);
    padding:0 26px;white-space:nowrap;
  }
  .mq-track > span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);flex:none;}
  @keyframes mqScroll{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}

  /* ---------- Decorative arc clusters ---------- */
  .arcs{position:absolute;pointer-events:none;z-index:0;}
  .arcs-a{top:-90px;right:-140px;width:560px;height:560px;}
  .arcs-b{top:-70px;left:-120px;width:400px;height:400px;}
  .arcs-c{top:-140px;right:-160px;width:660px;height:660px;}
  .arcs-d{top:22%;right:-150px;width:340px;height:340px;}
  .arcs-e{bottom:-160px;right:-120px;width:500px;height:500px;}
  .arcs-f{top:-80px;left:-110px;width:360px;height:360px;}
  .arcs-g{bottom:-180px;left:-140px;width:600px;height:600px;}
  .arcs-h{top:-60px;right:-90px;width:290px;height:290px;}
  .time-band .arcs circle,.gallery .arcs circle,.contact-section .arcs circle{stroke:#6dd6c2;}
  .time-band .arcs,.gallery .arcs,.contact-section .arcs{opacity:.55;}
  .process,.faq,.fb{overflow:hidden;}
  .section-textured > .container,.gallery > .container,.process > .container,
  .pricing > .container,.faq > .container,.fb > .container,.time-band > .container,
  .contact-section > .container,.gallery .cf,.gallery .yt{position:relative;z-index:1;}

  /* ---------- Time band (dark) ---------- */
  .time-band{background:var(--navy-deep);color:var(--white);padding:104px 0;overflow:hidden;}
  .time-band .container{position:relative;z-index:1;}
  .time-band .eyebrow{color:var(--mint);background:rgba(109,214,194,.14);}
  .time-band .eyebrow::before{background:var(--mint);}
  .time-band > .container > .reveal{text-align:center;display:flex;flex-direction:column;align-items:center;}
  .time-band h2{color:var(--white);font-size:clamp(28px,3.9vw,48px);font-weight:700;max-width:24ch;margin:0 auto 20px;text-wrap:balance;}
  .time-lead{font-size:17.5px;line-height:1.72;max-width:62ch;margin:0 auto;color:rgba(255,255,255,.76);text-wrap:pretty;}
  .time-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:52px;}
  .time-card{
    border-radius:var(--radius-lg);padding:34px 32px;background:rgba(255,255,255,.055);
    border:1px solid var(--border-dark);transition:transform .4s var(--ease), background .4s;
  }
  .time-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);}
  .time-card--us{background:var(--mint);border-color:var(--mint);color:var(--navy-abyss);}
  .time-card--us:hover{background:#7fdece;transform:translateY(-6px);}
  .time-card h3{font-family:var(--font-d);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin:0 0 22px;color:rgba(255,255,255,.55);}
  .time-card--us h3{color:rgba(4,44,47,.6);}
  .time-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;font-size:15.5px;line-height:1.56;}
  .time-list li{display:flex;align-items:flex-start;gap:13px;}
  .time-list li::before{content:"×";flex:none;font-family:var(--font-d);font-weight:700;font-size:18px;line-height:1.3;color:rgba(255,255,255,.4);}
  .time-card--us .time-list li::before{content:"✓";font-size:14px;color:var(--navy-deep);}
  .time-foot{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:46px;}
  .time-foot p{margin:0;font-size:15.5px;color:rgba(255,255,255,.72);text-align:center;}

  /* ---------- Section heads ---------- */
  .section-head{max-width:720px;margin:0 auto 56px;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .section-head h2{font-size:clamp(27px,3.5vw,42px);font-weight:700;text-wrap:balance;}
  .section-head p{color:var(--ink-soft);font-size:16.5px;margin:0;max-width:58ch;text-wrap:pretty;}

  /* ---------- Why us (bento) ---------- */
  .section-textured{background:var(--stone);padding:104px 0;position:relative;overflow:hidden;}
  .why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
  .why-card{
    background:var(--white);border-radius:var(--radius-lg);padding:34px 30px;
    box-shadow:0 2px 0 rgba(4,44,47,.03);border:1px solid var(--border);text-align:left;
    transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s;
    position:relative;overflow:hidden;
  }
  .why-card::after{content:"";position:absolute;inset:auto -30% -60% auto;width:200px;height:200px;border-radius:50%;
    background:radial-gradient(circle,rgba(109,214,194,.22),transparent 70%);opacity:0;transition:opacity .5s;}
  .why-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lift);border-color:transparent;}
  .why-card:hover::after{opacity:1;}
  .why-card:nth-child(1){grid-column:span 3;}
  .why-card:nth-child(2){grid-column:span 3;}
  .why-card:nth-child(3){grid-column:span 2;}
  .why-card:nth-child(4){grid-column:span 2;}
  .why-card:nth-child(5){grid-column:span 2;}
  .why-card .icon-badge{width:54px;height:54px;border-radius:15px;background:var(--navy-soft);display:flex;align-items:center;justify-content:center;margin:0 0 20px;transition:transform .45s var(--ease), background .3s;}
  .why-card:hover .icon-badge{transform:rotate(-8deg) scale(1.06);background:var(--mint);}
  .why-card .icon-badge svg{width:26px;height:26px;color:var(--navy);}
  .why-card h3{font-size:19px;font-weight:700;margin-bottom:9px;position:relative;z-index:1;}
  .why-card p{font-size:14.8px;color:var(--ink-soft);margin:0;position:relative;z-index:1;text-wrap:pretty;}

  /* ---------- Gallery (dark) ---------- */
  .gallery{background:var(--navy-abyss);padding:104px 0 84px;overflow:hidden;}
  .gallery .section-head h2{color:var(--white);}
  .gallery .section-head p{color:rgba(255,255,255,.66);}
  .gallery .eyebrow{color:var(--mint);background:rgba(109,214,194,.13);}
  .gallery .eyebrow::before{background:var(--mint);}
  .cf{position:relative;margin-top:44px;}
  .cf-stage{position:relative;height:clamp(230px,33vw,440px);touch-action:pan-y;cursor:grab;}
  .cf-stage:active{cursor:grabbing;}
  .cf-item{position:absolute;top:0;left:50%;margin:0;width:clamp(280px,46vw,680px);height:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 40px 80px -34px rgba(0,0,0,.8);transition:transform .6s var(--ease),opacity .6s ease;will-change:transform;}
  .cf-item[data-active="false"]{cursor:pointer;}
  .cf-ph{width:100%;height:100%;background:repeating-linear-gradient(135deg,#dfeae8 0 10px,#eef3f2 10px 20px);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;color:#78829a;font:600 11.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;}
  .cf-ph:has(img){padding:0;}
  .cf-ph img{width:100%;height:100%;object-fit:cover;display:block;}
  .cf-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:38px;}
  .cf-btn{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,transform .25s var(--ease);}
  .cf-btn:hover{background:rgba(255,255,255,.16);transform:scale(1.08);}
  .cf-btn svg{width:18px;height:18px;}
  .cf-dots{display:flex;align-items:center;gap:9px;}
  .cf-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.26);cursor:pointer;transition:width .4s var(--ease),background .3s ease;}
  .cf-dot[aria-current="true"]{width:30px;background:var(--mint);}
  .yt{max-width:940px;margin:68px auto 0;padding:0 28px;}
  .yt-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
  .yt-head h3{font-family:var(--font-d);font-size:20px;font-weight:700;color:#fff;margin:0;}
  .yt-head span{font-size:13.5px;color:rgba(255,255,255,.6);letter-spacing:.06em;text-transform:uppercase;}
  .yt-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#000;box-shadow:0 40px 80px -34px rgba(0,0,0,.85);cursor:pointer;border:0;padding:0;display:block;}
  .yt-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease),opacity .3s ease;}
  .yt-frame:hover img{transform:scale(1.05);opacity:.82;}
  .yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
  .yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;background:rgba(7,72,76,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;transition:background .3s ease,transform .3s var(--ease);pointer-events:none;}
  .yt-frame:hover .yt-play svg{fill:var(--navy-abyss);}
  .yt-frame:hover .yt-play{background:var(--mint);transform:translate(-50%,-50%) scale(1.1);}
  .yt-play svg{width:28px;height:28px;fill:#fff;margin-left:4px;}
  .cf-item[data-active="true"] .cf-ph{cursor:zoom-in;}

  .lb{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;background:rgba(4,44,47,.96);overscroll-behavior:contain;}
  .lb.open{display:flex;animation:fadeUp .3s var(--ease);}
  .lb-img{max-width:92vw;max-height:86vh;display:block;border-radius:10px;transform-origin:center center;transition:transform .22s ease;touch-action:none;user-select:none;-webkit-user-drag:none;cursor:zoom-in;}
  .lb.dragging .lb-img{transition:none;cursor:grabbing;}
  .lb-btn{position:absolute;top:22px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.09);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
  .lb-btn:hover{background:rgba(255,255,255,.22);}
  .lb-btn svg{width:20px;height:20px;}
  .lb-close{right:22px;}
  .lb-zoom{right:82px;}
  .lb-hint{position:absolute;bottom:24px;left:0;right:0;text-align:center;margin:0;font-size:13.5px;color:rgba(255,255,255,.66);pointer-events:none;}

  /* ---------- Process (sticky head + timeline) ---------- */
  .process{padding:104px 0;background:var(--white);}
  .process .container{display:grid;grid-template-columns:.85fr 1.15fr;gap:66px;align-items:start;}
  .process .section-head{position:sticky;top:calc(var(--header-h) + 44px);text-align:left;align-items:flex-start;margin:0;max-width:none;}
  .process .section-head h2{text-align:left;}
  .process .section-head p{text-align:left;}
  .process-grid{display:flex;flex-direction:column;gap:0;position:relative;}
  .process-grid::before{content:"";position:absolute;left:26px;top:14px;bottom:14px;width:2px;
    background:linear-gradient(180deg,var(--mint),rgba(11,122,114,.15));}
  .process-step{padding:0 0 44px 74px;position:relative;}
  .process-step:last-child{padding-bottom:0;}
  .process-step::before{display:none;}
  .process-num{
    font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--white);background:var(--navy);
    width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    position:absolute;left:0;top:-6px;z-index:1;box-shadow:0 0 0 8px var(--white), 0 14px 30px -14px rgba(11,122,114,.9);
    transition:transform .45s var(--ease), background .3s;
  }
  .process-step:hover .process-num{transform:scale(1.1);background:var(--mint-deep);}
  .process-step h3{font-size:20px;font-weight:700;margin-bottom:9px;text-wrap:pretty;}
  .process-step p{font-size:15px;color:var(--ink-soft);margin:0;text-wrap:pretty;}

  /* ---------- Pricing ---------- */
  .pricing{padding:104px 0;background:var(--stone);position:relative;overflow:hidden;}
  .pricing .container{position:relative;z-index:1;}
  .price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:960px;margin:0 auto;}
  .price-card{
    background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;
    transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s;position:relative;overflow:hidden;
  }
  .price-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lift);border-color:transparent;}
  .price-card h3{font-family:var(--font-d);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--navy);margin-bottom:18px;}
  .price-amount{font-family:var(--font-d);font-weight:700;font-size:clamp(32px,3.4vw,44px);color:var(--ink);display:flex;align-items:baseline;gap:8px;margin-bottom:18px;line-height:1;flex-wrap:wrap;letter-spacing:-.02em;}
  .price-amount .unit{font-size:14.5px;font-weight:700;color:var(--ink-soft);letter-spacing:0;}
  .price-card p{font-size:14.8px;color:var(--ink-soft);margin:0;text-wrap:pretty;}
  .price-note{text-align:center;max-width:660px;margin:38px auto 0;color:var(--ink-soft);font-size:14.5px;text-wrap:pretty;}

  /* ---------- Calculator ---------- */
  .calc{max-width:960px;margin:52px auto 0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;}
  .calc-head{padding:32px 38px 0;}
  .calc-head h3{font-family:var(--font-d);font-size:22px;font-weight:700;color:var(--ink);margin-bottom:7px;}
  .calc-head p{color:var(--ink-soft);font-size:14.5px;margin:0;}
  .calc-body{display:grid;grid-template-columns:1fr 340px;gap:0;}
  .calc-controls{padding:30px 38px 38px;display:flex;flex-direction:column;gap:28px;}
  .calc-block > .calc-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-family:var(--font-d);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--navy);margin-bottom:16px;}
  .calc-val{font-size:19px;font-weight:700;color:var(--ink);text-transform:none;letter-spacing:0;}
  .calc-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) var(--fill,30%),#dce8e6 var(--fill,30%),#dce8e6 100%);outline:none;}
  .calc-range::-webkit-slider-thumb{-webkit-appearance:none;width:27px;height:27px;border-radius:50%;background:var(--white);border:3px solid var(--navy);box-shadow:0 8px 18px -8px rgba(4,44,47,.6);cursor:pointer;transition:transform .2s;}
  .calc-range::-webkit-slider-thumb:hover{transform:scale(1.12);}
  .calc-range::-moz-range-thumb{width:21px;height:21px;border-radius:50%;background:var(--white);border:3px solid var(--navy);cursor:pointer;}
  .calc-scale{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-soft);margin-top:9px;}
  .calc-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
  .calc-seg label{position:relative;display:block;cursor:pointer;}
  .calc-seg input{position:absolute;opacity:0;pointer-events:none;}
  .calc-seg > label > span{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-weight:700;color:var(--ink);transition:border-color .25s,background .25s,box-shadow .25s,transform .25s var(--ease);}
  .calc-seg > label:hover > span{transform:translateY(-2px);border-color:var(--navy);}
  .calc-seg > label > span small{font-weight:600;font-size:12.5px;color:var(--ink-soft);}
  .calc-seg > label > input:checked + span{border-color:var(--navy);background:rgba(11,122,114,.07);box-shadow:inset 0 0 0 1px var(--navy);}
  .calc-seg > label > input:focus-visible + span{outline:2px solid var(--navy);outline-offset:2px;}
  .calc-checks{display:flex;flex-direction:column;gap:13px;}
  .calc-check{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease);}
  .calc-check:hover{transform:translateY(-2px);border-color:var(--navy);}
  .calc-check:has(input:checked){border-color:var(--navy);background:rgba(11,122,114,.07);}
  .calc-check input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--navy);cursor:pointer;}
  .calc-check .ct{font-weight:700;font-size:14.5px;color:var(--ink);display:block;margin-bottom:2px;}
  .calc-check .cs{font-size:13px;color:var(--ink-soft);display:block;line-height:1.5;}
  .calc-sub{margin:14px 0 0 34px;display:none;}
  .calc-sub.show{display:block;animation:fadeUp .35s var(--ease);}
  .calc-out{background:var(--navy-deep);color:#fff;padding:34px 32px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden;}
  .calc-out .co-label{font-family:var(--font-d);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;opacity:.66;}
  .calc-total{font-family:var(--font-d);font-size:clamp(38px,4vw,50px);font-weight:700;line-height:1;letter-spacing:-.025em;}
  .calc-lines{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px;font-size:13.5px;}
  .calc-lines div{display:flex;justify-content:space-between;gap:12px;}
  .calc-lines .cl-k{opacity:.74;}
  .calc-lines .cl-v{font-weight:700;white-space:nowrap;}
  .calc-min{font-size:12.5px;line-height:1.6;opacity:.76;margin:0;}
  .calc-out .btn{width:100%;justify-content:center;background:var(--mint);color:var(--navy-abyss);border-color:var(--mint);}
  .calc-out .btn:hover{background:#8ce0d0;border-color:#8ce0d0;color:var(--navy-abyss);}
  .calc-disclaimer{padding:18px 38px 26px;font-size:12.5px;color:var(--ink-soft);line-height:1.6;border-top:1px solid var(--border);margin:0;}

  /* ---------- File upload ---------- */
  .file-drop{position:relative;display:flex;align-items:center;gap:15px;padding:20px;border:1.5px dashed #b8d6d1;border-radius:var(--radius-md);background:#f3faf8;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease);}
  .file-drop:hover{border-color:var(--navy);background:#e6f5f2;transform:translateY(-2px);}
  .file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;}
  .file-drop svg{flex:none;width:27px;height:27px;color:var(--navy);}
  .file-drop .fd-t{font-weight:700;font-size:14.5px;color:var(--ink);display:block;}
  .file-drop .fd-s{font-size:12.5px;color:var(--ink-soft);display:block;margin-top:2px;}
  .file-list{margin-top:11px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-soft);}
  .file-list span{display:block;}
  .file-list .err{color:#b3261e;font-weight:700;}

  /* ---------- Service area (dark) ---------- */
  .area-section{padding:104px 0;position:relative;overflow:hidden;background:var(--navy-deep);color:var(--white);}
  .area-arcs{position:absolute;bottom:-110px;left:-130px;width:600px;height:520px;pointer-events:none;z-index:0;opacity:.5;}
  .area-arcs circle{stroke:#6dd6c2 !important;}
  .area-section .container{position:relative;z-index:1;}
  .area-section .eyebrow{color:var(--mint);background:rgba(109,214,194,.14);}
  .area-section .eyebrow::before{background:var(--mint);}
  .area-section .section-head h2{color:var(--white);}
  .area-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:0 auto;}
  .area-group{background:rgba(255,255,255,.055);border:1px solid var(--border-dark);border-radius:var(--radius-lg);padding:32px;transition:transform .45s var(--ease),background .35s;}
  .area-group:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);}
  .area-group h3{font-family:var(--font-d);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--mint);margin-bottom:20px;}
  .pill-list{display:flex;flex-wrap:wrap;gap:9px;}
  .pill-list span{background:rgba(255,255,255,.08);border:1px solid var(--border-dark);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;color:#fff;transition:background .25s,transform .25s var(--ease);}
  .pill-list span:hover{background:var(--mint);color:var(--navy-abyss);transform:translateY(-2px);}
  .area-note{text-align:center;max-width:60ch;margin:38px auto 0;color:rgba(255,255,255,.72);font-size:14.5px;text-wrap:pretty;}

  /* ---------- FAQ ---------- */
  .faq{padding:104px 0;background:var(--white);}
  .faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:13px;}
  .faq-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .3s, box-shadow .35s var(--ease), transform .35s var(--ease);}
  .faq-item:hover{border-color:var(--navy);transform:translateY(-2px);}
  .faq-item[open]{border-color:var(--navy);box-shadow:var(--shadow-sm);}
  .faq-item summary{list-style:none;cursor:pointer;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--font-d);font-weight:700;font-size:16.5px;color:var(--ink);}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"";flex:none;width:11px;height:11px;border-right:2.4px solid var(--navy);border-bottom:2.4px solid var(--navy);transform:rotate(45deg) translateY(-3px);transition:transform .35s var(--ease);}
  .faq-item[open] summary::after{transform:rotate(225deg) translateY(-3px);}
  .faq-list:not(.expanded) .faq-item.faq-more{display:none;}
  .faq-toggle-wrap{display:flex;justify-content:center;margin-top:30px;}
  .faq-toggle .ft-less{display:none;}
  .faq-toggle[aria-expanded="true"] .ft-more{display:none;}
  .faq-toggle[aria-expanded="true"] .ft-less{display:inline;}
  .faq-toggle svg{width:17px;height:17px;transition:transform .3s var(--ease);}
  .faq-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}
  .faq-item .faq-a{padding:0 28px 26px;color:var(--ink-soft);font-size:15.5px;line-height:1.78;text-wrap:pretty;animation:fadeUp .4s var(--ease);}

  /* ---------- Contact (dark) ---------- */
  .contact-section{background:var(--navy-abyss);padding:110px 0;color:var(--white);overflow:hidden;}
  .contact-section .container{position:relative;z-index:1;}
  .contact-section .eyebrow{color:var(--mint);background:rgba(109,214,194,.14);}
  .contact-section .eyebrow::before{background:var(--mint);}
  .contact-section .section-head h2,.contact-section .section-head p{color:var(--white);}
  .contact-section .section-head p{opacity:.76;}
  .contact-grid{display:grid;grid-template-columns:1.28fr 1fr;gap:38px;align-items:start;max-width:1060px;margin:0 auto;}
  .quote-form{background:var(--white);border-radius:var(--radius-xl);padding:38px;box-shadow:var(--shadow);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;}
  .field label{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.02em;}
  .field input,.field select,.field textarea{
    font-family:var(--font-b);font-size:15px;padding:13px 15px;border:1.5px solid var(--border);border-radius:var(--radius-sm);
    color:var(--ink);background:var(--white);width:100%;transition:border-color .25s,box-shadow .25s;
  }
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px rgba(11,122,114,.12);}
  .field select{
    appearance:none;-webkit-appearance:none;min-height:46px;padding:13px 42px 13px 15px;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b7a72' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:17px 17px;
  }
  .field textarea{resize:vertical;min-height:96px;}
  .hidden-field{position:absolute;left:-9999px;top:auto;}
  .form-submit{width:100%;justify-content:center;margin-top:6px;}
  .form-note{font-size:12.5px;color:var(--ink-soft);margin-top:16px;text-align:center;}
  .form-msg{display:none;padding:15px 17px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:700;margin-bottom:17px;}
  .form-msg.show{display:block;animation:fadeUp .4s var(--ease);}
  .form-msg--ok{background:#e4f7f4;color:var(--mint-deep);}
  .form-msg--err{background:#fbeceb;color:#a13a32;}

  .contact-side{color:var(--white);}
  .contact-side h3{font-family:var(--font-d);font-size:20px;font-weight:700;margin-bottom:22px;color:var(--white);}
  .contact-line{display:flex;align-items:center;gap:14px;margin-bottom:16px;text-decoration:none;color:var(--white);font-weight:700;font-size:15.5px;transition:transform .3s var(--ease);}
  .contact-line:hover{transform:translateX(5px);color:var(--mint);}
  .contact-line .icon-circle{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s;}
  .contact-line:hover .icon-circle{background:var(--mint);}
  .contact-line .icon-circle svg{width:18px;height:18px;color:var(--mint);transition:color .3s;}
  .contact-line:hover .icon-circle svg{color:var(--navy-abyss);}
  .trust-badge{display:flex;align-items:center;gap:16px;margin-top:28px;color:var(--white);}
  .trust-badge svg{flex:none;width:44px;height:51px;color:var(--mint);}
  .trust-badge span{font-family:var(--font-d);font-weight:700;font-size:19px;line-height:1.22;max-width:12ch;text-wrap:balance;}
  .contact-side .trust-line{margin-top:26px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);font-size:14.5px;opacity:.8;}

  /* ---------- Feedback ---------- */
  .fb{background:var(--stone);padding:100px 0;}
  .fb-inner{max-width:660px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .fb-inner > p{color:var(--ink-soft);font-size:16.5px;margin:0 auto 34px;max-width:54ch;text-wrap:pretty;}
  .fb-card{background:var(--white);border-radius:var(--radius-xl);padding:38px;box-shadow:var(--shadow-sm);border:1px solid var(--border);text-align:left;width:100%;}
  .fb-stars{display:flex;flex-direction:row-reverse;justify-content:center;gap:7px;margin:0 0 8px;}
  .fb-stars input{position:absolute;opacity:0;width:1px;height:1px;}
  .fb-stars label{cursor:pointer;padding:3px;line-height:0;}
  .fb-stars svg{width:34px;height:34px;fill:#dfe7e5;transition:fill .18s,transform .25s var(--ease);}
  .fb-stars label:hover svg,.fb-stars label:hover ~ label svg,
  .fb-stars input:checked ~ label svg{fill:#f0a92b;}
  .fb-stars label:hover svg{transform:scale(1.18);}
  .fb-stars input:focus-visible + label svg{outline:3px solid var(--mint-deep);outline-offset:2px;}
  .fb-rate-label{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:12px;letter-spacing:.02em;}
  .fb-consent{display:flex;align-items:flex-start;gap:13px;font-size:14px;color:var(--ink-soft);line-height:1.56;margin:6px 0 20px;cursor:pointer;}
  .fb-consent input{flex:none;width:19px;height:19px;margin-top:1px;accent-color:var(--navy);cursor:pointer;}
  .fb-note{font-size:12.5px;color:var(--ink-soft);margin:16px 0 0;text-align:center;}

  /* ---------- Footer ---------- */
  .site-footer{background:var(--navy-abyss);color:rgba(255,255,255,.78);padding:72px 0 32px;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.12);}
  .footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:16px;}
  .footer-brand .brand-logo{height:21px;filter:brightness(0) invert(1);}
  .footer-tagline{font-size:14.5px;opacity:.72;max-width:28ch;}
  .footer-col h4{font-family:var(--font-d);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--white);margin-bottom:18px;}
  .footer-col a,.footer-col p{display:block;color:rgba(255,255,255,.74);text-decoration:none;font-size:14.5px;margin-bottom:11px;transition:color .2s,transform .25s var(--ease);}
  .footer-col a:hover{color:var(--mint);transform:translateX(3px);}
  .footer-social{display:flex;gap:11px;margin-top:20px;}
  .footer-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;overflow:hidden;transition:transform .3s var(--ease);margin:0;}
  .footer-social a:hover{transform:translateY(-4px) scale(1.06);}
  .footer-social img{width:38px;height:38px;display:block;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:13px;opacity:.62;flex-wrap:wrap;gap:12px;}
  .footer-legal-links{display:flex;flex-wrap:wrap;gap:8px 20px;order:2;}
  .footer-legal-links a{color:rgba(255,255,255,.7);text-decoration:none;}
  .footer-legal-links a:hover{color:var(--mint);}
  .footer-reg{opacity:.55;font-size:13px;margin:16px 0 0;line-height:1.55;}

  /* ---------- Mobile sticky bar ---------- */
  .mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:150;display:none;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--border);box-shadow:0 -10px 26px -16px rgba(4,44,47,.4);padding:11px 14px;gap:10px;}
  .mobile-bar a{flex:1;text-align:center;}

  /* ---------- Cookie bar ---------- */
  .cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:200;display:none;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -18px 50px -28px rgba(4,44,47,.5);padding:18px 0;}
  .cookie-bar.show{display:block;animation:fadeUp .45s var(--ease);}
  .cookie-bar .container{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between;}
  .cookie-bar p{margin:0;font-size:14px;color:var(--ink-soft);max-width:660px;}
  .cookie-bar p a{color:var(--navy);}
  .cookie-actions{display:flex;align-items:center;gap:11px;}
  .cookie-btn{border:0;cursor:pointer;font:700 14px/1 var(--font-b);padding:13px 22px;border-radius:999px;transition:transform .25s var(--ease),background .2s;}
  .cookie-btn:hover{transform:translateY(-2px);}
  .cookie-btn--yes{background:var(--navy);color:#fff;}
  .cookie-btn--no{background:var(--stone-2);color:var(--ink);}

  /* ---------- Motion ---------- */
  @keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease), transform .85s var(--ease);transition-delay:var(--d,0ms);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}
  [data-parallax]{will-change:transform;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .mesh i,.mq-track,.gal-track,.ba-wrap::before{animation:none !important;}
    *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  }

  /* ---------- Responsive ---------- */
  @media (max-width:1080px){
    .hero .container{grid-template-columns:1fr;gap:48px;}
    .hero-head{text-align:center;align-items:center;display:flex;flex-direction:column;}
    .hero-sub{max-width:52ch;}
    .hero-ctas{justify-content:center;}
    .ba-wrap{max-width:600px;margin:0 auto;}
    .process .container{grid-template-columns:1fr;gap:44px;}
    .process .section-head{position:static;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .why-card:nth-child(n){grid-column:span 1;}
  }
  @media (max-width:980px){
    .main-nav,.header-actions .phone-link,.header-actions .lang-toggle,.header-actions .btn{display:none;}
    .hamburger{display:inline-flex;}
    .area-groups{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .contact-side{order:2;}
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px;}
    .mobile-bar{display:flex;}
    body{padding-bottom:72px;}
    .calc-body{grid-template-columns:1fr;}
    .calc-head{padding:26px 24px 0;}
    .calc-controls{padding:24px;}
    .calc-out{padding:28px 24px;}
    .calc-disclaimer{padding:18px 24px 22px;}
  }
  @media (max-width:640px){
    .container{padding:0 20px;}
    .hero{padding:44px 0 62px;}
    .hero-ctas{flex-direction:column;align-items:stretch;width:100%;}
    .hero-ctas .btn{width:100%;}
    .why-grid{grid-template-columns:1fr;}
    .price-grid{grid-template-columns:1fr;}
    .price-card{padding:28px;}
    .form-row{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;gap:28px;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
    .quote-form,.fb-card{padding:26px;}
    .section-textured,.process,.area-section,.contact-section,.pricing,.faq,.fb,.time-band{padding:64px 0;}
    .gallery{padding:64px 0 52px;}
    .section-head{margin-bottom:38px;}
    .calc-seg{grid-template-columns:1fr;}
    .lb-hint{display:none;}
    .cf-stage{height:clamp(190px,52vw,300px);}
    .cf-item{width:min(78vw,420px);}
    .yt{margin-top:44px;padding:0 20px;}
    .yt-play{width:62px;height:62px;}
    .process-step{padding-left:62px;padding-bottom:36px;}
    .process-grid::before{left:22px;}
    .process-num{width:46px;height:46px;font-size:13.5px;}
    .mq-track > span{font-size:14px;padding:0 18px;}
  }