*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f6f3ee;--bg-alt:#edebe5;--bg-card:#fff;--ink:#1a1714;--ink-mid:#4b4640;--ink-soft:#9c978f;--ink-xsoft:#ccc8c0;--amber:#b8700a;--amber-d:#8c5200;--amber-l:#f0c060;--amber-p:#fdf3e0;--display:'Outfit', sans-serif;--italic:'Outfit', sans-serif;--body:'Poppins', sans-serif;--ease:cubic-bezier(0.76,0,0.24,1)}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:hidden;cursor:none}
.cur{position:fixed;width:8px;height:8px;background:var(--amber);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease)}
.cur-ring{position:fixed;width:34px;height:34px;border:1.5px solid var(--amber);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .1s var(--ease),top .1s var(--ease),width .25s,height .25s;opacity:.45}
.cur.big{width:18px;height:18px}.cur-ring.big{width:56px;height:56px;opacity:.2}
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:26px 64px;transition:background .4s,padding .4s,box-shadow .4s}
nav.scrolled{background:rgba(246,243,238,.95);backdrop-filter:blur(18px);padding:16px 64px;box-shadow:0 1px 0 var(--ink-xsoft)}
.nav-logo{font-family:var(--italic);font-size:26px;letter-spacing:.06em;color:var(--ink);text-decoration:none}
.nav-logo b{color: #ff6850;font-weight:400}
.nav-links{display:flex;gap:40px;list-style:none}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mid);text-decoration:none;position:relative;transition:color .3s}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1.5px;background:var(--amber);transition:width .3s var(--ease)}
.nav-links a:hover{color:var(--amber-d)}.nav-links a:hover::after{width:100%}
.nav-back{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mid);text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .3s}
.nav-back::before{content:'←';transition:transform .3s}
.nav-back:hover{color:var(--amber-d)}.nav-back:hover::before{transform:translateX(-3px)}
.nav-cta{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--ink);padding:12px 28px;text-decoration:none;cursor:none;transition:background .3s,transform .3s}
.nav-cta:hover{background:var(--amber-d);transform:translateY(-1px)}
/* SERVICE HERO */
.sp-hero{padding:160px 64px 100px;position:relative;overflow:hidden;min-height:60vh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--bg)}
.sp-hero-bg{position:absolute;inset:0;pointer-events:none}
.sp-ghost{position:absolute;top:-.08em;right:-.04em;font-family:var(--display);font-size:clamp(160px,22vw,340px);font-weight:900;line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(26,23,20,.045);user-select:none;animation:gf 16s ease-in-out infinite alternate}
@keyframes gf{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(18px) rotate(0deg)}}
.sp-orb{position:absolute;right:5%;top:10%;width:clamp(200px,25vw,380px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 38%,#fde5a0 0%,#e8a828 45%,#c47a0a 70%,transparent 100%);opacity:.09;filter:blur(60px);animation:ob 9s ease-in-out infinite alternate}
@keyframes ob{from{transform:scale(1);opacity:.09}to{transform:scale(1.18);opacity:.14}}
.sp-vline{position:absolute;top:0;right:28%;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--amber) 50%,transparent);opacity:.15}
.sp-breadcrumb{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:32px;position:relative;z-index:2;opacity:0;animation:ri .8s .2s var(--ease) forwards}
.sp-breadcrumb a{color:var(--amber-d);text-decoration:none;transition:opacity .3s}.sp-breadcrumb a:hover{opacity:.7}
.sp-breadcrumb span{color:var(--ink-xsoft)}
.sp-tag{display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--amber-d);margin-bottom:28px;position:relative;z-index:2;opacity:0;animation:ri .8s .3s var(--ease) forwards}
.sp-tag::before{content:'';width:36px;height:1.5px;background:var(--amber)}
.sp-title{font-family:var(--display);font-size:clamp(52px,8.5vw,120px);font-weight:900;line-height:.92;letter-spacing:-.035em;color:var(--ink);max-width:820px;position:relative;z-index:2;opacity:0;animation:ri 1s .42s var(--ease) forwards}
.sp-title em{font-style:italic;font-weight:400;color:var(--amber)}
.sp-subtitle{margin-top:32px;max-width:520px;font-size:15px;line-height:1.88;color:var(--ink-mid);font-weight:300;position:relative;z-index:2;opacity:0;animation:ri .9s .6s var(--ease) forwards}
.sp-hero-cta{margin-top:44px;display:flex;gap:20px;flex-wrap:wrap;position:relative;z-index:2;opacity:0;animation:ri .9s .75s var(--ease) forwards}
/* OVERVIEW STRIP */
.sp-strip{background:var(--ink);padding:48px 64px;display:flex;gap:0;border-top:3px solid var(--amber)}
.sp-strip-item{flex:1;padding:0 40px;border-right:1px solid rgba(246,243,238,.1);text-align:center}
.sp-strip-item:first-child{padding-left:0}.sp-strip-item:last-child{border-right:none;padding-right:0}
.sp-strip-num{font-family:var(--display);font-size:40px;font-weight:700;color:var(--amber-l);line-height:1;letter-spacing:-.02em}
.sp-strip-lbl{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,243,238,.45);margin-top:6px}
/* SECTIONS */
.sp-section{padding:100px 64px}
.sp-section.alt{background:var(--bg-alt)}
.lbl{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--amber-d)}
.lbl::before{content:'';width:32px;height:1.5px;background:var(--amber);display:block}
.sp-section h2{font-family:var(--display);font-size:clamp(30px,3.8vw,52px);font-weight:700;line-height:1.08;margin-bottom:52px}
.sp-section h2 em{font-style:italic;font-weight:400;color:var(--amber)}
/* WHAT WE OFFER GRID */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.offer-card{background:var(--bg-card);padding:40px 36px;border:1px solid transparent;transition:border-color .3s,transform .35s var(--ease),box-shadow .35s;position:relative;overflow:hidden}
.offer-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--amber),var(--amber-l));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.offer-card:hover{border-color:var(--ink-xsoft);transform:translateY(-4px);box-shadow:0 18px 48px rgba(26,23,20,.07)}.offer-card:hover::after{transform:scaleX(1)}
.offer-icon{width:42px;height:42px;background:var(--amber-p);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.offer-icon svg{width:20px;height:20px;stroke:var(--amber-d);fill:none;stroke-width:1.5}
.offer-card h3{font-family:var(--display);font-size:20px;font-weight:700;color:var(--ink);margin-bottom:10px;line-height:1.2}
.offer-card p{font-size:13px;line-height:1.8;color:var(--ink-mid)}
/* PROCESS TIMELINE */
.process-timeline{display:flex;flex-direction:column;gap:0}
.pt-row{display:grid;grid-template-columns:80px 1fr;gap:40px;align-items:start;padding:36px 0;border-bottom:1px solid var(--ink-xsoft);transition:background .3s}
.pt-row:hover{background:var(--amber-p);margin:0 -64px;padding:36px 64px}
.pt-row:first-child{border-top:1px solid var(--ink-xsoft)}
.pt-num{font-family:var(--display);font-size:44px;font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(184,112,10,.3);line-height:1;letter-spacing:-.03em}
.pt-body h3{font-size:16px;font-weight:700;letter-spacing:.08em;color:var(--ink);margin-bottom:8px}
.pt-body p{font-size:13px;line-height:1.82;color:var(--ink-mid)}
/* BENEFITS GRID */
.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.benefit-card{background:var(--bg-card);padding:36px 32px;border-left:3px solid var(--amber);transition:box-shadow .3s}
.benefit-card:hover{box-shadow:0 12px 40px rgba(26,23,20,.07)}
.benefit-card h3{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:10px}
.benefit-card h3::before{content:'✦';color:var(--amber);font-size:12px;flex-shrink:0}
.benefit-card p{font-size:13px;line-height:1.8;color:var(--ink-mid)}
/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.two-col-img{aspect-ratio:4/3;background:var(--bg-alt);border:1px solid var(--ink-xsoft);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.two-col-img .big-icon{font-size:80px;opacity:.12}
.two-col-img::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--amber-p) 0%,transparent 60%)}
.two-col-text .lbl{margin-bottom:14px}
.two-col-text h2{font-family:var(--display);font-size:clamp(28px,3.5vw,46px);font-weight:700;line-height:1.1;margin-bottom:20px}
.two-col-text h2 em{font-style:italic;font-weight:400;color:var(--amber)}
.two-col-text p{font-size:14px;line-height:1.9;color:var(--ink-mid);margin-bottom:16px}
/* FAQ */
.faq-list{max-width:760px}
.faq-item{border-bottom:1px solid var(--ink-xsoft);overflow:hidden}
.faq-item:first-child{border-top:1px solid var(--ink-xsoft)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:none;font-size:15px;font-weight:600;color:var(--ink);transition:color .3s;gap:20px}
.faq-q:hover{color:var(--amber-d)}
.faq-toggle{width:28px;height:28px;border:1.5px solid var(--ink-xsoft);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--amber);flex-shrink:0;transition:transform .3s,border-color .3s}
.faq-item.open .faq-toggle{transform:rotate(45deg);border-color:var(--amber)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .3s}
.faq-item.open .faq-a{max-height:200px;padding-bottom:22px}
.faq-a p{font-size:13px;line-height:1.82;color:var(--ink-mid)}
/* CTA BAND */
.sp-cta{background:var(--ink);padding:100px 64px;text-align:center;position:relative;overflow:hidden}
.sp-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(184,112,10,.1) 0%,transparent 65%)}
.sp-cta .lbl{justify-content:center;color:var(--amber-l)}.sp-cta .lbl::before{background:var(--amber-l)}
.sp-cta h2{font-family:var(--display);font-size:clamp(36px,6vw,76px);font-weight:900;line-height:.95;color:#f6f3ee;max-width:640px;margin:0 auto 20px;letter-spacing:-.03em}
.sp-cta h2 em{font-style:italic;font-weight:400;color:var(--amber-l)}
.sp-cta p{font-size:14px;color:rgba(246,243,238,.5);max-width:400px;margin:0 auto 44px;line-height:1.85}
.sp-cta-b{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.btn-fill-inv{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--amber-l);padding:18px 48px;text-decoration:none;display:inline-block;transition:background .3s,transform .3s var(--ease)}
.btn-fill-inv:hover{background:var(--amber);transform:translateY(-2px)}
.btn-line-inv{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,243,238,.6);text-decoration:none;display:flex;align-items:center;gap:10px;border-bottom:1.5px solid rgba(246,243,238,.2);padding-bottom:3px;transition:color .3s,border-color .3s}
.btn-line-inv:hover{color:var(--amber-l);border-color:var(--amber-l)}
/* SERVICE NAV */
.other-services{padding:80px 64px;background:var(--bg-alt)}
.other-services h3{font-family:var(--display);font-size:clamp(22px,2.5vw,34px);font-weight:700;margin-bottom:36px;color:var(--ink)}
.other-services h3 em{font-style:italic;font-weight:400;color:var(--amber)}
.os-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.os-card{background:var(--bg-card);padding:28px 24px;text-decoration:none;border:1px solid transparent;transition:border-color .3s,transform .35s var(--ease)}
.os-card:hover{border-color:var(--ink-xsoft);transform:translateY(-3px)}
.os-card-n{font-size:10px;color:var(--amber);font-family:var(--display);opacity:.6;margin-bottom:10px;letter-spacing:.1em}
.os-card h4{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);line-height:1.2;margin-bottom:8px}
.os-card p{font-size:11px;color:var(--ink-soft);line-height:1.6}
/* FOOTER */
footer{background:var(--ink);border-top:1px solid rgba(246,243,238,.07);padding:60px 64px 36px;color:rgba(246,243,238,.45)}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:52px;margin-bottom:52px}
.ft-logo{font-family:var(--italic);font-size:24px;color:#f6f3ee;text-decoration:none;letter-spacing:.06em;display:block;margin-bottom:16px}
.ft-logo b{color:var(--amber-l);font-weight:400}
.ft-brand p{font-size:13px;line-height:1.75}
.ft-col h4{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--amber-l);margin-bottom:18px}
.ft-col ul{list-style:none}.ft-col li{margin-bottom:9px}
.ft-col a{font-size:13px;color:rgba(246,243,238,.4);text-decoration:none;transition:color .3s}
.ft-col a:hover{color:#f6f3ee}
.ft-bot{border-top:1px solid rgba(246,243,238,.07);padding-top:24px;display:flex;justify-content:space-between;align-items:center}
.ft-bot p{font-size:12px;color:rgba(246,243,238,.18)}
.ft-soc{display:flex;gap:18px}
.ft-soc a{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,243,238,.28);text-decoration:none;transition:color .3s}
.ft-soc a:hover{color:var(--amber-l)}
/* ANIMATIONS */
@keyframes ri{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}
@media(max-width:1100px){nav{padding:20px 32px}nav.scrolled{padding:14px 32px}.sp-hero{padding:130px 32px 80px}.sp-strip{padding:40px 32px;flex-wrap:wrap}.sp-strip-item{min-width:50%}.sp-section{padding:80px 32px}.pt-row:hover{margin:0 -32px;padding:36px 32px}.offer-grid{grid-template-columns:repeat(2,1fr)}.benefits-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.two-col-img{display:none}.os-grid{grid-template-columns:repeat(2,1fr)}.ft-top{grid-template-columns:1fr 1fr}.other-services{padding:60px 32px}footer{padding:60px 32px 32px}}
@media(max-width:768px){.nav-links{display:none}.offer-grid{grid-template-columns:1fr}.os-grid{grid-template-columns:1fr}.ft-top{grid-template-columns:1fr;gap:32px}.sp-strip{flex-direction:column}.sp-strip-item{border-right:none;border-bottom:1px solid rgba(246,243,238,.1);padding:20px 0}}
  .nav-toggle { display:none; background:none; border:none; color:var(--ink); cursor:none; z-index:201; }
@media(max-width:768px){
  .nav-cta { display:none !important; }
  .nav-toggle { display:block; order:2; margin-left:auto; }
  .nav-logo { order:1; z-index:202; }
  nav .nav-links {
    position:fixed; top:0; left:0; right:0; bottom:0; padding:0;
    min-width: 100vw; min-height: 100vh;
    background:rgba(246,243,238,0.98); backdrop-filter:blur(10px);
    flex-direction:column; justify-content:center; align-items:center;
    opacity:0; pointer-events:none; transition:opacity .4s var(--ease);
    z-index:200; gap:36px; display:flex; margin:0;
  }
  nav .nav-links.active { opacity:1; pointer-events:auto; }
  nav .nav-links a { font-size:18px; }
}
@media(max-width:480px){
  html, body { overflow-x: hidden; width: 100%; position: relative; }
  .h-h1 { font-size: 46px !important; line-height: 1.05; }
  .sp-title { font-size: 40px !important; line-height: 1.1; }
  .h-tag, .sp-tag { flex-wrap: wrap; letter-spacing: 0.15em !important; gap: 8px; }
  .h-ghost, .sp-ghost { font-size: 110px !important; }
  .h-content { padding-left: 20px !important; padding-right: 20px !important; }
  .sp-hero { padding-left: 20px !important; padding-right: 20px !important; }
  nav, nav.scrolled { padding-left: 20px !important; padding-right: 20px !important; }
}

    .scroll-top {
      position: fixed;
      bottom: 30px;
      right: 30px;
      width: 44px;
      height: 44px;
      background: var(--ink);
      color: var(--amber-l);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: none;
      opacity: 0;
      pointer-events: none;
      z-index: 199;
      transition: opacity 0.4s var(--ease), transform 0.4s var(--ease), background 0.3s;
      box-shadow: 0 8px 24px rgba(26,23,20,0.15);
      border: 1px solid rgba(246, 243, 238, 0.1);
      transform: translateY(20px);
    }
    .scroll-top.visible {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
    }
    .scroll-top:hover {
      background: var(--amber-d);
      color: #fff;
      transform: translateY(-3px);
    }
    .scroll-top svg {
      width: 20px;
      height: 20px;
      stroke: currentColor;
      stroke-width: 2;
      fill: none;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    @media (max-width: 768px) {
      .scroll-top {
        bottom: 20px;
        right: 20px;
      }
    }