/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
img{display:block;max-width:100%}
ul,ol{list-style:none}
a{text-decoration:none;color:inherit}

/* ─── BLOCKSY FULL-WIDTH FIX ─── */
.ct-container,.ct-container-xl,.site-main,.entry-content,.page-content,.post-content{
  padding-left:0!important;padding-right:0!important;
  padding-top:0!important;padding-bottom:0!important;
  margin-top:0!important;margin-bottom:0!important;
  max-width:none!important;width:100%!important;
}
article.post,article.page,#page,.site,.wp-site-blocks,main,.site-main,#main,#content,.site-content{
  padding:0!important;margin-top:0!important;
}

#mt-wrap{
  display:block;width:100%;margin-top:0;margin-bottom:-8rem;
  background:var(--bg);overflow-x:hidden;
}
body.admin-bar #mt-hdr{top:32px!important}
.site-content,.site-main{background-color:var(--bg)!important}

/* ─── TOKENS ─── */
:root{
  --radius:0.875rem;
  --bg:#ffffff;
  --surface:#f9f9fb;
  --surface-muted:#f4f4f8;
  --fg:#1c1c2e;
  --muted-fg:#6b7280;
  --border:#e8e8f0;
  --border-strong:#d1d1e0;
  --primary:#2563eb;
  --primary-fg:#ffffff;
  --emerald:#059669;
  --amber:#f59e0b;
  --card:#ffffff;
  --font-sans:'Inter',ui-sans-serif,system-ui,sans-serif;
  --font-display:'Instrument Serif',ui-serif,Georgia,serif;
  --shadow-soft:0 1px 2px rgba(0,0,0,0.04),0 8px 24px -12px rgba(37,47,80,0.12);
  --shadow-card:0 1px 0 rgba(0,0,0,0.04),0 12px 40px -16px rgba(37,47,80,0.18);
  --shadow-glow:0 20px 60px -20px rgba(37,99,235,0.35);
}

/* ─── BASE ─── */
body{font-family:var(--font-sans);color:var(--fg);line-height:1.6;background:var(--bg)}
h1,h2,h3,h4{letter-spacing:-0.02em}

/* ─── CONTAINER ─── */
.mt-container{width:100%;margin-inline:auto;padding-inline:1.25rem;max-width:80rem}
@media(min-width:768px){.mt-container{padding-inline:2rem}}

/* ─── EYEBROW ─── */
.eyebrow{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.75rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted-fg);
}
.eyebrow::before{
  content:"";width:0.375rem;height:0.375rem;border-radius:9999px;
  background:var(--primary);display:inline-block;
}

/* ─── ANIMATIONS ─── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.1s}
.reveal[data-d="2"]{transition-delay:.2s}
.reveal[data-d="3"]{transition-delay:.3s}

/* ════ HEADER ════ */
#mt-hdr{
  position:fixed;top:0;left:0;right:0;z-index:9999;
  transition:background .3s,border-color .3s,backdrop-filter .3s;
  border-bottom:1px solid transparent;
}
#mt-hdr.scrolled{
  background:rgba(255,255,255,0.8);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-color:var(--border);
}
.hdr-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:80rem;margin:0 auto;padding:0 1.25rem;height:64px;
}
@media(min-width:768px){.hdr-inner{height:80px;padding:0 2rem}}

.hdr-logo{display:flex;align-items:center;gap:0.625rem}
.hdr-logo-icon{
  display:grid;place-items:center;width:32px;height:32px;border-radius:8px;
  background:var(--fg);color:var(--bg);font-family:var(--font-display);font-size:1.125rem;line-height:1;
}
.hdr-logo-name{font-size:0.9375rem;font-weight:600;letter-spacing:-0.01em}

.hdr-nav{display:none;align-items:center;gap:0.25rem}
@media(min-width:768px){.hdr-nav{display:flex}}
.hdr-nav a{
  border-radius:9999px;padding:0.5rem 0.875rem;font-size:0.875rem;
  color:var(--muted-fg);transition:background .15s,color .15s;
}
.hdr-nav a:hover{background:var(--surface);color:var(--fg)}

.hdr-cta{
  display:none;align-items:center;gap:0.5rem;
  border-radius:9999px;background:var(--fg);padding:0.625rem 1rem;
  font-size:0.875rem;font-weight:500;color:var(--bg);
  transition:transform .18s;
}
@media(min-width:768px){.hdr-cta{display:inline-flex}}
.hdr-cta:hover{transform:translateY(-1px)}

.hdr-burger{
  display:flex;width:40px;height:40px;align-items:center;justify-content:center;
  background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;
}
@media(min-width:768px){.hdr-burger{display:none}}
.hdr-burger svg{width:20px;height:20px;stroke:var(--fg);fill:none;stroke-width:1.8;stroke-linecap:round}

.hdr-mob{
  display:none;flex-direction:column;padding:12px 0 16px;
  border-top:1px solid var(--border);background:var(--bg);
}
.hdr-mob.open{display:flex}
.hdr-mob a{padding:0.75rem 1.25rem;font-size:1rem;color:var(--fg);transition:color .15s}
.hdr-mob a:hover{color:var(--primary)}
.hdr-mob .mob-cta{
  margin:0.5rem 1.25rem 0;
  display:flex;align-items:center;justify-content:center;
  border-radius:9999px;background:var(--fg);padding:0.75rem 1rem;
  font-size:0.875rem;font-weight:500;color:var(--bg);
}

/* ════ HERO ════ */
#mt-hero{
  position:relative;overflow:hidden;
  padding-top:80px;
}
@media(min-width:768px){#mt-hero{padding-top:96px}}
.hero-grain{
  background-image:
    radial-gradient(1200px 600px at 85% -10%,rgba(37,99,235,0.08),transparent 60%),
    radial-gradient(800px 500px at -10% 110%,rgba(5,150,105,0.07),transparent 60%);
}
.hero-grid{
  display:grid;grid-template-columns:1fr;
  align-items:center;gap:3rem;padding:3.5rem 0;
}
@media(min-width:768px){.hero-grid{padding:6rem 0}}
@media(min-width:1024px){
.hero-grid{
grid-template-columns:1.2fr 0.8fr;
gap:3rem;
padding:8rem 0;
align-items:center;
}
}

.hero-eyebrow{margin-bottom:1.5rem}
.hero-h1{
  font-family:var(--font-sans);font-size:clamp(2rem,5vw,4.25rem);
  font-weight:600;line-height:1.05;letter-spacing:-0.02em;
  max-width:36rem;
}
.hero-h1-accent{
  font-family:var(--font-display);font-style:italic;color:var(--primary);
  position:relative;white-space:nowrap;
}
.hero-h1-accent svg{
  position:absolute;bottom:-8px;left:0;width:100%;color:rgba(37,99,235,0.3);
}
.hero-lead{
  margin-top:1.75rem;max-width:36rem;font-size:clamp(1rem,2vw,1.25rem);
  color:var(--muted-fg);line-height:1.65;
}
.hero-btns{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:0.75rem}
.btn-primary{
  display:inline-flex;align-items:center;gap:0.5rem;
  border-radius:9999px;background:var(--primary);
  padding:0.875rem 1.5rem;font-size:1rem;font-weight:500;color:var(--primary-fg);
  box-shadow:var(--shadow-glow);transition:transform .18s;
}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary{
  display:inline-flex;align-items:center;gap:0.5rem;
  border-radius:9999px;border:1px solid var(--border-strong);
  background:var(--bg);padding:0.875rem 1.5rem;font-size:1rem;font-weight:500;
  transition:background .15s;
}
.btn-secondary:hover{background:var(--surface)}

.hero-checks{
  margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);
  display:grid;grid-template-columns:1fr;gap:1rem;
}
@media(min-width:480px){.hero-checks{grid-template-columns:repeat(3,1fr)}}
.hero-check{display:flex;align-items:flex-start;gap:0.625rem;font-size:0.875rem;color:var(--muted-fg)}
.hero-check svg{flex-shrink:0;margin-top:1px;width:16px;height:16px;stroke:var(--emerald);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* portrait */
.hero-portrait-wrap{position:relative;margin-left:auto;margin-right:0;max-width:520px;width:100%}
@media(min-width:1024px){.hero-portrait-wrap{max-width:none}}
.hero-glow-blob{
  position:absolute;inset:-24px;z-index:0;border-radius:2.5rem;
  background:linear-gradient(135deg,rgba(37,99,235,0.15),transparent,rgba(5,150,105,0.15));
  filter:blur(40px);pointer-events:none;
}
.hero-portrait{
  position:relative;z-index:1;overflow:hidden;border-radius:2rem;
  border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);
}
.hero-portrait{
  position:relative;
  overflow:hidden;
  border-radius:2rem;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:var(--shadow-card);
  aspect-ratio:4/5;
}
.hero-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 10%;
  transform:scale(1.15);
  display:block;
}
.hero-portrait-fade{
  pointer-events:none;position:absolute;inset-x:0;bottom:0;height:33%;
  background:linear-gradient(to top,rgba(255,255,255,0.4),transparent);
}
.hero-badge-left{
  position:absolute;left:-1rem;bottom:2rem;z-index:2;
  display:none;align-items:center;gap:0.75rem;
  border-radius:1rem;border:1px solid var(--border);
  background:rgba(255,255,255,0.95);padding:0.75rem 1rem;
  box-shadow:var(--shadow-card);backdrop-filter:blur(8px);
}
@media(min-width:480px){.hero-badge-left{display:flex}}
@media(min-width:1024px){.hero-badge-left{left:-2rem}}
.hero-badge-left-icon{
  display:grid;place-items:center;width:36px;height:36px;border-radius:10px;
  background:rgba(5,150,105,0.1);font-family:var(--font-display);font-size:1.125rem;color:var(--emerald);
}
.hero-badge-left-text{text-align:left}
.hero-badge-left-text strong{display:block;font-size:0.875rem;font-weight:600}
.hero-badge-left-text span{font-size:0.75rem;color:var(--muted-fg)}
.hero-badge-right{
  position:absolute;right:-0.75rem;top:2.5rem;z-index:2;
  display:none;
  border-radius:1rem;border:1px solid var(--border);
  background:rgba(255,255,255,0.95);padding:0.75rem 1rem;
  box-shadow:var(--shadow-card);backdrop-filter:blur(8px);
}
@media(min-width:1024px){.hero-badge-right{display:block}}
.hero-badge-right .badge-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted-fg)}
.hero-badge-right .badge-value{font-family:var(--font-display);font-size:1.5rem;margin-top:2px}

/* ════ SERVICES ════ */
#mt-services{background:var(--surface);padding:5rem 0}
@media(min-width:768px){#mt-services{padding:8rem 0}}

.section-header{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:end}
@media(min-width:768px){.section-header{grid-template-columns:1fr auto}}
.section-h2{
  margin-top:1.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.1;
}
.section-h2-accent{font-family:var(--font-display);font-style:italic;color:var(--primary)}
.section-desc{max-width:28rem;color:var(--muted-fg)}

.services-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}

.service-card{
  position:relative;display:flex;flex-direction:column;border-radius:1.5rem;
  border:1px solid var(--border);background:var(--bg);padding:1.75rem;
  transition:transform .18s,box-shadow .18s;
}
.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.service-card.featured{
  border-color:rgba(37,99,235,0.2);
  background:linear-gradient(135deg,rgba(37,99,235,0.06),var(--bg),var(--bg));
}
@media(min-width:1024px){.service-card.featured{grid-column:span 2}}

.service-tag{
  position:absolute;right:1.25rem;top:1.25rem;
  border-radius:9999px;background:rgba(245,158,11,0.15);
  padding:0.25rem 0.625rem;font-size:0.6875rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.1em;color:var(--amber);
}
.service-icon{
  display:grid;place-items:center;width:3rem;height:3rem;border-radius:1rem;
}
.service-icon.featured-icon{background:var(--primary);color:var(--primary-fg)}
.service-icon.default-icon{background:var(--surface);color:var(--fg)}
.service-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-title{margin-top:1.5rem;font-size:1.25rem;font-weight:600;letter-spacing:-0.01em}
.service-desc{margin-top:0.75rem;font-size:0.9375rem;line-height:1.65;color:var(--muted-fg)}
.service-more{
  margin-top:1.5rem;display:flex;align-items:center;gap:0.375rem;
  font-size:0.875rem;font-weight:500;color:var(--primary);
  opacity:0;transition:opacity .18s;
}
.service-card:hover .service-more{opacity:1}
.service-more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ════ CASE STUDIES ════ */
#mt-cases{padding:5rem 0}
@media(min-width:768px){#mt-cases{padding:8rem 0}}

.cases-header{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
@media(min-width:768px){.cases-header{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.cases-header-desc{max-width:28rem;color:var(--muted-fg)}

.cases-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:1024px){.cases-grid{grid-template-columns:repeat(3,1fr)}}

.case-card{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  border-radius:1.5rem;border:1px solid var(--border);background:var(--bg);
  transition:transform .18s,box-shadow .18s;
}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}

.case-thumb{position:relative;aspect-ratio:4/3}
.case-thumb-bg{position:absolute;inset:0;display:grid;place-items:center}
.case-chip{
  border-radius:1rem;border:1px solid var(--border);
  background:rgba(255,255,255,0.8);backdrop-filter:blur(8px);
  padding:0.75rem 1.25rem;font-size:0.875rem;font-weight:500;
}
.case-sector{
  position:absolute;left:1.25rem;top:1.25rem;
  border-radius:9999px;border:1px solid var(--border);
  background:rgba(255,255,255,0.8);backdrop-filter:blur(8px);
  padding:0.25rem 0.75rem;font-size:0.75rem;color:var(--muted-fg);
}
.case-body{display:flex;flex:1;flex-direction:column;padding:1.75rem}
.case-title{font-size:1.25rem;font-weight:600;letter-spacing:-0.01em}
.case-context{margin-top:0.75rem;font-size:0.875rem;color:var(--muted-fg)}
.case-dl{margin-top:1.5rem;display:flex;flex-direction:column;gap:0.75rem;font-size:0.875rem}
.case-dt{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted-fg)}
.case-dd{margin-top:0.25rem;color:var(--fg)}
.case-footer{
  margin-top:1.5rem;display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--border);padding-top:1.25rem;
}
.case-result-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted-fg)}
.case-result-value{margin-top:0.25rem;font-family:var(--font-display);font-size:1.125rem;color:var(--emerald)}
.case-arrow{
  display:grid;place-items:center;width:40px;height:40px;
  border-radius:9999px;border:1px solid var(--border);background:var(--bg);
  transition:border-color .15s,background .15s,color .15s;
  color:var(--fg);
}
.case-card:hover .case-arrow{border-color:var(--primary);background:var(--primary);color:var(--primary-fg)}
.case-arrow svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ════ ABOUT ════ */
#mt-about{background:var(--surface);padding:5rem 0}
@media(min-width:768px){#mt-about{padding:8rem 0}}

.about-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.about-grid{grid-template-columns:0.75fr 1.25fr;gap:4rem}}

.about-portrait-wrap{position:relative}
.about-portrait{
  overflow:hidden;border-radius:2rem;
  border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-card);
}
.about-portrait img{aspect-ratio:4/5;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.about-years{
  position:absolute;bottom:-1.25rem;right:-0.75rem;
  border-radius:1rem;border:1px solid var(--border);background:var(--bg);
  padding:1rem 1.25rem;box-shadow:var(--shadow-card);
}
@media(min-width:480px){.about-years{right:-1.25rem}}
.about-years-num{font-family:var(--font-display);font-size:1.875rem;line-height:1}
.about-years-label{margin-top:0.25rem;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted-fg)}

.about-content{max-width:42rem;align-self:center}
.about-h2{margin-top:1.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:600}
.about-h2-accent{font-family:var(--font-display);font-style:italic;color:var(--primary)}
.about-text{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.25rem;font-size:1.125rem;color:var(--muted-fg)}
.about-text-highlight{font-weight:500;color:var(--fg)}
.about-stats{
  margin-top:2.5rem;display:grid;grid-template-columns:repeat(2,1fr);
  border:1px solid var(--border);border-radius:1rem;
  background:var(--border);gap:1px;overflow:hidden;
}
@media(min-width:480px){.about-stats{grid-template-columns:repeat(4,1fr)}}
.about-stat{background:var(--bg);padding:1.25rem}
.about-stat-num{font-family:var(--font-display);font-size:1.5rem}
.about-stat-label{margin-top:0.25rem;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted-fg)}

/* ════ PROCESS ════ */
#mt-process{padding:5rem 0}
@media(min-width:768px){#mt-process{padding:8rem 0}}

.process-grid{
  margin-top:3.5rem;display:grid;grid-template-columns:1fr;
  border:1px solid var(--border);border-radius:1.5rem;overflow:hidden;
  gap:1px;background:var(--border);
}
@media(min-width:768px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.process-grid{grid-template-columns:repeat(4,1fr)}}
.process-step{
  background:var(--bg);padding:2rem;display:flex;flex-direction:column;gap:1.5rem;
  transition:background .15s;
}
.process-step:hover{background:var(--surface)}
.process-step-top{display:flex;align-items:center;gap:1rem}
.process-step-num{font-family:var(--font-display);font-size:1.875rem;color:var(--primary)}
.process-step-line{height:1px;flex:1;background:var(--border)}
.process-step-tag{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted-fg)}
.process-step-title{font-size:1.25rem;font-weight:600;letter-spacing:-0.01em}
.process-step-desc{margin-top:0.75rem;font-size:0.9375rem;line-height:1.65;color:var(--muted-fg)}

/* ════ PROOF ════ */
#mt-proof{background:var(--surface);padding:5rem 0}
@media(min-width:768px){#mt-proof{padding:8rem 0}}

.proof-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.proof-grid{grid-template-columns:repeat(3,1fr)}}

.testimonial{
  display:flex;flex-direction:column;border-radius:1.5rem;
  border:1px solid var(--border);background:var(--bg);padding:1.75rem;
  box-shadow:var(--shadow-soft);
}
.testimonial-quote-icon{width:24px;height:24px;color:var(--primary)}
.testimonial-quote-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.testimonial-text{margin-top:1.25rem;flex:1;font-size:0.9375rem;line-height:1.7;color:var(--fg)}
.testimonial-stars{margin-top:1.5rem;display:flex;align-items:center;gap:0.25rem}
.testimonial-stars svg{width:16px;height:16px;fill:var(--amber);color:var(--amber)}
.testimonial-author{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}
.testimonial-name{font-size:0.875rem;font-weight:600}
.testimonial-role{font-size:0.875rem;color:var(--muted-fg)}

.logos-section{margin-top:4rem;border-top:1px solid var(--border);padding-top:2.5rem}
.logos-label{text-align:center;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--muted-fg)}
.logos-grid{
  margin-top:1.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem;
  align-items:center;
}
@media(min-width:480px){.logos-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.logos-grid{grid-template-columns:repeat(6,1fr)}}
.logo-item{
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:center;
  height:50px;
}
.logo-item img {
  display: inline-block;
  max-width: 100%;
  max-height: 42px;
  width: auto;
  height: auto;
  filter: grayscale(100%) opacity(0.55);
  transition: filter 0.25s ease, opacity 0.25s ease;
}
.logo-item:hover img {
  filter: grayscale(0%) opacity(1);
}

/* ════ FAQ ════ */
#mt-faq{padding:5rem 0}
@media(min-width:768px){#mt-faq{padding:8rem 0}}

.faq-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.faq-grid{grid-template-columns:0.85fr 1.15fr;gap:5rem}}

.faq-intro{max-width:28rem}
.faq-intro-desc{margin-top:1.5rem;color:var(--muted-fg)}
.faq-link{
  margin-top:1.5rem;display:inline-flex;align-items:center;gap:0.5rem;
  border-radius:9999px;border:1px solid var(--border-strong);background:var(--bg);
  padding:0.75rem 1.25rem;font-size:0.875rem;font-weight:500;
  transition:background .15s;
}
.faq-link:hover{background:var(--surface)}

.faq-list{border-radius:1.5rem;border:1px solid var(--border);background:var(--bg);overflow:hidden}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:last-child{border-bottom:none}
.faq-btn{
  display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  padding:1.25rem 1.5rem;text-align:left;background:none;border:none;cursor:pointer;
  transition:background .15s;
}
@media(min-width:768px){.faq-btn{padding:1.5rem 2rem}}
.faq-btn:hover{background:var(--surface)}
.faq-question{font-size:1.125rem;font-weight:500;letter-spacing:-0.01em;color:var(--fg)}
.faq-icon{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:32px;border-radius:9999px;
  border:1px solid var(--border);transition:transform .25s,background .2s,border-color .2s,color .2s;
  color:var(--fg);
}
.faq-icon.open{transform:rotate(45deg);border-color:var(--primary);background:var(--primary);color:var(--primary-fg)}
.faq-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.faq-answer{
  overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(.22,1,.36,1),padding .3s;
  padding:0 1.5rem;
}
@media(min-width:768px){.faq-answer{padding:0 2rem}}
.faq-answer.open{max-height:400px;padding-bottom:1.5rem}
.faq-answer p{font-size:0.9375rem;line-height:1.7;color:var(--muted-fg);max-width:42rem}

/* ════ CONTACT ════ */
#mt-contact{
  position:relative;overflow:hidden;background:var(--fg);
  padding:5rem 0;color:var(--bg);
}
@media(min-width:768px){#mt-contact{padding:8rem 0}}

.contact-glow{
  position:absolute;inset:0;pointer-events:none;opacity:0.18;
  background:
    radial-gradient(800px 400px at 80% 0%,rgba(37,99,235,0.6),transparent 60%),
    radial-gradient(700px 400px at 0% 100%,rgba(5,150,105,0.4),transparent 60%);
}
.contact-grid{
  position:relative;display:grid;grid-template-columns:1fr;gap:3.5rem;
}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.1fr;gap:5rem}}

.contact-eyebrow{color:rgba(255,255,255,0.7)}
.contact-h2{
  margin-top:1.25rem;font-size:clamp(2rem,4vw,3.5rem);font-weight:600;line-height:1.05;
}
.contact-h2-accent{font-family:var(--font-display);font-style:italic;color:var(--amber)}
.contact-lead{margin-top:1.5rem;font-size:1.125rem;color:rgba(255,255,255,0.7);line-height:1.65}
.contact-info{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.ci-item{display:flex;align-items:center;gap:1rem}
.ci-icon{
  display:grid;place-items:center;width:44px;height:44px;min-width:44px;
  border-radius:0.75rem;background:rgba(255,255,255,0.1);
}
.ci-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ci-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.6)}
.ci-val{margin-top:0.125rem;font-size:1rem;font-weight:500}
.ci-val a:hover{color:var(--amber)}

.contact-form-wrap{
  border-radius:1.5rem;border:1px solid rgba(255,255,255,0.1);
  background:var(--bg);padding:1.5rem;box-shadow:var(--shadow-card);color:var(--fg);
}
@media(min-width:768px){.contact-form-wrap{padding:2.25rem}}

.contact-form-title{font-size:1.5rem;font-weight:600;letter-spacing:-0.01em}
.contact-form-desc{margin-top:0.5rem;font-size:0.875rem;color:var(--muted-fg)}

.form-fields{margin-top:1.75rem;display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:480px){.form-fields{grid-template-columns:1fr 1fr}}
.form-group{display:flex;flex-direction:column;gap:0.375rem}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:0.875rem;font-weight:500}
.form-group input,.form-group select,.form-group textarea{
  font-family:var(--font-sans);font-size:0.875rem;
  height:44px;border-radius:0.75rem;border:1px solid var(--border);
  background:var(--bg);color:var(--fg);padding:0 0.75rem;
  outline:none;transition:border-color .15s,box-shadow .15s;width:100%;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--primary);box-shadow:0 0 0 4px rgba(37,99,235,0.15);
}
.form-group textarea{height:auto;padding:0.75rem;resize:vertical;min-height:100px}
.form-group select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:2.5rem;
}
.form-submit{
  margin-top:1.75rem;display:flex;width:100%;align-items:center;justify-content:center;gap:0.5rem;
  border-radius:9999px;background:var(--primary);
  padding:0.875rem 1.5rem;font-size:1rem;font-weight:500;color:var(--primary-fg);
  border:none;cursor:pointer;transition:transform .18s;
}
.form-submit:hover{transform:translateY(-1px)}
.form-submit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.form-note{margin-top:1rem;text-align:center;font-size:0.75rem;color:var(--muted-fg)}

.form-success{display:none;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}
.form-success.show{display:flex}
.form-success-icon{
  display:grid;place-items:center;width:56px;height:56px;border-radius:9999px;
  background:rgba(5,150,105,0.15);color:var(--emerald);font-size:1.5rem;
}
.form-success h3{margin-top:1.25rem;font-size:1.5rem;font-weight:600}
.form-success p{margin-top:0.5rem;max-width:22rem;color:var(--muted-fg)}

/* Checkbox RODO i błędy */
.check-label{display:flex;align-items:flex-start;gap:.625rem;cursor:pointer;font-size:.875rem;color:var(--fg);margin-top:0.5rem;text-align:left}
.check-label input[type="checkbox"]{
  width:18px;height:18px;min-width:18px;border-radius:5px;
  border:1.5px solid var(--border);appearance:none;cursor:pointer;
  background:var(--bg);transition:background .15s,border-color .15s;position:relative;margin-top:2px;
}
.check-label input[type="checkbox"]:checked{
  background:var(--primary);border-color:var(--primary);
}
.check-label input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:5px;top:2px;
  width:5px;height:9px;border:2px solid #fff;
  border-top:none;border-left:none;transform:rotate(45deg);
}
.check-label input[type="checkbox"]:focus{box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.field-error{font-size:.75rem;color:var(--error);margin-top:.25rem;display:none;text-align:left}
.field-error.show{display:block}

/* Spinner animacja */
.spinner{
  width:18px;height:18px;border:2px solid rgba(0,0,0,.15);
  border-top-color:var(--primary);border-radius:9999px;
  animation:spin .7s linear infinite;display:inline-block;
  vertical-align:middle;margin-left:0.5rem;
}
.form-submit .spinner{
  border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* Walidacja pól formularzy */
input.invalid, select.invalid, textarea.invalid {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 4px rgba(220,38,38,0.12) !important;
}

/* ════ FOOTER ════ */
#mt-footer{border-top:1px solid var(--border);background:var(--bg);padding:3.5rem 0 1.5rem}

.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-brand{grid-column:span 2}
@media(min-width:768px){.footer-brand{grid-column:span 2}}
.footer-logo{display:flex;align-items:center;gap:0.625rem}
.footer-logo-icon{
  display:grid;place-items:center;width:32px;height:32px;border-radius:8px;
  background:var(--fg);color:var(--bg);font-family:var(--font-display);font-size:1.125rem;line-height:1;
}
.footer-logo-name{font-size:0.9375rem;font-weight:600}
.footer-desc{margin-top:1rem;max-width:22rem;font-size:0.875rem;color:var(--muted-fg);line-height:1.6}
.footer-domain{margin-top:1.5rem;font-family:var(--font-display);font-size:1.25rem}
.footer-col-label{font-size:0.625rem;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted-fg)}
.footer-nav{margin-top:1rem;display:flex;flex-direction:column;gap:0.625rem}
.footer-nav a{font-size:0.875rem;transition:color .15s}
.footer-nav a:hover{color:var(--primary)}
.footer-social{margin-top:0.75rem;display:flex;gap:0.75rem}
.footer-social a{
  display:grid;place-items:center;width:36px;height:36px;border-radius:9999px;
  border:1px solid var(--border);font-size:0.75rem;font-weight:600;
  transition:border-color .15s,color .15s;
}
.footer-social a:hover{border-color:var(--primary);color:var(--primary)}
.footer-bottom{
  margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:0.75rem;font-size:0.75rem;color:var(--muted-fg);
}
@media(min-width:768px){.footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}}
.footer-links{display:flex;gap:1.25rem}
.footer-links a:hover{color:var(--fg)}

/* ════ SECTION SCROLL MARGIN ════ */
section[id]{scroll-margin-top:80px}

/* ===========================
   LOGO
=========================== */

.logo{
    display:flex;
    align-items:center;
}

.logo img{
    height:42px;
    width:auto;
    display:block;
}

/* Footer */

.footer-logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.footer-logo-icon{
    width:auto;
    height:auto;
    background:none;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.footer-logo-icon img{
    height:42px;
    width:auto;
    display:block;
}

/* ─── Cookie Consent Banner ─── */
.cookie-banner {
  position: fixed;
  bottom: 24px;
  right: 24px;
  max-width: 420px;
  background: rgba(15, 23, 42, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.25rem;
  padding: 1.5rem;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5);
  z-index: 100000;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #f8fafc;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.cookie-banner.show {
  opacity: 1;
  transform: translateY(0);
}
.cookie-banner-text {
  font-size: 0.875rem;
  line-height: 1.55;
  color: #cbd5e1;
}
.cookie-banner-text a {
  color: #38bdf8;
  text-decoration: underline;
}
.cookie-banner-text a:hover {
  color: #7dd3fc;
}
.cookie-banner-btns {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.cookie-btn {
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 9999px;
  padding: 0.55rem 1.25rem;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
  border: none;
  white-space: nowrap;
}
.cookie-btn-accept {
  background: #2563eb;
  color: #ffffff;
}
.cookie-btn-accept:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}
.cookie-btn-accept:active {
  transform: translateY(0);
}
.cookie-btn-decline {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #cbd5e1;
}
.cookie-btn-decline:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.3);
}

@media (max-width: 640px) {
  .cookie-banner {
    bottom: 16px;
    left: 16px;
    right: 16px;
    max-width: none;
    padding: 1.25rem;
  }
  .cookie-banner-btns {
    flex-direction: row;
    width: 100%;
  }
  .cookie-btn {
    flex: 1;
    text-align: center;
  }
}