:root {
  --radius: .875rem;
  --background: oklch(1 0 0);
  --foreground: oklch(.24 .035 258);
  --surface: oklch(.975 .005 250);
  --card: oklch(1 0 0);
  --primary: oklch(.28 .058 259);
  --primary-foreground: oklch(.985 .004 250);
  --secondary: oklch(.962 .008 250);
  --muted-foreground: oklch(.505 .028 255);
  --gold: oklch(.76 .113 78);
  --sage: oklch(.55 .062 155);
  --destructive: oklch(.577 .245 27.325);
  --border: oklch(.918 .01 252);
  --input: oklch(.9 .011 252);
  --shadow-sm: 0 1px 2px oklch(.28 .058 259 / .06);
  --shadow-md: 0 6px 20px -6px oklch(.28 .058 259 / .12);
  --shadow-lg: 0 18px 45px -18px oklch(.28 .058 259 / .25);
}
* { box-sizing: border-box; }
html { width: 100%; max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { width: 100%; max-width: 100%; margin: 0; overflow-x: hidden; background: var(--background); color: var(--foreground); font-family: "Plus Jakarta Sans", Tahoma, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}
body[dir="rtl"] { font-family: Tahoma, "Segoe UI", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3,h4 { letter-spacing: -.02em; text-wrap: balance; }
ul,ol { margin: 0; padding: 0; }
.container-page { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 1.25rem; }
.section-y { padding-block: 4.5rem; }
.surface { background: var(--surface); }
.primary-section { background: var(--primary); color: var(--primary-foreground); }
.text-muted { color: var(--muted-foreground); }
.text-sage { color: var(--sage); }
.text-gold { color: var(--gold); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; width: 100%; border-bottom: 1px solid transparent; background: var(--background); transition: .3s ease; }
.site-header.is-scrolled { border-color: var(--border); background: color-mix(in oklab, var(--background) 90%, transparent); box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); }
.header-inner { height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.logo { display: inline-flex; align-items: center; gap: .75rem; }
.logo-mark { display:flex; width:2.5rem; height:2.5rem; align-items:center; justify-content:center; border-radius:.75rem; background:var(--primary); color:var(--primary-foreground); font-size:.875rem; font-weight:700; letter-spacing:-.025em; }
.logo-copy { line-height: 1.25; }
.logo-title { display:block; font-size:.95rem; font-weight:600; }
.logo-city { display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.18em; color:var(--muted-foreground); }
.desktop-nav { display:none; align-items:center; gap:.25rem; }
.nav-link { border-radius:.375rem; padding:.5rem .75rem; font-size:.875rem; font-weight:500; color:var(--muted-foreground); transition:.2s; }
.nav-link:hover, .nav-link.active { background:var(--secondary); color:var(--foreground); }
.header-actions { display:flex; align-items:center; gap:.5rem; }
.language-wrap { position:relative; display:none; }
.language-select { height:2.5rem; min-width:7.4rem; cursor:pointer; border:1px solid var(--border); border-radius:999px; background:var(--secondary); color:var(--foreground); padding:0 2rem 0 .85rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; appearance:none; }
body[dir="rtl"] .language-select { padding:0 .85rem 0 2rem; }
.language-wrap::after { content:"⌄"; position:absolute; top:50%; right:.8rem; transform:translateY(-55%); pointer-events:none; color:var(--muted-foreground); font-size:.9rem; }
body[dir="rtl"] .language-wrap::after { right:auto; left:.8rem; }
.mobile-toggle { display:inline-flex; width:2.5rem; height:2.5rem; align-items:center; justify-content:center; border:1px solid var(--input); border-radius:.5rem; background:var(--background); cursor:pointer; }
.mobile-panel { position:fixed; inset:0; z-index:70; overflow:hidden; visibility:hidden; opacity:0; transition:.25s; }
.mobile-panel.open { visibility:visible; opacity:1; }
.mobile-overlay { position:absolute; inset:0; background:rgb(0 0 0 / .35); }
.mobile-drawer { position:absolute; inset-block:0; right:0; width:min(86vw,24rem); overflow-y:auto; background:var(--background); padding:1.5rem; box-shadow:var(--shadow-lg); transform:translateX(100%); transition:.3s; }
body[dir="rtl"] .mobile-drawer { right:auto; left:0; transform:translateX(-100%); }
.mobile-panel.open .mobile-drawer { transform:translateX(0); }
.mobile-close { margin-inline-start:auto; display:flex; width:2.5rem; height:2.5rem; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:.5rem; background:var(--background); cursor:pointer; }
.mobile-nav { display:flex; flex-direction:column; gap:.25rem; margin-top:1rem; }
.mobile-nav a { border-radius:.5rem; padding:.75rem; font-size:1rem; font-weight:500; }
.mobile-nav a:hover, .mobile-nav a.active { background:var(--secondary); }
.mobile-actions { display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem; }
.mobile-actions .language-wrap { display:block; width:max-content; }

/* Buttons */
.btn { display:inline-flex; min-height:2.5rem; align-items:center; justify-content:center; gap:.5rem; border-radius:.5rem; border:1px solid transparent; padding:.55rem 1rem; font-size:.875rem; font-weight:600; cursor:pointer; transition:.2s; }
.btn:hover { transform:translateY(-1px); }
.btn-lg { min-height:2.75rem; padding:.65rem 1.25rem; }
.btn-xl { min-height:3rem; padding:.75rem 1.5rem; }
.btn-primary { background:var(--primary); color:var(--primary-foreground); box-shadow:var(--shadow-sm); }
.btn-primary:hover { filter:brightness(1.08); }
.btn-outline { background:var(--background); border-color:var(--input); color:var(--foreground); }
.btn-outline:hover { background:var(--secondary); }
.btn-gold { background:var(--gold); color:var(--foreground); }
.btn-ghost { background:transparent; }
.btn-ghost:hover { background:var(--secondary); }
.header-cta { display:none; }
.icon { width:1.1em; height:1.1em; stroke-width:2; }

/* Reveal animation */
.reveal { opacity:0; transform:translateY(1rem); transition:opacity .7s ease-out, transform .7s ease-out; transition-delay:var(--delay,0ms); }
.reveal.shown { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce){ .reveal { opacity:1; transform:none; transition:none; } }

/* Hero and headings */
.hero { position:relative; overflow:hidden; background:var(--surface); }
.hero-grid { display:grid; align-items:center; gap:3.5rem; padding-block:4rem; }
.eyebrow { margin:0; color:var(--sage); font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.2em; }
.hero h1 { margin:.95rem 0 0; font-size:2.25rem; line-height:1.08; font-weight:600; }
.hero-text { max-width:36rem; margin:1.5rem 0 0; color:var(--muted-foreground); font-size:1.125rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.25rem; }
.hero-image-wrap { position:relative; }
.hero-image { overflow:hidden; border:1px solid var(--border); border-radius:1.5rem; background:var(--card); box-shadow:var(--shadow-lg); }
.hero-image img { width:100%; height:100%; object-fit:cover; }
.hero-badge { position:absolute; bottom:-1.5rem; left:1.5rem; display:none; border:1px solid var(--border); border-radius:1rem; background:var(--card); padding:1rem 1.25rem; box-shadow:var(--shadow-md); }
body[dir="rtl"] .hero-badge { left:auto; right:1.5rem; }
.hero-badge small { display:block; color:var(--muted-foreground); font-size:.75rem; text-transform:uppercase; letter-spacing:.16em; }
.hero-badge strong { display:block; margin-top:.25rem; font-size:.875rem; }
.page-hero { border-bottom:1px solid var(--border); background:var(--surface); }
.page-hero-inner { padding-block:4rem; }
.page-hero-content { max-width:48rem; }
.page-hero h1 { margin:.75rem 0 0; font-size:2.25rem; font-weight:600; }
.page-hero p:last-child { max-width:42rem; margin:1.25rem 0 0; color:var(--muted-foreground); font-size:1.125rem; line-height:1.75; }
.section-heading { max-width:42rem; margin-inline:auto; text-align:center; }
.section-heading h2 { margin:.75rem 0 0; font-size:1.875rem; font-weight:600; }
.section-heading .intro { margin:1rem 0 0; color:var(--muted-foreground); font-size:1rem; line-height:1.75; }
.section-heading.dark h2 { color:var(--primary-foreground); }
.section-heading.dark .eyebrow { color:var(--gold); }

/* Trust */
.trust-section { border-block:1px solid var(--border); background:var(--background); }
.trust-grid { display:grid; gap:1.5rem; padding-block:2.5rem; }
.trust-item { display:flex; align-items:center; gap:.75rem; }
.icon-box { display:flex; width:2.5rem; height:2.5rem; flex:0 0 auto; align-items:center; justify-content:center; border-radius:.75rem; background:var(--secondary); }
.icon-box.large { width:3rem; height:3rem; }

/* Cards and grids */
.services-grid { display:grid; gap:1.5rem; margin-top:3.5rem; }
.service-card { display:flex; height:100%; flex-direction:column; border:1px solid var(--border); border-radius:1rem; background:var(--card); padding:1.75rem; box-shadow:var(--shadow-sm); transition:.3s; scroll-margin-top:7rem; }
.service-card:hover { transform:translateY(-.25rem); border-color:color-mix(in oklab,var(--primary) 20%,transparent); box-shadow:var(--shadow-md); }
.service-card:hover .icon-box { background:var(--primary); color:var(--primary-foreground); }
.service-card h3 { margin:1.5rem 0 0; font-size:1.125rem; font-weight:600; }
.service-card > p { margin:.75rem 0 0; color:var(--muted-foreground); font-size:.875rem; line-height:1.75; }
.check-list { display:flex; flex-direction:column; gap:.625rem; margin-top:1.25rem; list-style:none; color:var(--muted-foreground); font-size:.875rem; }
.check-list li { display:flex; gap:.625rem; line-height:1.55; }
.check-list svg { margin-top:.15rem; flex:0 0 auto; color:var(--sage); }
.note { display:flex; gap:.625rem; margin-top:1.5rem; border:1px solid color-mix(in oklab,var(--gold) 40%,transparent); border-radius:.75rem; background:color-mix(in oklab,var(--gold) 10%,transparent); padding:1rem; color:var(--foreground); font-size:.75rem; line-height:1.7; }
.center-action { display:flex; justify-content:center; margin-top:3rem; }
.industries-image { overflow:hidden; margin-top:3rem; border:1px solid var(--border); border-radius:1.5rem; box-shadow:var(--shadow-md); }
.industries-image img { width:100%; height:16rem; object-fit:cover; }
.industries-grid { display:grid; gap:1.25rem; margin-top:3.5rem; }
.industry-card { display:flex; height:100%; align-items:center; gap:1rem; border:1px solid var(--border); border-radius:1rem; background:var(--card); padding:1.5rem; transition:.3s; }
.industry-card:hover { transform:translateY(-.25rem); box-shadow:var(--shadow-md); }
.industry-card h3 { margin:0; font-size:.95rem; font-weight:500; line-height:1.45; }
.steps-grid { display:grid; gap:1.5rem; margin-top:3.5rem; list-style:none; }
.step-card { position:relative; display:flex; height:100%; flex-direction:column; border:1px solid var(--border); border-radius:1rem; background:var(--card); padding:1.5rem; box-shadow:var(--shadow-sm); }
.step-number { display:flex; width:2.5rem; height:2.5rem; align-items:center; justify-content:center; border:1px solid color-mix(in oklab,var(--gold) 50%,transparent); border-radius:999px; background:color-mix(in oklab,var(--gold) 15%,transparent); font-size:.875rem; font-weight:600; }
.step-card h3 { margin:1.25rem 0 0; font-size:1rem; }
.step-card p { margin:.75rem 0 0; color:var(--muted-foreground); font-size:.875rem; line-height:1.75; }
.why-grid { display:grid; gap:1rem; margin-top:3.5rem; }
.why-card { display:flex; height:100%; align-items:flex-start; gap:.75rem; border:1px solid rgb(255 255 255 / .1); border-radius:1rem; background:rgb(255 255 255 / .05); padding:1.5rem; }
.why-card svg { margin-top:.1rem; flex:0 0 auto; color:var(--gold); }
.why-card p { margin:0; color:rgb(255 255 255 / .85); font-size:.875rem; line-height:1.75; }
.about-grid { display:grid; align-items:center; gap:3.5rem; }
.about-image { overflow:hidden; border:1px solid var(--border); border-radius:1.5rem; box-shadow:var(--shadow-md); }
.about-image img { width:100%; height:100%; object-fit:cover; }
.about-copy h2 { margin:.75rem 0 0; font-size:1.875rem; }
.about-copy > p:last-of-type { margin:1.5rem 0 0; color:var(--muted-foreground); line-height:1.75; }
.tag-list { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; list-style:none; }
.tag-list li { border:1px solid var(--border); border-radius:999px; background:var(--card); padding:.5rem 1rem; font-size:.875rem; font-weight:500; }
.about-copy .btn { margin-top:2.25rem; }

/* FAQ */
.faq-list { max-width:48rem; margin:3rem auto 0; }
.faq-item { margin-bottom:.75rem; border:1px solid var(--border); border-radius:1rem; background:var(--card); padding-inline:1.5rem; box-shadow:var(--shadow-sm); }
.faq-question { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; border:0; background:transparent; padding:1.25rem 0; text-align:start; font-size:1rem; font-weight:500; cursor:pointer; }
.faq-question svg { flex:0 0 auto; transition:transform .25s; }
.faq-item.open .faq-question svg { transform:rotate(180deg); }
.faq-answer { max-height:0; overflow:hidden; opacity:0; transition:max-height .35s ease, opacity .25s ease; }
.faq-answer p { padding:0 0 1.25rem; margin:0; color:var(--muted-foreground); font-size:.875rem; line-height:1.75; }
.faq-item.open .faq-answer { max-height:20rem; opacity:1; }

/* CTA */
.cta-band { background:var(--primary); color:var(--primary-foreground); }
.cta-inner { display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; padding-block:3.5rem; }
.cta-band h2 { margin:0; font-size:1.5rem; }
.cta-band p { max-width:36rem; margin:.75rem 0 0; color:rgb(255 255 255 / .7); font-size:.875rem; line-height:1.75; }

/* Contact */
.contact-grid { display:grid; gap:3rem; }
.contact-card, .info-card, .legal-card { border:1px solid var(--border); border-radius:1.5rem; background:var(--card); box-shadow:var(--shadow-md); }
.contact-card { padding:1.75rem; }
.contact-card h2 { margin:.75rem 0 0; font-size:1.875rem; }
.contact-card > p { margin:1rem 0 0; color:var(--muted-foreground); font-size:.875rem; line-height:1.75; }
.contact-form { display:flex; flex-direction:column; gap:1.25rem; margin-top:2rem; }
.form-grid { display:grid; gap:1.25rem; }
.field { display:flex; flex-direction:column; gap:.5rem; }
.field label { font-size:.875rem; font-weight:500; }
.optional { margin-inline-start:.25rem; color:var(--muted-foreground); font-size:.75rem; font-weight:400; }
.field input,.field select,.field textarea { width:100%; border:1px solid var(--input); border-radius:.75rem; background:var(--background); color:var(--foreground); padding:.72rem .8rem; font-size:.875rem; box-shadow:0 1px 2px rgb(0 0 0 / .03); outline:none; transition:.2s; }
.field input,.field select { height:2.75rem; }
.field textarea { min-height:8rem; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 12%,transparent); }
.field .error { margin:0; color:var(--destructive); font-size:.75rem; }
.consent-box { display:flex; align-items:flex-start; gap:.75rem; border:1px solid var(--border); border-radius:.75rem; background:var(--surface); padding:1rem; }
.consent-box input { width:1rem; height:1rem; margin-top:.15rem; accent-color:var(--primary); }
.consent-box label { color:var(--muted-foreground); font-size:.75rem; line-height:1.7; }
.consent-box a { color:var(--foreground); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.success-box { display:flex; gap:.75rem; margin-top:2rem; border:1px solid color-mix(in oklab,var(--sage) 40%,transparent); border-radius:1rem; background:color-mix(in oklab,var(--sage) 10%,transparent); padding:1.5rem; }
.success-box p { margin:.25rem 0 0; color:var(--muted-foreground); font-size:.875rem; }
.contact-side { display:flex; flex-direction:column; gap:1.5rem; }
.info-card { padding:1.75rem; box-shadow:var(--shadow-sm); }
.info-card h3 { margin:0; font-size:1.125rem; }
.info-list { display:flex; flex-direction:column; gap:1.25rem; margin-top:1.5rem; list-style:none; font-size:.875rem; }
.info-list li { display:flex; gap:.75rem; }
.info-list svg { margin-top:.15rem; flex:0 0 auto; color:var(--sage); }
.info-label { display:block; font-weight:500; }
.info-value { display:block; margin-top:.15rem; color:var(--muted-foreground); }
.map-card { overflow:hidden; border:1px solid var(--border); border-radius:1.5rem; box-shadow:var(--shadow-sm); }
.map-card iframe { width:100%; height:18rem; border:0; }

/* Legal */
.legal-wrap { background:var(--surface); }
.legal-inner { padding-block:4rem; }
.legal-card { max-width:48rem; margin-inline:auto; padding:2rem; box-shadow:var(--shadow-sm); }
.legal-card h1 { margin:0; font-size:1.875rem; }
.legal-blocks { display:flex; flex-direction:column; gap:2.25rem; margin-top:2.5rem; }
.legal-block h2 { margin:0; font-size:1rem; }
.legal-block-content { display:flex; flex-direction:column; gap:.5rem; margin-top:.75rem; color:var(--muted-foreground); font-size:.875rem; line-height:1.75; }
.legal-block-content p { margin:0; }

/* Cookie */
.cookie-layer { position:fixed; inset-inline:0; bottom:0; z-index:90; display:none; padding:1rem; }
.cookie-layer.visible { display:block; }
.cookie-card { max-width:48rem; margin-inline:auto; border:1px solid var(--border); border-radius:1rem; background:var(--card); padding:1.5rem; box-shadow:var(--shadow-lg); }
.cookie-row { display:flex; align-items:flex-start; gap:1rem; }
.cookie-icon { display:none; }
.cookie-content { min-width:0; flex:1; }
.cookie-content h2 { margin:0; font-size:1rem; }
.cookie-content > p { margin:.5rem 0 0; color:var(--muted-foreground); font-size:.875rem; line-height:1.7; }
.cookie-content > p a { color:var(--foreground); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.cookie-details { display:none; flex-direction:column; gap:1rem; margin-top:1.25rem; border:1px solid var(--border); border-radius:.75rem; background:var(--surface); padding:1rem; }
.cookie-layer.details .cookie-details { display:flex; }
.cookie-option { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.cookie-option p { margin:0; font-size:.875rem; font-weight:500; }
.cookie-option small { display:block; margin-top:.2rem; color:var(--muted-foreground); font-size:.75rem; line-height:1.5; }
.switch { position:relative; width:2.5rem; height:1.4rem; flex:0 0 auto; border:0; border-radius:999px; background:#cbd5e1; cursor:pointer; transition:.2s; }
.switch::after { content:""; position:absolute; top:.2rem; left:.2rem; width:1rem; height:1rem; border-radius:50%; background:white; box-shadow:0 1px 2px rgb(0 0 0 / .2); transition:.2s; }
.switch.on { background:var(--primary); }
.switch.on::after { transform:translateX(1.1rem); }
body[dir="rtl"] .switch::after { left:auto; right:.2rem; }
body[dir="rtl"] .switch.on::after { transform:translateX(-1.1rem); }
.switch.disabled { opacity:.65; cursor:not-allowed; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; }

/* Footer */
.site-footer { margin-top:auto; background:var(--primary); color:var(--primary-foreground); }
.footer-grid { display:grid; gap:3rem; padding-block:4rem; }
.footer-logo .logo-mark { background:rgb(255 255 255 / .1); }
.footer-logo .logo-title { color:var(--primary-foreground); }
.footer-logo .logo-city { color:rgb(255 255 255 / .6); }
.footer-desc { max-width:20rem; margin:1.25rem 0 0; color:rgb(255 255 255 / .7); font-size:.875rem; line-height:1.75; }
.footer-heading { margin:0; color:var(--gold); font-size:.875rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; }
.footer-list { display:flex; flex-direction:column; gap:.75rem; margin-top:1.25rem; list-style:none; color:rgb(255 255 255 / .75); font-size:.875rem; }
.footer-list a:hover { color:var(--primary-foreground); }
.footer-contact li { display:flex; gap:.75rem; }
.footer-contact svg { margin-top:.15rem; flex:0 0 auto; color:var(--gold); }
.footer-bottom { border-top:1px solid rgb(255 255 255 / .1); }
.footer-bottom-inner { padding-block:2rem; }
.disclaimer { max-width:64rem; margin:0; color:rgb(255 255 255 / .55); font-size:.75rem; line-height:1.75; }
.copyright-row { display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem; color:rgb(255 255 255 / .6); font-size:.75rem; }
.copyright-row p { margin:0; }
.legal-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.legal-links button { border:0; background:transparent; padding:0; cursor:pointer; }
.legal-links a:hover,.legal-links button:hover { color:white; }

/* Responsive */
@media (min-width:640px){
  .language-wrap { display:block; }
  .hero h1 { font-size:3rem; }
  .hero-badge { display:block; }
  .page-hero h1 { font-size:3rem; }
  .section-heading h2,.about-copy h2 { font-size:2.25rem; }
  .trust-grid,.industries-grid,.why-grid,.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-card { padding:2.5rem; }
  .contact-form .btn { width:max-content; }
  .legal-card { padding:3rem; }
  .legal-card h1 { font-size:2.25rem; }
  .cookie-layer { padding:1.5rem; }
  .cookie-icon { display:flex; width:2.5rem; height:2.5rem; flex:0 0 auto; align-items:center; justify-content:center; border-radius:.75rem; background:var(--secondary); }
  .copyright-row { flex-direction:row; align-items:center; justify-content:space-between; }
}
@media (min-width:768px){
  .cta-inner { flex-direction:row; align-items:center; justify-content:space-between; }
  .cta-band h2 { font-size:1.875rem; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px){
  .section-y { padding-block:7rem; }
  .header-cta { display:inline-flex; }
  .hero-grid { grid-template-columns:1.05fr 1fr; padding-block:6rem; }
  .hero h1 { font-size:3.4rem; }
  .page-hero-inner { padding-block:6rem; }
  .services-grid,.industries-grid,.why-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .industries-image img { height:24rem; }
  .steps-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .about-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid { grid-template-columns:1.15fr .85fr; }
  .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:1280px){ .desktop-nav { display:flex; } .mobile-toggle { display:none; } }
.error { margin: 0; color: var(--destructive); font-size: .75rem; }

/* Extended editorial copy */
.hero-title-line2 { display:block; margin-top:.12em; }
.about-paragraphs { margin-top:1.5rem; }
.about-paragraphs p { margin:0; color:var(--muted-foreground); line-height:1.8; }
.about-paragraphs p + p { margin-top:1.1rem; }
.about-subheading { margin:2rem 0 0; font-size:1.25rem; font-weight:600; line-height:1.35; }

/* Contact form delivery helpers */
.form-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-submit-error { margin:0; border:1px solid color-mix(in oklab,var(--destructive) 35%,transparent); border-radius:.75rem; background:color-mix(in oklab,var(--destructive) 7%,transparent); color:var(--destructive); padding:.85rem 1rem; font-size:.875rem; line-height:1.5; }
.contact-form button[disabled] { opacity:.65; cursor:not-allowed; }
