  :root{
    --paper:#F7F5F0; --surface:#FFFFFF; --steel:#EDEAE2; --steel-line:#DDD8CC;
    --ink:#1A1C1E; --ink-soft:#52585C; --ink-faint:#63686D; --line:rgba(26,28,30,0.13);
    --graphite:#1E2124; --graphite-soft:#2A2E31; --paper-on-graphite:#F3F1EC;
    --red:#A6281F; --red-hover:#8A211A; --red-tint:#F5E3E1;
    --gold:#A9863F; --gold-tint:#F1E8D4;
    --radius-s:4px; --radius-m:8px;
    --shadow-card:0 1px 2px rgba(26,28,30,0.06), 0 8px 24px -12px rgba(26,28,30,0.20);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;}
  .icon,.pin{width:100%;height:100%;}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);}
  .eyebrow.on-graphite{color:var(--gold);}
  h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;letter-spacing:0.005em;margin:0;color:inherit;}

  /* header */
  .site-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:88px;background:var(--surface);border-bottom:1px solid var(--line);}
  .brand{display:flex;align-items:center;}
  .brand img{height:52px;width:auto;display:block;}
  .nav-links{display:flex;align-items:center;gap:32px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);}
  .head-right{display:flex;align-items:center;gap:20px;}
  .nav-lang{display:flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:7px 13px 7px 11px;}
  .nav-lang svg{width:15px;height:15px;color:var(--ink-faint);}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:4px;border:1.5px solid transparent;cursor:default;white-space:nowrap;}
  .btn svg{width:16px;height:16px;}
  .btn-primary{background:var(--red);color:#fff;}
  .btn-ghost-dark{border-color:var(--ink);color:var(--ink);}
  .btn-ghost-light{border-color:rgba(243,241,236,0.5);color:var(--paper-on-graphite);}

  /* hero — real facility photo */
  .hero{position:relative;overflow:hidden;padding:104px 40px 96px;color:var(--paper-on-graphite);}
  .hero-slider{position:absolute;inset:0;}
  .hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;}
  .hero-slide.is-active{opacity:1;}
  .hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg, rgba(23,25,27,0.96) 0%, rgba(23,25,27,0.90) 40%, rgba(23,25,27,0.62) 78%, rgba(23,25,27,0.40) 100%);}
  .hero-inner{position:relative;max-width:900px;margin:0 auto;padding:0 40px;}
  .hero h1{font-size:56px;line-height:1.07;margin:18px 0 22px;max-width:780px;}
  .hero .lede{font-size:19px;line-height:1.55;color:rgba(243,241,236,0.86);max-width:620px;margin:0 0 36px;}
  .hero-ctas{display:flex;gap:16px;}
  .hero-credit{position:relative;margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.04em;color:rgba(243,241,236,0.45);}

  /* trust strip */
  .trust-strip{background:var(--surface);border-bottom:1px solid var(--line);}
  .trust-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);}
  .trust-item{padding:28px 30px;border-left:1px solid var(--line);}
  .trust-item:first-child{border-left:none;}
  .trust-item .n{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:22px;color:var(--ink);white-space:nowrap;}
  .trust-item .l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;line-height:1.4;}

  /* section shell */
  .section{padding:96px 40px;}
  .section.steel{background:var(--steel);}
  .section-inner{max-width:1240px;margin:0 auto;}
  .section-head{max-width:680px;margin-bottom:52px;}
  .section-head h2{font-size:36px;margin-top:14px;}
  .section-head .lede{font-size:16.5px;color:var(--ink-soft);margin-top:14px;}
  .section-head .highlight{margin-top:18px;padding:14px 18px;background:var(--gold-tint);border-left:3px solid var(--gold);border-radius:2px;font-size:14px;color:var(--ink);}

  /* sector cards */
  .sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .sector-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-card);}
  .sector-card .icon{width:42px;height:42px;color:var(--red);}
  .sector-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:18px;color:var(--ink);}
  .sector-card p{font-size:13.5px;color:var(--ink-soft);margin:0;}
  .sector-card .go{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;}
  .sector-card .go svg{width:12px;height:12px;}

  /* capability grid — 5 real in-house disciplines */
  .cap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
  .cap-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card);}
  .cap-card .icon{width:34px;height:34px;color:var(--gold);}
  .cap-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;line-height:1.25;}
  .cap-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;}
  .cap-card li{font-size:11.5px;color:var(--ink-soft);position:relative;padding-left:12px;line-height:1.4;}
  .cap-card li::before{content:'';position:absolute;left:0;top:6px;width:4px;height:4px;border-radius:50%;background:var(--gold);}

  /* proof strip — real photos from the floor */
  .proof-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .proof-card{border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);}
  .proof-card img{width:100%;height:320px;object-fit:cover;display:block;}
  .proof-card .cap{padding:16px 22px;font-size:13.5px;color:var(--ink-soft);}

  /* locations */
  .loc-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:32px;}
  .loc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;}
  .loc-card .visual{width:100%;height:180px;background:var(--steel);display:flex;align-items:center;justify-content:center;}
  .loc-card .visual img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
  .loc-card .visual svg{width:56px;height:56px;color:var(--ink-faint);opacity:0.55;}
  .loc-card .body{padding:28px 32px;flex:1;display:flex;flex-direction:column;}
  .loc-card .country{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);}
  .loc-card h3{font-size:23px;font-weight:800;margin:6px 0 10px;}
  .loc-card .role{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:10px;}
  .loc-card .desc{font-size:14px;color:var(--ink-soft);margin:0 0 14px;line-height:1.55;}
  .loc-card .fact{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-faint);margin:0 0 14px;}
  .loc-card .addr{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-faint);border-top:1px dashed var(--steel-line);padding-top:12px;margin-top:auto;}
  .loc-connector{display:flex;flex-direction:column;align-items:center;gap:10px;justify-content:center;}
  .loc-connector .ln{width:2px;height:64px;background:repeating-linear-gradient(to bottom,var(--gold) 0 6px,transparent 6px 12px);}
  .loc-connector .tag{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-faint);text-align:center;max-width:80px;}

  /* certifications — 5 verified ISO management-system certificates */
  .cert-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
  .cert-card{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;}
  .cert-card .icon{width:30px;height:30px;color:var(--gold);flex-shrink:0;}
  .cert-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;}
  .cert-card p{font-size:12.5px;color:var(--ink-soft);margin:5px 0 0;line-height:1.5;}
  .cert-note{margin-top:20px;font-size:13px;color:var(--ink-faint);}

  /* closing CTA */
  .cta-band{background:var(--graphite);color:var(--paper-on-graphite);padding:88px 40px;text-align:center;}
  .cta-band .eyebrow{justify-content:center;display:flex;}
  .cta-band h2{font-size:36px;max-width:720px;margin:16px auto 18px;}
  .cta-band .lede{color:rgba(243,241,236,0.78);max-width:560px;margin:0 auto 32px;font-size:16.5px;}
  .cta-band .ctas{display:flex;justify-content:center;gap:16px;}
  .cta-band .micro{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,241,236,0.55);}

  /* footer */
  .site-footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 40px 32px;}
  .footer-inner{max-width:1240px;margin:0 auto;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line);}
  .footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;}
  .footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col li,.footer-col p{font-size:14px;color:var(--ink-soft);margin:0;}
  .footer-about img{height:34px;width:auto;margin-bottom:14px;}
  .footer-about p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:280px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:16px;}
  .lang-row{display:flex;gap:8px;}
  .lang-pill{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.04em;border:1px solid var(--line);border-radius:20px;padding:6px 13px;color:var(--ink-soft);}
  .lang-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .copyright{font-size:13px;color:var(--ink-faint);}
  .legal-line{font-size:11px;color:var(--ink-faint);margin-top:4px;}

  /* — signature layer: brand motif + micro-interactions — */
  .top-accent{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold));z-index:50;}
  .est-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--ink-faint);border-left:1px solid var(--line);padding-left:14px;margin-left:14px;text-transform:uppercase;white-space:nowrap;}
  .ribbon-divider{width:100%;line-height:0;}
  .ribbon-divider svg{width:100%;height:22px;display:block;}
  .ribbon-divider.on-graphite{background:var(--graphite);}
  .ribbon-divider.on-steel{background:var(--steel);}
  .ribbon-divider.on-paper{background:var(--paper);}

  .btn{transition:background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;cursor:pointer;}
  .btn-primary:hover{background:var(--red-hover);box-shadow:0 6px 16px -4px rgba(166,40,31,0.5);transform:translateY(-1px);}
  .btn-ghost-dark:hover{background:var(--ink);color:#fff;}
  .btn-ghost-light:hover{background:rgba(243,241,236,0.12);border-color:rgba(243,241,236,0.9);}

  .nav-links a{position:relative;padding-bottom:6px;transition:color .2s ease;cursor:pointer;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{width:100%;}

  .sector-card{position:relative;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;cursor:pointer;}
  .sector-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .sector-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px -16px rgba(26,28,30,0.30);border-color:rgba(166,40,31,0.28);}
  .sector-card:hover .icon{color:var(--red);}
  .sector-card::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--red),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .sector-card:hover::after{transform:scaleX(1);}
  .sector-card .go svg{transition:transform .25s ease;}
  .sector-card:hover .go svg{transform:translateX(3px);}

  .cap-card{position:relative;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
  .cap-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .cap-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px -14px rgba(26,28,30,0.26);}
  .cap-card:hover .icon{color:var(--gold);}
  .cap-card li::before{background:transparent;border:1.4px solid var(--gold);top:5px;}

  .cert-card{transition:transform .2s ease, box-shadow .2s ease;}
  .cert-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .cert-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(26,28,30,0.24);}
  .cert-card:hover .icon{color:var(--gold);}

  .proof-card img{filter:grayscale(0.85) contrast(1.02);transition:filter .5s ease, transform .6s ease;}
  .proof-card:hover img{filter:grayscale(0);transform:scale(1.045);}

  .loc-card{transition:box-shadow .25s ease;}
  .loc-card .visual img{filter:grayscale(0.8);transition:filter .5s ease, transform .6s ease;}
  .loc-card:hover .visual img{filter:grayscale(0);transform:scale(1.04);}
  .loc-card:hover{box-shadow:0 18px 34px -16px rgba(26,28,30,0.26);}


  :root{
    --paper:#F7F5F0; --surface:#FFFFFF; --steel:#EDEAE2; --steel-line:#DDD8CC;
    --ink:#1A1C1E; --ink-soft:#52585C; --ink-faint:#63686D; --line:rgba(26,28,30,0.13);
    --graphite:#1E2124; --graphite-soft:#2A2E31; --paper-on-graphite:#F3F1EC;
    --red:#A6281F; --red-hover:#8A211A; --red-tint:#F5E3E1;
    --gold:#A9863F; --gold-tint:#F1E8D4;
    --radius-s:4px; --radius-m:8px;
    --shadow-card:0 1px 2px rgba(26,28,30,0.06), 0 8px 24px -12px rgba(26,28,30,0.20);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;}
  .icon{width:100%;height:100%;}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);}
  .eyebrow.on-graphite{color:var(--gold);}
  h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;letter-spacing:0.005em;margin:0;color:inherit;}

  /* header */
  .site-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:88px;background:var(--surface);border-bottom:1px solid var(--line);}
  .brand{display:flex;align-items:center;}
  .brand img{height:52px;width:auto;display:block;}
  .nav-links{display:flex;align-items:center;gap:32px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);}
  .head-right{display:flex;align-items:center;gap:20px;}
  .nav-lang{display:flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:7px 13px 7px 11px;}
  .nav-lang svg{width:15px;height:15px;color:var(--ink-faint);}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:4px;border:1.5px solid transparent;cursor:default;white-space:nowrap;}
  .btn svg{width:16px;height:16px;}
  .btn-primary{background:var(--red);color:#fff;}
  .btn-ghost-dark{border-color:var(--ink);color:var(--ink);}
  .btn-ghost-light{border-color:rgba(243,241,236,0.5);color:var(--paper-on-graphite);}

  /* breadcrumb */
  .breadcrumb-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 40px;}
  .breadcrumb{max-width:1240px;margin:0 auto;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-faint);display:flex;gap:8px;align-items:center;}
  .breadcrumb b{color:var(--ink-soft);font-weight:500;}

  /* sector hero — text + real product graphic */
  .sector-hero{background:var(--steel);padding:76px 40px;border-bottom:3px solid var(--red);}
  .sector-hero-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
  .sector-hero h1{font-size:42px;line-height:1.08;margin:16px 0 18px;color:var(--ink);}
  .sector-hero .lede{font-size:17px;color:var(--ink-soft);margin:0 0 30px;}
  .sector-hero-ctas{display:flex;gap:16px;}
  .sector-hero-visual{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line);}
  .sector-hero-visual img{width:100%;display:block;}

  /* value props — real, from Alpin's own automotive material */
  .value-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;padding-top:36px;border-top:1px solid var(--steel-line);}
  .value-item{display:flex;flex-direction:column;gap:10px;}
  .value-item .icon{width:28px;height:28px;color:var(--gold);}
  .value-item h4{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14px;margin:0;}
  .value-item p{font-size:12.5px;color:var(--ink-soft);margin:0;line-height:1.45;}

  /* section shell */
  .section{padding:88px 40px;}
  .section.steel{background:var(--steel);}
  .section-inner{max-width:1240px;margin:0 auto;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head h2{font-size:34px;margin-top:14px;}
  .section-head .lede{font-size:16.5px;color:var(--ink-soft);margin-top:14px;}

  /* process columns (reused pattern) */
  .process-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  .process-card{display:flex;flex-direction:column;gap:16px;}
  .process-card .icon{width:46px;height:46px;color:var(--gold);}
  .process-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:19px;}
  .process-card p{font-size:14.5px;color:var(--ink-soft);margin:0;}

  /* certifications (reused pattern, 5 real ISO certs) */
  .cert-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
  .cert-card{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;}
  .cert-card .icon{width:30px;height:30px;color:var(--gold);flex-shrink:0;}
  .cert-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;}
  .cert-card p{font-size:12.5px;color:var(--ink-soft);margin:5px 0 0;line-height:1.5;}
  .cert-note{margin-top:20px;font-size:13px;color:var(--ink-faint);}

  /* trust / case study placeholder — genuinely no case study data yet */
  .tbd-card{border:1.5px dashed var(--steel-line);border-radius:var(--radius-m);padding:32px;background:var(--surface);}
  .tbd-card .tbd-tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;display:block;}
  .tbd-card p{font-size:15.5px;color:var(--ink-soft);font-style:italic;margin:0;line-height:1.6;max-width:680px;}

  /* related sectors */
  .chip-row{display:flex;flex-wrap:wrap;gap:12px;}
  .sector-chip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:10px 18px 10px 12px;}
  .sector-chip .icon{width:22px;height:22px;color:var(--red);}
  .sector-chip span{font-size:13.5px;font-weight:500;color:var(--ink);}

  /* closing CTA (reused) */
  .cta-band{background:var(--graphite);color:var(--paper-on-graphite);padding:88px 40px;text-align:center;}
  .cta-band .eyebrow{justify-content:center;display:flex;}
  .cta-band h2{font-size:36px;max-width:720px;margin:16px auto 18px;}
  .cta-band .lede{color:rgba(243,241,236,0.78);max-width:560px;margin:0 auto 32px;font-size:16.5px;}
  .cta-band .ctas{display:flex;justify-content:center;gap:16px;}
  .cta-band .micro{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,241,236,0.55);}

  /* footer (reused) */
  .site-footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 40px 32px;}
  .footer-inner{max-width:1240px;margin:0 auto;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line);}
  .footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;}
  .footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col li,.footer-col p{font-size:14px;color:var(--ink-soft);margin:0;}
  .footer-about img{height:34px;width:auto;margin-bottom:14px;}
  .footer-about p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:280px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:16px;}
  .lang-row{display:flex;gap:8px;}
  .lang-pill{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.04em;border:1px solid var(--line);border-radius:20px;padding:6px 13px;color:var(--ink-soft);}
  .lang-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .copyright{font-size:13px;color:var(--ink-faint);}
  .legal-line{font-size:11px;color:var(--ink-faint);margin-top:4px;}

  /* — signature layer: brand motif + micro-interactions — */
  .top-accent{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold));z-index:50;}
  .est-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--ink-faint);border-left:1px solid var(--line);padding-left:14px;margin-left:14px;text-transform:uppercase;white-space:nowrap;}
  .ribbon-divider{width:100%;line-height:0;}
  .ribbon-divider svg{width:100%;height:22px;display:block;}
  .ribbon-divider.on-graphite{background:var(--graphite);}
  .ribbon-divider.on-steel{background:var(--steel);}
  .ribbon-divider.on-paper{background:var(--paper);}

  .btn{transition:background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;cursor:pointer;}
  .btn-primary:hover{background:var(--red-hover);box-shadow:0 6px 16px -4px rgba(166,40,31,0.5);transform:translateY(-1px);}
  .btn-ghost-dark:hover{background:var(--ink);color:#fff;}
  .btn-ghost-light:hover{background:rgba(243,241,236,0.12);border-color:rgba(243,241,236,0.9);}

  .nav-links a{position:relative;padding-bottom:6px;transition:color .2s ease;cursor:pointer;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{width:100%;}

  .sector-hero-visual{transition:box-shadow .25s ease;}
  .sector-hero-visual img{filter:grayscale(0.7);transition:filter .5s ease, transform .6s ease;}
  .sector-hero-visual:hover img{filter:grayscale(0);transform:scale(1.03);}

  .value-item{transition:transform .2s ease;}
  .value-item .icon{color:var(--ink-faint);transition:color .3s ease;}
  .value-item:hover{transform:translateY(-2px);}
  .value-item:hover .icon{color:var(--gold);}

  .process-card{transition:transform .2s ease;}
  .process-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .process-card:hover{transform:translateY(-3px);}
  .process-card:hover .icon{color:var(--gold);}

  .cert-card{transition:transform .2s ease, box-shadow .2s ease;}
  .cert-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .cert-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(26,28,30,0.24);}
  .cert-card:hover .icon{color:var(--gold);}

  .sector-chip{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;cursor:pointer;}
  .sector-chip .icon{color:var(--ink-faint);transition:color .3s ease;}
  .sector-chip:hover{transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(26,28,30,0.22);border-color:rgba(166,40,31,0.3);}
  .sector-chip:hover .icon{color:var(--red);}


  :root{
    --paper:#F7F5F0; --surface:#FFFFFF; --steel:#EDEAE2; --steel-line:#DDD8CC;
    --ink:#1A1C1E; --ink-soft:#52585C; --ink-faint:#63686D; --line:rgba(26,28,30,0.13);
    --graphite:#1E2124; --graphite-soft:#2A2E31; --paper-on-graphite:#F3F1EC;
    --red:#A6281F; --red-hover:#8A211A; --red-tint:#F5E3E1;
    --gold:#A9863F; --gold-tint:#F1E8D4;
    --radius-s:4px; --radius-m:8px;
    --shadow-card:0 1px 2px rgba(26,28,30,0.06), 0 8px 24px -12px rgba(26,28,30,0.20);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;}
  .icon{width:100%;height:100%;}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);}
  .eyebrow.on-graphite{color:var(--gold);}
  h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;letter-spacing:0.005em;margin:0;color:inherit;}

  /* header */
  .site-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:88px;background:var(--surface);border-bottom:1px solid var(--line);}
  .brand{display:flex;align-items:center;}
  .brand img{height:52px;width:auto;display:block;}
  .nav-links{display:flex;align-items:center;gap:32px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);}
  .head-right{display:flex;align-items:center;gap:20px;}
  .nav-lang{display:flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:7px 13px 7px 11px;}
  .nav-lang svg{width:15px;height:15px;color:var(--ink-faint);}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:4px;border:1.5px solid transparent;cursor:default;white-space:nowrap;}
  .btn svg{width:16px;height:16px;}
  .btn-primary{background:var(--red);color:#fff;}
  .btn-ghost-dark{border-color:var(--ink);color:var(--ink);}
  .btn-ghost-light{border-color:rgba(243,241,236,0.5);color:var(--paper-on-graphite);}

  /* breadcrumb */
  .breadcrumb-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 40px;}
  .breadcrumb{max-width:1240px;margin:0 auto;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-faint);display:flex;gap:8px;align-items:center;}
  .breadcrumb b{color:var(--ink-soft);font-weight:500;}

  /* kurumsal hero — text + real CAD/engineering photo (reuses sector-hero pattern) */
  .sector-hero{background:var(--steel);padding:76px 40px;border-bottom:3px solid var(--red);}
  .sector-hero-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
  .sector-hero h1{font-size:40px;line-height:1.1;margin:16px 0 18px;color:var(--ink);}
  .sector-hero .lede{font-size:17px;color:var(--ink-soft);margin:0 0 30px;}
  .sector-hero-ctas{display:flex;gap:16px;}
  .sector-hero-visual{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line);}
  .sector-hero-visual img{width:100%;display:block;}

  /* section shell */
  .section{padding:88px 40px;}
  .section.steel{background:var(--steel);}
  .section-inner{max-width:1240px;margin:0 auto;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head h2{font-size:34px;margin-top:14px;}
  .section-head .lede{font-size:16.5px;color:var(--ink-soft);margin-top:14px;}

  /* stat row — company-in-numbers, boxed variant of the homepage trust strip */
  .stat-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;background:var(--surface);margin-bottom:56px;}
  .stat-item{padding:26px 22px;border-left:1px solid var(--line);text-align:center;}
  .stat-item:first-child{border-left:none;}
  .stat-item .n{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:25px;color:var(--ink);white-space:nowrap;}
  .stat-item .l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;}

  /* competency chips — same 5 in-house disciplines as the homepage capability grid, condensed */
  .chip-row{display:flex;flex-wrap:wrap;gap:12px;}
  .comp-chip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:10px 18px 10px 12px;}
  .comp-chip .icon{width:22px;height:22px;color:var(--ink-faint);transition:color .3s ease;}
  .comp-chip span{font-size:13.5px;font-weight:500;color:var(--ink);}

  /* growth timeline — visualizes the 2015→2020 story */
  .timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:34px 24px;position:relative;padding-top:2px;overflow:hidden;}
  .timeline::before{content:none;}
  .timeline-item::before{content:'';position:absolute;top:25px;left:58px;width:calc(100% + 24px);height:2px;background:var(--gold);opacity:0.32;}
  .timeline-item{position:relative;display:flex;flex-direction:column;gap:14px;}
  .timeline-dot{width:48px;height:48px;border-radius:50%;background:var(--surface);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;}
  .timeline-dot .icon{width:22px;height:22px;color:var(--ink-faint);transition:color .3s ease;}
  .timeline-year{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--red);font-weight:500;letter-spacing:0.03em;}
  .timeline-item h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:16px;margin:2px 0 0;}
  .timeline-item p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.5;max-width:240px;}

  /* proof strip — real photos from the floor (same pattern as homepage) */
  .proof-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .proof-card{border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);}
  .proof-card img{width:100%;height:320px;object-fit:cover;display:block;}
  .proof-card .cap{padding:16px 22px;font-size:13.5px;color:var(--ink-soft);}

  /* certifications (reused pattern, 5 real ISO certs) */
  .cert-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
  .cert-card{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;}
  .cert-card .icon{width:30px;height:30px;color:var(--gold);flex-shrink:0;}
  .cert-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;}
  .cert-card p{font-size:12.5px;color:var(--ink-soft);margin:5px 0 0;line-height:1.5;}
  .cert-note{margin-top:20px;font-size:13px;color:var(--ink-faint);}

  /* closing CTA (reused) */
  .cta-band{background:var(--graphite);color:var(--paper-on-graphite);padding:88px 40px;text-align:center;}
  .cta-band .eyebrow{justify-content:center;display:flex;}
  .cta-band h2{font-size:36px;max-width:720px;margin:16px auto 18px;}
  .cta-band .lede{color:rgba(243,241,236,0.78);max-width:560px;margin:0 auto 32px;font-size:16.5px;}
  .cta-band .ctas{display:flex;justify-content:center;gap:16px;}
  .cta-band .micro{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,241,236,0.55);}

  /* footer (reused) */
  .site-footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 40px 32px;}
  .footer-inner{max-width:1240px;margin:0 auto;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line);}
  .footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;}
  .footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col li,.footer-col p{font-size:14px;color:var(--ink-soft);margin:0;}
  .footer-about img{height:34px;width:auto;margin-bottom:14px;}
  .footer-about p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:280px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:16px;}
  .lang-row{display:flex;gap:8px;}
  .lang-pill{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.04em;border:1px solid var(--line);border-radius:20px;padding:6px 13px;color:var(--ink-soft);}
  .lang-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .copyright{font-size:13px;color:var(--ink-faint);}
  .legal-line{font-size:11px;color:var(--ink-faint);margin-top:4px;}

  /* — signature layer: brand motif + micro-interactions — */
  .top-accent{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold));z-index:50;}
  .est-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--ink-faint);border-left:1px solid var(--line);padding-left:14px;margin-left:14px;text-transform:uppercase;white-space:nowrap;}
  .ribbon-divider{width:100%;line-height:0;}
  .ribbon-divider svg{width:100%;height:22px;display:block;}
  .ribbon-divider.on-graphite{background:var(--graphite);}
  .ribbon-divider.on-steel{background:var(--steel);}
  .ribbon-divider.on-paper{background:var(--paper);}

  .btn{transition:background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;cursor:pointer;}
  .btn-primary:hover{background:var(--red-hover);box-shadow:0 6px 16px -4px rgba(166,40,31,0.5);transform:translateY(-1px);}
  .btn-ghost-dark:hover{background:var(--ink);color:#fff;}
  .btn-ghost-light:hover{background:rgba(243,241,236,0.12);border-color:rgba(243,241,236,0.9);}

  .nav-links a{position:relative;padding-bottom:6px;transition:color .2s ease;cursor:pointer;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{width:100%;}

  .sector-hero-visual{transition:box-shadow .25s ease;}
  .sector-hero-visual img{filter:grayscale(0.7);transition:filter .5s ease, transform .6s ease;}
  .sector-hero-visual:hover img{filter:grayscale(0);transform:scale(1.03);}

  .comp-chip{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;cursor:pointer;}
  .comp-chip:hover{transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(26,28,30,0.22);border-color:rgba(166,40,31,0.3);}
  .comp-chip:hover .icon{color:var(--red);}

  .timeline-item{transition:transform .2s ease;cursor:default;}
  .timeline-item:hover{transform:translateY(-3px);}
  .timeline-item:hover .timeline-dot{border-color:var(--gold);box-shadow:0 0 0 5px var(--gold-tint);}
  .timeline-item:hover .timeline-dot .icon{color:var(--red);}

  .proof-card img{filter:grayscale(0.85) contrast(1.02);transition:filter .5s ease, transform .6s ease;}
  .proof-card:hover img{filter:grayscale(0);transform:scale(1.045);}

  .cert-card{transition:transform .2s ease, box-shadow .2s ease;}
  .cert-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .cert-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(26,28,30,0.24);}
  .cert-card:hover .icon{color:var(--gold);}


  :root{
    --paper:#F7F5F0; --surface:#FFFFFF; --steel:#EDEAE2; --steel-line:#DDD8CC;
    --ink:#1A1C1E; --ink-soft:#52585C; --ink-faint:#63686D; --line:rgba(26,28,30,0.13);
    --graphite:#1E2124; --graphite-soft:#2A2E31; --paper-on-graphite:#F3F1EC;
    --red:#A6281F; --red-hover:#8A211A; --red-tint:#F5E3E1;
    --gold:#A9863F; --gold-tint:#F1E8D4;
    --radius-s:4px; --radius-m:8px;
    --shadow-card:0 1px 2px rgba(26,28,30,0.06), 0 8px 24px -12px rgba(26,28,30,0.20);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;}
  .icon{width:100%;height:100%;}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);}
  .eyebrow.on-graphite{color:var(--gold);}
  h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;letter-spacing:0.005em;margin:0;color:inherit;}

  /* header */
  .site-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:88px;background:var(--surface);border-bottom:1px solid var(--line);}
  .brand{display:flex;align-items:center;}
  .brand img{height:52px;width:auto;display:block;}
  .nav-links{display:flex;align-items:center;gap:32px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);}
  .head-right{display:flex;align-items:center;gap:20px;}
  .nav-lang{display:flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:7px 13px 7px 11px;}
  .nav-lang svg{width:15px;height:15px;color:var(--ink-faint);}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:4px;border:1.5px solid transparent;cursor:default;white-space:nowrap;}
  .btn svg{width:16px;height:16px;}
  .btn-primary{background:var(--red);color:#fff;}
  .btn-ghost-dark{border-color:var(--ink);color:var(--ink);}
  .btn-ghost-light{border-color:rgba(243,241,236,0.5);color:var(--paper-on-graphite);}

  /* breadcrumb */
  .breadcrumb-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 40px;}
  .breadcrumb{max-width:1240px;margin:0 auto;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-faint);display:flex;gap:8px;align-items:center;}
  .breadcrumb b{color:var(--ink-soft);font-weight:500;}

  /* hero — text + real EDM/precision photo */
  .sector-hero{background:var(--steel);padding:76px 40px;border-bottom:3px solid var(--red);}
  .sector-hero-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
  .sector-hero h1{font-size:40px;line-height:1.1;margin:16px 0 18px;color:var(--ink);}
  .sector-hero .lede{font-size:17px;color:var(--ink-soft);margin:0 0 30px;}
  .sector-hero-ctas{display:flex;gap:16px;}
  .sector-hero-visual{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line);}
  .sector-hero-visual img{width:100%;display:block;}

  /* section shell */
  .section{padding:88px 40px;}
  .section.steel{background:var(--steel);}
  .section-inner{max-width:1240px;margin:0 auto;}
  .section-head{max-width:660px;margin-bottom:52px;}
  .section-head h2{font-size:34px;margin-top:14px;}
  .section-head .lede{font-size:16.5px;color:var(--ink-soft);margin-top:14px;}

  /* capability grid — 5 real in-house disciplines, full detail */
  .cap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
  .cap-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card);}
  .cap-card .icon{width:34px;height:34px;color:var(--gold);}
  .cap-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;line-height:1.25;}
  .cap-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;}
  .cap-card li{font-size:11.5px;color:var(--ink-soft);position:relative;padding-left:12px;line-height:1.4;}
  .cap-card li::before{content:'';position:absolute;left:0;top:6px;width:4px;height:4px;border-radius:50%;background:var(--gold);}

  /* workshop inventory — two lists + a real proof photo */
  .inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
  .inv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:32px;box-shadow:var(--shadow-card);}
  .inv-card h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 14px;}
  .inv-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:9px;margin-bottom:26px;}
  .inv-card ul:last-child{margin-bottom:0;}
  .inv-card li{font-size:14px;color:var(--ink);position:relative;padding-left:16px;}
  .inv-card li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--red);}
  .inv-photo{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line);}
  .inv-photo img{width:100%;height:100%;object-fit:cover;display:block;}

  /* differentiator — proof card with highlight text */
  .diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
  .diff-grid .lede{font-size:16.5px;color:var(--ink-soft);margin-top:14px;}
  .proof-card{border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);}
  .proof-card img{width:100%;height:340px;object-fit:cover;display:block;}
  .proof-card .cap{padding:16px 22px;font-size:13.5px;color:var(--ink-soft);}

  /* certifications (reused pattern, 5 real ISO certs) */
  .cert-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
  .cert-card{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;}
  .cert-card .icon{width:30px;height:30px;color:var(--gold);flex-shrink:0;}
  .cert-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;}
  .cert-card p{font-size:12.5px;color:var(--ink-soft);margin:5px 0 0;line-height:1.5;}
  .cert-note{margin-top:20px;font-size:13px;color:var(--ink-faint);}

  /* closing CTA (reused) */
  .cta-band{background:var(--graphite);color:var(--paper-on-graphite);padding:88px 40px;text-align:center;}
  .cta-band .eyebrow{justify-content:center;display:flex;}
  .cta-band h2{font-size:36px;max-width:720px;margin:16px auto 18px;}
  .cta-band .lede{color:rgba(243,241,236,0.78);max-width:560px;margin:0 auto 32px;font-size:16.5px;}
  .cta-band .ctas{display:flex;justify-content:center;gap:16px;}
  .cta-band .micro{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,241,236,0.55);}

  /* footer (reused) */
  .site-footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 40px 32px;}
  .footer-inner{max-width:1240px;margin:0 auto;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line);}
  .footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;}
  .footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col li,.footer-col p{font-size:14px;color:var(--ink-soft);margin:0;}
  .footer-about img{height:34px;width:auto;margin-bottom:14px;}
  .footer-about p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:280px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:16px;}
  .lang-row{display:flex;gap:8px;}
  .lang-pill{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.04em;border:1px solid var(--line);border-radius:20px;padding:6px 13px;color:var(--ink-soft);}
  .lang-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .copyright{font-size:13px;color:var(--ink-faint);}
  .legal-line{font-size:11px;color:var(--ink-faint);margin-top:4px;}

  /* — signature layer: brand motif + micro-interactions — */
  .top-accent{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold));z-index:50;}
  .est-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--ink-faint);border-left:1px solid var(--line);padding-left:14px;margin-left:14px;text-transform:uppercase;white-space:nowrap;}
  .ribbon-divider{width:100%;line-height:0;}
  .ribbon-divider svg{width:100%;height:22px;display:block;}
  .ribbon-divider.on-graphite{background:var(--graphite);}
  .ribbon-divider.on-steel{background:var(--steel);}
  .ribbon-divider.on-paper{background:var(--paper);}

  .btn{transition:background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;cursor:pointer;}
  .btn-primary:hover{background:var(--red-hover);box-shadow:0 6px 16px -4px rgba(166,40,31,0.5);transform:translateY(-1px);}
  .btn-ghost-dark:hover{background:var(--ink);color:#fff;}
  .btn-ghost-light:hover{background:rgba(243,241,236,0.12);border-color:rgba(243,241,236,0.9);}

  .nav-links a{position:relative;padding-bottom:6px;transition:color .2s ease;cursor:pointer;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{width:100%;}

  .sector-hero-visual{transition:box-shadow .25s ease;}
  .sector-hero-visual img{filter:grayscale(0.7);transition:filter .5s ease, transform .6s ease;}
  .sector-hero-visual:hover img{filter:grayscale(0);transform:scale(1.03);}

  .cap-card{position:relative;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
  .cap-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .cap-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px -14px rgba(26,28,30,0.26);}
  .cap-card:hover .icon{color:var(--gold);}
  .cap-card li::before{background:transparent;border:1.4px solid var(--gold);top:5px;}

  .inv-photo img{filter:grayscale(0.8);transition:filter .5s ease, transform .6s ease;}
  .inv-photo:hover img{filter:grayscale(0);transform:scale(1.04);}

  .proof-card img{filter:grayscale(0.85) contrast(1.02);transition:filter .5s ease, transform .6s ease;}
  .proof-card:hover img{filter:grayscale(0);transform:scale(1.045);}

  .cert-card{transition:transform .2s ease, box-shadow .2s ease;}
  .cert-card .icon{color:var(--ink-faint);transition:color .3s ease;}
  .cert-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(26,28,30,0.24);}
  .cert-card:hover .icon{color:var(--gold);}


  :root{
    --paper:#F7F5F0; --surface:#FFFFFF; --steel:#EDEAE2; --steel-line:#DDD8CC;
    --ink:#1A1C1E; --ink-soft:#52585C; --ink-faint:#63686D; --line:rgba(26,28,30,0.13);
    --graphite:#1E2124; --graphite-soft:#2A2E31; --paper-on-graphite:#F3F1EC;
    --red:#A6281F; --red-hover:#8A211A; --red-tint:#F5E3E1;
    --gold:#A9863F; --gold-tint:#F1E8D4;
    --radius-s:4px; --radius-m:8px;
    --shadow-card:0 1px 2px rgba(26,28,30,0.06), 0 8px 24px -12px rgba(26,28,30,0.20);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;}
  .icon{width:100%;height:100%;}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);}
  .eyebrow.on-graphite{color:var(--gold);}
  h1,h2,h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;letter-spacing:0.005em;margin:0;color:inherit;}

  /* header */
  .site-header{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:88px;background:var(--surface);border-bottom:1px solid var(--line);}
  .brand{display:flex;align-items:center;}
  .brand img{height:52px;width:auto;display:block;}
  .nav-links{display:flex;align-items:center;gap:32px;}
  .nav-links a{font-size:14.5px;font-weight:500;color:var(--ink-soft);}
  .head-right{display:flex;align-items:center;gap:20px;}
  .nav-lang{display:flex;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:7px 13px 7px 11px;}
  .nav-lang svg{width:15px;height:15px;color:var(--ink-faint);}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:4px;border:1.5px solid transparent;cursor:default;white-space:nowrap;}
  .btn svg{width:16px;height:16px;}
  .btn-primary{background:var(--red);color:#fff;}
  .btn-ghost-dark{border-color:var(--ink);color:var(--ink);}
  .btn-ghost-light{border-color:rgba(243,241,236,0.5);color:var(--paper-on-graphite);}

  /* breadcrumb */
  .breadcrumb-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 40px;}
  .breadcrumb{max-width:1240px;margin:0 auto;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-faint);display:flex;gap:8px;align-items:center;}
  .breadcrumb b{color:var(--ink-soft);font-weight:500;}

  /* hero — text + a real ISO certificate, framed like a physical document */
  .sector-hero{background:var(--steel);padding:76px 40px;border-bottom:3px solid var(--red);}
  .sector-hero-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.2fr 0.8fr;gap:48px;align-items:center;}
  .sector-hero h1{font-size:40px;line-height:1.1;margin:16px 0 18px;color:var(--ink);}
  .sector-hero .lede{font-size:17px;color:var(--ink-soft);margin:0 0 30px;}
  .sector-hero-ctas{display:flex;gap:16px;}
  .sector-hero-visual{border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);padding:26px;display:flex;align-items:center;justify-content:center;}
  .sector-hero-visual img{width:auto;max-width:100%;max-height:420px;display:block;border-radius:3px;box-shadow:0 6px 22px rgba(26,28,30,0.18);}

  /* section shell */
  .section{padding:88px 40px;}
  .section.steel{background:var(--steel);}
  .section-inner{max-width:1240px;margin:0 auto;}
  .section-head{max-width:660px;margin-bottom:52px;}
  .section-head h2{font-size:34px;margin-top:14px;}
  .section-head .lede{font-size:16.5px;color:var(--ink-soft);margin-top:14px;}

  /* document cards — real certificate scans */
  .doc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;}
  .doc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-card);}
  .doc-card .doc-img{overflow:hidden;background:var(--steel);border-bottom:1px solid var(--line);}
  .doc-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#fff;display:block;}
  .doc-body{padding:16px 18px 20px;}
  .doc-body h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;}
  .doc-body p{font-size:12.5px;color:var(--ink-soft);margin:5px 0 0;}

  /* scope paragraph */
  .scope-text{font-size:16.5px;color:var(--ink-soft);max-width:820px;line-height:1.7;}
  .scope-text b{color:var(--ink);font-weight:600;}

  /* why-it-matters row */
  .value-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;}
  .value-item{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;}
  .value-item .icon{width:26px;height:26px;color:var(--gold);}
  .value-item h4{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:13.5px;margin:0;}
  .value-item p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.5;}

  /* self-declared compliance note */
  .tbd-card{border:1.5px solid var(--steel-line);border-radius:var(--radius-m);padding:28px 32px;background:var(--surface);max-width:760px;}
  .tbd-card .tbd-tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;display:block;}
  .tbd-card p{font-size:15px;color:var(--ink-soft);margin:0;line-height:1.6;}
  .tbd-card p+p{margin-top:10px;}

  /* closing CTA (reused) */
  .cta-band{background:var(--graphite);color:var(--paper-on-graphite);padding:88px 40px;text-align:center;}
  .cta-band .eyebrow{justify-content:center;display:flex;}
  .cta-band h2{font-size:36px;max-width:720px;margin:16px auto 18px;}
  .cta-band .lede{color:rgba(243,241,236,0.78);max-width:560px;margin:0 auto 32px;font-size:16.5px;}
  .cta-band .ctas{display:flex;justify-content:center;gap:16px;}
  .cta-band .micro{margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(243,241,236,0.55);}

  /* footer (reused) */
  .site-footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 40px 32px;}
  .footer-inner{max-width:1240px;margin:0 auto;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line);}
  .footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;}
  .footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col li,.footer-col p{font-size:14px;color:var(--ink-soft);margin:0;}
  .footer-about img{height:34px;width:auto;margin-bottom:14px;}
  .footer-about p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;max-width:280px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:16px;}
  .lang-row{display:flex;gap:8px;}
  .lang-pill{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.04em;border:1px solid var(--line);border-radius:20px;padding:6px 13px;color:var(--ink-soft);}
  .lang-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .copyright{font-size:13px;color:var(--ink-faint);}
  .legal-line{font-size:11px;color:var(--ink-faint);margin-top:4px;}

  /* — signature layer: brand motif + micro-interactions — */
  .top-accent{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold));z-index:50;}
  .est-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--ink-faint);border-left:1px solid var(--line);padding-left:14px;margin-left:14px;text-transform:uppercase;white-space:nowrap;}
  .ribbon-divider{width:100%;line-height:0;}
  .ribbon-divider svg{width:100%;height:22px;display:block;}
  .ribbon-divider.on-graphite{background:var(--graphite);}
  .ribbon-divider.on-steel{background:var(--steel);}
  .ribbon-divider.on-paper{background:var(--paper);}

  .btn{transition:background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;cursor:pointer;}
  .btn-primary:hover{background:var(--red-hover);box-shadow:0 6px 16px -4px rgba(166,40,31,0.5);transform:translateY(-1px);}
  .btn-ghost-dark:hover{background:var(--ink);color:#fff;}
  .btn-ghost-light:hover{background:rgba(243,241,236,0.12);border-color:rgba(243,241,236,0.9);}

  .nav-links a{position:relative;padding-bottom:6px;transition:color .2s ease;cursor:pointer;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{width:100%;}

  /* certificates stay full-color always — a document earns trust by being legible, not by "coming alive" */
  .sector-hero-visual{transition:box-shadow .25s ease;}
  .sector-hero-visual img{transition:transform .5s ease;}
  .sector-hero-visual:hover{box-shadow:0 10px 26px -10px rgba(26,28,30,0.22);}
  .sector-hero-visual:hover img{transform:scale(1.025);}

  .doc-card{transition:transform .25s ease, box-shadow .25s ease;}
  .doc-card img{transition:transform .35s ease;}
  .doc-card:hover{transform:translateY(-5px);box-shadow:0 18px 32px -14px rgba(26,28,30,0.28);}
  .doc-card:hover img{transform:scale(1.015);}

  .value-item{transition:transform .2s ease, box-shadow .2s ease;}
  .value-item .icon{color:var(--ink-faint);transition:color .3s ease;}
  .value-item:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(26,28,30,0.22);}
  .value-item:hover .icon{color:var(--gold);}

.nav-links a.active{color:var(--ink);}
.nav-links a.active::after{width:100%;}

.brand{cursor:pointer;}
.footer-about img{cursor:pointer;}
.footer-col ul li a:hover{color:var(--red);transition:color .2s ease;}

/* — site-header: positioned (so the mobile .nav-links dropdown's
   top:88px anchors to the header, not the viewport) AND sticky, so the
   header stays pinned at the top of the viewport while the page scrolls
   instead of scrolling away with the rest of the content. top:0 lines it
   up with .top-accent's own fixed 3px strip above it (z-index:50), which
   already stayed put — the header now matches that same behavior instead
   of leaving just the thin accent line behind once you scroll past it. */
.site-header{position:sticky;top:0;z-index:30;}
.hub-hero{background:var(--steel);padding:76px 40px;border-bottom:3px solid var(--red);}
.hub-hero-inner{max-width:760px;margin:0 auto;}
.hub-hero h1{font-size:42px;line-height:1.08;margin:16px 0 18px;color:var(--ink);}
.hub-hero .lede{font-size:17px;color:var(--ink-soft);margin:0;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:28px 32px;box-shadow:var(--shadow-card);margin-bottom:20px;}
.contact-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:16px;margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.contact-card h3 svg{width:20px;height:20px;color:var(--gold);}
.contact-card p{font-size:14.5px;color:var(--ink-soft);margin:0 0 6px;line-height:1.6;}
.form-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:36px;box-shadow:var(--shadow-card);}
.form-shell h2{font-family:'Big Shoulders Display',sans-serif;font-weight:800;}
.form-row{margin-bottom:20px;}
.form-row label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:7px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.03em;}
.form-row input, .form-row textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:14.5px;color:var(--ink);background:var(--paper);transition:border-color .2s ease, box-shadow .2s ease;}
.form-row input:focus, .form-row textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-tint);}
.form-row textarea{resize:vertical;min-height:100px;}
.form-submit{width:100%;justify-content:center;border:none;font-size:14.5px;font-family:'IBM Plex Sans',sans-serif;}
.form-note{font-size:12px;color:var(--ink-faint);margin-top:16px;line-height:1.5;}
.req{color:var(--red);font-weight:600;}
.form-row input[type="file"]{padding:9px 14px;font-size:13.5px;cursor:pointer;}
.form-hint{font-size:11.5px;color:var(--ink-faint);margin-top:6px;}
.contact-info-head{margin-bottom:20px;}
.contact-info-head h2{font-size:22px;}

/* — heading-hierarchy fixes: these were <h4>/<h3> card labels sitting
   directly under an <h1>/<h2> with no intermediate level — demoted to
   non-heading text with equivalent styling rather than faking a skip-free
   outline with the wrong tag. — */
.value-item-title{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14px;margin:0;color:var(--ink);}
.inv-card h3{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 14px;}
/* footer column labels: were <h4>, but the last real heading on every page
   is the cta-band's <h2> — an H2->H4 skip repeated on all 15 pages. Same
   fix as above: link-group labels, not real headings, demoted to styled
   non-heading text (identical look, matches the original .footer-col h4
   rule exactly). */
.footer-col-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 16px;}

/* — real testimonial card: deliberately NOT styled like .tbd-card (that
   dashed border means "placeholder, not real yet" by design) — solid
   left accent bar signals genuine, sourced content. Used once so far
   (Alüminyum sector page, KLEIDCO reference) — reusable as more come in. */
.quote-card{border:1px solid var(--steel-line);border-left:3px solid var(--red);border-radius:var(--radius-m);padding:28px 32px;background:var(--surface);max-width:760px;}
.quote-card blockquote{font-size:15.5px;color:var(--ink);line-height:1.65;margin:0 0 18px;font-style:italic;}
.quote-card .quote-attribution{display:flex;flex-direction:column;gap:2px;}
.quote-card .quote-name{font-weight:600;font-size:14px;color:var(--ink);font-style:normal;}
.quote-card .quote-role{font-size:13px;color:var(--ink-soft);font-style:normal;}

/* — case-study summary card (Kurumsal page, sustainability section) — */
.case-study-card{background:var(--steel);border-radius:var(--radius-m);padding:36px;}
.case-study-card .cs-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:24px;}
.case-study-card .cs-pillar h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;margin:0 0 6px;color:var(--ink);}
.case-study-card .cs-pillar p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0;}

/* — sector product-application list (build_site.py: SECTOR_APPLICATIONS) — */
.app-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px 32px;margin-top:8px;}
.app-item{padding-left:18px;border-left:2px solid var(--steel-line);}
.app-item h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;margin:0 0 6px;color:var(--ink);}
.app-item p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0;}

/* — 3-figure capacity stat row (Üretim page) — reuses .stat-row/.stat-item's
   Kurumsal-page boxed-card look, which is authored for a 4-column grid;
   this modifier narrows it to 3 evenly-sized columns for this specific
   instance. Later in source than .stat-row's own responsive @media rules
   below, so at matching viewports those still win (equal specificity,
   source order) and correctly collapse this to 2 cols / 1 col — verified
   in verify_uretim_kaynaklar.py. */
.stat-row-3{grid-template-columns:repeat(3,1fr);}

/* — Sahadan photo row (homepage): taller box shows much more of both real
   photos (was 320px, aggressively center-cropping the portrait coil shot
   down to ~39% of its height) — see the fix() comment for the crop math. */
.proof-row-wide .proof-card img{height:440px;}

/* — single-location feature (homepage "Üretim Üssümüz", now Türkiye-only)
   — reuses .loc-card's existing fields (country/h3/role/desc/fact/addr)
   but lays the one remaining card out horizontally (image | text) instead
   of the original stacked card, since it no longer has to match a sibling
   card's narrower column width. Flex default (align-items:stretch) makes
   .visual's height:auto fill the row's full height, so .visual img (already
   width/height:100%+object-fit:cover) covers the whole left half rather
   than sitting in a short fixed-height band. */
.loc-row-single{display:block;max-width:980px;margin:0 auto;}
.loc-row-single .loc-card{flex-direction:row;}
.loc-row-single .loc-card .visual{width:44%;height:auto;flex-shrink:0;}
.loc-row-single .loc-card .body{width:56%;padding:36px 40px;}
.loc-row-single .loc-card h3{font-size:27px;}

/* — prose column: legal text (Gizlilik) + long-form article (Kaynaklar) — */
.prose{max-width:720px;margin:0 auto;}
.prose .eyebrow{display:block;margin-bottom:10px;}
.prose h2{font-size:26px;margin:44px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:16px;margin:30px 0 10px;color:var(--ink);}
.prose p{font-size:15.5px;color:var(--ink-soft);line-height:1.7;margin:0 0 16px;}
.prose ul{padding:0 0 0 20px;margin:0 0 20px;}
.prose li{font-size:15.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:9px;}
.prose li::marker{color:var(--gold);}
.prose strong{color:var(--ink);font-weight:600;}
.prose-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;}

/* — inline text links (mailto, social, form-note consent) had no visual
   affordance at all before this — `a{color:inherit;text-decoration:none}`
   is the sitewide base, fine for card/button links that already look
   interactive, but it left links buried in plain paragraph text with
   nothing to mark them as clickable except an on-hover cursor change,
   which isn't discoverable without hovering. Applies retroactively to the
   existing social links + form-note consent link, not just new content. */
.prose a, .contact-card p a, .form-note a{color:var(--red);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px;}
.prose a:hover, .contact-card p a:hover, .form-note a:hover{text-decoration-color:currentColor;}

/* — footer legal-links row (Gizlilik/Kaynaklar) — sits under the existing
   copyright/legal-line text rather than as a 5th .footer-grid column, so
   the established 4-column grid (1.5fr 1fr 1fr 1fr, incl. its tablet/mobile
   collapse) doesn't need restructuring for two lean links. — */
.footer-legal-links{margin-top:6px;}
.footer-legal-links a{font-size:11px;color:var(--ink-faint);text-decoration:underline;text-decoration-color:var(--line);}
.footer-legal-links a:hover{color:var(--ink-soft);text-decoration-color:currentColor;}
.footer-legal-links .sep{color:var(--ink-faint);margin:0 6px;font-size:11px;}

/* — honest "not yet live" affordance for the language switcher, instead
   of a control that looks fully functional and silently does nothing —
   still true for DE/FR/RU/AR (the 4 plain, title="Yakında" pills below);
   superseded for TR/EN specifically by the rules right after, now that
   those two are real, working controls (see i18n_en.py). — */
.nav-lang{opacity:0.62;cursor:default;}
.lang-pill:not(.active){opacity:0.55;cursor:default;}

/* — i18n: TR/EN header & footer chrome duplication (id="header-tr" /
   "header-en", "footer-tr" / "footer-en" — the router's render() toggles
   visibility by adding/removing the .lang-hidden CLASS on whichever pair
   isn't for the active language (header-en/footer-en carry it by default
   in their markup, as the pre-JS/no-JS fallback so the page never shows
   both at once). A plain class, not an #id rule: an #id selector would
   outrank .site-header{display:flex}/.site-footer's own rules by
   specificity, so clearing it back off could never actually restore the
   header's flex layout — tried that first, caught it in testing. Classes
   tie on specificity with .site-header/.site-footer and this one is
   declared later in the stylesheet, so it wins while present and simply
   stops applying — no display value to guess — once removed. — */
.lang-hidden{display:none;}
/* the two controls that now really work: the header's nav-lang badge
   (was a <div>, is a <button> now) and the footer's TR/EN lang-pill
   (ditto) both get full opacity and a pointer cursor, overriding the
   dimmed/inert rule above by specificity. DE/FR/RU/AR keep the exact
   dimmed/inert treatment — this round ships English only. — */
.nav-lang{background:none;border:1px solid var(--line);font:inherit;cursor:pointer;opacity:1;}
.nav-lang:hover{border-color:var(--ink-soft);color:var(--ink);}
.nav-lang:hover svg{color:var(--ink-soft);}
.lang-pill{background:none;font:inherit;}
.lang-pill.lp-live:not(.active){opacity:1;cursor:pointer;}
.lang-pill.lp-live:not(.active):hover{border-color:var(--ink-soft);color:var(--ink);}

/* — mobile nav toggle (hidden on desktop) — */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink);}
.nav-toggle svg{width:24px;height:24px;}

/* — responsive: tablet — */
@media (max-width: 1080px){
  .sector-grid{grid-template-columns:repeat(2,1fr);}
  .cap-grid{grid-template-columns:repeat(3,1fr);}
  .cert-row{grid-template-columns:repeat(2,1fr);}
  .trust-row{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .timeline{grid-template-columns:repeat(2,1fr);gap:32px 24px;}
  .timeline::before{display:none;}
}

/* — responsive: mobile — */
@media (max-width: 760px){
  .site-header{padding:0 20px;}
  /* max-height:0 alone still clips-but-keeps focusable — a keyboard user
     tabbing through a CLOSED menu would land on 5 invisible links before
     reaching the visible CTA. visibility is added, sequenced with a
     transition-delay so it doesn't cut the slide animation short on open
     (delay 0) but only actually hides after the collapse finishes on
     close (delay .3s) — closed links become truly untouchable, not just
     invisible. */
  .nav-links{position:absolute;top:88px;left:0;right:0;background:var(--surface);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 20px -10px rgba(26,28,30,0.18);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .3s ease, visibility 0s linear .3s;z-index:40;}
  .site-header.nav-open .nav-links{max-height:400px;visibility:visible;transition:max-height .3s ease, visibility 0s linear 0s;}
  .nav-links a{width:100%;padding:16px 20px;border-bottom:1px solid var(--line);}
  .nav-links a::after{display:none;}
  .head-right{gap:10px;}
  .head-right .btn-primary{padding:9px 14px;font-size:13px;}
  .nav-toggle{display:block;}
  .est-badge{display:none;}

  .hero{padding:64px 20px 56px;}
  .hero h1{font-size:32px;}
  .hero .lede{font-size:16px;}
  .hero-ctas{flex-direction:column;}
  .hero-ctas .btn{width:100%;justify-content:center;}

  .sector-hero, .hub-hero{padding:48px 20px;}
  .sector-hero-grid{grid-template-columns:1fr;gap:28px;}
  .sector-hero h1, .hub-hero h1{font-size:30px;}
  .sector-hero-ctas{flex-direction:column;}
  .sector-hero-ctas .btn{width:100%;justify-content:center;}
  .value-row{grid-template-columns:repeat(2,1fr);gap:24px;}

  .section{padding:56px 20px;}
  .section-head h2{font-size:26px;}
  .sector-grid{grid-template-columns:1fr;}
  .cap-grid{grid-template-columns:repeat(2,1fr);}
  .process-row{grid-template-columns:1fr;}
  .cert-row{grid-template-columns:1fr;}
  /* was repeat(2,1fr) — at 2 columns, the "15.000–20.000" trust-item (the
     row's longest value, and `.n` is white-space:nowrap) got squeezed
     narrower than its own text at <=350px phone widths and visibly
     truncated. .stat-row (a few lines below) already collapses to a
     single column at this breakpoint for the same reason — match it. */
  .trust-row{grid-template-columns:1fr;}
  .trust-item{padding:20px 16px;}
  .proof-row{grid-template-columns:1fr;}
  .loc-row{grid-template-columns:1fr;}
  .loc-connector{flex-direction:row;justify-content:center;padding:8px 0;}
  .loc-connector .ln{width:64px;height:2px;background:repeating-linear-gradient(to right,var(--gold) 0 6px,transparent 6px 12px);}
  .loc-row-single .loc-card{flex-direction:column;}
  .loc-row-single .loc-card .visual{width:100%;height:200px;}
  .loc-row-single .loc-card .body{width:100%;padding:28px 32px;}
  .proof-row-wide .proof-card img{height:260px;}
  .contact-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr;}
  .stat-item{border-left:none;border-top:1px solid var(--line);text-align:left;display:flex;align-items:baseline;gap:10px;padding:16px 18px;}
  .stat-item:first-child{border-top:none;}
  .timeline{grid-template-columns:1fr;gap:26px;}
  /* Stacked one per row: the horizontal connector would point at nothing. */
  .timeline-item::before{content:none;}
  .inv-grid{grid-template-columns:1fr;gap:28px;}
  .diff-grid{grid-template-columns:1fr;gap:28px;}
  .doc-row{grid-template-columns:repeat(2,1fr);}

  .cta-band{padding:56px 20px;}
  .cta-band h2{font-size:26px;}
  .cta-band .ctas{flex-direction:column;}
  .cta-band .ctas .btn{width:100%;justify-content:center;}

  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .site-footer{padding:48px 20px 24px;}
}

/* — tablet-width header fix — the header's full nav (logo + 5 links +
   language pills + primary CTA button) has a natural width of ~908px,
   but nothing adapted it between the mobile hamburger's 760px breakpoint
   above and the general 1080px tablet breakpoint further up: at any
   width from 761-900px (a plain 768px iPad-portrait included) the nav
   overflowed and the primary CTA button was pushed off-screen entirely,
   on every page. Simplest correct fix: re-apply the same hamburger-menu
   treatment up through 1024px (108px+ of margin over the measured
   overflow point), closing the gap completely. Nothing else in this
   breakpoint changes — .cap-grid/.sector-grid/etc. keep their own
   already-correct 1080px tablet rules above; only the header re-targets. */
@media (max-width: 1024px){
  .nav-links{position:absolute;top:88px;left:0;right:0;background:var(--surface);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 20px -10px rgba(26,28,30,0.18);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .3s ease, visibility 0s linear .3s;z-index:40;}
  .site-header.nav-open .nav-links{max-height:400px;visibility:visible;transition:max-height .3s ease, visibility 0s linear 0s;}
  .nav-links a{width:100%;padding:16px 20px;border-bottom:1px solid var(--line);}
  .nav-links a::after{display:none;}
  .head-right{gap:10px;}
  .head-right .btn-primary{padding:9px 14px;font-size:13px;}
  .nav-toggle{display:block;}
  .est-badge{display:none;}
}

/* — Alüminyum "Referanslar" partner-logo marquee (replaces the single
   KLEIDCO written quote with a continuously-scrolling wall of the 11 real
   client logos Murat supplied). Each logo image already carries its own
   baked-in white canvas + consistent padding (built at build time from the
   uploaded source files — trimmed to content, contain-fit, centered), so
   the CSS only needs to add the shared card frame (border/radius/shadow,
   matching .cert-card etc.) and the scroll mechanics. Two identical sets
   of the 11 logos sit back to back in one flex track; animating exactly
   -50% loops seamlessly since that's precisely one set's width. The
   second set is aria-hidden so the company names aren't announced twice. */
.logo-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.logo-track{display:flex;gap:32px;width:max-content;animation:logo-scroll 50s linear infinite;}
.logo-set{display:flex;align-items:center;gap:32px;flex-shrink:0;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
.partner-logo{width:200px;height:100px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-card);}
@keyframes logo-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.logo-track{animation:none;}}
@media (max-width: 760px){
  .partner-logo{width:150px;height:75px;}
  .logo-track, .logo-set{gap:20px;}
}


/* — Certificates: click to enlarge (assets/js/nav.js turns each one into a
     button at runtime). The certificate is a document, so it is always shown
     whole — never cropped to fill a box. — */
.doc-zoom{display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in;}
.doc-zoom:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}
.doc-card{position:relative;}
.doc-card .doc-img{position:relative;}
.doc-card .doc-img::after{content:'\2315';position:absolute;right:10px;bottom:10px;
  width:30px;height:30px;border-radius:50%;background:rgba(26,28,30,0.72);color:#fff;
  font-size:15px;line-height:30px;text-align:center;opacity:0;transition:opacity .25s ease;
  pointer-events:none;}
.doc-card:hover .doc-img::after,.doc-card:focus-within .doc-img::after{opacity:1;}

.alpin-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;}
.alpin-lightbox[hidden]{display:none;}
.alpin-lightbox .lb-backdrop{position:absolute;inset:0;background:rgba(16,17,19,0.86);}
.alpin-lightbox .lb-panel{position:relative;max-width:min(92vw,760px);max-height:92vh;
  display:flex;flex-direction:column;align-items:center;gap:12px;}
.alpin-lightbox .lb-img{max-width:100%;max-height:80vh;width:auto;height:auto;background:#fff;
  border-radius:var(--radius-m);box-shadow:0 30px 60px -20px rgba(0,0,0,0.6);}
.alpin-lightbox .lb-caption{margin:0;color:#F4F1EC;font-size:13.5px;text-align:center;}
.alpin-lightbox .lb-close{position:absolute;top:-44px;right:0;width:36px;height:36px;
  border-radius:50%;border:1px solid rgba(244,241,236,0.35);background:transparent;color:#F4F1EC;
  font-size:22px;line-height:1;cursor:pointer;}
.alpin-lightbox .lb-close:hover{background:rgba(244,241,236,0.14);}
@media (max-width:760px){
  .alpin-lightbox .lb-close{top:-40px;}
  .alpin-lightbox .lb-img{max-height:70vh;}
}

/* — Footer social row (WhatsApp · LinkedIn · Instagram). Icon-only circles:
     the contact column is ~250px wide, so labelled pills wrapped onto three
     lines. The name stays in the DOM for screen readers via .sr-only. — */
.footer-col ul.footer-social{list-style:none;margin:16px 0 0;padding:0;display:flex;
  flex-direction:row;gap:10px;flex-wrap:wrap;}
.footer-col .footer-social a{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);
  background:var(--paper);
  text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;}
.footer-col .footer-social .social-icon{width:17px;height:17px;flex-shrink:0;}
.footer-col .footer-social a:hover{border-color:var(--red);color:var(--red);background:var(--surface);transform:translateY(-2px);}
.footer-col .footer-social a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.footer-col .footer-social span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* — "Fark Yaratan": in-house capability points + engineering software strip.
     Software names are set as wordmark-style badges for now; each .tool-logo
     can take an <img> later with no other change. — */
.diff-points{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px;}
.diff-points li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.6;color:var(--ink-soft);}
.diff-points li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;
  border-radius:2px;background:var(--red);}
.diff-points b{color:var(--ink);font-weight:600;}

.tool-strip{margin-top:34px;padding-top:26px;border-top:1px solid var(--line);}
.tool-strip-title{margin:0 0 16px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);}
.tool-logos{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.tool-logo{display:flex;flex-direction:column;gap:4px;justify-content:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:16px 18px;min-height:74px;}
.tool-logo img{max-height:30px;width:auto;max-width:100%;object-fit:contain;align-self:flex-start;}
.tl-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:21px;
  letter-spacing:0.01em;color:var(--ink);line-height:1.1;}
.tl-role{font-size:12.5px;color:var(--ink-soft);}
@media (max-width:760px){
  .tool-logos{grid-template-columns:1fr;}
  .tool-strip{margin-top:26px;padding-top:20px;}
}

/* — Digitalization / AI block on the Üretim page. Sits under the "Fark
     Yaratan" two-column grid and carries its own heading, three short points
     and two labelled tool groups (engineering software + AI). — */
.digital-block{margin-top:46px;padding-top:36px;border-top:1px solid var(--line);}
.digital-block .section-head{margin-bottom:26px;}
.digital-block h2{font-size:30px;margin:10px 0 8px;}
.digital-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:6px;}
.digital-points .dp{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-m);padding:20px 22px;}
.digital-points .dp h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;margin:0 0 6px;}
.digital-points .dp p{font-size:13.5px;line-height:1.6;color:var(--ink-soft);margin:0;}
.digital-block .tool-strip{margin-top:30px;padding-top:26px;}
.tool-group + .tool-group{margin-top:26px;}
.tool-logos-ai .tool-logo{border-color:rgba(166,40,31,0.28);}
.tool-logos-ai .tl-name{color:var(--red);}
@media (max-width:900px){
  .digital-points{grid-template-columns:1fr;}
  .digital-block{margin-top:34px;padding-top:28px;}
  .digital-block h2{font-size:25px;}
}

/* — AI page: DXF calculator form + result panel — */
.alpin-ai-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:28px 30px 24px;box-shadow:var(--shadow-card);}
.ai-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;}
.ai-field{display:flex;flex-direction:column;gap:7px;}
.ai-field-wide{grid-column:1 / -1;}
.ai-field label{font-size:13.5px;font-weight:600;color:var(--ink);}
.ai-field input[type=text],.ai-field input[type=email],.ai-field input[type=tel],.ai-field textarea{
  font:inherit;font-size:14.5px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;
  background:var(--paper);color:var(--ink);width:100%;}
.ai-field input[type=file]{font-size:13.5px;padding:10px;border:1px dashed var(--line);
  border-radius:8px;background:var(--paper);width:100%;}
.ai-field input:focus,.ai-field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.ai-field .req{color:var(--red);}
.ai-hint{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-faint);}
.ai-hint-inline{margin:0;max-width:52ch;}
.ai-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13.5px;
  line-height:1.55;color:var(--ink-soft);}
.ai-consent input{margin-top:3px;flex-shrink:0;}
.alpin-ai-form .form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px;
  padding-top:20px;border-top:1px solid var(--line);}

.ai-result{background:var(--graphite,#1E2124);color:#F3F1EC;border-radius:var(--radius-m);
  padding:26px 28px;margin-bottom:30px;border:1px solid rgba(244,241,236,0.14);}
.ai-result-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.ai-badge{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  background:var(--red);color:#fff;padding:4px 10px;border-radius:999px;}
.ai-result-file{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:rgba(244,241,236,0.62);}
.ai-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;}
.ai-figure{background:rgba(244,241,236,0.055);border:1px solid rgba(244,241,236,0.12);
  border-radius:10px;padding:16px 18px;}
.ai-fig-label{font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(244,241,236,0.6);}
.ai-fig-value{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:31px;line-height:1.15;margin-top:5px;}
.ai-fig-value span{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:15px;color:rgba(244,241,236,0.7);}
.ai-fig-sub{font-size:12.5px;color:rgba(244,241,236,0.62);margin-top:3px;}
.ai-result-note{font-size:12.5px;color:rgba(244,241,236,0.6);margin:16px 0 0;}
.ai-result-warn{font-size:13px;color:#F0C674;margin:10px 0 0;}
.ai-result-error{font-size:14.5px;color:#F3B0AC;margin:0;}
.ai-result-sent{font-size:13.5px;color:rgba(244,241,236,0.8);margin:18px 0 0;padding-top:16px;
  border-top:1px solid rgba(244,241,236,0.14);}
.ai-qa{margin-top:20px;padding-top:18px;border-top:1px solid rgba(244,241,236,0.14);}
.ai-qa-q{font-size:14px;margin:0 0 10px;color:rgba(244,241,236,0.85);}
.ai-qa-a{font-size:14.5px;line-height:1.65;}
.ai-qa-a p{margin:0 0 10px;}
.ai-qa-note{font-size:12.5px;color:rgba(244,241,236,0.55);margin:8px 0 0;}

@media (max-width:760px){
  .ai-grid{grid-template-columns:1fr;}
  .alpin-ai-form{padding:22px 18px 20px;}
  .ai-fig-value{font-size:27px;}
}

/* — Honeypot: a decoy field only bots fill in. It must stay in the DOM and
     be submittable, so it is moved off-screen rather than display:none —
     some bots skip fields that are explicitly hidden. (This rule was missing
     entirely, which left a stray "Leave blank" box visible on the contact
     form and the AI form.) — */
.alpin-hp-field{position:absolute!important;left:-9999px!important;top:auto!important;
  width:1px!important;height:1px!important;overflow:hidden!important;}

/* — WhatsApp + LinkedIn in the header, beside the CTA. Hidden once the
     hamburger takes over (<=1024px) — the header is tight there and both
     links are already in the footer. — */
.head-social{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);background:var(--surface);
  text-decoration:none;flex-shrink:0;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;}
.head-social .social-icon{width:16px;height:16px;}
.head-social:hover{border-color:var(--red);color:var(--red);transform:translateY(-1px);}
.head-social:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
@media (max-width:1024px){ .head-social{display:none;} }

/* ══════════════════════════════════════════════════════════════════════
   Six languages: the header's language menu, and the Arabic (RTL) layer.
   ══════════════════════════════════════════════════════════════════════ */

/* — Language switcher. A <details> disclosure rather than a JS dropdown:
     it opens with no JavaScript at all, is keyboard operable for free, and
     the whole menu stays in the DOM so a crawler follows all six links.
     The old TR/EN toggle was a single <a class="nav-lang">; that class is
     now on the <summary>, so every existing .nav-lang rule (the pill
     border, hover, the mobile hide) keeps applying unchanged. — */
.lang-switch{position:relative;}
.lang-switch > summary{list-style:none;cursor:pointer;user-select:none;}
.lang-switch > summary::-webkit-details-marker{display:none;}   /* Safari */
.lang-switch > summary::marker{content:'';}
.lang-switch > summary::after{content:'';width:0;height:0;margin-left:2px;
  border-left:3.5px solid transparent;border-right:3.5px solid transparent;
  border-top:4px solid currentColor;opacity:.55;transition:transform .2s ease;}
.lang-switch[open] > summary::after{transform:rotate(180deg);}
.lang-switch > summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

.lang-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;
  min-width:172px;margin:0;padding:6px;list-style:none;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 16px 32px -14px rgba(26,28,30,0.28);}
.lang-menu li{margin:0;}
.lang-menu a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;
  border-radius:8px;text-decoration:none;color:var(--ink-soft);white-space:nowrap;}
.lang-menu a:hover{background:var(--bg);color:var(--ink);}
.lang-menu a:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.lang-menu a.active{color:var(--ink);font-weight:600;background:var(--bg);}
.lm-code{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.04em;
  color:var(--ink-faint);min-width:22px;}
.lang-menu a:hover .lm-code,.lang-menu a.active .lm-code{color:var(--red);}
.lm-name{font-size:13.5px;}

/* All six footer pills are live links now, so the dimmed "not yet
   available" treatment (declared far above for DE/FR/RU/AR) must not apply
   to any of them. The row was written for two pills and never needed to
   wrap; six of them run past the edge of a 360px phone, so it wraps. — */
.lang-row{flex-wrap:wrap;}
.lang-pill:not(.active){opacity:1;cursor:pointer;}
a.lang-pill:hover{border-color:var(--ink-soft);color:var(--ink);}

/* — The header between the tablet breakpoint and a roomy laptop: six nav
     items (AI joined them this release), two social marks, the language
     menu and the CTA don't all fit at 1080px on the original 32px nav gap.
     Tightened here rather than dropping anything, since everything still
     fits once the gaps come in. — */
@media (max-width:1240px) and (min-width:1025px){
  .nav-links{gap:22px;}
  .head-right{gap:14px;}
  /* Below a roomy laptop the CTA is what has to go: six nav items plus a
     language menu plus a button do not fit once the labels are German or
     Russian ("Свяжитесь с нами" alone overran 1080px by 112px). It is not
     a loss — "İletişim/Contact" is right there in the nav, and WhatsApp
     sits beside it. */
  .head-right .btn-primary{display:none;}
}

/* — Mobile: the header can't hold six things, so LinkedIn drops out (it is
     still in the footer) while WhatsApp — the one Murat asked for as a
     direct action — and the language menu both stay. Overrides the
     .head-social hide and the .nav-lang hide from the responsive block
     above, which were written when there were only two languages. — */
@media (max-width:1024px){
  .head-social{display:none;}
  .head-social-whatsapp{display:inline-flex;}
}
/* A 390px header cannot hold six things. What survives, in order of what a
   phone visitor actually needs: the logo, WhatsApp (the one-tap contact
   Murat asked for), the language menu (six live languages, and the footer's
   pills are a long scroll away) and the hamburger, which already contains
   "İletişim" — which is exactly what the CTA button duplicates, so the CTA
   is the one that goes. Verified at 390px: no horizontal overflow. */
@media (max-width:760px){
  .head-right{gap:8px;}
  .brand img{height:40px;}
  .head-right .btn-primary{display:none;}
  .head-right .lang-switch{display:block;}
  /* Code only — the globe icon is redundant next to "TR"/"AR" and this is
     the tightest the control can get while staying a 40px touch target. */
  .head-right .nav-lang{display:inline-flex;padding:8px 8px 8px 9px;}
  .head-right .nav-lang .icon{display:none;}
  .lang-menu{min-width:156px;}
}

/* — Long words. The design was laid out in Turkish and English; German and
     Russian routinely produce single words far longer than either
     ("Informationssicherheit", "Сертификация"), and an unbreakable word is
     what pushes a fixed-width card past the edge of a phone screen. Letting
     any word break as a last resort is the one rule that makes the layout
     hold in all six languages at once (caught by measuring every page at
     360px in every language, which is how the German quality page and the
     German/Russian AI pages turned up +37..+89px over). — */
body{overflow-wrap:break-word;}

/* — Growth timeline: seven milestones, not four.
     The row was designed when the story ended in 2020. With 2022/2024/2026
     added, an auto-fit grid put five on the first row and left two stranded
     on a second one that read as a layout accident rather than a
     continuation — and the gold connector ran off the end of each row into
     empty space. Four per row makes it a deliberate 4 + 3, and the connector
     is dropped on the last item of every row (and on the very last item), so
     no line points at nothing. — */
.timeline{grid-template-columns:repeat(4,1fr);}
.timeline-item:nth-child(4n)::before,
.timeline-item:last-child::before{content:none;}

/* Murat's milestone copy comes in two parts — the name of the milestone and
   a subtitle. Only the subtitle was being rendered, so those entries were
   missing the half that names them. */
.timeline-sub{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.04em;
  text-transform:uppercase;color:var(--ink-faint);margin:-6px 0 0;line-height:1.4;}

/* The trust strip's big number was set nowrap so "15.000–20.000" could not
   be split. Its label, though, is a translated phrase — "5 ISO Belgesi"
   fits on one line, "5 ISO-Zertifizierungen" does not, and nowrap turned
   that into a 4px page-wide overflow at 768px. Wrapping is allowed; by the
   width where the range itself would have to break, the strip has already
   collapsed to fewer, wider columns. */
.trust-item .n{white-space:normal;}

/* Every CSS-grid track in this design is sized in `fr`, and `1fr` is really
   `minmax(auto, 1fr)` — its floor is the item's automatic minimum size, i.e.
   the longest word it contains. So a German or Russian compound makes its
   own column wider than the share it was given and the whole grid runs off
   the screen; overflow-wrap alone cannot fix it, because the automatic
   minimum is computed before any wrapping is considered. Clearing that
   minimum on the grid ITEMS lets the tracks shrink to their allotted width,
   at which point overflow-wrap above does the actual breaking. Measured at
   360px in all six languages: this is what closes the German quality page
   (+89px) and the German/Russian AI pages (+54/+66px). */
.ai-figures > *,
.ai-grid > *,
.app-list > *,
.contact-grid > *,
.diff-points > *,
.digital-points > *,
.cap-grid > *,
.cert-row > *,
.diff-grid > *,
.doc-row > *,
.footer-grid > *,
.inv-grid > *,
.loc-row > *,
.process-row > *,
.proof-row > *,
.sector-grid > *,
.sector-hero-grid > *,
.stat-row > *,
.timeline > *,
.trust-row > *,
.value-row > *{min-width:0;}
.eyebrow,.value-item-title,.doc-body h3,.footer-col-title,.timeline-item h3{
  overflow-wrap:break-word;hyphens:auto;}

/* — Typefaces that actually cover the alphabet.
     Big Shoulders Display (every h1/h2/h3 and the big figures) is a
     Latin-only family, so Russian headings would render in whatever the
     device substitutes — a different weight, width and rhythm from the rest
     of the page. Russian therefore sets its headings in IBM Plex Sans Bold,
     which the page already loads and which was drawn with Cyrillic.
     Arabic needs a different family altogether: IBM Plex Sans Arabic, the
     same type family drawn for Arabic script, requested only on the Arabic
     pages (see alpin_fonts()). Applied to the whole page there, since Plex
     Sans has no Arabic at all. — */
.alpin-lang-ru h1,.alpin-lang-ru h2,.alpin-lang-ru h3,
.alpin-lang-ru .stat-num,.alpin-lang-ru .trust-item .n,
.alpin-lang-ru .ai-fig-value{
  font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-weight:700;letter-spacing:-0.01em;}

.alpin-rtl,
.alpin-rtl h1,.alpin-rtl h2,.alpin-rtl h3,
.alpin-rtl .stat-num,.alpin-rtl .trust-item .n,.alpin-rtl .ai-fig-value,
.alpin-rtl .eyebrow,.alpin-rtl .lang-pill,.alpin-rtl .nav-lang{
  font-family:'IBM Plex Sans Arabic','IBM Plex Sans',system-ui,'Segoe UI',Tahoma,sans-serif;}
.alpin-rtl h1,.alpin-rtl h2,.alpin-rtl h3{font-weight:700;letter-spacing:0;}
/* Arabic script has no uppercase, so the eyebrow's uppercase + wide tracking
   does nothing there but push the letters apart and break their joins. */
.alpin-rtl .eyebrow{text-transform:none;letter-spacing:0;}

/* ── Arabic: right-to-left ───────────────────────────────────────────────
   <html dir="rtl"> already mirrors text direction, text-align and the flow
   of flex/grid rows on its own. What it does NOT mirror is anything given
   an explicit left/right, so ONLY the rules that actually use one are
   restated here — each override below was written against a real rule
   above, not guessed. — */

/* The honeypot is parked off-screen at left:-9999px. In an LTR document
   that is outside the scrollable area and costs nothing; in an RTL one the
   scroll origin is on the right, so the same rule makes the page 9999px
   wide (caught by measuring the Arabic contact and AI pages — both showed a
   ~10000px horizontal overflow while every LTR page was clean). Off-screen
   in RTL means off to the right. */
.alpin-rtl .alpin-hp-field{left:auto!important;right:-9999px!important;}

/* The language menu hangs off the opposite edge of its button. */
.alpin-rtl .lang-menu{right:auto;left:0;}
.alpin-rtl .lang-switch > summary::after{margin-left:0;margin-right:2px;}

/* Accent bars that mark the start edge of a block (.section-head .highlight
   gold, .quote-card red, .app-item steel). */
.alpin-rtl .section-head .highlight{border-left:none;border-right:3px solid var(--gold);}
.alpin-rtl .quote-card{border-left:1px solid var(--steel-line);border-right:3px solid var(--red);}
.alpin-rtl .app-item{padding-left:0;padding-right:18px;border-left:none;border-right:2px solid var(--steel-line);}

/* Column separators in the trust/stat strips, and the "Est. 2015" divider
   next to the logo — all of them sit on the start edge of a cell. */
.alpin-rtl .trust-item{border-left:none;border-right:1px solid var(--line);}
.alpin-rtl .trust-item:first-child{border-right:none;}
.alpin-rtl .stat-item{border-left:none;border-right:1px solid var(--line);}
.alpin-rtl .stat-item:first-child{border-right:none;}
.alpin-rtl .est-badge{border-left:none;border-right:1px solid var(--line);
  padding-left:0;padding-right:14px;margin-left:0;margin-right:14px;}

/* Custom bullets: the indent and the marker move to the right. */
.alpin-rtl .cap-card li{padding-left:0;padding-right:12px;}
.alpin-rtl .inv-card li{padding-left:0;padding-right:16px;}
.alpin-rtl .diff-points li{padding-left:0;padding-right:20px;}
.alpin-rtl .cap-card li::before,
.alpin-rtl .inv-card li::before,
.alpin-rtl .diff-points li::before{left:auto;right:0;}

/* The timeline's connector runs from each item's start edge (left:58px). */
.alpin-rtl .timeline-item::before{left:auto;right:58px;}

/* The certificate cards' zoom cue sits in the outer bottom corner. */
.alpin-rtl .doc-card .doc-img::after{right:auto;left:10px;}

/* Arrow glyphs inside buttons point the way the text runs. */
.alpin-rtl .btn svg{transform:scaleX(-1);}

/* Numbers, units and codes stay left-to-right inside RTL text: "4,685.88
   mm²" must not be reordered, and neither must "9001·14001·27001·45001·50001"
   or a phone number. unicode-bidi:embed rather than isolate so the value and
   its unit stay one run. */
/* Only elements whose ENTIRE content is a figure — a measurement, a list of
   standard numbers, a language code — are pinned left-to-right. The trust
   strip's big number is deliberately NOT in this list: "5 شهادات ISO" is
   Arabic prose that happens to start with a digit, and forcing it LTR moves
   the "5" to the wrong end of the phrase. A numeric RANGE inside prose like
   that is handled where it belongs — in the text itself, with a Unicode
   isolate (tools/i18n/inject.py) — rather than by overriding the direction
   of everything around it. */
.alpin-rtl .ai-fig-value,.alpin-rtl .ai-fig-sub,
.alpin-rtl .trust-item .l,
.alpin-rtl .lm-code{direction:ltr;unicode-bidi:embed;text-align:start;}

/* ══════════════════════════════════════════════════════════════════════
   Soru Sor — the rubber & plastics knowledge base on the AI page.
   ══════════════════════════════════════════════════════════════════════ */

/* — The ask box. Same visual family as the DXF form above it, but lighter:
     this one asks for a sentence, not a file and a set of contact details. — */
.kb-ask{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:26px 28px 22px;margin-bottom:34px;box-shadow:var(--shadow-card);}
.kb-ask-row{display:grid;grid-template-columns:1.9fr 1fr;gap:20px;}
.kb-ask-row > *{min-width:0;}
.kb-ask label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:7px;}
.kb-ask textarea,.kb-ask input[type="email"]{width:100%;font:inherit;font-size:14.5px;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px 13px;resize:vertical;}
.kb-ask textarea:focus,.kb-ask input[type="email"]:focus{outline:2px solid var(--gold);outline-offset:1px;
  border-color:var(--ink-faint);}
.kb-ask-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px;}

/* — The answer panel. The badge says where the answer came from: a reviewed
     entry from the knowledge base, or the language model. A visitor is
     entitled to know which one they are reading. — */
.kb-result{background:var(--graphite);color:var(--paper-on-graphite);border-radius:var(--radius-m);
  padding:26px 28px;margin-bottom:28px;}
.kb-result-q{font-size:14px;margin:0 0 14px;color:rgba(244,241,236,0.82);}
.kb-result-head{margin-bottom:10px;}
.kb-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;
  text-transform:uppercase;padding:4px 10px;border-radius:20px;}
.kb-badge-kb{background:var(--gold-tint);color:var(--graphite);}
.kb-badge-ai{background:rgba(178,34,34,0.22);color:#f0b8b8;border:1px solid rgba(178,34,34,0.5);}
.kb-result-title{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:17px;margin:0 0 12px;}
.kb-result-body{font-size:14.5px;line-height:1.68;}
.kb-result-body p{margin:0 0 11px;}
.kb-result-body ul{margin:0 0 11px;padding-left:20px;}
.kb-result-body li{margin-bottom:7px;}
.kb-result-body a{color:var(--gold);text-decoration:underline;}
.kb-result-body strong{color:var(--paper-on-graphite);}
.kb-result-offtopic{color:rgba(244,241,236,0.86);}
.kb-note{font-size:12.5px;color:rgba(244,241,236,0.55);margin:10px 0 0;}

/* — Search over the accordion. The list is fully rendered first; this only
     filters it, so with JavaScript off every answer is still there. — */
.kb-search-wrap{margin-bottom:22px;}
.kb-search{width:100%;max-width:420px;font:inherit;font-size:14px;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:10px 18px;}
.kb-search:focus{outline:2px solid var(--gold);outline-offset:1px;}
.kb-nomatch{font-size:13.5px;color:var(--ink-soft);margin:14px 0 0;}

/* — The accordion itself: plain <details>, so it opens with no JavaScript
     and every answer is in the HTML a crawler reads. — */
.kb-group{margin-bottom:30px;}
.kb-group-title{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--red);margin:0 0 12px;}
.kb-item{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-bottom:10px;
  overflow:hidden;}
.kb-item summary{list-style:none;cursor:pointer;padding:15px 46px 15px 18px;font-size:15px;
  font-weight:500;color:var(--ink);position:relative;}
.kb-item summary::-webkit-details-marker{display:none;}
.kb-item summary::marker{content:'';}
.kb-item summary::after{content:'';position:absolute;right:20px;top:50%;width:8px;height:8px;
  border-right:2px solid var(--ink-faint);border-bottom:2px solid var(--ink-faint);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;}
.kb-item[open] summary::after{transform:translateY(-25%) rotate(225deg);}
.kb-item summary:hover{background:var(--bg);}
.kb-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.kb-answer{padding:2px 20px 18px;font-size:14px;line-height:1.68;color:var(--ink-soft);
  border-top:1px solid var(--line);}
.kb-answer p{margin:12px 0 10px;}
.kb-answer ul{margin:0 0 10px;padding-left:20px;}
.kb-answer li{margin-bottom:7px;}
.kb-answer strong{color:var(--ink);font-weight:600;}
.kb-answer a{color:var(--red);text-decoration:underline;}

@media (max-width:760px){
  .kb-ask{padding:20px 18px 18px;}
  .kb-ask-row{grid-template-columns:1fr;gap:16px;}
  .kb-result{padding:20px 18px;}
  .kb-item summary{font-size:14.5px;padding:14px 40px 14px 15px;}
  .kb-answer{padding:2px 15px 16px;}
}

/* Arabic: the accordion chevron and the list indent sit on the other side. */
.alpin-rtl .kb-item summary{padding:15px 18px 15px 46px;}
.alpin-rtl .kb-item summary::after{right:auto;left:20px;}
.alpin-rtl .kb-answer ul,.alpin-rtl .kb-result-body ul{padding-left:0;padding-right:20px;}
