/* Gastro de Gama — shared stylesheet (CTA = B · Terracotta) */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=Geist:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#261B43; --bg-2:#2E2152; --bg-3:#392A63; --bg-4:#483576;
  --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.18);
  --fg:#F5EFE0; --fg-2:#D8CFBE; --fg-3:#9A8FA8; --fg-4:#6E6483;
  --cta:#F4A01F; --cta-hover:#FFB23E; --cta-press:#DC8B0F; --cta-ink:#1B1230;
  --ember:#F4A01F; --cream:#F4EFE2; --cream-ink:#1B1230;
  --ok:#6CC68A; --warn:#F4C24A; --err:#E66A6A;
  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:28px; --r-pill:999px;
  --shadow-cta:0 6px 18px rgba(244,160,31,.28), 0 1px 0 rgba(255,255,255,.18) inset;
  --font-display:"Bricolage Grotesque",ui-sans-serif,system-ui;
  --font-body:"Geist",ui-sans-serif,system-ui;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}
body{font-size:15px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* Layout */
.page{max-width:1240px;margin:0 auto;padding:24px 56px 96px}
@media (max-width:780px){.page{padding:20px 20px 64px}}
.section{padding:64px 0;border-top:1px solid var(--line)}
.section.first{border-top:0;padding-top:32px}
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3)}
.h1{font-family:var(--font-display);font-weight:500;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.02em;text-wrap:balance;margin:0}
.h2{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.06;letter-spacing:-.018em;text-wrap:balance;margin:0}
.h3{font-family:var(--font-display);font-weight:500;font-size:24px;line-height:1.15;letter-spacing:-.012em;margin:0}
.lead{color:var(--fg-2);font-size:18px;line-height:1.55;max-width:62ch}
.muted{color:var(--fg-3)}
.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--fg-3)}
.kw{color:var(--cta);font-style:italic;font-weight:400}

.row{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* Card */
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.card.high{background:var(--bg-3)}
.card.cream{background:var(--cream);color:var(--cream-ink);border-color:transparent}

/* Pill */
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--cta)}

/* Button */
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:600;font-size:15px;letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;transition:all .12s ease;white-space:nowrap}
.btn .arrow{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center}
.btn-primary{background:var(--cta);color:var(--cta-ink);box-shadow:var(--shadow-cta)}
.btn-primary:hover{background:var(--cta-hover)}
.btn-primary:active{background:var(--cta-press)}
.btn-secondary{background:transparent;color:var(--fg);border-color:var(--line-strong)}
.btn-secondary:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28)}
.btn-ghost{background:transparent;color:var(--fg-2);padding:0 8px;height:auto}
.btn-ghost:hover{color:var(--fg)}
.btn-cream{background:var(--cream);color:var(--cream-ink)}
.btn-sm{height:36px;padding:0 14px;font-size:13px}
.btn-lg{height:56px;padding:0 28px;font-size:16px}

/* Field */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.field input,.field textarea,.field select{background:var(--bg-3);border:1px solid var(--line-strong);color:var(--fg);border-radius:var(--r-sm);padding:14px 16px;font:inherit;outline:none;width:100%}
.field input::placeholder,.field textarea::placeholder{color:var(--fg-4)}
.field input:focus,.field textarea:focus{border-color:var(--cta)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--fg-2)}
.badge.cta{background:rgba(244,160,31,.12);color:var(--cta);border-color:rgba(244,160,31,.4)}
.badge.ok{background:rgba(108,198,138,.12);color:var(--ok);border-color:rgba(108,198,138,.35)}
.badge.ember{background:rgba(244,160,31,.12);color:var(--ember);border-color:rgba(244,160,31,.35)}

/* Tile */
.tile{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px;min-height:200px;transition:all .15s ease;cursor:pointer}
.tile:hover{border-color:rgba(244,160,31,.4);background:var(--bg-3);transform:translateY(-2px)}
.tile .num{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.12em}
.tile .ttl{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.1;letter-spacing:-.01em}
.tile .desc{color:var(--fg-2);font-size:14px;line-height:1.55}
.tile .cta-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--cta);font-weight:500;font-size:14px}

/* Image placeholder */
.ph{border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 8px,transparent 8px 18px),var(--bg-3);border:1px dashed var(--line-strong);color:var(--fg-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}

/* Nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(255,255,255,.02);backdrop-filter:blur(8px);margin-bottom:48px}
.nav .brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}
.nav .brand .logo{display:inline-flex;flex-shrink:0}
.nav .brand .wordmark em{font-style:italic;color:var(--fg-3);font-weight:400}
.nav ul{display:flex;list-style:none;gap:4px;margin:0;padding:0}
.nav ul a{color:var(--fg-2);font-size:14px;font-weight:500;padding:8px 14px;border-radius:var(--r-pill)}
.nav ul a:hover{background:rgba(255,255,255,.06);color:var(--fg)}
.nav ul a.active{background:rgba(244,160,31,.14);color:var(--cta)}

/* Mobile drawer */
.nav-toggle{display:none;width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid var(--line-strong);color:var(--fg);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0}
.nav-toggle span{width:16px;height:1.5px;background:var(--fg);display:block;transition:transform .2s ease, opacity .2s ease}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

@media (max-width:900px){
  .nav{padding:10px 12px 10px 16px}
  .nav .brand .wordmark{font-size:16px}
  .nav-toggle{display:flex}
  .nav>.btn{display:none}
  .nav ul{position:fixed;inset:0;background:rgba(38,27,67,.96);backdrop-filter:blur(16px);flex-direction:column;justify-content:center;align-items:center;gap:6px;z-index:80;opacity:0;pointer-events:none;transition:opacity .2s ease;padding:80px 24px}
  .nav ul a{font-family:var(--font-display);font-size:28px;padding:14px 24px;color:var(--fg);font-weight:500;letter-spacing:-.01em}
  .nav ul::after{content:"+48 573 826 426";font-family:var(--font-mono);color:var(--cta);font-size:14px;margin-top:32px;letter-spacing:.04em}
  body.nav-open .nav ul{opacity:1;pointer-events:auto}
  body.nav-open{overflow:hidden}
  body.nav-open .nav-toggle{position:fixed;top:24px;right:20px;z-index:90;background:var(--bg-2)}
}

/* Footer */
footer.site{border-top:1px solid var(--line);padding:64px 0 24px;display:grid;gap:32px}
footer.site .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:780px){footer.site .top{grid-template-columns:repeat(2,1fr)}}
footer.site .brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--fg)}
footer.site .brand em{font-style:italic;color:var(--fg-3);font-weight:400}
footer.site h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);margin:0 0 14px}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
footer.site ul a{color:var(--fg-2);font-size:14px}
footer.site ul a:hover{color:var(--fg)}
footer.site .bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--fg-3);flex-wrap:wrap;gap:12px}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:36px 0 64px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(36px,4.6vw,64px);line-height:1.02;letter-spacing:-.02em;margin:18px 0 0;text-wrap:balance}
.hero .actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.hero .stats{display:flex;gap:32px;margin-top:36px;flex-wrap:wrap}
.hero .stats .s .n{font-family:var(--font-display);font-size:32px;font-weight:500}
.hero .stats .s .l{font-size:12px;color:var(--fg-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}

/* Page header (subpages) */
.page-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:end;padding:24px 0 56px;border-bottom:1px solid var(--line);margin-bottom:48px}
@media (max-width:900px){.page-head{grid-template-columns:1fr}}
.crumb{display:flex;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.crumb a{color:var(--fg-3)}
.crumb a:hover{color:var(--cta)}

/* Service list */
.svc-list{display:flex;flex-direction:column}
.svc-list .item{display:grid;grid-template-columns:60px 1.4fr 1fr auto;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center;transition:padding .15s ease}
.svc-list .item:hover{padding-left:8px}
.svc-list .item:last-child{border-bottom:0}
.svc-list .num{font-family:var(--font-mono);color:var(--fg-3);font-size:12px}
.svc-list .ttl{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em}
.svc-list .desc{color:var(--fg-2);font-size:14px;line-height:1.5}
.svc-list .arr{color:var(--cta);font-family:var(--font-mono);font-size:18px}
@media (max-width:780px){.svc-list .item{grid-template-columns:40px 1fr auto}.svc-list .desc{display:none}}

/* CTA stripe */
.stripe{margin-top:48px;padding:36px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-xl);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}

/* Index quick-links bar (cross-mockup nav) */
.mockup-bar{position:sticky;top:0;z-index:50;background:rgba(38,27,67,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:10px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:0}
.mockup-bar .label{color:var(--fg-3)}
.mockup-bar a{color:var(--fg-2);padding:6px 10px;border-radius:var(--r-sm)}
.mockup-bar a:hover{background:rgba(255,255,255,.06);color:var(--fg)}
.mockup-bar a.current{color:var(--cta);background:rgba(244,160,31,.14)}

/* Specifics */
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.brand-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.brand-grid{grid-template-columns:repeat(2,1fr)}}
.brand-cell{aspect-ratio:3/2;border:1px solid var(--line);border-radius:var(--r-md);display:grid;place-items:center;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.01em;color:var(--fg-2);background:var(--bg-2);transition:all .15s ease}
.brand-cell:hover{border-color:rgba(244,160,31,.4);color:var(--fg)}

.case{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg)}
@media (max-width:780px){.case{grid-template-columns:1fr}}
.case .ph{aspect-ratio:4/3}

.faq-item{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:32px}
@media (max-width:780px){.faq-item{grid-template-columns:1fr}}
.faq-item h3{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.01em;margin:0}
.faq-item p{margin:0;color:var(--fg-2)}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

.testimonial{padding:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:14px}
.testimonial blockquote{margin:0;font-family:var(--font-display);font-size:20px;line-height:1.3;letter-spacing:-.01em;font-weight:400}
.testimonial .who{display:flex;align-items:center;gap:10px;color:var(--fg-3);font-size:13px}
.testimonial .who .av{width:32px;height:32px;border-radius:50%;background:var(--bg-4)}
