
@font-face {
  font-family: 'Soehne Buch';
  src: url('assets/fonts/soehne-buch.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Soehne Kraftig';
  src: url('assets/fonts/soehne-kraftig.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg: #E8E5E1;
  --bg-card: #ffffff;
  --bg-dark: #180808;
  --bg-dark2: #230c0c;
  --text: #1E0808;
  --text-muted: #6B5B5B;
  --text-light: rgba(255,255,255,0.65);
  --accent: #1E0808;
  --border: rgba(30,8,8,0.1);
  --border-dark: rgba(255,255,255,0.08);
  --radius: 20px;
  --radius-pill: 999px;
  --max-w: 1280px;
  --nav-h: 68px;
  --ease: cubic-bezier(.25,.46,.45,.94);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased}
body{font-family:'Soehne Buch',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
/* NOISE GRAIN TEXTURE — GPU-promoted to avoid scroll repaints */
body::after{content:'';position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;will-change:transform}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit}

.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 2.5rem}
.section{padding:110px 0}
@media(max-width:768px){.section{padding:72px 0}}
@media(max-width:480px){.section{padding:56px 0}}

/* TAGS */
.tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:rgba(30,8,8,0.07);color:var(--text-muted);padding:.3rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--border)}
.tag--light{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);border-color:var(--border-dark)}

/* SECTION HEADS */
.section-head{margin-bottom:60px}
.section-head .tag{margin-bottom:1.25rem}
.section-title{font-family:'Soehne Buch',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.15;margin-bottom:.85rem;color:var(--text)}
.section-desc{font-size:1rem;color:var(--text-muted);max-width:520px;line-height:1.75}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.6rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:600;transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn--dark{background:var(--bg-dark);color:#fff}
.btn--dark:hover{opacity:.85;box-shadow:0 8px 24px rgba(24,8,8,.35)}
.btn--outline{border:1.5px solid var(--border);color:var(--text);background:transparent}
.btn--outline:hover{border-color:var(--text);background:var(--text);color:#fff}
.btn--light-outline{border:1.5px solid rgba(255,255,255,0.25);color:#fff;background:transparent}
.btn--light-outline:hover{background:rgba(255,255,255,.1)}
.btn--full{width:100%;justify-content:center}
.btn-arrow{display:inline-block;transition:transform .2s var(--ease)}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);transition:background .3s,backdrop-filter .3s,box-shadow .3s}
.nav.scrolled{background:rgba(232,229,225,.88);backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 1px 0 var(--border)}
.nav__container{height:100%;max-width:var(--max-w);margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;gap:2rem}
.nav__brand{display:flex;align-items:center;gap:.6rem}
.nav__logo-img{width:32px;height:32px;object-fit:contain}
.nav__brand-name{font-family:'Soehne Kraftig',sans-serif;font-size:1.1rem;font-weight:500;color:var(--text)}
.nav__links{display:flex;align-items:center;gap:2rem;margin-left:auto}
.nav__link{font-size:.88rem;font-weight:500;color:var(--text-muted);transition:color .2s;position:relative}
.nav__link::after{content:'';position:absolute;bottom:-4px;left:50%;right:50%;height:1.5px;background:var(--text);border-radius:1px;transition:left .3s var(--ease),right .3s var(--ease)}
.nav__link:hover{color:var(--text)}
.nav__link.active{color:var(--text)}
.nav__link.active::after{left:0;right:0}
.nav__cta{margin-left:1rem;padding:.55rem 1.3rem;font-size:.88rem}
/* Hamburger — hidden on desktop, shown on mobile */
.hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;margin-left:auto;position:relative;z-index:9002;-webkit-tap-highlight-color:transparent;touch-action:manipulation;color:var(--text)}
.hamburger__bar{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .3s var(--ease)}
.hamburger.open .hamburger__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open .hamburger__bar:nth-child(2){opacity:0}
.hamburger.open .hamburger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mobile overlay — lives OUTSIDE nav to avoid backdrop-filter containing block issues */
.nav__mobile{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),visibility .3s}
.nav__mobile.open{opacity:1;visibility:visible;pointer-events:auto}
/* Close button */
.nav__mobile-close{position:absolute;top:1.25rem;right:1.25rem;z-index:9001;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text);-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:0}
.nav__mobile-links{display:flex;flex-direction:column;gap:2.5rem;text-align:center;padding:0;margin:0;list-style:none}
.nav__mobile-link{font-family:'Soehne Buch',sans-serif;font-size:2rem;font-weight:400;color:var(--text);transition:opacity .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.nav__mobile-link:hover{opacity:.6}
.nav__mobile-cta{font-family:'Soehne Kraftig',sans-serif;font-size:1rem;font-weight:600;display:inline-block;padding:.75rem 2rem;background:var(--bg-dark);color:#fff;border-radius:var(--radius-pill)}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + 60px) 0 80px;position:relative;overflow:hidden}
/* Subtle warm glow in the hero background */
.hero::before{content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:900px;height:600px;background:radial-gradient(ellipse at 50% 0%,rgba(120,20,20,.09) 0%,transparent 65%);pointer-events:none;z-index:0}
.hero .container{position:relative;z-index:1}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hero__badge{margin-bottom:1.5rem}
.hero__headline{font-family:'Soehne Buch',sans-serif;font-size:clamp(2.6rem,5vw,4.25rem);font-weight:400;line-height:1.1;margin-bottom:1.25rem;color:var(--text);letter-spacing:-.01em}
.hero__headline em{font-style:italic;color:var(--text-muted)}
.hero__sub{font-size:1.05rem;color:var(--text-muted);max-width:440px;margin-bottom:2.25rem;line-height:1.75}
.hero__ctas{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hero__visual{position:relative;display:flex;align-items:center;justify-content:center}
.hero__canvas{position:relative;width:100%;max-width:520px;aspect-ratio:1}
.hero__logo-bg{width:80%;height:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}
.hero__logo-ambient{width:100%;height:100%;object-fit:contain;opacity:.1;filter:none;animation:float-slow 8s ease-in-out infinite;will-change:transform}
@keyframes float-slow{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.02)}}
/* Hero visual radial glow */
.hero__visual::before{content:'';position:absolute;width:480px;height:480px;background:radial-gradient(circle,rgba(100,20,20,.1) 0%,transparent 68%);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}
.hero__card{position:absolute;background:linear-gradient(135deg,#fff 0%,#faf9f7 100%);border-radius:16px;padding:.9rem 1.2rem;box-shadow:0 4px 6px rgba(30,8,8,.04),0 12px 32px rgba(30,8,8,.11),0 1px 0 rgba(255,255,255,.9) inset;border:1px solid rgba(30,8,8,.07);display:flex;align-items:center;gap:.75rem;will-change:transform}
.hero__card--1{top:10%;left:-5%;animation:float-a 6s ease-in-out infinite}
.hero__card--2{bottom:20%;left:-8%;animation:float-b 7s ease-in-out infinite 1s}
.hero__card--3{top:18%;right:-2%;animation:float-a 5.5s ease-in-out infinite .5s}
@keyframes float-a{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes float-b{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.hero__card-icon{font-size:1.3rem;color:var(--text)}
.hero__card-body{display:flex;flex-direction:column}
.hero__card-body strong{font-size:.83rem;font-weight:700;color:var(--text)}
.hero__card-body span{font-size:.73rem;color:var(--text-muted)}
.hero__card-label{font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}
.hero__card-status{display:flex;align-items:center;gap:.4rem;font-size:.83rem;font-weight:700;color:#1a7a4a;margin-top:.2rem}
.status-dot{width:7px;height:7px;border-radius:50%;background:#1a7a4a}
.hero__card-emoji{font-size:1.2rem}
.hero__card-live{font-size:.83rem;font-weight:700;color:var(--text)}
.hero__scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.hero__scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--text-muted),transparent);animation:scroll-line 2s ease-in-out infinite}
@keyframes scroll-line{0%,100%{opacity:.4}50%{opacity:1}}
/* Mobile-only card strip */
.hero__mobile-cards{display:none}

/* SERVICES */
.services{background:var(--bg);content-visibility:auto;contain-intrinsic-size:auto 800px}
.services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;position:relative;transition:transform .3s var(--ease),box-shadow .3s;display:flex;flex-direction:column;aspect-ratio:1/1;will-change:transform}
.service-card:hover{transform:translateY(-5px);box-shadow:0 0 0 1.5px var(--text),0 20px 48px rgba(30,8,8,.13)}
.service-card__icon{width:36px;height:36px;color:var(--text-muted);margin-bottom:1rem}
.service-card__title{font-family:'Soehne Kraftig',sans-serif;font-size:1.05rem;font-weight:500;margin-bottom:.6rem;color:var(--text)}
.service-card__desc{font-size:.75rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem}
.service-card__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:auto}
.service-card__tag{font-size:.65rem;font-weight:500;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);padding:.2rem .6rem;border-radius:var(--radius-pill)}

/* PROCESS */
.process{background:var(--bg);padding:80px 0;content-visibility:auto;contain-intrinsic-size:auto 1200px}
.process .container {
  max-width: 95vw;
  padding: 0;
}
.card-container.is-linear-gradient-maroon {
  background: linear-gradient(135deg, #2b0808 0%, #110202 100%);
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 64px rgba(0,0,0,0.2);
  width: 100%;
}
.card-padding-global { padding: 5rem; }
.process__tag { display: inline-flex; margin-bottom: 3rem; }
.process__rows { display: flex; flex-direction: column; gap: 0; }
.process__row {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 4rem;
  align-items: center;
  padding: 3rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.process__row:last-child { border-bottom: none; padding-bottom: 0; }
.process__row:first-child { padding-top: 0; }
.process__text { display: flex; flex-direction: column; gap: 1rem; }
.process__img-card {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}
.process__img { width: 100%; height: auto; display: block; object-fit: cover; aspect-ratio: 16/10; filter: grayscale(100%); pointer-events: none; }
.is-linear-gradient-maroon .heading-style-h2 { color: #fff; }
.is-linear-gradient-maroon .content-a_paragraph { color: rgba(255,255,255,0.6); }
.heading-style-h2{font-family:'Soehne Buch',sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.2;color:var(--text)}
.content-a_paragraph{font-size:.9rem;color:var(--text-muted);line-height:1.7}

/* FAQ */
.faq{background:var(--bg);position:relative;overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 900px}
.faq .container{position:relative;z-index:1}
.faq__watermark{position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-family:'Soehne Kraftig',sans-serif;font-size:clamp(10rem,22vw,20rem);font-weight:500;color:rgba(30,8,8,.055);pointer-events:none;line-height:1;user-select:none;z-index:0;letter-spacing:-.02em}
.faq__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.faq-item{background:var(--bg-card);padding:0;border-radius:14px;border:1px solid var(--border);transition:background .3s,border-color .3s}
.faq-item.active{background:var(--bg-dark);border-color:rgba(255,255,255,0.08)}
.faq-item__question{width:100%;text-align:left;padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.88rem;font-weight:500;color:var(--text);transition:color .2s}
.faq-item__question:hover{color:var(--text-muted)}
.faq-item.active .faq-item__question{color:#fff}
.faq-item__icon{width:20px;height:20px;flex-shrink:0;position:relative;transition:transform .3s}
.faq-item__icon::before,.faq-item__icon::after{content:'';position:absolute;top:50%;left:50%;width:12px;height:1.5px;background:var(--text-muted);transform:translate(-50%,-50%);transition:transform .3s,opacity .3s,background .3s}
.faq-item__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.active .faq-item__icon::before,.faq-item.active .faq-item__icon::after{background:rgba(255,255,255,0.5)}
.faq-item.active .faq-item__icon::after{transform:translate(-50%,-50%) rotate(0deg);opacity:0}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-item__answer.open{max-height:300px}
.faq-item__answer p{padding:0 1.5rem 1.2rem;font-size:.85rem;color:rgba(255,255,255,0.6);line-height:1.8}

/* WAVE DIVIDER */
.section-wave-divider{background:var(--bg);line-height:0;display:block;margin-bottom:-1px}
.section-wave-divider svg{display:block;width:100%;height:72px}

/* CONTACT */
.contact{background:var(--bg-dark);color:#fff;padding:110px 0;position:relative;overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 700px}
.contact__ghost-text{position:absolute;bottom:-8%;left:50%;transform:translateX(-50%);font-family:'Soehne Kraftig',sans-serif;font-size:clamp(4rem,12vw,11rem);font-weight:500;color:rgba(255,255,255,.05);white-space:nowrap;pointer-events:none;z-index:0;letter-spacing:-.02em;user-select:none}
.contact__container{position:relative;z-index:1}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact .tag{margin-bottom:1.25rem}
.contact__title{font-family:'Soehne Buch',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.1;margin-bottom:1rem;color:#fff}
.contact__title em{font-style:italic;color:rgba(255,255,255,.55)}
.contact__desc{color:rgba(255,255,255,.55);font-size:.975rem;margin-bottom:2.5rem;line-height:1.75}
.contact__channels{display:flex;flex-direction:column;gap:.85rem}
.contact__channel{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);transition:border-color .25s,background .25s,transform .25s}
.contact__channel:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07);transform:translateX(5px)}
.contact__channel-icon{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact__channel-icon svg{width:18px;height:18px;color:#fff}
.contact__channel-icon--wa{background:rgba(37,211,102,.12)}
.contact__channel-icon--wa svg{color:#25D366}
.contact__channel-body{display:flex;flex-direction:column}
.contact__channel-label{font-size:.72rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.contact__channel-value{font-size:.92rem;font-weight:600;color:#fff;margin-top:.15rem}
.contact__form-wrap{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:2.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem}
.form-group label{font-size:.75rem;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase}
.form-group input,.form-group textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.75rem 1rem;color:#fff;font-family:inherit;font-size:.9rem;transition:border-color .2s,background .2s;outline:none;resize:none}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.25)}
.form-group input:focus,.form-group textarea:focus{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.form-success{display:none;text-align:center;color:#4ade80;font-size:.88rem;margin-top:.75rem}
.form-success.show{display:block}

/* FOOTER */
.footer{background:var(--bg-dark);padding:64px 0 32px;color:rgba(255,255,255,.45);position:relative}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2) 20%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.2) 80%,transparent)}
.footer__top{display:grid;grid-template-columns:auto 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:2rem;align-items:start}
.footer__brand-col{display:flex;flex-direction:column;gap:.75rem}
.footer__logo-link{display:flex;align-items:center;gap:.6rem}
.footer__logo-img{width:32px;height:32px;object-fit:contain}
.footer__brand-name{font-family:'Soehne Kraftig',sans-serif;font-size:1rem;font-weight:500;color:#fff}
.footer__tagline{font-size:.83rem;line-height:1.6;color:rgba(255,255,255,.4)}
.footer__cols-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.footer__col{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.08)}
.footer__col:last-child{border-right:none}
.footer__col-title{font-size:.75rem;font-weight:700;color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.25rem}
.footer__col ul{display:flex;flex-direction:column;gap:.7rem}
.footer__col a{font-size:.85rem;transition:color .2s}
.footer__col a:hover{color:rgba(255,255,255,.85)}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer__copy{font-size:.8rem}
.footer__legal{display:flex;gap:1.5rem}
.footer__legal a{font-size:.8rem;transition:color .2s}
.footer__legal a:hover{color:rgba(255,255,255,.85)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1024px){
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .service-card{aspect-ratio:auto;min-height:0}
  .hero__grid{gap:2.5rem}
  .card-padding-global{padding:3.5rem}
  .process__row{gap:2.5rem}
  .contact__grid{gap:3rem}
  .footer__cols-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .nav__links,.nav__cta{display:none}
  .hamburger{display:flex !important}
  .nav{background:rgba(232,229,225,.95);backdrop-filter:blur(12px)}
  /* Hero - enhanced mobile */
  .hero{padding-top:calc(var(--nav-h) + 32px);padding-bottom:56px;min-height:100svh}
  .hero::before{width:110vw;height:70vw;top:-5%}
  .hero__grid{grid-template-columns:1fr;padding-top:0;gap:2rem}
  /* Fix headline overflow — keep it within the container */
  .hero__headline{font-size:clamp(1.85rem,7.5vw,3.25rem);margin-bottom:1.25rem;word-break:break-word;text-align:center}
  .hero__content{text-align:center}
  .hero__ctas{margin-top:.25rem;justify-content:center}
  /* Show the hero visual in a compact strip — above the text */
  .hero__visual{display:flex;height:200px;width:100%;overflow:visible;order:-1}
  .hero__content{order:1}
  .hero__canvas{max-width:100%;width:100%;height:200px;aspect-ratio:auto}
  .hero__visual::before{width:200px;height:200px}
  /* Compact card sizing for mobile */
  .hero__card{padding:.45rem .7rem;gap:.5rem;border-radius:12px}
  .hero__card-icon{font-size:.95rem}
  .hero__card-body strong{font-size:.65rem;font-weight:700}
  .hero__card-body span{font-size:.58rem}
  .hero__card-label{font-size:.58rem;letter-spacing:.04em}
  .hero__card-status{font-size:.65rem;gap:.3rem;margin-top:.1rem}
  .hero__card-live{font-size:.65rem}
  .status-dot{width:5px;height:5px}
  /* Spread cards across the canvas corners */
  .hero__card--1{top:5%;left:1%;animation:float-a 6s ease-in-out infinite}
  .hero__card--2{bottom:5%;left:1%;animation:float-b 7s ease-in-out infinite 1s}
  .hero__card--3{top:5%;right:1%;animation:float-a 5.5s ease-in-out infinite .5s}
  /* Hide the mobile card strip since the real visual is shown */
  .hero__mobile-cards{display:none}
  .hero__mobile-divider{display:none}
  /* Services */
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .service-card{aspect-ratio:auto;padding:1.5rem}
  /* Process */
  .card-padding-global{padding:2rem}
  .card-container.is-linear-gradient-maroon{border-radius:20px}
  .process .container{max-width:100%;padding:0 1rem}
  .process__row{grid-template-columns:1fr;gap:1.25rem;padding:2rem 0}
  .process__tag{margin-bottom:1.5rem}
  /* FAQ */
  .faq__grid{grid-template-columns:1fr}
  .faq__watermark{font-size:clamp(6rem,18vw,12rem)}
  /* Contact */
  .contact__grid{grid-template-columns:1fr;gap:2rem}
  .contact__ghost-text{font-size:clamp(3rem,10vw,8rem);bottom:-4%}
  /* Footer */
  .footer__top{grid-template-columns:1fr;gap:2rem}
  .footer__cols-grid{grid-template-columns:repeat(3,1fr)}
  .footer__col{padding:1.25rem 1rem}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:.75rem}
  /* Form */
  .form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .services__grid{grid-template-columns:1fr}
  .footer__cols-grid{grid-template-columns:1fr}
  .footer__col{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .footer__col:last-child{border-bottom:none}
}
@media(max-width:480px){
  .container{padding:0 1.25rem}
  .nav__container{padding:0 1.25rem}
  /* Hero */
  .hero__headline{font-size:clamp(1.6rem,7vw,2.25rem)}
  .hero__visual{height:200px}
  .hero__canvas{height:200px}
  .hero__ctas .btn{width:auto}
  /* Process */
  .card-padding-global{padding:1.5rem}
  .process .container{padding:0 .75rem}
  /* Contact */
  .contact__channel{padding:.85rem 1rem}
  .contact__channel-value{font-size:.82rem}
  .contact__grid{gap:1.5rem}
  /* Section head */
  .section-head{margin-bottom:40px}
  /* FAQ */
  .faq-item__question{padding:1rem 1.25rem;font-size:.83rem}
}

/* LENIS BASE CSS */
html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-smooth iframe {
  pointer-events: none;
}
